«Объекты Synergy»
--------

Тип данных «Пользователи»
~~~~~~~~~~~~~~~~~~~~~~~~~

.. js:class:: AS.FORMS.UserLinkView

    Отображение компонента, наследует :js:class:`AS.FORMS.View`

    .. 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": ""
          },
          "fromHistory": true,
          "fullId": "userlink-cmp",
          "required": true
        }

    .. note:: Значение параметра ``key`` состоит из надписи к ссылке и через «; »
              (с пробелом) опции, открывать ли ссылку в новом окне.

--------------------------------------------------------------------------------

.. js:class:: AS.FORMS.UserLinkModel

    Модель компонента, наследует :js:class:`AS.FORMS.Model`

    .. 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:function:: getSelectedIds()

        Получить идентификаторы выбранных пользователей

        :returns: ``[string]``

    .. js:function:: getValue()

        Получить значение

        :returns: ``object`` ::
                  {personID:"идентификатор пользователя", personName:"название пользователя", positionName:"название должности пользователя (если существует)", customFields:{calendarColor:"цвет статуса", calendarStatusLabel:"текст статуса"}}

    .. js:function:: setValue(value)

        :param object value: объект вида ::
                             {personID:"идентификатор пользователя", personName:"название пользователя", positionName:"название должности пользователя (если существует)", customFields:{calendarColor:"цвет статуса", calendarStatusLabel:"текст статуса"}}
