Skip to main content

Значения по умолчанию

Обычно виджеты получают данные с помощью выборки query-id. Но источником данных могут быть и значения по умолчанию. Источник указывается в месте открытия с помощью атрибута upload:

Источник данных при открытии окна
<show-modal page-id="myPage"  upload="defaults"  submit-operation-id="create"/>

Значения по умолчанию полей#

Значение по умолчанию в простых полях задаётся атрибутом default-value.

Значение по умолчанию для простых полей
<input-text id="name" default-value="Ваше имя"/>

Для списковых полей через элемент default-value:

Значение по умолчанию для списковых полей
<select id="gender">  <default-value    id="1"    name="Мужской"/></select>

Выборка значений по умолчанию#

Если значения по умолчанию определяются более сложным образом, можно использовать выборку default-values-query-id:

Выборка значений по умолчанию
<form default-values-query-id="myDefaults">  <fields>    ...  </fields></form>

Выборка значений по умолчанию будет запрошена при открытии формы с upload="defaults". Если поле, которое вернула выборка, пустое, то оно не будет использоваться. Вместо этого поле заполнится значением по умолчанию из атрибутов default-value или элемента <default-model>.

Вычисляемые значения#

Можно задать значение по умолчанию с помощью JavaScript выражения. В них можно использовать свойства текущей модели виджета как переменные. Выражения записываются в фигурных скобках:

Значение по умолчанию в виде JavaScript выражения
<checkbox id="man" default-value="{gender.id == 1}"/>

В контексте JavaScript выражения доступны функции и переменные для удобной работы с датами, числами, списками.

Библиотеки для работы с датами, числами и списками

ДоступОписание
$Библиотека функций N2O
_https://lodash.com/
moment()https://momentjs.com/
numeral()http://numeraljs.com/

Функции дат#

В библиотеке функций N2O имеются удобные функции для работы с датами.

Функции даты и времени

ФункцияОписание
now()Текущая дата и время
today()Текущая дата
beginWeek()Начало недели
endWeek()Конец недели
beginMonth()Начало месяца
endMonth()Конец месяца
beginQuarter()Начало квартала
endQuarter()Конец квартала
beginYear()Начало года
endYear()Конец года
Значение по умолчанию в виде функции даты и времени
<date-time id="dt" default-value="{$.now()}"/>

Доступ к функциям дат осуществляется через "доллар точка" ($.).

Форматирование значения#

Можно комбинировать константные значения и ссылки. Такое выражение записывается в обратных апострофах:

Значение по умолчанию в виде комбинации текста и ссылки
<output-text default-value="Привет, {username}"/>