Конфигуратор полей¶
Для замены неинформативных полей реализована возможность самостоятельного конфигурирования отображаемых объектов. Это выполняется в конфигурационном файле frontend «column-templates.json» (\dist\assets\resources\column-templates.json).
Конфигурирование позволяет заменить статический текст в колонках на символическое изображение / иконку (из набора https://material.io/resources/icons/?style=baseline).
Замена статического текста доступна в настройках отображения разделов Сообщения и Документы. Также существует возможность сформировать условия отображения иконок в зависимости от полученных реквизитов из репозитория Системы для объектов instructions, documents.
Например, необходимо заменить текстовое значение колонки Просрочено на иконку с текстом «Просрочено». Замена будет выполняться в разделе Сообщения в папке «Входящая» в режиме отображения «Таблица».
Для замены текстового значения на иконку необходимо добавить в код «column-templates.json» обработку поля OverTime (иконка будет отображаться при условии, если репозиторий вернул код для OverTime = 1):
"overTime": {
"name": "IconColumn",
"props": {
"conditions": [
{
"fields": [
{
"field": "overTime",
"value": "1"
}
],
"badge": "red",
"text": "Просрочено",
"styles": {
"justify-content": "center"
}
}
]
}
}
В результате текстовое значение колонки Просрочено изменится на иконку
.
Синтаксическое описание файла находится в «column-templates.md»:
# Настройка внешнего вида колонок в гриде
## Верхний уровень - доступные значения "instruction" и "document"
### "instruction" или "document" - объект, свойствами которого являются атрибуты сообщения или документа
Например, «creatorName», «receiverName» или «reportCreatorName»:
#### Следующий уровень - объект, описывающий колонку
- name - имя компонента, отображающего данный столбец. Доступное значение - IconColumn
- props - объект свойств этого компонента
- titleMethod - название метода, который получает данные для всплывающей подсказки. Доступные значения - "userInfo$", "sentType". ($ на конце означает, что метод асинхронный)
- field - имя поля (атрибута), который указывается перед выполнением *titleMethod* для получения данных для всплывающей подсказки
- showText: true или false - параметр, определяющий отображать в колонке текст или нет. Т. е. можно вместо текста отобразить иконку или другой значок
- iconMethod - имя метода для получения иконки из спрайта. Доступные значения: "boolSprite", "stateSprite" и "sentTypeSprite"
- iconTrue: название иконки, если значение этого атрибута true (или просто существует)
- iconFalse: название иконки, если значение этого атрибута false (или отсутствует)
- color - цвет текста в ячейке
- icon - название иконки (из набора material icons), которая будет отображена в ячейке
- conditions - массив условий, в зависимости от которых можно выводить в ячейке таблицы иконки, значки или любой текст (отличный от значения атрибута)
- fields - массив условия для значения конкретного атрибута
- field: имя атрибута
- value: значение атрибута
- contain: флаг - содержится ли в данном атрибуте указанное в свойстве value значение?
- starts: флаг - значение атрибута начинается с указанного в свойстве value значения?
- ends: флаг - значение атрибута заканчивается на указанное в свойстве value значение?
- and: флаг - следующее за этим условие объединяется с данным условием через операцию И или ИЛИ?
- styles: объект с CSS-стилями, которые будут применены к ячейке в случае выполнения условий
- icon: название иконки (из набора material icons), которая будет отображена в ячейке в случае выполнения условий
- mark: вывод в ячейке отметки в виде круга, возможные значения - 'green', 'red', 'white', 'gray'
- badge: вывод в ячейке текста в рамке, возможные значения - 'green', 'red', 'white', 'gray', 'blue'
- text: текст, выводимый в ячейке в случае выполнения условий
- tooltip: текст, который будет выводится при наведении на описываемый объект (всплывающая подсказка)
