Настройка галереи с помощью шаблона задач¶
ℹ️ Настройка работает, начиная с версии 2.262 Весы
Вид карточки галереи, состав ее дополнительных и системных параметров можно настроить с помощью шаблона задач в соответствии со следующими шагами:
- Создание шаблона задач
В режиме администрирования перейдите к странице Шаблоны задач в разделе МП. Нажмите кнопку Создать.
В открывшемся окне задайте параметры:
-
Контекст — Cell
-
Тип — dynamic
-
Категория — Категория, для которой создается шаблон
Имя шаблона, язык и описание могут иметь любое значение.
- Настройка шаблона
Стандартное тело динамического шаблона — это JSON трехуровневой структуры: sections -> blocks -> elements.
Базовый вид шаблона:
{
"contexts": [
{
"context": "gallery",
"settings": {
"templateClass": "gallery",
"bootstrapSize": "sm"
},
"sections": [
{
"settings": {},
"blocks": [
{
"alias": "header",
"elements": []
},
{
"alias": "body",
"elements": []
},
{
"alias": "footer",
"elements": []
}
]
}
]
}
]
}
bootstrapSize
BootstrapSize влияет на минимальное количество элементов в строке и на размер карточек галереи. Возможные значения: sm, md, lg. sm обеспечивает отображение максимального количества карточек — 6 элементов в ряду
Секция Blocks
В Blocks задаются блоки внутри карточки галереи:
-
header и footer — Блоки с предопределенным видом, который можно конфигурировать внутри массива elements.
-
body — Динамический блок, в котором можно отображать значения ДП или системных полей задачи. ДП выводятся в карточке, только если в них есть значение.
Каждый блок содержит параметры:
-
alias — Определяет тип блока (header, body, footer).
-
elements — Описывает элементы внутри блока.
Элементы для блоков с типом header и footer:
Элемент с источником данных из системного параметра:
{
"type": "mainParam",
"dataKey": "taskId",
"alias": "cardIdentifier",
"viewMode": "valueOnly",
"settings": {
"prefix": "\#"
}
}
{
"type": "extparam",
"alias": "headerCounter",
"dataKey": 12872,
"settings": {
"color": "default",
"emphasis": "container"
}
}
Параметр
Описание
type
Тип источника данных
mainParam
Системный параметр
extparam
ДП
dataKey
Для ДП ("type":"extparam") в dataKey указывается ID ДП.
Для системных параметров задачи ("type":"mainParam") dataKey может принимать следующие значения:
taskText
Текст задачи
taskId
Номер задачи
priority
Приоритет
state
Статус
dueDate
Срок
performers
Исполнители
owner
Заказчик
alias (для header)
Статическое поле в карточке галереи, которое необоходимо отобразить. Возможные значения:
title
Заголовок — текст задачи
headerCounter
Индикатор с количеством задач. В секции можно задать параметры:
-
color — Цвет счетчика. Возможные значения:
-
primary
-
accent
-
info
-
success
-
warning
-
fav
-
danger
-
error
-
default
-
blackWhite
-
emphasis — Акцент счетчика. Возможные значения:
-
accent
-
container
Пример фрагмента:
"alias": "headerCounter",
"dataKey": 12872,
"settings": {
"color": "default",
"emphasis": "container"
}
Подзаголовок, вторая строка
mainTag
Главный тег. В секции можно задать параметр:
-
color — Цвет счетчика. Возможные значения:
-
primary
-
accent
-
info
-
success
-
warning
-
fav
-
danger
-
error
-
default
-
blackWhite
tags
Теги задачи. Приходят в viewTags задачи. Для другого источника данных пока не работает
headerDate
Дата заголовка. Выполняет функцию отображения срока
cover
Обложка карточки галереи. В секции settings для данного alias можно задать параметры:
-
showEmptyCover — Показать пустую обложку. Обязательный параметр, должно быть указано true.
-
ratioWH — Соотношение сторон изображения. Доступные значения:
-
16:9
-
1:1
Пример фрагмента:
"alias": "cover",
"settings": {
"ratioWH": "16:9",
"showEmptyCover": true
}
avatar
Аватар карточки задачи. В dataKey необходимо передать ID ДП с типом "Файл", в котором хранится аватар.
Пример фрагмента:
{
"alias": "footer",
"elements": \
{
"type": "extparam",
"dataKey": 14089,
"alias": "avatar"
}
\
}
Приоритет. Для отображения можно передать dataKey: priority, либо для кастомного поля в settings передать поле valueMapper (см. пример)
Пример фрагмента:
{
"type": "mainParam",
"dataKey": "priority",
"alias": "priority",
"viewMode": "valueOnly",
"settings": {
"valueMapper": {
"0": "low",
"3": "high"
}
}
}
Пользователи. Например, исполнители задачи или значение в ДП "Выбор пользователей". Для отображения в параметр viewMode элемента необходимо передать значение table.
cardIdentifier
Текстовое или числовое значение. В settings можно передать поле prefix, который добавит префикс к значению.
viewMode
Параметр вида. Для отображения пользователей необходимо передать значение table, для остальных типов данных можно не передавать.
settings
Является параметром, который необходимо описать для определенных полей.
Например, если мы хотим чтобы перед номером задачи в footer отображался символ #, то в settings элемента нужно передать параметр prefix со значением префикса (в нашем случае #). Ниже будут описаны возможные settings для каждого элемента.
Элементы для блока с типом body
Элемент с источником данных из системного параметра:
{
"type": "mainParam",
"dataKey": "owner",
"viewMode": "table"
}
{
"type": "extparam",
"name": "Клиентский срок",
"viewMode": "icon",
"dataKey": 12187,
"settings": {
"icon": "myicons-825"
}
}
Параметр
Описание
type
Тип источника данных
mainParam
Системный параметр
extparam
ДП
name
Название поля. Если значение не задано, по умолчанию будет отображаться в зависимости от типа источника данных: название ДП или название системного поля.
dataKey
Для ДП ("type":"extparam") в dataKey указывается ID ДП.
Для системных параметров задачи ("type":"mainParam") dataKey может принимать следующие значения:
taskText
Текст задачи
taskId
Номер задачи
priority
Приоритет
state
Статус
dueDate
Срок
performers
Исполнители
owner
Заказчик
viewMode
Параметр вида. В отличие от header и footer, для блока body viewMode является обязательным параметром. Возможные значения:
normal
Названия параметров отображаются строкой выше значений
compact
Названия параметров отображаются слева от их значений. Является значением по умолчанию, если не передать другой viewMode.
valueOnly
Параметры отображаются без названий
none
Параметры в карточке не отображаются
table
Используется для отображения пользователей. В settings можно передать "showUserStatus": true чтобы отобразить статус пользователя "как в ленте"
icon
Вместо названия параметра отображается иконка слева. Необходимо передать icon в settings элемента.
settings
Параметр, который необходимо описать для определенных полей.
ico
При viewMode: icon задается иконка из списка иконок. Список доступных иконок можно найти по адресу: https://Адрес_1Формы/spa/content-icons
truncate
Обрезка текстовых значений полей и заголовков.
Возможные значения: true (обрезать, текст при достижении максимально доступного значения обрезается троеточием) / false (не обрезать, текст отображается полностью с переносом на следующую строку).
По умолчанию true.
showUserStatus
Отображение статуса пользователей в viewMode: table для полей с выбором пользователей.
Возможные значения: true (отображать) / false (не отображать).
По умолчанию false.
Секция Settings¶
В Settings содержатся настройки карточки галереи. Параметр leftBorder отвечает за левую обводку карточки.
Пример:
"leftBorder": {
"type": "mainParam",
"dataKey": "priority",
"alias": "leftBorder",
"dynamicSettings": {
"0": {
"color": "var(\--base-info)"
},
"3": {
"color": "var(\--base-danger)"
}
}
}
- Настройка шаблонизации в категории
В настройках категории в блоке Формы перейдите к настройкам шаблонизации.
Выберите в списке созданный шаблон. Задайте для него следующие настройки:
-
В колонке Клиент выберите значение all
-
Активируйте опцию Активность правила
Пример настроенного шаблона
Шаблон задач:
{
"contexts": [
{
"context": "gallery",
"settings": {
"templateClass": "gallery",
"bootstrapSize": "sm"
},
"sections": [
{
"blocks": [
{
"alias": "header",
"elements": \
{
"type": "extparam",
"dataKey": 14089,
"alias": "cover",
"settings": {
"ratioWH": "16:9",
"showEmptyCover": true
}
}
\
},
{
"alias": "body",
"elements": \
{
"type": "extparam",
"dataKey": 3986,
"viewMode": "table"
},
{
"type": "extparam",
"dataKey": 1604,
"viewMode": "table"
}
\
},
{
"alias": "footer",
"elements": \
{
"type": "extparam",
"dataKey": 14089,
"alias": "avatar"
}
\
}
]
}
]
}
]
}