BMC IO DocsBMC IO Docs
IO v6
IO v7
Notes
Docs
IO v6
IO v7
Notes
Docs
  • IO Framework v7

    • О фреймворке
    • Что изменилось в 7 версии
    • IO7 Framework vs Laravel 13 — Сравнение
    • Структура
    • Варианты проектов
    • Доступ к участкам проекта
    • Разворачивание нового проекта
    • Установка проекта
    • Запуск локальной разработки
  • API

    • Обзор API
    • IOCore::call() и IOCore::callAction()
    • Создание API
  • CLI

    • Обзор CLI
    • iocli
    • Кастомные CLI команды
  • Работа с базами данных

    • Обзор работы с базами данных
    • Cron / Планировщик задач (Schedule)
    • Фабрики
    • Миграции
    • Сидеры
    • Query Builder
    • Подключение MinIO
    • Подключение MongoDB
    • Подключение MySQL
    • Подключение PostgreSQL
    • Подключение ProxySQL
    • Подключение RabbitMQ
    • Подключение Redis
  • Логирование

    • Обзор логирования
    • IOEvent - Логирование событий
    • Pinba (PinbaManager) - Профилировщик
  • Модели

    • Обзор моделей
    • CRUD операции
    • Связи моделей
  • Очереди

    • Обзор очередей
    • RabbitMQ
  • Маршруты

    • Обзор маршрутов
    • Определение маршрутов
    • Middleware
  • Сессии

    • Обзор сессий
    • Кроссдоменная SSO
    • JWT авторизация
    • Социальная авторизация
    • OAuth2
    • Keycloak
  • Twig

    • Обзор Twig
    • Формы (FormBuilder)
    • Twig функции
  • Тестирование

    • Обзор тестирования
    • Unit тесты
  • Backend

    • Настройки проекта Conf.php
    • Настройки модуля Module.php
    • Настройки composer
    • Функции фреймворка
    • Вспомогательные функции (Helpers)
    • Глобальные переменные
    • Константы фреймворка
    • Event класс
    • Core класс
    • Route и работа с ними
    • Request и работа с ними
    • Middleware и работа с ними
    • Class и работа с ними
    • Api model и работа с ними
    • Template и работа с ними
    • Мультиязычность и словарь фраз
    • Bin скрипты и работа с ними
    • Cron скрипты и работа с ними
    • $ioSession и работа с сессией
    • $ioHash и работа с кешем
    • $ioXCache и работа с кешем
    • $iodb и работа с базой данных
    • Миграции
  • Frontend

    • Twig шаблонизатор и работа с ним
    • Twig функции
    • Twig фильтры
    • Twig контекст
    • Настройка NPM
    • Сборка Frontend составляющей
    • Обращение к Api через JS
    • Хранилище (store)
    • Навигация в хосте
    • Навигация в микрофронтенде
    • Параметры микрофронтенда
    • Проверка полномочий
  • Tailux UI Компоненты

    • Базовый UI

      • AvatarDot
      • Avatar
      • Badge
      • Button
      • Card
      • ConfirmModal
      • Divider
      • Highlight
      • Tag
    • Загрузка

      • Circlebar
      • Progress
      • Skeleton
      • Spinner
    • Навигация

      • Accordion
      • AccordionButton
      • AccordionHeader
      • AccordionItem
      • AccordionPanel
      • AccordionProvider
      • Pagination
      • PaginationControl
      • PaginationItems
      • PaginationDots
      • PaginationFirst
      • PaginationLast
      • PaginationNext
      • PaginationPrevious
    • Отображение данных

      • Box
      • Collapse
      • ContextualHelp
      • ScrollShadow
      • Timeline
      • TimelineItem
    • Элементы таблиц

      • Table
      • CollapsibleSearch
      • ColumnFilter
      • CopyableCell
      • DateFilter
      • FacetedFilter
      • FilterSelector
      • PaginationSection
      • RadioFilter
      • RangeFilter
      • ResponsiveFilter
      • RoleFilter
      • SelectedRowsActions
      • TableColumnVisibility
      • TableSettings
      • TableSortIcon
    • Элементы форм

      • Checkbox
      • Combobox
      • DatePicker
      • Filepond
      • Input
      • Listbox
      • Radio
      • Range
      • Select
      • StyledSwitch
      • Swap
      • SwapOn
      • SwapOff
      • Switch
      • Textarea
      • TextEditor
      • Upload

Pagination

Компонент Pagination используется для навигации по страницам. Предоставляет контекст дочерним элементам (PaginationItems, PaginationPrevious, PaginationNext и др.) и автоматически рассчитывает диапазон отображаемых страниц с учётом граничных и соседних элементов.

Обзор

  • Основное назначение: постраничная навигация для таблиц, списков и других данных.
  • Ключевые возможности:
    • Автоматический расчёт диапазона страниц с пропусками (многоточиями).
    • Контролируемый (value) и неконтролируемый (defaultValue) режимы.
    • Настройка количества видимых соседних и граничных страниц.
    • Методы для перехода: следующая, предыдущая, первая, последняя страница.
    • Блокировка всей пагинации через disabled.
    • Предоставление контекста paginationContext дочерним компонентам.

API компонента

Props

ПропТипПо умолчаниюОписание
totalNumber(обязательный)Общее количество страниц.
valueNumberТекущая активная страница в контролируемом режиме.
defaultValueNumber1Начальная страница в неконтролируемом режиме.
disabledBooleanfalseБлокирует всю пагинацию.
siblingsNumber1Количество отображаемых страниц слева и справа от текущей.
boundariesNumber1Количество отображаемых страниц в начале и в конце диапазона.
getItemPropsFunctionФункция, возвращающая дополнительные пропсы для элемента страницы.
classNameStringДополнительные CSS-классы для корневого элемента.
classNamesObjectОбъект для кастомизации внутренних классов дочерних компонентов.

События

СобытиеПараметрОписание
update:valueNumberВызывается при изменении активной страницы.
nextPageEventВызывается при переходе на следующую страницу.
previousPageEventВызывается при переходе на предыдущую страницу.
firstPageEventВызывается при переходе на первую страницу.
lastPageEventВызывается при переходе на последнюю страницу.

Provide

Предоставляет объект paginationContext со следующими свойствами:

СвойствоТипОписание
totalFunctionВозвращает общее количество страниц.
rangeFunctionВозвращает массив диапазона страниц.
activeFunctionВозвращает номер текущей активной страницы.
disabledFunctionВозвращает состояние блокировки.
getItemPropsFunctionВозвращает функцию для получения дополнительных пропсов элемента.
setPageFunctionУстанавливает указанную страницу активной.
nextFunctionПереход на следующую страницу.
previousFunctionПереход на предыдущую страницу.
firstFunctionПереход на первую страницу.
lastFunctionПереход на последнюю страницу.
classNamesFunctionВозвращает объект с классами для дочерних компонентов.

Логика диапазона страниц

Функция getPaginationRange рассчитывает, какие номера страниц отображать:

  • boundaries: сколько страниц показывать в начале (1, 2, ...) и в конце (..., 9, 10).
  • siblings: сколько страниц показывать слева и справа от текущей активной страницы.
  • Многоточие: между группами отображается -1 (обычно рендерится как ...).

Пример диапазона

При total: 10, activePage: 5, siblings: 1, boundaries: 1:

Prev
AccordionProvider
Next
PaginationControl