Paginacja
Przyciski paginacji znajdują się z poziomu pliku partiala:
- dla strony:
/resources/views/vendor/icore/web/partials/pagination.blade.php
- dla panelu administracyjnego:
/resources/views/vendor/icore/admin/partials/pagination.blade.php
# Infinite scroll
Prócz klasycznej belki z paginacją przenoszącej użytkownika do konkretnie wybranej strony, iCore umożliwia również rozwijanie kolejnych elementów listy bez przeładowania strony w trybie półautomatycznym. Odpowiedzialna jest za to konfiguracja pluginu JScroll dostępna z poziomu assetu JS:
- dla strony:
/resources/js/vendor/icore/web/scripts/plugins/infinite-scroll.js
- dla panelu administracyjnego:
/resources/js/vendor/icore/admin/
scripts/plugins/infinite-scroll.js
# Automatyczny infinite scroll
W celu włączenia automatycznego pobierania kolejnych elementów listy bez konieczności kliknięcia w przycisk, należy dodać w widokach w których występuje paginowana lista (na przykład /resources/views/vendor/icore/web/post/index.blade.php) ustawienie w bloku div:
<div id="infinite-scroll" data-autotrigger="true">
Proszę mieć na uwadze, że przy automatycznym infinite scroll użytkownik nie będzie miał dostępu do footera dopóki nie rozwinie wszystkich elementów na liście.
# Przekierowanie pierwszej strony
W celu przekierowania adresów zawierających parametr ?page=1 na adresy bez tego parametru należy w pliku app/Http/Kernel.php dodać poniższy middleware do listy:
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array<int, class-string|string>
*/
protected $middleware = [
\N1ebieski\ICore\Http\Middleware\RemoveFirstPageQueryParam::class,