Стандарты проектирования
Таблица в форме


Таблица в форме

Таблица в форме позволяет увеличить скорость работы при добавлении объекта, поскольку она позволяет добавить некоторые связанные объекты без открытия дополнительных страниц.

Общий подход

Логика работы с таблицей аналогична логике работы с полями:

  1. Любое изменение записей в таблице сохраняется только после нажатия на кнопку Сохранить внизу формы.
  2. При нажатии на кнопку Отмена внизу формы все изменения, внесенные в таблицу, сбросятся.
  3. До тех пор, пока обязательные поля таблицы не заполнены, кнопка Сохранить должна быть недоступна (установлен параметр disabled).

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

  1. Таблица в форме содержит менее 5 столбцов (то есть скрытых столбцов нет);
  2. В таблице нельзя менять местами столбцы;
  3. В таблице нельзя использовать раскрываемую строку;
  4. В форме нельзя использовать таблицу с пагинацией и фильтрами;
  5. Запись можно добавлять, редактировать, удалять (переходов через контекстное меню нет);
  6. В форме отображается только 5 записей. Если записей больше, то включается скролл.
  7. Рекомендуем добавлять в форму таблицу, у которой менее чем 20 записей. Если их больше, то для удобства нужна пагинация и фильтрация.
  8. Кнопка добавления типа Raised, приподнятая, самого маленького размера XS и содержит иконку pi-plus.

Если требуется пагинация и фильтрация, то нужно использовать связанную таблицу в отдельной вкладке.

Структурирование информации в форме

Таблица в форме может являться логическим разделом или его частью (логический раздел, например, может содержать таблицу и поля ввода), поэтому к форме с таблицей применяются критерии из стандарта о структурировании контента в форме.

В форме может быть несколько таблиц, расположенных в соответствии со стандартом о структурировании. Но эти таблицы не должны быть связаны.

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

  1. Группировка. Когда полей в разделах мало.

  1. Аккордеон. Таблица необязательна для заполнения, можно убрать ее в аккордеон.

  1. Табы. В разделах более 10 полей или в разделе есть поля помимо таблицы.

  1. Степпер. В разделах более 10 полей или в разделе есть поля помимо таблицы.

Обязательность полей в таблице

Если таблица обязательна к заполнению, то в ней должна быть хотя бы одна запись:

  1. Одна строка таблицы должна быть предзаполнена оранжевым плейсхолдером.

  1. Либо может быть предзаполнено несколько строк в случаях, когда нужно заполнить несколько видов объекта. Плейсхолдеры для значений также будут подсвечены цветом.

Добавление записи в таблицу

Добавление осуществляется через инлайн-добавление, когда:

  1. Все атрибуты выводятся в столбцы таблицы;
  2. Атрибуты не зависят друг от друга.

Если эти критерии не выполняются, то следует добавлять запись через сайдбар.

Несмотря на то, что в сайдбаре есть кнопка Сохранить, которая добавляет запись в таблицу, пока не будет нажата кнопка Сохранить внизу формы, добавленные данные не сохранятся (см. пункт про общий подход).

API

Для работы с таблицами при редактировании и добавлении объектов необходимо использовать специализированные API, которые позволяют получать и сохранять связанные сущности в рамках вызова данной API. Вызов API по начитке данных формы и сохранении этих данных должен быть один.