Таблица в форме
Таблица в форме позволяет увеличить скорость работы при добавлении объекта, поскольку она позволяет добавить некоторые связанные объекты без открытия дополнительных страниц.
Общий подход
Логика работы с таблицей аналогична логике работы с полями:
- Любое изменение записей в таблице сохраняется только после нажатия на кнопку Сохранить внизу формы.
- При нажатии на кнопку Отмена внизу формы все изменения, внесенные в таблицу, сбросятся.
- До тех пор, пока обязательные поля таблицы не заполнены, кнопка Сохранить должна быть недоступна (установлен параметр
disabled
).
Правила использования
- Таблица в форме содержит менее 5 столбцов (то есть скрытых столбцов нет);
- В таблице нельзя менять местами столбцы;
- В таблице нельзя использовать раскрываемую строку;
- В форме нельзя использовать таблицу с пагинацией и фильтрами;
- Запись можно добавлять, редактировать, удалять (переходов через контекстное меню нет);
- В форме отображается только 5 записей. Если записей больше, то включается скролл.
- Рекомендуем добавлять в форму таблицу, у которой менее чем 20 записей. Если их больше, то для удобства нужна пагинация и фильтрация.
- Кнопка добавления типа
Raised
, приподнятая, самого маленького размера XS и содержит иконкуpi-plus
.
Если требуется пагинация и фильтрация, то нужно использовать связанную таблицу в отдельной вкладке.
Структурирование информации в форме
Таблица в форме может являться логическим разделом или его частью (логический раздел, например, может содержать таблицу и поля ввода), поэтому к форме с таблицей применяются критерии из стандарта о структурировании контента в форме.
В форме может быть несколько таблиц, расположенных в соответствии со стандартом о структурировании. Но эти таблицы не должны быть связаны.
Примеры использования
- Группировка. Когда полей в разделах мало.
- Аккордеон. Таблица необязательна для заполнения, можно убрать ее в аккордеон.
- Табы. В разделах более 10 полей или в разделе есть поля помимо таблицы.
- Степпер. В разделах более 10 полей или в разделе есть поля помимо таблицы.
Обязательность полей в таблице
Если таблица обязательна к заполнению, то в ней должна быть хотя бы одна запись:
- Одна строка таблицы должна быть предзаполнена оранжевым плейсхолдером.
- Либо может быть предзаполнено несколько строк в случаях, когда нужно заполнить несколько видов объекта. Плейсхолдеры для значений также будут подсвечены цветом.
Добавление записи в таблицу
Добавление осуществляется через инлайн-добавление, когда:
- Все атрибуты выводятся в столбцы таблицы;
- Атрибуты не зависят друг от друга.
Если эти критерии не выполняются, то следует добавлять запись через сайдбар.
Несмотря на то, что в сайдбаре есть кнопка Сохранить, которая добавляет запись в таблицу, пока не будет нажата кнопка Сохранить внизу формы, добавленные данные не сохранятся (см. пункт про общий подход).
API
Для работы с таблицами при редактировании и добавлении объектов необходимо использовать специализированные API, которые позволяют получать и сохранять связанные сущности в рамках вызова данной API. Вызов API по начитке данных формы и сохранении этих данных должен быть один.