Вычисляемые атрибуты (computed attributes)
Вычисляемые атрибуты — это дополнительные поля, значения которых не хранятся в базе данных, а формируются динамически на основе других атрибутов записи или произвольной логики. Они позволяют расширить отображаемые в журнале данные без изменения модели данных.
Вычисляемые атрибуты задаются в конфигурации журнала или отдельной колонки и могут использоваться в форматтерах и редакторах колонок.
Есть два основных вида вычисляемых атрибутов:
Record Computed Attributes (R атрибуты) — атрибуты, которые вычисляются для каждой записи;
Config Computed Attributes (C атрибуты) — атрибуты, которые вычисляются глобально для конфига.
Вычисляемые атрибуты могут быть описаны в области журнала или конкретной колонки:
"computed": [
{
"id": "someAttribute",
"type": "script",
"config": {
"script": "return \"abcd\";"
}
}
]
Для обращения к атрибутам из записи в конфиге можно использовать плейсхолдеры ${…}. Например:
"computed": [
{
"id": "someAttribute",
"type": "script",
"config": {
"vars": {
"documentDisplayName": "${?disp}"
},
"script": "return \"abcd\" + vars.documentDisplayName;"
}
}
]
При наличии в конфиге плейсхолдеров ${…} атрибут автоматически становится R атрибутом.
Использование computed атрибутов доступно в полях Форматтер для колонки и Редактор для колонки. Доступ аналогичен доступу к атрибутам записи, но с префиксом $computed. Например:
"formatter": {
"type": "value",
"config": {
"value": "${$computed.someAttribute}"
}
},
"computed": [
{
"id": "someAttribute",
"type": "script",
"config": {
"vars": {
"documentDisplayName": "${?disp}"
},
"script": "return \"abcd\" + vars.documentDisplayName;"
}
}
]
Типы вычисляемых атрибутов
Тип |
Конфиг |
Примечание |
|---|---|---|
script |
vars: Object<String, Any> — переменные, которые будут доступны в скриптеscript: String — текст скрипта |
В контексте скрипта доступны:
Records
_ — lodash библиотека
vars — переменные из конфига
t — функция для получения локализованного сообщения по ключу
|
value |
value: Any — значениеМожет быть выбрано несколько значений.
|