Клиентские события Synergy
--------------------------
На события, отправленные в глобальную шину проигрывателя форм, можно подписаться в JS коде пользовательского компонента.
Пример использования события из проигрывателя форм:
.. code-block:: js
AS.FORMS.bus.on(AS.FORMS.EVENT_TYPE.formShow, function (event, model, view) {
console.log(model.formCode);
});
В клиентской части Synergy реализована генерация событий в шину `$EVENT_BUS`.
**Типы событий**
.. js:data:: WORK_USERS_CHANGED
Событие изменения исполнителей работы в диалоге создания работы.
В качестве аргумента передается список выбранных пользователей
в виде массива JSON с полями: *userId, lastname, firstname, patronymic*
.. code-block:: js
firstname:"API0462_user_3"
lastname:"API0462_user_3"
patronymic:""
userId:"d986039e-8924-4afd-aeb0-0e31c3c1b53c"
.. js:data:: WORK_DIALOG_UPDATE
Событие обновления диалога создания работы.
В качестве аргумента передается список выбранных пользователей
в виде массива JSON с полями: *userId, lastname, firstname, patronymic*
.. code-block:: js
firstname:"API0462_user_3"
lastname:"API0462_user_3"
patronymic:""
userId:"d986039e-8924-4afd-aeb0-0e31c3c1b53c"
.. js:data:: SETTINGS_LOADED
Событие загрузки настроек приложения.
В качестве аргумента передается *null*
.. js:data:: REGISTRY_SELECTED
Событие выбора реестра из навигатора реестров в модуле хранилище.
В качестве аргумента передаётся JSON объект вида:
.. code-block:: js
registryCode:"reg_code"
registryId:"9034810f-5f18-44b9-948a-8f78a5f1ec9d"
.. js:data:: USER_CHOOSER_CREATED
Событие создания тэгового поля выбора пользователя в диалоге.
В качестве аргумента передаются два параметра: событие и объект,
содержащий ссылку на компонент выбор пользователя (в поле args).
Оперировать компонентом выбора пользователя можно следующими функциями:
- `getUserChooserId(chooserComponent)` - получение идентификатора компонента
выбора пользователя;
- `getUserChooserShowAll(chooserComponent)` - получение настройки "Разрешить
добавлять соисполнителей к работам, не являющихся подчиненными"
- `setUserChooserSelectedIds(chooserComponent, arrayOfUsersIds)` - выбрать
переданных пользователей;
- `getUserChooserSelectedIds(chooserComponent)` - получить идентификаторы
выбранных пользователей.
Пример обработки события `USER_CHOOSER_CREATED`:
.. code-block:: js
$EVENT_BUS.subscribe(new EventHandler('USER_CHOOSER_CREATED', onUserChooserCreated));
function onUserChooserCreated(evt, chooser) {
var id = getUserChooserId(chooser.args);
console.log(id);
}
Дополнительные атрибуты html-элементов
--------------------------------------
Атрибуты `registrycode` и `registryid`
======================================
Атрибуты `registrycode` и `registryid` содержатся в элементе списка реестров,
например:
.. code-block:: html
007 Заявление о приеме на работу на период |
|
Атрибут `userchooser`
=====================
В каждый DOM элемент компонента выбора пользователя добавляется атрибут
`userchooser` со значением идентификатора компонента выбора пользователя.
Идентификаторы компонентов выбора пользователя:
- Диалог создания работы:
- исполнитель - `editWorkUserChooser`
- ответственные - `editWorkResponsibleUserChooser`
- автор - `editWorkAuthorUserChooser`
- Отправить-> переслать:
- адресаты - `sendDocumentUserChooser`
- Отправить -> перепоручить:
- исполнитель - `assignmentSendUserChooser`
- ответственные - `assignmentSendResponsibleUserChooser`
- Отправить на согласование, утверждение, ознакомление:
- адресаты - `sendWorkUserChooser`
- Отправить по маршруту:
- ответственный - `editRouteSendDialog`
- все остальные компоненты будут иметь идентификатор `userChooser`.
Атрибут `synergytest`
=====================
Атрибут `synergytest` используется для обозначения компонентов Synergy идентификаторами.
- Диалог редактирования/регистрации документа - `EditDocDialog`
- Кнопка `Зарегистрировать` в диалоге регистрации документа - `EditDocDialogRegister`
- Footer-панель в диалоге регистрации документа - `EditDocDialogFooter`
- Footer-панель в диалоге исправления конфликта при перемещении файла/папки в проекте - `EditDocDialogFooter`
- Диалог проверки листа подписей - `DialogCheckerSigns`
- Таблица проверки подписей - `TableCheckerSigns`
- Кнопка `Отправить` в окне документа - `DocumentCardSendButton`
- Кнопка активации документа - `DocumentCardRegistrySendButton`
- Лист подписей подписей в РКК - `CISignsPanel`
- Кнопка проверки подписей в РКК - `CICheckSignsBT`
- Кнопка `Отправить` в окне отправки маршрута - `RouteSendButton`
- Нода реестра в навигаторе реестров - `RegistryTreeElement`
- Кнопка `Запустить` в окне отправки маршрута реестра - `RegistryRouteSendButton`
Атрибут `registry_id`
=====================
Содержит идентификатор реестра в кнопке активации записи реестра и кнопке `Запустить` в диалоге отправки
по маршруту реестра
Атрибут `registry_code`
=====================
Содержит код реестра в кнопке активации записи реестра и кнопке `Запустить` в диалоге отправки
по маршруту реестра
Атрибут `document_id`
=====================
Содержит идентификатор документа:
- в кнопке активации записи реестра;
- в кнопке `Запустить` в диалоге отправки по маршруту реестра;
- в кнопке `Отправить` в окне документа;
- в кнопке `Отправить` в окне отправки по маршруту.
Другие атрибуты
===============
Атрибут `registerid` содержит значение идентификатора журнала в диалоге редактирования/регистрации документа.
Атрибут `documentid` - идентификатор документа в диалоге редактирования/регистрации документа и
диалоге проверки листа подписей.
Атрибут `data-componentType` - тип компонента,
в диалоге согласования/утверждения/ознакомления содержит значение `signPanel`.
Атрибут `data-documentid` - идентификатор документа в диалоге согласования/утверждения/ознакомления.
Атрибут `data-procinstid` - идентификатор процесса в диалоге согласования/утверждения/ознакомления.