]> BookStack Code Mirror - bookstack/blobdiff - resources/views/pages/show.blade.php
Page Attachments - Improved UI, Now initially complete
[bookstack] / resources / views / pages / show.blade.php
index a57828b3bf3bee6a5f371ba1b50774a79c529cd5..af85075a204981b84e2644d5f93ea6eec1a3046b 100644 (file)
 
 @section('content')
 
-    <div class="row faded-small">
-        <div class="col-md-6 faded">
-            <div class="breadcrumbs padded-horizontal">
-                <a href="{{$book->getUrl()}}"><i class="zmdi zmdi-book"></i>{{ $book->name }}</a>
-                @if($page->hasChapter())
-                    <span class="sep">&raquo;</span>
-                    <a href="{{ $page->chapter->getUrl() }}">
-                        <i class="zmdi zmdi-collection-bookmark"></i>
-                        {{$page->chapter->name}}
-                    </a>
-                @endif
-            </div>
-        </div>
-        <div class="col-md-6 faded">
-            <div class="action-buttons">
-                <a href="{{$page->getUrl() . '/edit'}}" class="text-primary" ><i class="zmdi zmdi-edit"></i>Edit</a>
-                <a href="{{$page->getUrl() . '/delete'}}" class="text-neg"><i class="zmdi zmdi-delete"></i>Delete</a>
+    <div class="faded-small toolbar">
+        <div class="container">
+            <div class="row">
+                <div class="col-sm-6 faded">
+                    <div class="breadcrumbs">
+                        <a href="{{ $book->getUrl() }}" class="text-book text-button"><i class="zmdi zmdi-book"></i>{{ $book->getShortName() }}</a>
+                        @if($page->hasChapter())
+                            <span class="sep">&raquo;</span>
+                            <a href="{{ $page->chapter->getUrl() }}" class="text-chapter text-button">
+                                <i class="zmdi zmdi-collection-bookmark"></i>
+                                {{ $page->chapter->getShortName() }}
+                            </a>
+                        @endif
+                    </div>
+                </div>
+                <div class="col-sm-6 faded">
+                    <div class="action-buttons">
+                        <span dropdown class="dropdown-container">
+                            <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>Export</div>
+                            <ul class="wide">
+                                <li><a href="{{ $page->getUrl('/export/html') }}" target="_blank">Contained Web File <span class="text-muted float right">.html</span></a></li>
+                                <li><a href="{{ $page->getUrl('/export/pdf') }}" target="_blank">PDF File <span class="text-muted float right">.pdf</span></a></li>
+                                <li><a href="{{ $page->getUrl('/export/plaintext') }}" target="_blank">Plain Text File <span class="text-muted float right">.txt</span></a></li>
+                            </ul>
+                        </span>
+                        @if(userCan('page-update', $page))
+                            <a href="{{ $page->getUrl('/edit') }}" class="text-primary text-button" ><i class="zmdi zmdi-edit"></i>Edit</a>
+                        @endif
+                        @if(userCan('page-update', $page) || userCan('restrictions-manage', $page) || userCan('page-delete', $page))
+                            <div dropdown class="dropdown-container">
+                                <a dropdown-toggle class="text-primary text-button"><i class="zmdi zmdi-more-vert"></i></a>
+                                <ul>
+                                    @if(userCan('page-update', $page))
+                                        <li><a href="{{ $page->getUrl('/move') }}" class="text-primary" ><i class="zmdi zmdi-folder"></i>Move</a></li>
+                                        <li><a href="{{ $page->getUrl('/revisions') }}" class="text-primary"><i class="zmdi zmdi-replay"></i>Revisions</a></li>
+                                    @endif
+                                    @if(userCan('restrictions-manage', $page))
+                                        <li><a href="{{ $page->getUrl('/permissions') }}" class="text-primary"><i class="zmdi zmdi-lock-outline"></i>Permissions</a></li>
+                                    @endif
+                                    @if(userCan('page-delete', $page))
+                                        <li><a href="{{ $page->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>Delete</a></li>
+                                    @endif
+                                </ul>
+                            </div>
+                        @endif
+
+                    </div>
+                </div>
             </div>
         </div>
     </div>
 
-    <div class="side-nav faded">
-        <h4>Page Navigation</h4>
-        <ul class="page-nav-list">
-        </ul>
-    </div>
 
+    <div class="container" id="page-show" ng-non-bindable>
+        <div class="row">
+            <div class="col-md-9 print-full-width">
+                <div class="page-content">
 
-    <div class="page-content">
-        <h1>{{$page->name}}</h1>
-        @if(count($page->children) > 0)
-            <h4 class="text-muted">Sub-pages</h4>
-            <div class="page-list">
-                @foreach($page->children as $childPage)
-                    <a href="{{ $childPage->getUrl() }}">{{ $childPage->name }}</a>
-                @endforeach
+                    <div class="pointer-container" id="pointer">
+                        <div class="pointer anim">
+                            <i class="zmdi zmdi-link"></i>
+                            <input readonly="readonly" type="text" placeholder="url">
+                            <button class="button icon" title="Copy Link" data-clipboard-text=""><i class="zmdi zmdi-copy"></i></button>
+                        </div>
+                    </div>
+
+                    @include('pages/page-display')
+
+                    <hr>
+
+                    <p class="text-muted small">
+                        Created {{ $page->created_at->diffForHumans() }} @if($page->createdBy) by <a href="{{ $page->createdBy->getProfileUrl() }}">{{$page->createdBy->name}}</a> @endif
+                        <br>
+                        Last Updated {{ $page->updated_at->diffForHumans() }} @if($page->updatedBy) by <a href="{{ $page->updatedBy->getProfileUrl() }}">{{$page->updatedBy->name}}</a> @endif
+                    </p>
+
+                </div>
             </div>
-        @endif
-        {!! $page->html !!}
+
+            <div class="col-md-3 print-hidden">
+                <div class="margin-top large"></div>
+                @if($book->restricted || ($page->chapter && $page->chapter->restricted) || $page->restricted)
+                    <div class="text-muted">
+
+                        @if($book->restricted)
+                            @if(userCan('restrictions-manage', $book))
+                                <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>Book Permissions Active</a>
+                            @else
+                                <i class="zmdi zmdi-lock-outline"></i>Book Permissions Active
+                            @endif
+                            <br>
+                        @endif
+
+                        @if($page->chapter && $page->chapter->restricted)
+                            @if(userCan('restrictions-manage', $page->chapter))
+                                <a href="{{ $page->chapter->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>Chapter Permissions Active</a>
+                            @else
+                                <i class="zmdi zmdi-lock-outline"></i>Chapter Permissions Active
+                            @endif
+                            <br>
+                        @endif
+
+                        @if($page->restricted)
+                            @if(userCan('restrictions-manage', $page))
+                                <a href="{{ $page->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>Page Permissions Active</a>
+                            @else
+                                <i class="zmdi zmdi-lock-outline"></i>Page Permissions Active
+                            @endif
+                            <br>
+                        @endif
+                    </div>
+                @endif
+
+                @include('pages/sidebar-tree-list', ['book' => $book, 'sidebarTree' => $sidebarTree, 'pageNav' => $pageNav])
+            </div>
+
+        </div>
     </div>
 
+    @include('partials/highlight')
+@stop
 
+@section('scripts')
     <script>
-        $(document).ready(function() {
-
-            // Set up document navigation
-            var pageNav = $('.page-nav-list');
-            var pageContent = $('.page-content');
-            var headers = pageContent.find('h1, h2, h3, h4, h5, h6');
-            if(headers.length > 5) {
-                headers.each(function() {
-                    var header = $(this);
-                    var tag = header.prop('tagName');
-                    var listElem = $('<li></li>').addClass('nav-'+tag);
-                    var link = $('<a></a>').text(header.text().trim()).attr('href', '#');
-                    listElem.append(link);
-                    pageNav.append(listElem);
-                    link.click(function(e) {
-                        e.preventDefault();
-                        header.smoothScrollTo();
-                    })
-                });
-            } else {
-                $('.side-nav').hide();
-            }
-
-
-            // Set up link hooks
-            var pageId = {{$page->id}};
-            headers.each(function() {
-                var text = $(this).text().trim();
-                var link = '/link/' + pageId + '#' + encodeURIComponent(text);
-                var linkHook = $('<a class="link-hook"><i class="zmdi zmdi-link"></i></a>')
-                        .attr({"data-content": link, href: link, target: '_blank'});
-                linkHook.click(function(e) {
-                    e.preventDefault();
-                    goToText(text);
-                });
-                $(this).append(linkHook);
-            });
-
-            function goToText(text) {
-                $('.page-content').find(':contains("'+text+'")').smoothScrollTo();
-            }
-
-            if(window.location.hash) {
-                var text = window.location.hash.replace(/\%20/g, ' ').substr(1);
-                goToText(text);
-            }
-
-            //$('[data-toggle="popover"]').popover()
-        });
+        setupPageShow({{$page->id}});
     </script>
 @stop