Утилиты
=======

AS.FORMS.ApiUtils
~~~~~~~~~~~~~~~~~

.. js:class:: AS.FORMS.ApiUtils

    Утилиты для работы с REST API Synergy

    .. note:: При использовании данных методов адрес и порт Synergy, а также
              параметры авторизации определяются при подключении проигрывателя форм.
              Методы являются оберткой над `jQuery.ajax() <http://api.jquery.com/jquery.ajax/>`_
              и обладают всеми его свойствами.

    .. js:function:: simpleAsyncGet(urlPart[, callback[, dataType[, data[, errorHandler]]]])

        Выполнить GET запрос по указанному URL REST API.

        :param string urlPart:        Часть URL метода REST API, без ``http://host:port/Synergy/``,
                                      например ``rest/api/registry/create_doc?registryCode=someregistry``
        :param function callback:     Функция, которая будет вызвана в случае успешного выполнения запроса.
                                      В данную функцию передается один параметр - ответ на запрос.
        :param string dataType:       ``default:'json'`` Тип данных ответа на запрос.
                                      Может принимать значения: ``"xml"``, ``"html"``, ``"script"``, ``"json"``, ``"jsonp"``, ``"text"``.
                                      Если не передавать параметр, то будет использоваться дефолтное значение ``"json"``.
        :param object data:           Данные запроса. Могут быть строкой, объектом или массивом.
                                      Конвертируются в строку запроса и добавляются к URL.
        :param function errorHandler: Функция, которая будет вызвана в случае неуспешного выполнения запроса.

    .. js:function:: simpleAsyncPost(urlPart[, callback[, dataType[, data[, contentType[, errorHandler]]]]])

        Выполнить POST запрос по указанному URL REST API.

        :param string urlPart:        Часть URL метода REST API, без ``http://host:port/Synergy/``,
                                      например ``rest/api/asforms/data/save``
        :param function callback:     Функция, которая будет вызвана в случае успешного выполнения запроса.
                                      В данную функцию передается один параметр - ответ на запрос.
        :param string dataType:       ``default:'json'`` Тип данных ответа на запрос.
                                      Может принимать значения: ``"xml"``, ``"html"``, ``"script"``, ``"json"``, ``"jsonp"``, ``"text"``.
        :param object data:           Данные запроса. Должны соответствовать параметру ``contentType``
        :param string contentType:    ``default:'application/x-www-form-urlencoded; charset=UTF-8'`` Тип данных запроса.
        :param function errorHandler: Функция, которая будет вызвана в случае неуспешного выполнения запроса.

AS.FORMS.ASFDataUtils
~~~~~~~~~~~~~~~~~~~~~

.. js:class:: AS.FORMS.ASFDataUtils

    Утилиты для работы с asfData и asfDefinition

    .. js:function:: getBaseAsfData(asfProperty[, blockNumber[, value[, key]]])

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

        :param object asfProperty:  Определение компонента :js:data:`.asfProperty`
        :param number blockNumber:  Номер строки динамической таблицы
        :param string value:        Значение компонента
        :param string key:          Ключ компонента
        :returns:                   ``object``

                                    .. code-block:: js

                                        {
                                          "id": "идентификатор копонента",
                                          "type": "тип компонента",
                                          "value": "значение компонента",
                                          "key": "ключ компонента"
                                        }

    .. js:function:: getComponentLocale(asfProperty)

        Получить локаль компонента. Если локаль в компоненте не задана, то вернется системная локаль.

        :param object asfProperty:  Определение компонента :js:data:`.asfProperty`
        :returns:                   ``string`` Локаль компонента

    .. js:function:: isReadOnly(model)

        Пользователь не может редактировать значение компонента

        :param object model: Модель компонента :js:class:`AS.FORMS.Model`
        :returns:            ``boolean``
