Как уже говорилось ранее, в новой версии Synergy мы интегрировали пакет Интерпретатора JavaScript в платформу. При этом общие настройки скриптов выполняются в Настройках платформы, а сами скрипты создаются в отдельных приложениях.
Для того, чтобы создать новый скрипт в приложении, нужно выделить папку, в которой он будет расположен, и выбрать пункт меню «Объект - Добавить - Интеграция - Скрипт интерпретатора», или в контекстном меню папки выбрать пункт «Добавить - Интеграция - Скрипт интерпретатора».
Откроется редактор свойств скрипта:
Для скриптов как объектов приложения мы добавили поле «Код», которое заполняется автоматически при вводе названия.
При этом для вновь создаваемых скриптов поле «Название» предзаполнено значением, установленным в настройке «Префикс скрипта по умолчанию».
После сохранения в папке приложения появится нода,
соответствующая созданному скрипту, и ее дочерняя нода
script.js
, содержащая непосредственно код:
Скрипт интерпретатора - сложный объект, и поэтому он, как и форма, и пользовательский компонент, содержит внутренние вкладки. У объекта есть ровно две внутренние вкладки: редактор свойств и редактор кода:
При этом у вкладки с редактором кода справа есть разворачивающаяся панель с подсказками:
Для написанного кода можно выполнить пробный запуск. Для этого нужно в редакторе свойств заполнить группу полей «Настройки пробного запуска», потом нажать на клавишу F8 или на кнопку «Запустить».
В новой версии мы добавили возможность обработки
внутренних
событий Synergy с помощью интерпретатора. Скрипт
интерпретатора будет вызываться при наступлении события, если
название скрипта совпадает с названием этого события.
Например, если необходимо обработать событие
[event.workflow.work.create]
создания
работы, нужно в одном из приложений Synergy создать скрипт
интерпретатора с названием
event.workflow.work.create
.
Сведения о событии можно получить из предопределенной
переменной message
:
var message = { "content": "text of jms message", "props": { "prop1": "prop1 of jms message", "prop2": "prop2 of jms message" } }
Если у названия скрипта префикс совпадает с указанным в
настройках,
то логика запуска скрипта будет стандартной: будет ожидаться
переменная dataUUID
, в конце выполнения
скрипта будут разблокировываться процессы.
В остальных случаях выполняется запуск скрипта. Так как никаких процессов он не разблокирует, то проверить запуск можно, например, таким кодом:
console.error("content {}", [message.content]); console.error("props {}", message.props);
console
- это объект класса
org.slf4j.Logger
со всеми публичными
методами. Название у логгера -
interpreter.${название скрипта}
.