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

    • О фреймворке
    • Что изменилось в 7 версии
    • Структура
    • Доступ к участкам проекта
    • Разворачивание нового проекта
  • Backend

    • Настройки проекта Conf.php
    • Настройки модуля Module.php
    • Настройки composer
    • Функции фреймворка
    • Глобальные переменные
    • Константы фреймворка
    • 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

TableSettings

Компонент TableSettings — это панель настроек таблицы. Позволяет управлять видимостью и закреплением колонок, а также включает глобальные переключатели: полноэкранный режим, компактные строки, фильтры и сортировку.

Обзор

  • Основное назначение: централизованное управление настройками отображения таблицы.
  • Ключевые возможности:
    • Управление видимостью отдельных колонок через чекбоксы.
    • Закрепление колонок слева/справа с кнопками Pin/Unpin.
    • Глобальные переключатели: Full Screen, Row Dense, Column Filters, Sort.
    • Сброс видимости колонок кнопкой «Show All Columns».
    • Автоматический сброс фильтров и сортировки при их отключении.

API компонента

Props

ПропТипПо умолчаниюОписание
tableObject(обязательный)Экземпляр таблицы TanStack Table с расширенными настройками.

Зависимости от table

Метод/СвойствоОписание
table.getState().tableSettingsОбъект текущих настроек таблицы.
table.options.meta?.setTableSettingsФункция для обновления настроек таблицы.
table.getAllLeafColumns()Массив всех конечных колонок.
table.resetColumnVisibility()Сброс видимости колонок к исходному состоянию.
table.resetColumnFilters()Сброс всех фильтров колонок.
table.resetSorting()Сброс сортировки.

tableSettings (из table.getState().tableSettings)

КлючТипОписание
enableFullScreenBooleanВключает полноэкранный режим таблицы.
enableRowDenseBooleanВключает компактный режим строк.
enableColumnFiltersBooleanВключает фильтры колонок. При отключении сбрасывает все фильтры.
enableSortingBooleanВключает сортировку. При отключении сбрасывает текущую сортировку.

Особенности работы

  • Автосброс: при отключении фильтров (enableColumnFilters: false) автоматически вызывается resetColumnFilters(). При отключении сортировки — resetSorting().
  • Скрытые колонки: колонки с columnDef.isHiddenColumn: true не отображаются в списке видимости.
  • Закрепление: кнопки Pin отображаются только для колонок с поддержкой getCanPin().

Примеры использования

Настройка TanStack Table с поддержкой настроек

<template>
    <TableSettings :table="table" />
</template>

<script>
import { useVueTable, getCoreRowModel } from '@tanstack/vue-table';

export default {
    setup() {
        const tableSettings = reactive({
            enableFullScreen: false,
            enableRowDense: false,
            enableColumnFilters: true,
            enableSorting: true,
        });

        const table = useVueTable({
            data: [...],
            columns: [...],
            getCoreRowModel: getCoreRowModel(),
            state: { tableSettings },
            meta: {
                setTableSettings(updater) {
                    const newSettings = typeof updater === 'function'
                      ? updater(tableSettings)
                      : updater;
                    Object.assign(tableSettings, newSettings);
                },
            },
        });

        return { table };
    },
};
</script>
Prev
TableColumnVisibility
Next
TableSortIcon