Значения по умолчанию
Виджеты можно загрузить со значениями по умолчанию. Для этого источник данных виджета не должен иметь ссылку на выборку:
<datasource id="main"/>
Или должен быть установлен режим значений по умолчанию:
<datasource id="main"
query-id="person"
default-values-mode="defaults"/>
При явно заданном режиме значений по умолчанию default-values-mode="defaults"
, ссылка на выборку query-id
игнорируется.
Если один и тот же виджет при открытии страницы должен работать в двух режимах (по умолчанию и через выборку),
то следует переопределить свойство default-values-mode
при открытии страницы:
<show-modal page-id="personCard">
<datasources>
<!-- Источник данных main на странице personCard
будет работать в режиме значений по умолчанию -->
<datasource id="main"
default-values-mode="defaults"/>
<datasources>
</show-modal>
Значения по умолчанию полей
Значение по умолчанию в простых полях задаётся атрибутом default-value
.
<input-text id="name"
default-value="Ваше имя"/>
Для списковых полей через элемент default-value
:
<select id="gender">
<default-value id="1"
name="Мужской"/>
</select>
Значения по умолчанию из выборки
Если значения по умолчанию частично получаются из выборки, а частично задаю тся в полях,
то можно использовать режим слияния с помощью default-values-mode
:
<datasource id="main"
query-id="persons"
default-values-mode="merge">
<filters>
...
</filters>
</datasource>
Поля выборки, которые вернут null, будут заменены значениями по умолчанию, заданными в полях.
Вычисляемые значения
Можно задать значение по умолчанию с помощью JavaScript выражения:
<output-text id="randomNum" default-value="`Math.random()`"/>
Функции работы с данными
В контексте 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 id="person.id"
default-value="{id}"
ref-datasource="persons"
ref-model="resolve"
ref-page="parent"/>
Данные на которые ведет ссылка задается атрибутами ref-datasource
, ref-model
и ref-page
.