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,