«Объекты Synergy» ================ Тип данных «Пользователи» ------------------------- *Описание компонента выглядит следующим образом* .. code-block:: js { "id": "userlink-cmp", "type": "entity", "style": {}, "config": { "entity": "users", // тип данных "read-only": false, // заблокировать от изменений пользователем "depends": "positionlink-cmp", // связь с компонентом "fill-with-current": true, // заполнять создающим пользователем "custom": true, // разрешать ввод произвольного текста "multi": true, // позволять мультивыбор "groups": true, // отображать группы "show-without-position": true, // отображать не назначенных на должность "editable-label": true, // разрешать редактировать label выбранного элемента "customNameFormats": { // изменить формат отображения ФИО в зависимости от языка системы "ru": "${l} ${f.short}.${p.short.dot}", // русский язык "kz": "${l} ${f.short}.${p.short.dot}", // казахский язык "en": "${l} ${f.short}.${p.short.dot}" // английский язык }, "script": "" } "required": true } *Модель данных компонента* .. code-block:: js { "id": "userlink-cmp", "type": "entity", "value": "syndevel s., DEVDEP, ARTA, Someone", // значение компонента "key": "cbc93e4a-b3b6-4b5d-8b93-7692b32e3ceb;63e8d268-a135-4fa9-91d2-ed5d0024c93b;g-131;text-0", // список id выбранных пользователей, разделенных «;» "formatVersion": "V1", "manualTags": {"63e8d268-a135-4fa9-91d2-ed5d0024c93b": "DEVDEP"} // пользователи, для которых были изменены названия вручную } .. note:: Идентификаторы могут иметь приставки: * без приставки - пользователь * g - группа (g-идентификатор_группы) * text - произвольный текст (text-номер_просто_число) -------------------------------------------------------------------------------- .. js:class:: AS.FORMS.UserLinkModel Модель компонента, наследует :js:class:`AS.FORMS.Model` .. js:function:: getSelectedIds() Получить идентификаторы выбранных пользователей :returns: ``[String]`` .. js:function:: getValue() Получить значение :returns: ``[object]``: массив объектов .. code-block:: js { personID: "идентификатор пользователя", // обязательное поле personName: "название пользователя", // обязательное поле positionName: "название должности пользователя (если существует)", customFields: { calendarColor: "цвет статуса", calendarStatusLabel: "текст статуса" } } .. js:function:: setValue(value) :param object value: объект, или массив объектов со следующей структурой .. code-block:: js { personID: "идентификатор пользователя", // обязательное поле personName: "название пользователя", // обязательное поле positionName: "название должности пользователя (если существует)", customFields: { calendarColor: "цвет статуса", calendarStatusLabel: "текст статуса" } } -------------------------------------------------------------------------------- .. js:class:: AS.FORMS.UserLinkView Отображение компонента, наследует :js:class:`AS.FORMS.View` .. js:function:: showUserChooser() отображает диалог выбора пользователя Тип данных «Должности» ---------------------- *Описание компонента выглядит следующим образом* .. code-block:: js { "id": "positionlink-cmp", "type": "entity", "style": {}, "config": { "entity": "positions", // тип данных "read-only": false, // заблокировать от изменений пользователем "script": "", // код скрипта "depends": "departmentlink-cmp", // связь с компонентом "locale": "kz", // язык "fill-with-current": true, // заполнять первой должностью создающего пользователя "custom": true, // разрешать ввод произвольного текста "editable-label": true, // разрешать редактировать label выбранного элемента "only-vacant": true // отображать только вакантные должности }, "required": true } *Модель данных компонента* .. code-block:: js { "id": "positionlink-cmp", "type": "entity", "value": "SDE III", // значение компонента "key": "ababf6ba-2c64-4f02-8490-898e8d8bd096", // id выбранной должности "formatVersion": "V1", "manualTags": {"ababf6ba-2c64-4f02-8490-898e8d8bd096": "SDE III"} // должности, для которых были изменены названия вручную } -------------------------------------------------------------------------------- .. js:class:: AS.FORMS.PositionLinkModel Модель компонента, наследует :js:class:`AS.FORMS.Model` .. js:function:: getSelectedIds() Получить идентификаторы выбранных должностей :returns: ``[String]`` .. js:function:: getValue() Получить значение :returns: ``[object]`` .. code-block:: js { elementID: "идентификатор должности", //обязательный элемент elementName: "название должности", //обязательный элемент departmentName: "название подразделения, которому принадлежит должность", status: "текст статуса", statusColor: "цвет статуса" } .. js:function:: setValue(value) :param object value: .. code-block:: js { elementID: "идентификатор должности", //обязательный элемент elementName: "название должности", //обязательный элемент departmentName: "название подразделения, которому принадлежит должность", status: "текст статуса", statusColor: "цвет статуса" } -------------------------------------------------------------------------------- .. js:class:: AS.FORMS.PositionLinkView Отображение компонента, наследует :js:class:`AS.FORMS.View` Тип данных «Подразделения» -------------------------- *Описание компонента выглядит следующим образом* .. code-block:: js { "id": "departmentlink-cmp", "type": "entity", "style": {}, "config": { "entity": "departments", // тип данных "read-only": false, // заблокировать от изменений пользователем "script": "", // код скрипта "depends": "departmentlink2-cmp", // связь с компонентом "locale": "kz", // язык "fill-with-current": true, // заполнять департаментом создающего пользователя "custom": true, // разрешать ввод произвольного текста "editable-label": true, // разрешать редактировать label выбранного элемента "multi": true // позволять мультивыбор }, "required": true } *Модель данных компонента * .. code-block:: js { "id": "departmentlink-cmp", "type": "entity", "value": "ARTA;; Отдел Разработки", // значение компонента, в качестве разделителя наименований value используется «;; » (с пробелом после точек с запятой) "key": "1;cf4b8595-44e3-43b1-bd55-f30b0a1b03cb", // список id выбранных подразделений, разделенных «;» "formatVersion": "V1", "manualTags": {"cf4b8595-44e3-43b1-bd55-f30b0a1b03cb": "Отдел Разработки"} // подразделения, для которых были изменены названия вручную } -------------------------------------------------------------------------------- .. js:class:: AS.FORMS.DepartmentLinkModel Модель компонента, наследует :js:class:`AS.FORMS.Model` .. js:function:: getSelectedIds() Получить идентификаторы выбранных подразделений :returns: ``[String]`` .. js:function:: getValue() Получить значение :returns: ``[object]`` .. code-block:: js { departmentId: "идентификатор подразделения", // обязательное поле departmentName: "название подразделения", // обязательное поле parentName: "название подразделения, которому принадлежит должность", hasChildren: "имеются ли дочерние подразделения", status: "текст статуса", statusColor: "цвет статуса" } .. js:function:: setValue(value) :param object value: .. code-block:: js { departmentId: "идентификатор подразделения", // обязательное поле departmentName: "название подразделения", // обязательное поле parentName: "название подразделения, которому принадлежит должность", hasChildren: "имеются ли дочерние подразделения", status: "текст статуса", statusColor: "цвет статуса" } -------------------------------------------------------------------------------- .. js:class:: AS.FORMS.DepartmentLinkView Отображение компонента, наследует :js:class:`AS.FORMS.View`