Skip to main content

Филдсеты

Тип метаданных

fieldset

Библиотека компонентов

http://n2oapp.net/framework/config/schema/fieldset-5.0

Базовые свойства

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
idСтрокаИдентификатор филдсета
ref-idСсылкаСсылка на файл филдсета
srcСтрокаReact компонент филдсета
classCSS классКласс компонента филдсета
styleCSS свойствоСтиль компонента филдсета
labelСтрокаЗаголовок филдсета
descriptionСтрокаПодзаголовок филдсета
field-label-locationleft topРасположение лейбловtop
field-label-alignleft rightВыравнивание лейбловleft
field-label-widthСтрокаШирина лейблов. Доступные единицы измерения: px, em, rem. При указании числа оно будет приведено к pxdefault
visibleВыражениеУсловие видимостиtrue
enabledВыражениеУсловие доступностиtrue
depends-onСтрокаСписок полей, от которых зависит филдсет
helpСтрокаПодсказка

Тело
Список полей
Список филдсетов
<row> - Список строк филдсета
<col> - Список столбцов филдсета

Пример

<set>
<input-text/><!--Поле-->
<input-text/><!--Поле-->
<input-text/><!--Поле-->
</set>
<set>
<row>...</row><!--Строка-->
<row>...</row><!--Строка-->
<row>...</row><!--Строка-->
</set>
<set>
<col>...</col><!--Столбец-->
<col>...</col><!--Столбец-->
<col>...</col><!--Столбец-->
</set>

<row>

Строка филдсета.

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
classCSS классКласс компонента строки
styleCSS свойствоСтиль компонента строки

Тело
Список полей
Список филдсетов
<col> - Список столбцов филдсета

Пример

<row>
<input-text/><!--Поле-->
<input-text/><!--Поле-->
<input-text/><!--Поле-->
</row>
<row>
<col>...</col><!--Столбец-->
<col>...</col><!--Столбец-->
<col>...</col><!--Столбец-->
</row>

<col>

Столбец филдсета.

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
sizeЧислоШирина столбца согласно сетке bootstrap (1-12).
classCSS классКласс компонента столбца
styleCSS свойствоСтиль компонента столбца
visibletrue falseУсловие видимостиtrue

Тело
Список полей
Список филдсетов

Пример

<col>
<input-text/><!--Поле-->
<input-text/><!--Поле-->
<input-text/><!--Поле-->
</col>

<set>

Простой филдсет.

Пример

<set>
...
</set>

<line>

Филдсет с горизонтальной линией.

Атрибуты

НаименованиеТипОписаниеЗначение по умолчанию
collapsibletrue falseВозможность раскрытия и сворачивания филдсетаtrue
has-separatortrue falseНаличие горизонтального делителяtrue
expandtrue falseИсходное раскрытие филдсетаtrue
badgeСтрокаЗначок филдсетаtrue
badge-colorprimary secondary success danger warning info light darkЦвет значка. Возможно использование плейсхолдеров
badge-shaperounded circle squareФорма значкаcircle
badge-positionleft rightПозиция значкаright
badge-imageСтрокаКартинка в значке
badge-image-shaperounded circle squareФорма картинки в значкеcircle
badge-image-positionleft rightПозиция картинки в значкеleft

Настройки

#Значение по умолчанию для возможности раскрытия и сворачивания филдсета <line>
n2o.api.fieldset.line.collapsible=true
#Значение по умолчанию для наличия горизонтального делителя в филдсете <line>
n2o.api.fieldset.line.has_separator=true
#Значение по умолчанию для исходного состояния раскрытия филдсета <line>
n2o.api.fieldset.line.expand=true
#src филдсета с динамическим числом полей
n2o.api.fieldset.line.badge.position=right
#Значение по умолчанию для позиции бейджа филдсета <line>
n2o.api.fieldset.line.badge.shape=square
#Значение по умолчанию формы бейджа филдсета <line>
n2o.api.fieldset.line.badge.image_position=left
#Значение по умолчанию картинки в значке бейджа филдсета <line>
n2o.api.fieldset.line.badge.image_shape=circle

Пример

<line label="Общие данные" collapsible="true">
...
</line>

<multi-set>

Филдсет с динамическим числом групп полей.

Атрибуты

НаименованиеТипОписаниеЗначение по умолчаниюОбязательность
idСтрокаИдентификатор филдсета.!
children-labelСтрокаЗаголовок дочерних элементов. С помощью {index} можно управлять нумерацией
first-children-labelСтрокаЗаголовок первого дочернего элемента. Для возможности отображать без нумерации
add-labelСтрокаЗаголовок кнопки добавления
remove-all-labelСтрокаЗаголовок кнопки удаления всех добавленных филдсетов
can-remove-firsttrue falseВозможность удаления первого элементаfalse
can-addtrue falseВозможность добавления новых филдсетовtrue
can-removetrue falseВозможность удаления новых филдсетовtrue
can-remove-alltrue falseВозможность удаления всех добавленных филдсетовfalse
can-copytrue falseВозможность копирования филдсета в новый (вместе с данными)false
primary-keyСтрокаУникальный ключ каждого филдсета.id
generate-primary-keytrue falseГенерировать ли уникальный ключ для каждого филдсета. Значение guid будет генерироваться в primary-key.false

Настройки

#Значения по умолчанию для MultiFieldset
#Удаление первого элемента
n2o.api.fieldset.multi-set.can_remove_first_item=false
#Добавление новых филдсетов
n2o.api.fieldset.multi-set.can_add=true
#Удаление новых филдсетов
n2o.api.fieldset.multi-set.can_remove=true
#Копирование филдсета в новый (вместе с данными)
n2o.api.fieldset.multi-set.can_copy=false
#Удаление всех добавленных филдсетов
n2o.api.fieldset.multi-set.can_remove_all=false
#Генерация уникального ключа для каждого филдсета.
n2o.api.fieldset.multi-set.generate_primary_key=false

Пример

<multi-set id="members"
label="Участник {index}"
add-label="Добавить участника"
remove-all-label="Удалить всех участников"
can-remove-all="true"
primary-key="pk"
generate-primary-key="true">
...
</multi-set>
note

Идентификатор мультифилдсета id задает название спискового поля, в котором будут храниться все добавленные группы полей.

<multi-set id="members">
<input-text id="name"/>
...
</multi-set>

в модели данных:

"members": [
{ "name": "one", ... }, //первая группа полей
{ "name": "two", ... }, //вторая группа полей
...
]
note

Любые зависимости и валидации полей внутри мульти филдсета необходимо задавать с помощью переменной index. Индекс определяет текущую группу полей мультифилдсета.

<multi-set id="members">
<input-text id="firstName"/>
<input-text id="lastName">
<dependencies>
<visibility on="members[index].firstName">members[index].firstName != null</visibility>
</dependencies>
</input-text>
...
</multi-set>