8.2.12. Клиентские события Synergy

На события, отправленные в глобальную шину проигрывателя форм, можно подписаться в JS коде пользовательского компонента.

Пример использования события из проигрывателя форм:

AS.FORMS.bus.on(AS.FORMS.EVENT_TYPE.formShow, function (event, model, view) {
    console.log(model.formCode);
});

В клиентской части Synergy реализована генерация событий в шину $EVENT_BUS.

Типы событий

WORK_USERS_CHANGED

Событие изменения исполнителей работы в диалоге создания работы. В качестве аргумента передается список выбранных пользователей в виде массива JSON с полями: userId, lastname, firstname, patronymic

firstname:"API0462_user_3"
lastname:"API0462_user_3"
patronymic:""
userId:"d986039e-8924-4afd-aeb0-0e31c3c1b53c"
WORK_DIALOG_UPDATE

Событие обновления диалога создания работы. В качестве аргумента передается список выбранных пользователей в виде массива JSON с полями: userId, lastname, firstname, patronymic

firstname:"API0462_user_3"
lastname:"API0462_user_3"
patronymic:""
userId:"d986039e-8924-4afd-aeb0-0e31c3c1b53c"
SETTINGS_LOADED

Событие загрузки настроек приложения. В качестве аргумента передается null

REGISTRY_SELECTED

Событие выбора реестра из навигатора реестров в модуле хранилище. В качестве аргумента передаётся JSON объект вида:

registryCode:"reg_code"
registryId:"9034810f-5f18-44b9-948a-8f78a5f1ec9d"
USER_CHOOSER_CREATED

Событие создания тэгового поля выбора пользователя в диалоге. В качестве аргумента передаются два параметра: событие и объект, содержащий ссылку на компонент выбор пользователя (в поле args).

Оперировать компонентом выбора пользователя можно следующими функциями:

  • getUserChooserId(chooserComponent) - получение идентификатора компонента

выбора пользователя;

  • getUserChooserShowAll(chooserComponent) - получение настройки «Разрешить

добавлять соисполнителей к работам, не являющихся подчиненными»

  • setUserChooserSelectedIds(chooserComponent, arrayOfUsersIds) - выбрать

переданных пользователей;

  • getUserChooserSelectedIds(chooserComponent) - получить идентификаторы

выбранных пользователей.

Пример обработки события USER_CHOOSER_CREATED:

$EVENT_BUS.subscribe(new EventHandler('USER_CHOOSER_CREATED', onUserChooserCreated));
function onUserChooserCreated(evt, chooser) {
    var id = getUserChooserId(chooser.args);
    console.log(id);
}

8.2.13. Дополнительные атрибуты html-элементов

8.2.13.1. Атрибуты registrycode и registryid

Атрибуты registrycode и registryid содержатся в элементе списка реестров, например:

<table cellspacing="0"
       cellpadding="0"
       synergytest="RegistryTreeElement"
       registryid="82356e07-a859-49cc-8adf-896c32725810"
       registrycode="Заявление_о_приеме_на_работу_(вариант_2,_на_двух_языках)"
       style="display: inline;"
       class="commonLabelBold">
<colgroup> <col> </colgroup>
<tbody>
    <tr>
<td>007 Заявление о приеме на работу на период</td>
<td style="white-space: nowrap;"></td>
    </tr>
</tbody>
</table>

8.2.13.2. Атрибут userchooser

В каждый DOM элемент компонента выбора пользователя добавляется атрибут userchooser со значением идентификатора компонента выбора пользователя.

Идентификаторы компонентов выбора пользователя:

  • Диалог создания работы:

    • исполнитель - editWorkUserChooser
    • ответственные - editWorkResponsibleUserChooser
    • автор - editWorkAuthorUserChooser
  • Отправить-> переслать:

    • адресаты - sendDocumentUserChooser
  • Отправить -> перепоручить:

    • исполнитель - assignmentSendUserChooser
    • ответственные - assignmentSendResponsibleUserChooser
  • Отправить на согласование, утверждение, ознакомление:

    • адресаты - sendWorkUserChooser
  • Отправить по маршруту:

    • ответственный - editRouteSendDialog
  • все остальные компоненты будут иметь идентификатор userChooser.

8.2.13.3. Атрибут synergytest

Атрибут synergytest используется для обозначения компонентов Synergy идентификаторами.

  • Диалог редактирования/регистрации документа - EditDocDialog
  • Кнопка Зарегистрировать в диалоге регистрации документа - EditDocDialogRegister
  • Footer-панель в диалоге регистрации документа - EditDocDialogFooter
  • Footer-панель в диалоге исправления конфликта при перемещении файла/папки в проекте - EditDocDialogFooter
  • Диалог проверки листа подписей - DialogCheckerSigns
  • Таблица проверки подписей - TableCheckerSigns
  • Кнопка Отправить в окне документа - DocumentCardSendButton
  • Кнопка активации документа - DocumentCardRegistrySendButton
  • Лист подписей подписей в РКК - CISignsPanel
  • Кнопка проверки подписей в РКК - CICheckSignsBT
  • Кнопка Отправить в окне отправки маршрута - RouteSendButton
  • Нода реестра в навигаторе реестров - RegistryTreeElement
  • Кнопка Запустить в окне отправки маршрута реестра - RegistryRouteSendButton

8.2.13.4. Атрибут registry_id

Содержит идентификатор реестра в кнопке активации записи реестра и кнопке Запустить в диалоге отправки по маршруту реестра

8.2.13.5. Атрибут registry_code

Содержит код реестра в кнопке активации записи реестра и кнопке Запустить в диалоге отправки по маршруту реестра

8.2.13.6. Атрибут document_id

Содержит идентификатор документа:

  • в кнопке активации записи реестра;
  • в кнопке Запустить в диалоге отправки по маршруту реестра;
  • в кнопке Отправить в окне документа;
  • в кнопке Отправить в окне отправки по маршруту.

8.2.13.7. Другие атрибуты

Атрибут registerid содержит значение идентификатора журнала в диалоге редактирования/регистрации документа.

Атрибут documentid - идентификатор документа в диалоге редактирования/регистрации документа и диалоге проверки листа подписей.

Атрибут data-componentType - тип компонента, в диалоге согласования/утверждения/ознакомления содержит значение signPanel.

Атрибут data-documentid - идентификатор документа в диалоге согласования/утверждения/ознакомления.

Атрибут data-procinstid - идентификатор процесса в диалоге согласования/утверждения/ознакомления.