Commit 72f26c57 authored by Valentin Skripnikov's avatar Valentin Skripnikov

-

parent d9c2978b
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
"Процессы" конфигуратора выбрать пункт "Пользовательские компоненты". "Процессы" конфигуратора выбрать пункт "Пользовательские компоненты".
.. figure:: _static/img/extcmp/extcmp-1.png .. figure:: _static/img/extcmp/extcmp-1.png
:scale: 50%
Пользовательские компоненты Пользовательские компоненты
...@@ -129,7 +130,6 @@ ...@@ -129,7 +130,6 @@
.. figure:: _static/img/extcmp/extcmp-2.png .. figure:: _static/img/extcmp/extcmp-2.png
:scale: 50% :scale: 50%
:alt: Внешние модули-компоненты
Внешние модули-компоненты Внешние модули-компоненты
...@@ -161,187 +161,3 @@ ...@@ -161,187 +161,3 @@
размещения; размещения;
* ``REPLACE`` - удаляются потомки тега места размещения и в него * ``REPLACE`` - удаляются потомки тега места размещения и в него
помещается пользовательский тег (замена всех потомков тега места размещения). помещается пользовательский тег (замена всех потомков тега места размещения).
События для ВМК
---------------
Для работы ВМК в Synergy реализована отправка событий в JS EventBus.
**Пример использования события из нового проигрывателя форм в JS:**
```javascript
AS.FORMS.bus.on(AS.FORMS.EVENT_TYPE.formShow, function (event, model, view) {
var calendarModel = model.getModelWithId('cmp-1'); //Передается идентификатор компонента
calendarModel.on(AS.FORMS.EVENT_TYPE.valueChange, function () {
var value = calendarModel.getValue();
console.log(value);
});
});
```
Ниже описаны параметры для каждого события.
##### WORK_USERS_CHANGED {#integration.methods.user-component.events.WORK_USERS_CHANGED}
WORK_USERS_CHANGED - изменены исполнители работы в диалоге создания работы.
* в качестве аргумента передается список выбранных пользователей в виде массива JSON с полями: *userId, lastname, firstname, patronymic*
* *добавлено в версии 3.0*
##### WORK_DIALOG_UPDATE {#integration.methods.user-component.events.WORK_DIALOG_UPDATE}
WORK_DIALOG_UPDATE - обновлен диалог создания работы.
* в качестве аргумента передается список выбранных пользователей в виде массива JSON с полями: *userId, lastname, firstname, patronymic*
* *добавлено в версии 3.0*
##### SETTINGS_LOADED {#integration.methods.user-component.events.SETTINGS_LOADED}
SETTINGS_LOADED - загружены настройки приложения.
* в качестве аргумента передается *null*
* *добавлено в версии 3.3*
##### DEPARTMENT_ENTITY_CHANGED {#integration.methods.user-component.events.DEPARTMENT_ENTITY_CHANGED}
DEPARTMENT_ENTITY_CHANGED - подразделение обновлено в компоненте формы.
* в качестве аргумента передается JSON с полями *id* и *values*
* values - массив JSON с полями: *value* - отображаемое имя, *key* - идентификатор пользователя
* *добавлено в версии 3.6*
##### FORM_LOADED {#integration.methods.user-component.events.FORM_LOADED}
FORM_LOADED - компоненты формы прорисованы
* в качестве аргумента передаётся пустой JSON объект с полем dataID.
* *добавлено в версии 3.6*
**Пример использования события в JS:**
```javascript
$EVENT_BUS.subscribe(new EventHandler('FORM_LOADED', handlerUsersSelected));
function handlerUsersSelected(event, args) {
console.log("event FORM_LOADED");
var component = jQuery('img#image_for_portlet');
if (component === null || component.length === 0) {
console.log("no success");
return;
}
console.log("success!!");
console.log(component.parentNode);
console.log(component);
var mySpan = document.createElement("div");
mySpan.innerHTML = "<div id='portlet_div' ><iframe frameborder = \"0\" height = \"100%\" id = \"portlet1\" src = \"http://192.168.2.119:8080/widget/web/guest/home/-/meetups\" width = \"100%\" > </iframe ></div > ";
component.replaceWith(mySpan.innerHTML);
}
var checkAgain = function() {
setTimeout(handlerUsersSelected, 5000);
};
```
##### REGISTRY_SELECTED {#integration.methods.user-component.events.REGISTRY_SELECTED}
REGISTRY_SELECTED - нажата кнопка "Создать", когда в навигаторе выделен активный
реестр.
* в качестве аргумента передаётся JSON объект вида:
```
registryCode:"reg_code"
registryId:"9034810f-5f18-44b9-948a-8f78a5f1ec9d"
```
* *добавлено в версии 3.14*
Кроме того, атрибуты `registryCode` и `registryId` содержатся в элементе списка реестров,
например:
```xml
<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>
```
##### USER_CHOOSER_CREATED {#integration.methods.user-component.events.USER_CHOOSER_CREATED}
USER_CHOOSER_CREATED - обновлено тэговое поле выбора пользователя в диалоге.
* в качестве аргумента передаются два параметра: событие и объект, содержащий ссылку на компонент выбор пользователя (в поле args).
* *добавлено в версии 3.12 Tengri*
**Пример обработчика события добавления компонента выбора пользователя,
который выводит идентификатор компонента в консоль браузера:**
```javascript
function onUserChooserCreated(evt, chooser){
var id = getUserChooserId(chooser.args);
console.log(id);
}
```
Оперировать компонентом выбора пользователя можно следующими функциями:
- `getUserChooserId(chooserComponent)` - получение идентификатора компонента
выбора пользователя;
- `getUserChooserShowAll(chooserComponent)` - получение настройки "Разрешить
добавлять соисполнителей к работам, не являющихся подчиненными"
- `setUserChooserSelectedIds(chooserComponent, arrayOfUsersIds)` - выбрать
переданных пользователей;
- `getUserChooserSelectedIds(chooserComponent)` - получить идентификаторы
выбранных пользователей.
**Идентификаторы компонентов выбора пользователя:**
1. Диалог создания работы создания работы:
- исполнитель - `editWorkUserChooser`
- ответственные - `editWorkResponsibleUserChooser`
- автор - `editWorkAuthorUserChooser`
2. Отправить-> переслать:
- адресаты - `sendDocumentUserChooser`
3. Отправить -> перепоручить:
- исполнитель - `assignmentSendUserChooser`
- ответственные - `assignmentSendResponsibleUserChooser`
4. Отправить на согласование, утверждение, ознакомление:
- адресаты - `sendWorkUserChooser`
5. Отправить по маршруту:
- ответственный - `editRouteSendDialog`
6. все остальные компоненты будут иметь идентификатор `userChooser`.
В каждый DOM элемент компонента выбора пользователя добавляется атрибут
`userchooser` со значением идентификатора компонента выбора пользователя.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment