Настройка скриптового модуля приложения "Интерактивная доска" 2.1.1 — 2.3.0
Встроенное приложение "Интерактивная доска" версии ниже 2.4.0 может быть несовместимо с версией системы.
Рекомендуется обновить встроенное приложение на последнюю версию.
Описание настройки
Настройка приложения происходит в модуле параметров kanboardParams.
Изменить часть настроек скриптового модуля можно самостоятельно или по запросу в службу технической поддержки NAUMEN.
Функции и настройки модуля
Для каждой доски используется своя функция:
-
Функция для построения доски
final KanboardParams taskByStatus = new KanboardParams
-
Код контента, для которого строится доска
contentCode: 'statusBoard',
Настройка каждой доски состоит из трех смысловых частей:
-
Объекты, которые будут отображаться на доске.
Например, вывод на доску запросов может быть задан с помощью метода utils.find:
items: { String subjectUuid ->
return utils.find('serviceCall', ['responsibleTeam':subjectUuid, 'state': op.in('registered', 'inwork', 'wait', 'closed')])},
-
Соответствие параметров объекта доски и элементов плашки объекта на доске.
title: { String subjectUuid, ISDtObject item -> item.hasProperty('title') ? item.title : null}, description: { String subjectUuid, ISDtObject item ->item.hasProperty('descriptionInRTF') ? api.string.htmlToText(item.descriptionInRTF) : null}, categoryIconUrl: {String subjectUuid, ISDtObject item ->item.hasProperty('system_icon') ? item.system_icon.icon[0].UUID : null}, categoryTitle: {String subjectUuid, ISDtObject item -> item.system_icon?.title}, deadline: {String subjectUuid, ISDtObject item -> item.hasProperty('deadLineDate') ? item.deadLineDate.deadLineTime :null}, -
Настройка столцов доски.
columnParams: { String subjectUuid -> return [ new ColumnParam('Новые', ['registered']), new ColumnParam('В работе', ['inwork'], '#E08A85'), new ColumnParam('Отложен', ['wait'], '#DDC688'), new ColumnParam('DONE', ['closed'], '#008000') ] }где, new ColumnParam('Название столбца на доске', [коды статусов, отображаемых в столбце, через запятую, каждый статус в одинарных кавычках]), цвет полоски столбца на доске в формате HEX)
Пример
final KanboardParams taskByStatus = new KanboardParams( // функция для построения доски
contentCode: 'statusBoard', // код контента, для которого строится доска
items: { String subjectUuid ->
return utils.find('serviceCall', ['responsibleTeam':subjectUuid, 'state': op.in('registered', 'inwork', 'wait', 'closed')])}, // получаем объекты, которые будут отображаться на доске
title: { String subjectUuid, ISDtObject item ->
item.hasProperty('title') ? item.title : null},
description: { String subjectUuid, ISDtObject item ->item.hasProperty('descriptionInRTF') ? api.string.htmlToText(item.descriptionInRTF) : null},
categoryIconUrl: {String subjectUuid, ISDtObject item ->item.hasProperty('system_icon') ? item.system_icon.icon[0].UUID : null},
categoryTitle: {String subjectUuid, ISDtObject item -> item.system_icon?.title},
deadline: {String subjectUuid, ISDtObject item -> item.hasProperty('deadLineDate') ? item.deadLineDate.deadLineTime :null}, // определяем соответствие параметров объекта доски и элементов плашки на доске
columnParams: { String subjectUuid ->
return [
new ColumnParam('Новые', ['registered']),
new ColumnParam('В работе', ['inwork'], '#E08A85'),
new ColumnParam('Отложен', ['wait'], '#DDC688'),
new ColumnParam('DONE', ['closed'], '#008000') // определяем колонки и их содержимое для доски
]
}
)
Место настройки в интерфейсе
Интерфейс администратора.
Раздел "Настройка системы" → "Каталог скриптов и модулей" → "Каталог модулей" → Модуль kanboardParams.
Форма редактирования модуля, см. Редактирование модуля.
Выполнение настройки
Для создания новой доски:
-
Продублируйте функцию, соответствующую желаемому типу доски (разбивка столбцов по статусу, по ответственному, по дедлайну).
final KanboardParams taskByStatus = new KanboardParams
- Дайте новое название функции и настройте новую доску.
-
Название новой функции добавьте в параметры функции KanboardSettings:
final KanboardSettings settings = new KanboardSettings([taskByStatus, taskByEmployee, taskByDeadLine, название новой функции для новой доски])