«Выпадающий список»
-------------------

.. js:class:: AS.FORMS.ComboBoxView

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

    .. code-block:: js

        // Выпадающий список с системным справочником в качестве элементов
        {
          "id": "listbox-cmp",
          "type": "listbox",
          "style": {},
          "config": {
            "read-only": false,
            "depends": "listbox-linked",  // связь с компонентом
            "script": ""
          },
          "fromHistory": true,
          "fullId": "listbox-cmp",
          "required": false,
          "data": {                       // значение по-умолчанию
            "id": "listbox-cmp",
            "type": "listbox",
            "value": "2013 год",
            "key": "2013"
          },
          "dataSource": {                 // источник данных компонента (только для справочника)
            "type": "dict",               // тип данных
            "dict": "year",               // код справочника
            "key": "title",               // код поля справочника для наименования элемента
            "value": "value",             // код поля справочника для значения элемента
            "filter": "value",            // код поля справочника для фильтра элемента
            "locale": "ru"                // локаль справочника
          }
        }

    .. code-block:: js

        // Выпадающий список со встроенным справочником
        {
          "id": "listbox-linked",
          "type": "listbox",
          "style": {},
          "config": {
            "read-only": false,
            "script": ""
          },
          "fromHistory": true,
          "fullId": "listbox-linked",
          "required": false,
          "data": {
            "id": "listbox-linked",
            "type": "listbox",
            "value": "Обезьяна",
            "key": "2016"
          },
          "elements": [{              // элементы справочника
            "value": "2016",          // значение элемента
            "label": "Обезьяна",      // наименование элемента
            "filter": ""              // фильтр элемента
          }, {
            "value": "2015",
            "label": "Коза",
            "filter": ""
          }, {
            "value": "2014",
            "label": "Лошадь",
            "filter": ""
          }, {
            "value": "2013",
            "label": "Змея",
            "filter": ""
          }]
        }

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

.. js:class:: AS.FORMS.ComboBoxModel

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

    .. code-block:: js

        {
          "id": "listbox-cmp",
          "type": "listbox",
          "value": "2014 год",  // наименование выбранного элемента
          "key": "2014"         // значение выбранного элемента
        }

    .. js:data:: listElements

        ``[{value : «value1», key : «key1»}, …]`` массив всех элементов компонента
        не зависимо от фильтра

    .. js:data:: listCurrentElements

        ``[{value : «value1», key : «key1»}, …]`` массив элементов компонента согласно
        фильтру, если таковой имеется, либо массив всех элементов

    .. js:function:: getTextValue()

        Получить наименования выбранных элементов

        :returns: ``string`` наименования выбранных элементов, разделенных запятой

    .. js:function:: getTextValues()

        Получить наименования выбранных элементов

        :returns: ``[string]`` наименования выбранных элементов

    .. js:function:: getValue()

        Получить значения выбранных элементов

        :returns: ``[string]`` значения выбранных элементов

    .. js:function:: doSetValue(newValue)

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

        :param Array newValue: массив значений либо значение (автоматически преобразуется в массив из одного элемента)

    .. js:function:: updateModelData()

        Обновить данные текущих элементов компонента согласно фильтрам
