Клиентские события 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` - идентификатор процесса в диалоге согласования/утверждения/ознакомления.