1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-08-09 10:22:51 +03:00

Added experimental breadcrumb traversal

This commit is contained in:
Dan Brown
2019-02-24 15:57:35 +00:00
parent e70423c73f
commit 035a0d8efb
17 changed files with 296 additions and 11 deletions

View File

@@ -38,13 +38,13 @@
<div class="actions mb-xl">
<h5>{{ trans('common.actions') }}</h5>
<div class="icon-list text-primary">
@include('partials.view-toggle', ['view' => $view, 'type' => 'book'])
@if($currentUser->can('book-create-all'))
<a href="{{ baseUrl("/create-book") }}" class="icon-list-item">
<span>@icon('add')</span>
<span>{{ trans('entities.books_create') }}</span>
</a>
@endif
@include('partials.view-toggle', ['view' => $view, 'type' => 'book'])
</div>
</div>

View File

@@ -8,6 +8,12 @@
@section('body')
<div class="mb-s">
@include('partials.breadcrumbs', ['crumbs' => [
$book,
]])
</div>
<div class="content-wrap card">
<h1 class="break-text" v-pre>{{$book->name}}</h1>
<div class="book-content" v-show="!searching">

View File

@@ -30,7 +30,7 @@
@if(userCan('bookshelf-view-all') || userCan('bookshelf-view-own'))
<a href="{{ baseUrl('/shelves') }}">@icon('bookshelf'){{ trans('entities.shelves') }}</a>
@endif
<a href="{{ baseUrl('/books') }}">@icon('book'){{ trans('entities.books') }}</a>
<a href="{{ baseUrl('/books') }}">@icon('books'){{ trans('entities.books') }}</a>
@if(signedInUser() && userCan('settings-manage'))
<a href="{{ baseUrl('/settings') }}">@icon('settings'){{ trans('settings.settings') }}</a>
@endif

View File

@@ -0,0 +1,13 @@
<div class="breadcrumb-listing" dropdown breadcrumb-listing="{{ $entity->getType() }}:{{ $entity->id }}">
<div class="breadcrumb-listing-toggle" dropdown-toggle>
<div class="separator">@icon('chevron-right')</div>
</div>
<div dropdown-menu class="breadcrumb-listing-dropdown card">
<div class="breadcrumb-listing-search">
@icon('search')
<input autocomplete="off" type="text" name="entity-search">
</div>
@include('partials.loading-icon')
<div class="breadcrumb-listing-entity-list px-m"></div>
</div>
</div>

View File

@@ -1,10 +1,22 @@
<div class="breadcrumbs text-center">
<?php $breadcrumbCount = 0; ?>
{{--Show top level item--}}
@if (count($crumbs) > 0 && $crumbs[0] instanceof \BookStack\Entities\Book)
<a href="{{ baseUrl('/books') }}" class="icon-list-item">
<span>@icon('books')</span>
<span>{{ trans('entities.books') }}</span>
</a>
<?php $breadcrumbCount++; ?>
@endif
@foreach($crumbs as $key => $crumb)
<?php $isEntity = ($crumb instanceof \BookStack\Entities\Entity); ?>
@if (is_null($crumb))
<?php continue; ?>
@endif
@if ($breadcrumbCount !== 0)
@if ($breadcrumbCount !== 0 && !$isEntity)
<div class="separator">@icon('chevron-right')</div>
@endif
@@ -17,10 +29,15 @@
<span>@icon($crumb['icon'])</span>
<span>{{ $crumb['text'] }}</span>
</a>
@elseif($crumb instanceof \BookStack\Entities\Entity)
@elseif($isEntity && userCan('view', $crumb))
@if($breadcrumbCount > 0)
@include('partials.breadcrumb-listing', ['entity' => $crumb])
@endif
<a href="{{ $crumb->getUrl() }}" class="text-{{$crumb->getType()}} icon-list-item">
<span>@icon($crumb->getType())</span>
<span>{{ $crumb->getShortName() }}</span>
<span>
{{ $crumb->getShortName() }}
</span>
</a>
@endif
<?php $breadcrumbCount++; ?>

View File

@@ -0,0 +1,11 @@
<div class="entity-list {{ $style ?? '' }}">
@if(count($entities) > 0)
@foreach($entities as $index => $entity)
@include('partials.entity-list-item-basic', ['entity' => $entity])
@endforeach
@else
<p class="text-muted empty-text">
{{ $emptyText ?? trans('common.no_items') }}
</p>
@endif
</div>

View File

@@ -7,6 +7,7 @@
{{--<div class="toolbar px-xl">--}}
{{--@yield('toolbar')--}}
{{--</div>--}}
{{--TODO - Cleanup toolbar usage--}}
<div class="tri-layout-container mt-m" tri-layout @yield('container-attrs') >