Проигрыватель
=============

.. js:class:: AS.FORMS

    .. js:data:: bus

        Шина событий. Генерируемые события:

            .. js:function:: formShow(event, playerModel, playerView)

                Callback события отображения формы

                :param Object event:          возникшее событие
                :param Object playerModel:    модель проигрывателя
                :param String playerView:     отображение проигрывателя

            .. js:function:: formDestroy(event, playerModel)

                Callback события уничтожения формы

                :param Object event:          возникшее событие
                :param Object playerModel:    модель проигрывателя

            .. js:function:: valueChange(event, model, value)

                Callback события изменения данных формы/компонента

                :param Object event:    возникшее событие
                :param Object model:    модель компонента в котором изменилось значение
                :param String value:    новое значение компонента

    .. js:function:: createPlayer()

        Создать экземпляр проигрывателя

        :return:  ``Object`` экземпляр проигрывателя

        .. code-block:: js

            var player = AS.FORMS.createPlayer();

.. js:function:: AS.FORMS.createPlayer()

    Экземпляр проигрывателя

    .. js:data:: model

        Модель проигрывателя :js:class:`AS.FORMS.PlayerModel`

    .. js:data:: view

        Представление проигрывателя :js:class:`AS.FORMS.PlayerView`

    .. js:function:: showFormByCode(formCode[,version])

        Отобразить форму по ее коду, без создания соответствующего экземпляра asfData

        :param String formCode: Код формы.
        :param Number version: Версия формы.

    .. js:function:: showFormData(formUUID[, version[, dataUUID[, dataVersion]]])

        Отобразить форму по идентификатору

        :param String formUUID: Идентификатор формы.
        :param Number version: Номер версии формы.
        :param String dataUUID: Идентификатор данных формы.
        :param Number dataVersion: Номер версии данных формы.

    .. js:function:: saveFormData(callback)

        Сохранить данные формы

        :param callback: Функция, которая будет вызвана после сохранения данных с параметром asfDataUUID.

    .. js:function:: dataLoaded(definition[,data])

        Построение формы согласно definition и заполнение asfData значением параметра data.
        Вспомогательный метод, вызывающийся при выполнении методов :js:func:`showFormData` и :js:func:`showFormByCode`.

        :param String definition: Описание формы в формате JSON.
        :param String data: Данные формы в форме JSON.

    .. js:function:: destroy()

        Удалить экземпляр проигрывателя

.. js:class:: AS.FORMS.PlayerView

    Отображение проигрывателя

    .. js:data:: views

        Массив отображений страниц :js:class:`AS.FORMS.TableStaticView`

    .. js:data:: editable

        Включен режим редактирования формы

    .. js:function:: appendTo(element)

        Отобразить проигрыватель в указанном компоненте (например 'div')

        :param HTMLElement element:   Элемент в котором необходимо отобразить проигрыватель

    .. js:function:: destroy()

        Очистить экземпляр отображения

    .. js:function:: getViewWithId(cmpId[, tableId[, blockNumber]])

        Получить отображение компонента по его идентификатору

        :param String cmpId:        идентификатор компонента
        :param String tableId:      идентификатор динамической таблицы
        :param Number blockNumber:  номер строки динамической таблицы
        :returns:                   :js:class:`AS.FORMS.View`

    .. js:function:: setEditable(editable)

        Включить режим редактирования формы

        :param boolean editable: режим редактирования формы

.. js:class:: AS.FORMS.PlayerModel

    Модель проигрывателя

    .. js:data:: bus

        Шина событий. Генерируемые события:

            .. js:function:: dataLoad(event, playerModel, value)

                Callback события загрузки данных формы

                :param Object event:        возникшее событие
                :param Object playerModel:  модель проигрывателя
                :param Object value:        данные формы

            .. js:function:: valueChange(event, model, value)

                Callback события изменения данных формы/компонента

                :param Object event:    возникшее событие
                :param Object model:    модель компонента в котором изменилось значение
                :param Object value:    новое значение компонента

    .. js:data:: models

        Массив моделей страниц :js:class:`AS.FORMS.TableModel`

    .. js:data:: formId

        Идентификатор формы

    .. js:data:: formCode

        Код формы

    .. js:data:: formName

        Наименование формы

    .. js:data:: asfDataId

        Идентификатор данных формы

    .. js:data:: nodeId

        Идентификатор данных формы в Хранилище

    .. js:data:: hasChanges

        Имеются изменения в значениях компонентов формы

    .. js:data:: errorDataLoad

        Имеются ошибки при загрузке данных формы

    .. js:data:: formats

        Форматы печати

    .. js:data:: defaultPrintFormat

        Формат печати по-умолчанию

    .. js:data:: hasPrintable

        Имеется печатное представление

    .. js:function:: getModelWithId(cmpId[, tableId[, blockNumber]])

        Получить модель компонента по его идентификатору

        :param String cmpId:        идентификатор компонента
        :param String tableId:      идентификатор динамической таблицы
        :param Number blockNumber:  номер строки динамической таблицы
        :returns:                   :js:class:`AS.FORMS.Model`
