Конфигуратор полей

Для замены неинформативных полей реализована возможность самостоятельного конфигурирования отображаемых объектов. Это выполняется в конфигурационном файле 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"
  }
  }
  ]
  }
}

В результате текстовое значение колонки Просрочено изменится на иконку img.

Результат замены

Синтаксическое описание файла находится в «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: текст, который будет выводится при наведении на описываемый объект (всплывающая подсказка)