]> BookStack Code Mirror - bookstack/blobdiff - resources/views/books/show.blade.php
Fixes #354, Adds the spellchecker option
[bookstack] / resources / views / books / show.blade.php
index b5bb7c8d094a6ab7f5a3f578abbdb07f99efff29..f5e08b2f6e386808059ac04025a07df603a96fa3 100644 (file)
 
 @section('content')
 
-    <div class="row faded-small">
-        <div class="col-md-6"></div>
-        <div class="col-md-6">
-            <div class="action-buttons faded">
-                <a href="{{$book->getEditUrl()}}"><i class="fa fa-pencil"></i>Edit</a>
-                <a href="{{ $book->getUrl() }}/sort"><i class="fa fa-sort"></i>Sort</a>
-                <a href="{{ $book->getUrl() }}/delete"><i class="fa fa-trash"></i>Delete</a>
+    <div class="faded-small toolbar">
+        <div class="container">
+            <div class="row">
+                <div class="col-sm-6 faded">
+                    @include('books._breadcrumbs', ['book' => $book])
+                </div>
+                <div class="col-sm-6">
+                    <div class="action-buttons faded">
+                        <span dropdown class="dropdown-container">
+                            <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>{{ trans('entities.export') }}</div>
+                            <ul class="wide">
+                                <li><a href="{{ $book->getUrl('/export/html') }}" target="_blank">{{ trans('entities.export_html') }} <span class="text-muted float right">.html</span></a></li>
+                                <li><a href="{{ $book->getUrl('/export/pdf') }}" target="_blank">{{ trans('entities.export_pdf') }} <span class="text-muted float right">.pdf</span></a></li>
+                                <li><a href="{{ $book->getUrl('/export/plaintext') }}" target="_blank">{{ trans('entities.export_text') }} <span class="text-muted float right">.txt</span></a></li>
+                            </ul>
+                        </span>
+                        @if(userCan('page-create', $book))
+                            <a href="{{ $book->getUrl('/page/create') }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.pages_new') }}</a>
+                        @endif
+                        @if(userCan('chapter-create', $book))
+                            <a href="{{ $book->getUrl('/chapter/create') }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.chapters_new') }}</a>
+                        @endif
+                        @if(userCan('book-update', $book))
+                            <a href="{{$book->getEditUrl()}}" class="text-primary text-button"><i class="zmdi zmdi-edit"></i>{{ trans('common.edit') }}</a>
+                        @endif
+                        @if(userCan('book-update', $book) || userCan('restrictions-manage', $book) || userCan('book-delete', $book))
+                            <div dropdown class="dropdown-container">
+                                <a dropdown-toggle class="text-primary text-button"><i class="zmdi zmdi-more-vert"></i></a>
+                                <ul>
+                                    @if(userCan('book-update', $book))
+                                        <li><a href="{{ $book->getUrl('/sort') }}" class="text-primary"><i class="zmdi zmdi-sort"></i>{{ trans('common.sort') }}</a></li>
+                                    @endif
+                                    @if(userCan('restrictions-manage', $book))
+                                        <li><a href="{{ $book->getUrl('/permissions') }}" class="text-primary"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.permissions') }}</a></li>
+                                    @endif
+                                    @if(userCan('book-delete', $book))
+                                        <li><a href="{{ $book->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>{{ trans('common.delete') }}</a></li>
+                                    @endif
+                                </ul>
+                            </div>
+                        @endif
+                    </div>
+                </div>
             </div>
         </div>
     </div>
 
-    <div class="page-content">
-        <h1>{{$book->name}}</h1>
-        <p class="text-muted">{{$book->description}}</p>
 
-        <div class="clearfix header-group">
-            <h4 class="float">Contents</h4>
-            <div class="float right">
-                <a href="{{$book->getUrl() . '/page/create'}}" class="text-pos">+ New Page</a>
-                <a href="{{$book->getUrl() . '/chapter/create'}}" class="text-pos">+ New Chapter</a>
-            </div>
-        </div>
+    <div class="container" id="book-dashboard" ng-controller="BookShowController" book-id="{{ $book->id }}">
+        <div class="row">
+            <div class="col-md-7">
 
-        <div>
-            @foreach($book->children() as $childElement)
-                <div >
-                    <h3>
-                        <a href="{{ $childElement->getUrl() }}">
-                            @if(is_a($childElement, 'Oxbow\Chapter'))
-                                <i class="fa fa-archive"></i>
-                            @else
-                                <i class="fa fa-file"></i>
-                            @endif
-                            {{ $childElement->name }}
-                        </a>
-                    </h3>
-                </div>
-                <hr>
-            @endforeach
-        </div>
-
-        {{--@include('pages/page-tree-list', ['pageTree' => $pageTree])--}}
-
-    </div>
+                <h1>{{$book->name}}</h1>
+                <div class="book-content" ng-show="!searching">
+                    <p class="text-muted" ng-non-bindable>{{$book->description}}</p>
 
+                    <div class="page-list" ng-non-bindable>
+                        <hr>
+                        @if(count($bookChildren) > 0)
+                            @foreach($bookChildren as $childElement)
+                                @if($childElement->isA('chapter'))
+                                    @include('chapters/list-item', ['chapter' => $childElement])
+                                @else
+                                    @include('pages/list-item', ['page' => $childElement])
+                                @endif
+                                <hr>
+                            @endforeach
+                        @else
+                            <p class="text-muted">{{ trans('entities.books_empty_contents') }}</p>
+                            <p>
+                                <a href="{{ $book->getUrl('/page/create') }}" class="text-page"><i class="zmdi zmdi-file-text"></i>{{ trans('entities.books_empty_create_page') }}</a>
+                                &nbsp;&nbsp;<em class="text-muted">-{{ trans('entities.books_empty_or') }}-</em>&nbsp;&nbsp;&nbsp;
+                                <a href="{{ $book->getUrl('/chapter/create') }}" class="text-chapter"><i class="zmdi zmdi-collection-bookmark"></i>{{ trans('entities.books_empty_add_chapter') }}</a>
+                            </p>
+                            <hr>
+                        @endif
+                        @include('partials.entity-meta', ['entity' => $book])
+                    </div>
+                </div>
+                <div class="search-results" ng-cloak ng-show="searching">
+                    <h3 class="text-muted">{{ trans('entities.search_results') }} <a ng-if="searching" ng-click="clearSearch()" class="text-small"><i class="zmdi zmdi-close"></i>{{ trans('entities.search_clear') }}</a></h3>
+                    <div ng-if="!searchResults">
+                        @include('partials/loading-icon')
+                    </div>
+                    <div ng-bind-html="searchResults"></div>
+                </div>
 
-    <script>
-        $(function() {
 
-            $('.nested-page-list i.arrow').click(function() {
-                var list = $(this).closest('.nested-page-list');
-                var listItem = $(this).closest('li');
-                listItem.toggleClass('expanded');
-            });
+            </div>
 
-        });
-    </script>
+            <div class="col-md-4 col-md-offset-1">
+                <div class="margin-top large"></div>
+                @if($book->restricted)
+                    <p class="text-muted">
+                        @if(userCan('restrictions-manage', $book))
+                            <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}</a>
+                        @else
+                            <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}
+                        @endif
+                    </p>
+                @endif
+                <div class="search-box">
+                    <form ng-submit="searchBook($event)">
+                        <input ng-model="searchTerm" ng-change="checkSearchForm()" type="text" name="term" placeholder="{{ trans('entities.books_search_this') }}">
+                        <button type="submit"><i class="zmdi zmdi-search"></i></button>
+                        <button ng-if="searching" ng-click="clearSearch()" type="button"><i class="zmdi zmdi-close"></i></button>
+                    </form>
+                </div>
+                <div class="activity anim fadeIn">
+                    <h3>{{ trans('entities.recent_activity') }}</h3>
+                    @include('partials/activity-list', ['activity' => Activity::entityActivity($book, 20, 0)])
+                </div>
+            </div>
+        </div>
+    </div>
 
 @stop
\ No newline at end of file