Настройка скриптового модуля приложения "Интерактивная доска" 2.1.1 — 2.3.0

Встроенное приложение "Интерактивная доска" версии ниже 2.4.0 может быть несовместимо с версией системы.
Рекомендуется обновить встроенное приложение на последнюю версию.

Описание настройки

Настройка приложения происходит в модуле параметров kanboardParams.

Изменить часть настроек скриптового модуля можно самостоятельно или по запросу в службу технической поддержки NAUMEN.

Функции и настройки модуля

Для каждой доски используется своя функция:

  1. Функция для построения доски

    final KanboardParams taskByStatus = new KanboardParams

  2. Код контента, для которого строится доска

    contentCode: 'statusBoard',

Настройка каждой доски состоит из трех смысловых частей:

  1. Объекты, которые будут отображаться на доске.

    Например, вывод на доску запросов может быть задан с помощью метода utils.find:

    items: { String subjectUuid ->

    return utils.find('serviceCall', ['responsibleTeam':subjectUuid, 'state': op.in('registered', 'inwork', 'wait', 'closed')])},

  2. Соответствие параметров объекта доски и элементов плашки объекта на доске.

    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},
  3. Настройка столцов доски.

    columnParams: { String subjectUuid ->
       return [
             new ColumnParam('Новые', ['registered']),
             new ColumnParam('В работе', ['inwork'], '#E08A85'),
             new ColumnParam('Отложен', ['wait'], '#DDC688'),
             new ColumnParam('DONE', ['closed'], '#008000')
             ]
        }

    где, new ColumnParam('Название столбца на доске', [коды статусов, отображаемых в столбце, через запятую, каждый статус в одинарных кавычках]), цвет полоски столбца на доске в формате HEX)

Пример

Copy
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.

Форма редактирования модуля, см. Редактирование модуля.

Выполнение настройки

Для создания новой доски:

  1. Продублируйте функцию, соответствующую желаемому типу доски (разбивка столбцов по статусу, по ответственному, по дедлайну).

    final KanboardParams taskByStatus = new KanboardParams

  2. Дайте новое название функции и настройте новую доску.
  3. Название новой функции добавьте в параметры функции KanboardSettings:

    final KanboardSettings settings = new KanboardSettings([taskByStatus, taskByEmployee, taskByDeadLine, название новой функции для новой доски])