Конфигуратор YouGile
Пользовательские скрипты в YouGile
Пользователи YouGile с правами администратора могут гибко модифицировать работу системы под нужды команды с помощью простых скриптов на JavaScript.
В YouGile предусмотрена встроенная среда разработки (Конфигуратор), поэтому для добавления и использования скриптов не требуется установка дополнительных инструментов — всё необходимое уже доступно в системе.
Открыть Конфигуратор можно нажав сочетание клавиш Ctrl + ~

Управление скриптами
В левой части интерфейса отображается список скриптов, доступных в компании.
Создание и редактирование скриптов выполняется в этом же разделе.
При нажатии на название скрипта открывается встроенный JavaScript-редактор.
Пример интерфейса редактора:

Подключенный скрипт выполняется один раз при каждом входе любого пользователя в систему.
Навигатор по объектам
Помимо стандартных функций javascript в скриптах подключена библиотека для работы с YouGile — она позволяет менять параметры системы, выполнять свой код на различные события в системе и удобно создавать свои элементы интерфейса или изменять существующие.
Список всех доступных объектов и функций этой библиотеки содержатся в панели справа от редактора кода. При нажатии на объект откроется справка по нему с примерами. Любой объект можно потянуть мышкой в редактор — тогда будет вставлен пример кода, который работает с этим объектом.
В панели справа присутствует вкладка с навигацией по всем объектам системы (пользователи, проекты, доски, задачи). Их тоже можно перетаскивать мышкой в редактор:

Описание библиотеки YouGile
Все доступные функции и свойства разбиты по набору объектов:
- Items — работа с содержимым компании: проектами, досками, колонками, задачами
- Stickers — управление стикерами
- Chat — работа с чатами
- Users — работа с пользователями, приглашенными в компанию
- Current — текущее состояние системы (открытый чат, открытая доска, текущий пользователь)
- Texts — модификация стандартных текстов интерфейсов
- UI — создание собственных интерфейсов
- Events — события ввода/вывода (клавиатура, мышь)
- App — набор функций, относящийся к системе в целом (например, экспортировать таблицу в Excel)
- Notifier — содержит различные способы нотификации пользователя
Эти объекты содержат поля трёх типов:
-
Свойства (properties) позволяют получать информацию о состоянии системы.
Пример:Current.user— возвращает текущего пользователя.
Некоторые свойства можно изменять, однако часть свойств доступна только для чтения (read-only). Информация о возможности изменения указана в навигаторе по API. -
Функции (methods) вызываются для выполнения определённых действий.
Пример:Notifier.error('Text')— отображает пользователю уведомление с указанным текстом. -
События (events) — это функции, которые автоматически вызываются при наступлении определённой ситуации в системе.
Пример: функцияCurrent.onBoardChangeвызывается при переходе пользователя на другую доску. По умолчанию событиям назначены пустые функции (без реализации), однако в пользовательском скрипте их можно переопределить:
Current.onBoardChange = function (oldBoard, newBoard) {
console.log(oldBoard, newBoard);
};
Обратите внимание: если два разных скрипта зададут одно и то же событие, то система вызовет заданные события из обоих скриптов. Область видимости этих переменных событий изолирована в разных скриптах. Если же в одном скрипте несколько раз задать одно и то же событие, то оно переопределится и будет вызываться только последнее.
Короткие видео с примерами реализации скриптов: https://help.yougile.com/books/baza-znanii-yougile/page/kak-dorabotat-sistemu
Примеры скриптов:
https://help.yougile.com/books/baza-znanii-yougile/page/primery-skriptov-konfiguratora