#24: Added Bootstrap v4 pager template

This commit is contained in:
Andy Heathershaw 2017-04-19 08:52:05 +01:00
parent ebe2f5c65e
commit 6d11f1c0f0
2 changed files with 44 additions and 2 deletions

View File

@ -10,6 +10,7 @@ use App\Helpers\ValidationHelper;
use App\ModelObservers\AlbumObserver; use App\ModelObservers\AlbumObserver;
use Illuminate\Database\QueryException; use Illuminate\Database\QueryException;
use Illuminate\Mail\Mailer; use Illuminate\Mail\Mailer;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\View; use Illuminate\Support\Facades\View;
@ -24,13 +25,15 @@ class AppServiceProvider extends ServiceProvider
*/ */
public function boot() public function boot()
{ {
$themeHelper = new ThemeHelper();
$this->app->singleton('image', function ($app) $this->app->singleton('image', function ($app)
{ {
return new ImageHelper(); return new ImageHelper();
}); });
$this->app->singleton('theme', function ($app) $this->app->singleton('theme', function ($app) use ($themeHelper)
{ {
return new ThemeHelper(); return $themeHelper;
}); });
$this->app->singleton('user_config', function ($app) $this->app->singleton('user_config', function ($app)
{ {
@ -43,6 +46,9 @@ class AppServiceProvider extends ServiceProvider
// Model observers // Model observers
Album::observe(AlbumObserver::class); Album::observe(AlbumObserver::class);
// Configure our default pager
LengthAwarePaginator::defaultView($themeHelper->viewName('partials.pager_links'));
} }
/** /**

View File

@ -0,0 +1,36 @@
@if ($paginator->hasPages())
<ul class="pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="page-item disabled"><span class="page-link">&laquo;</span></li>
@else
<li class="page-item"><a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev">&laquo;</a></li>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
<li class="page-item disabled"><span class="page-link">{{ $element }}</span></li>
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<li class="page-item active"><span class="page-link">{{ $page }}</span></li>
@else
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li class="page-item"><a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next">&raquo;</a></li>
@else
<li class="page-item disabled"><span class="page-link">&raquo;</span></li>
@endif
</ul>
@endif