Таблицы

Таблицы

Простая таблица

ИмяДатаПоследний раз видели
Проект Альфа 2026-01-10
Проект Бета 2026-02-18
Проект Гамма 2026-03-25

Шире, чем комната

Таблица, у которой столбцы требуют больше, чем страница может вместить, отображается на необходимой ширине и выходит за пределы зоны, страницы — никогда с собственным скроллом. Если требуется (`scroll: true`), как здесь, она прокручивается вбок в своем фрейме, а страница вокруг нее остается на месте: для таблицы среди других элементов в контейнере, который не прокручивается. Липкая таблица от этого отказывается: заголовок, который прилипает к странице, и фрейм, прокручивающийся самостоятельно, не могут быть одновременно.
Колонка 1Колонка 2Колонка 3Колонка 4Колонка 5Колонка 6Колонка 7Колонка 8Колонка 9Колонка 10Колонка 11Колонка 12
Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение
Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение
Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение Достаточно длинное значение

Таблица с действиями

ИсточникОбновленоДействия
Источник Альфа 2026-01-12
Источник Бета 2026-02-20

Полосатые строки, подсвеченные под указателем

ИсточникОбновленоДействия
Источник Альфа 2026-01-12
Источник Бета 2026-02-20
Проект Альфа 2026-01-10
Проект Бета 2026-02-18
Проект Гамма 2026-03-25

Строки, которые можно отметить

Коробка в заголовке каждой строки, одна в заголовке для всех, и действия выше: они отправляют отмеченные строки по своему адресу и остаются вне досягаемости, пока ничего не отмечено.

Выбрано 0
ИсточникОбновленоДействия
Источник Альфа 2026-01-12
Источник Бета 2026-02-20
Проект Альфа 2026-01-10

Файлы, всего, действие для каждой строки

Пути, читаемые по их имени, папки перед ним отрезаются от начала. Полоса заканчивается на том, сколько строк есть, и действие, помеченное `all`, работает без отмеченных — оно берет каждую строку и ведет полосу, когда это ожидается.

Выбрано 0 Всего 3
Файл
03-DOCUMENTS/QAL - Syst Document/Obsolète/QAL-D-12-identification-and-validation-of-quality-system-software-v1.md
05-INSTRUCTIONS/RES/RES-I-02-it-access-change-v2.md
README.md

Фильтры

Полоса фильтров в верхней части таблицы, по одному неприметному меню на каждую, указывающая, к чему она сужает, как только это делает. На сервере они живут в запросе страницы — каждый вариант является ссылкой — и контроллер сужает строки из него; в vue они являются значением, переданным странице для ее api, или применяются таблицей к уже имеющимся строкам. Каждый вариант — это коробка — круглая для выбора одного — окрашенная по своему оттенку, если он есть, статусу или категории.

Всего 4
ИмяВладелецСостояние
Alpha design open
Beta platform closed
Gamma design closed
Delta support open

Сортировка

Заголовок, который сортирует, является ссылкой на сервер и кнопкой в vue: по возрастанию, по убыванию, затем возвращается к порядку, который была объявлен на странице, с которым открывается список и который его стрелка показывает с самого начала. Пустые даты идут последними в обоих направлениях, а имена сравниваются так, как их упорядочивает язык. Здесь таблица сортирует строки, которые были даны ей самой; контроллер, пейджингующий свой список, читает тот же запрос.

Всего 5
Имя Город Последнее измерение Действия
Adam Petit Angers
Zoé Martin Zürich
Eric Bernard Lyon
Élodie Durand Évry
Basile Leroy Écully

Сортировка в браузере, из twig

`vue: true` передает те же столбцы и строки двойнику vue: он сортирует и ищет весь список в браузере, без загрузки страницы. Для списка, который страница удерживает целиком — короткого или того, который не обслуживает api.

Действия в выборе

Та же полоса, когда достаточно действий, чтобы она переполнилась: одно выбирается, затем применяется.

Выбрано 0
ИсточникОбновленоДействия
Источник Альфа 2026-01-12
Источник Бета 2026-02-20
Проект Альфа 2026-01-10

Ячейки со ссылками и значками

ИсточникСостояние
Источник Альфа
Источник Бета

Состояние загрузки

ИсточникОбновленоДействия

Пустое состояние

ИсточникОбновленоДействия
Данные недоступны.

Выравнивание колонок

Имя (слева)Состояние (по центру)Количество (справа)
Alpha Centered 42.00 €
Beta Centered 128.50 €
Gamma Centered 7.99 €

Коды, цифры и итоги

`cell: 'code'` устанавливает идентификатор в моноширинном шрифте; `cell: 'number'`, или `unit`, записывает цифру в локали страницы. `negative: true` рисует цифру ниже нуля в ошибочном тоне, ее знак минус говорит об этом тоже. `totals` — это строка, которую страница передает, отображаемая под другими — таблица ничего не складывает, удерживая одну страницу или отфильтрованный список. Создано сервером, затем vue.

КодЭлементЧистая поставкаПлощадь
VS-2041 Atlas 12 18,5 m²
LO-0007 Boréal -4 9 m²
VS-1180 Cyprès 0 6,5 m²
LO-0315 Dune -11 22,5 m²
Итого -3 56,5 m²

Из Markdown

Таблица, написанная в Markdown и обработанная через `markdown_ds`: колонки, их выравнивание и разметка каждой ячейки считываются из документа, и таблица отображается здесь как любая другая. `markdown` сохраняет обычный `<table>`, для всего, что не является страницей — письмом, лентой.

NameStatusAmount
Alpha ready 42.00 €
Beta draft 128.50 €
Gamma pending 7.99 €

Группировать строки

Строка, содержащая только группу, не является строкой: это линия между двумя их сериями, данная словом. Она охватывает таблицу и называет то, что следует за ней — то же самое, что и разделитель в меню.

ИмяДата
Первая группа
Проект Альфа 2026-01-10
Проект Бета 2026-02-18
Вторая группа
Проект Гамма 2026-03-25

Ячейки состояния

Состояние — это круг, никогда не цвет, который кто-то выбрал: ячейка принимает название типа или тип с количеством и заголовком и рисует значок состояния, который рисует остальная часть системы. Ничего не нужно стилизовать на странице.

КонвейерСборкаТестыРазвертывание
Проект Альфа 42
Проект Бета 3
Проект Гамма

Липкий заголовок

Длинную таблицу читают по колонкам также, как и по строкам. С `sticky` заголовок остается на виду, пока строки прокручиваются под ним; страница с чем-то своим, прикрепленным вверху, показывает, насколько далеко вниз в `--table-sticky-top`.

#ИмяСостояние
1 Row 1
2 Row 2
3 Row 3
4 Row 4
5 Row 5
6 Row 6
7 Row 7
8 Row 8
9 Row 9
10 Row 10
11 Row 11
12 Row 12

Таблица в своей зоне

Зоне `zone--table` отводится место под всю таблицу: что ведет ее сверху, ее страницы внизу, из того, что прокручивается, и между ними основание таблицы, доходящее до дна зоны, даже для трех строк. В нее помещается любая таблица, созданная сервером или vue. С `natural`, как та, что слева, таблица сохраняет ширину своих столбцов, не растягиваясь и не сжимаясь.

#ИмяСостояние
1 Row 1
2 Row 2
3 Row 3

Таблица сущностей Vue

Таблица Vue с выбором

Тот же контракт на клиенте: отмеченные ключи возвращаются через v-model:selected, каждое действие выдается как bulk-action, а одно с адресом отправляется по мере того, как серверная таблица его отправляет. У них ничего нет, поэтому строка ниже говорит о том, что было бы сделано. Три строки на странице, всего в конце полосы и Архивировать все, не требуя ничего отмеченного.

Пагинация без общего количества

Когда API не возвращает общего количества, пейджер откатывается к предыдущему/следующему.

Пагинация, созданная сервером

`pagination(page, pages_count)` создает страницы списка в виде ссылок: каждая сохраняет маршрут и запрос страницы, на которой находится — поиск, сортировка — и изменяет только `page`, считая с 1. Показанные номера — это номера vue пейджера: первый, последний, текущий и его соседи. `compact` сохраняет предыдущий и следующий вокруг номера страницы; `route` и `params` переходят по другому адресу.

Форматировщики дат Vue