- Создатель Васильев Антон, отредактировано 25.11.2022
Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим просмотр истории страницы
« Предыдущий Версия 11 Следующий »
Краткое описание
Используется для подключения JavaBean или написание JavaScript кода
<?xml version='1.0' encoding='UTF-8'?> <ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui"> <!-- Асинхронный обработчик--> <async-handler id="{id}" name="{name}" name-process="{process name}"> <script lang="JavaBean"><![CDATA[...]]></script> </async-handler> <handler id="{id}" name="{name}"> <script lang="JavaScript"><![CDATA[...]]></script> </handler> </ui>
handler
attributes
Параметры | Описание |
---|---|
id | Идентификатор |
name | Название |
use-by-link | Можно ли подписывать обработчик для использования пользователем без прямых прав чтения |
script
Параметры | Описание |
---|---|
lang | Язык программирования JavaScript/подключение JavaBean |
Параметры/Функции | Описание |
---|---|
paramsResource | Экземпляр класса TunableObjectREST.Resource, при первом вызове содержит данные о том, сколько и какие документы выделены, при последующий вызовах это ресурс диалога, в котором было произведено действие submit. Также содержит свойство "counter" которое нужно для определения того, на каком шаге сценария операции находимся. При первом вызове свойство counter= "context", при последующих действиях оно определяется вручную(можно кодом положить нужное значение). |
returnResource | Экземпляр класса TunableObjectREST.ReturnParamsResource, содержит в себе единственное поле - resource, в которое нужно установить либо:
|
process | function process(paramsResource, returnResource) Функция вызывается при первом нажатии кнопки и при последующих нажатиях кнопки с action=submit в диалогах операции. Через параметр returnResource.resource должна передать диалог/null клиенту. В общем случае используется для вызова нужной функции в зависимости от шага сценария. |
process_<name> | function process_<name>(paramsResource, returnResource) Функция вызывается из process(paramsResource, returnResource) при определенном значении поля "counter". Переподбирается один или несколько объектов(по полю ids), в зависимости от того, на основании данных пришедшего диалога, над объектами проводятся определенные действия, включая сохранение. Заполняется поле returnResource.resource. |
Создание схем и секций диалогов в соответствии со сценарием операции
Для добавления диалога создаётся схема и секция с mode=dialog по определённым правилам:
- схема должна наследоваться с ClientContextRequest;
- в схеме в общем случае должно присутствовать поле, в котором будут храниться и передаваться следующему диалогу id-выбранных документов.
- секция должна быть с условием применения "dialog",
- в корне секции должна быть как минимум одна кнопка c действием "submit" или "cancel".
- можно делать несколько кнопок submit, но тогда они должны быть привязаны к разным свойствам boolean схемы. При нажатии кнопки клиент установит значение true в соответствующем полe.
- Если требуется при определенном условии показать пользователю "красиво оформленное" сообщение об ошибке, то можно это сделать также с помощью диалога.
async-handler
Асинхронный процесс - последовательность операций(шагов), в которой результат работы одной операции сохраняется на сервере для использования следующей операцией, причём переход к следующей операции(шагу) в общем случае инициируется пользователем.
attributes
Параметры | Описание |
---|---|
id | Идентификатор |
name | Название |
use-by-link | Можно ли подписывать обработчик для использования пользователем без прямых прав чтения |
name-operation | Название выполняемой операции (для отображения пользователю) |
name-process | Название процесса, в котором используется обработчик (для отображения пользователю) |
script
Параметры | Описание |
---|---|
lang | Язык программирования JavaScript/подключение JavaBean |
Функции/Методы | Описание |
---|---|
paramsResource | Экземпляр класса TunableObjectREST.Resource, при первом вызове содержит данные о том, сколько и какие документы выделены, при последующий вызовах это ресурс диалога, в котором было произведено действие submit. Также содержит свойство "counter" которое нужно для определения того, на каком шаге сценария операции находимся. При первом вызове свойство counter= "context", при последующих действиях оно определяется вручную(можно кодом положить нужное значение). |
processAsync | function processAsync(String monitorId) Функция вызывается при первом нажатии кнопки. |
process_<name> | function process_<name>(String monitorId) Функция вызывается из processAsync(monitorId) |
rollback | function rollback(String monitorId) Запускает код откатывающий изменения, произведенные обработчиком если это необходимо и возможно. Этот метод вызывается в случае если процесс был прерван или если в обработчике была возникла ошибка. |
Весь обмен данными происходит через так называемый монитор процесса. На вход обработчика поступает ID монитора, и на выходе из обработчика Tunable-ресурс не возвращается, а записывается в монитор
Статус | ГОТОВО |
---|---|
Комментарий |
Теги и атрибуты:
- Нет меток