Базовые
-------

Базовая модель
"""""""""""""""

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

**Поля базовой модели**

.. js:data:: asfProperty

    Определение компонента из описания формы

.. js:data:: playerModel

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

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

**Методы базовой модели**

.. js:function:: fireChangeEvents()

    Вызов событий изменения значения формы

.. js:function:: isEmpty()

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

.. js:function:: doSetValue(newValue)

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

    :param string newValue: Значение компонента

.. js:function:: getErrors()

    Получение ошибок заполнения поля согласно настройкам ``asfProperty``

    :returns: возвращает массив ошибок. Если массив пустой, значит ошибки отсутствуют,
              иначе - его элементы имеют поля:

              * ``errorCode`` - код ошибки;
              * ``id`` - идентификатор компонента.

              Возможные коды ошибок:

              * ``emptyValue``
              * ``wrongValue``
              * ``deletedValue``
              * ``valueTooHigh``
              * ``valueTooSmall``

              Для одного и того же компонента может быть как несколько ошибок, так может и не быть ни одной.

.. js:function:: getLocale()

    Получение локали, настроенной в компоненте

    :returns: *(string)* Локаль пользователя

.. js:function:: getHTMLValue()

    :returns: *(string)* HTML-представлениe текстового значения поля со стилями

.. js:function:: getValue()

    :returns: *(string)* значение компонента

.. js:function:: getTextValue()

    :returns: *(string)* текстовое значение компонента

.. js:function:: getAsfData([blockNumber])

    :param number blockNumber: Номер строки динамической таблицы (если это компонент статической таблицы, то передавать эту переменную не нужно)
    :returns: *(asfData)* Данные компонента

.. js:function:: setAsfData(asfData)

    Вставить значение `asfData`

    :param asfData asfData: Данные компонента в формате JSON.

Базовое отображение
"""""""""""""""""""

**Поля базового отображения**

.. js:data:: model

    Модель. Наследует AS.FORMS.Model

.. js:data:: container

    Контейнер, в котором будет отрисовываться отображение

.. js:data:: input

    Поле ввода для некоторых компонентов:
        * текстовое поле
        * числовое поле
        * многострочный текст

.. js:data:: playerView

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

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

**Базовые методы отображения**

.. js:function:: unmarkInvalid()

    Убрать пометку неправильно заполненного поля

.. js:function:: markInvalid()

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

.. js:function:: checkValid()

    Проверить корректность текущего значения (если поле заполнено неверно, то вызовется метод markInvalid)

.. js:function:: setEnabled(enabled)

    Сделать доступным или недоступным для редактирования

    :param boolean enabled: true/false

.. js:function:: setVisible(visible)

    Сделать видимым или невидимым

    :param boolean visible: true/false

.. js:function:: updateValueFromModel()

    Обновить отображение согласно значению модели

.. note:: Если скрывается последний компонент в строке, то вся строка принимает минимальную высоту 18 px.
