Сервисы
=======

.. js:module:: AS.SERVICES

    Функции проигрывателя форм, которые можно использовать или переопределять при разработке приложений.

    .. hint:: При разработке мобильного приложения, которое использует проигрыватель форм,
              хорошей практикой будет заменить вызов стандартных диалогов на нативные.

    .. js:function:: showDatePicker(value, anchor, input, callback)

        Показать компонент выбора даты

        :param Date value:            дата, которая будет отмечена как выбранная
        :param HTMLElement anchor:    якорный компонент, к которому следует привязать компонент выбора даты
        :param HTMLElement input:     компонент, которому будет передан фокус ввода после выбора даты
        :param Function callback:     функция, которая будет вызвана после выбора даты. В функцию будет
                                      передан один параметр - выбранная дата, тип ``Date``

        :ref:`widgets-examples-datepicker`

    .. js:function:: showDepartmentChooserDialog()

        Показать стандартный диалог выбора подразделения

    .. js:function:: showDropDown(values, anchor, minWidth, callback)

        Показать всплывающее окно с выбором элементов

        :param Object values:         массив элементов списка вида ``[{value : "value1", title : "title1", selected : true}, {value : "value2", title : "title2"}]``
        :param HTMLElement anchor:    якорный компонент, к которому следует привязать всплывающее окно
        :param number minWidth:       минимальная ширина всплывающего окна
        :param Function callback:     функция, которая будет вызвана после выбора элемента. В функцию будет
                                      передан один параметр - значение выбранного элемента, тип ``string``

        :ref:`widgets-examples-dropdown`

    .. js:function:: showPositionChooserDialog()

        Показать стандартный диалог выбора должности

    .. js:function:: showProjectLinkDialog()

        Показать стандартный диалог выбора портфеля/проекта

    .. js:function:: showRegisterLinkDialog()

        Показать стандартный диалог выбора записи реестра

    .. js:function:: showUserChooserDialog()

        Показать стандартный диалог выбора пользователя

    .. js:function:: showWaitWindow()

        Показать окно ожидания

        .. warning:: Если приложение запущено внутри Synergy (например ВМК), то при вызове данного метода будет
                     показано стандартное окно ожидания |окно-ожидания|

                     .. |окно-ожидания| image:: ../_static/img/forms/synergy-wait.gif

                     В противном случае метод необходимо реализовать самостоятельно!

        :ref:`widgets-examples-waitwindow`

    .. js:function:: hideWaitWindow()

        Скрыть окно ожидания

        :ref:`widgets-examples-waitwindow`

    .. js:function:: unAuthorized()

        Функция, которая будет вызвана в случае неуспешной авторизации при вызове
        методов REST API Synergy.

        Приложения могут использовать данный метод для реализации обработки случаев
        некорректного ввода логина или пароля пользователя.

        :ref:`widgets-examples-unauthorized`
