@section('content')
- <div class="faded-small">
+ <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->name }}</a>
- @if($page->hasChapter())
- <span class="sep">»</span>
- <a href="{{ $page->chapter->getUrl() }}" class="text-chapter text-button">
- <i class="zmdi zmdi-collection-bookmark"></i>
- {{$page->chapter->name}}
- </a>
- @endif
- </div>
+ @include('pages._breadcrumbs', ['page' => $page])
</div>
<div class="col-sm-6 faded">
<div class="action-buttons">
- @if($currentUser->can('page-update'))
- <a href="{{$page->getUrl() . '/revisions'}}" class="text-primary text-button"><i class="zmdi zmdi-replay"></i>Revisions</a>
- <a href="{{$page->getUrl() . '/edit'}}" class="text-primary text-button" ><i class="zmdi zmdi-edit"></i>Edit</a>
+ <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="{{ $page->getUrl('/export/html') }}" target="_blank">{{ trans('entities.export_html') }} <span class="text-muted float right">.html</span></a></li>
+ <li><a href="{{ $page->getUrl('/export/pdf') }}" target="_blank">{{ trans('entities.export_pdf') }} <span class="text-muted float right">.pdf</span></a></li>
+ <li><a href="{{ $page->getUrl('/export/plaintext') }}" target="_blank">{{ trans('entities.export_text') }} <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>{{ trans('common.edit') }}</a>
@endif
- @if($currentUser->can('page-delete'))
- <a href="{{$page->getUrl() . '/delete'}}" class="text-neg text-button"><i class="zmdi zmdi-delete"></i>Delete</a>
+ @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>{{ trans('common.move') }}</a></li>
+ <li><a href="{{ $page->getUrl('/revisions') }}" class="text-primary"><i class="zmdi zmdi-replay"></i>{{ trans('entities.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>{{ trans('entities.permissions') }}</a></li>
+ @endif
+ @if(userCan('page-delete', $page))
+ <li><a href="{{ $page->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 class="container">
+ <div class="container" id="page-show" ng-non-bindable>
<div class="row">
- <div class="col-md-9">
- <div class="page-content anim fadeIn">
+ <div class="col-md-9 print-full-width">
+ <div class="page-content">
+
+ <div class="pointer-container" id="pointer">
+ <div class="pointer anim">
+ <span class="icon text-primary"><i class="zmdi zmdi-link"></i></span>
+ <input readonly="readonly" type="text" id="pointer-url" placeholder="url">
+ <button class="button icon" data-clipboard-target="#pointer-url" type="button" title="{{ trans('entities.pages_copy_link') }}"><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 {{$page->createdBy->name}} @endif
- <br>
- Last Updated {{$page->updated_at->diffForHumans()}} @if($page->createdBy) by {{$page->updatedBy->name}} @endif
- </p>
- </div>
- </div>
- <div class="col-md-3">
- @include('pages/sidebar-tree-list', ['book' => $book])
- <div class="side-nav faded">
- <h4>Page Navigation</h4>
- <ul class="page-nav-list">
- </ul>
+
+ @include('partials.entity-meta', ['entity' => $page])
+
</div>
</div>
- </div>
- </div>
+ <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>{{ trans('entities.books_permissions_active') }}</a>
+ @else
+ <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_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>{{ trans('entities.chapters_permissions_active') }}</a>
+ @else
+ <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_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>{{ trans('entities.pages_permissions_active') }}</a>
+ @else
+ <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.pages_permissions_active') }}
+ @endif
+ <br>
+ @endif
+ </div>
+ @endif
- <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();
- })
- });
- $('.side-nav').fadeIn();
- } 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()
- });
- </script>
+ @include('pages/sidebar-tree-list', ['book' => $book, 'sidebarTree' => $sidebarTree, 'pageNav' => $pageNav])
+ </div>
+
+ </div>
+ </div>
+
+@stop
- <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.7/styles/solarized_light.min.css">
- <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.7/highlight.min.js"></script>
+@section('scripts')
<script>
- window.onload = function() {
- var aCodes = document.getElementsByTagName('pre');
- for (var i=0; i < aCodes.length; i++) {
- hljs.highlightBlock(aCodes[i]);
- }
- };
+ setupPageShow({{$page->id}});
</script>
@stop