События конструктора
===========


Общие события для компонентов
--------

Событие скрытия компонента
~~~~~~~~~~~~~~~~~

.. code-block:: js

     * Событие скрытия компонента, может быть использовано для любого компонента.
     * Пример генерации события:
     * let event = {
     *     type: 'set_hidden',
     *     hidden: false
     * };
     * fire(event, 'код компонента, который хотим скрыть')
     */
    SET_HIDDEN = 'set_hidden',

Событие блокировки компонента
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие блокировки компонента, может быть использовано для "Поле для ввода" (input) и "Кнопка" (button)
     * Пример генерации события:
     * let event = {
     *     type: 'set_disabled',
     *     disabled: false
     * }
     * fire(event, 'код компонента, который хотим скрыть')
     */
    SET_DISABLED = 'set_disabled',    

Событие для изменения store Пользовательского компонента
~~~~~~~~~~~~~~~~~  

.. code-block:: js

     * Событие для изменения store Пользовательского компонента
     * Пример генерации события:
     * let event = {
     *     type: 'change_custom_comp_store',
     *     store: {}
     * };
     * fire(event, 'код экземпляра пользовательского компонента, у которого нужно изменить store')
     */
    CHANGE_CUSTOM_COMP_STORE = 'change_custom_comp_store',

Событие рендера кастомного компонента
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие рендера кастомного компонента
     * Пример подписки на событие:
     * addListener('render_custom_comp', 'my_form_code', (e) => { // ...Your Code })
     */
    RENDER_CUSTOM_COMP = 'render_custom_comp',

Событие для отображения сообщения
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для отображения сообщения. Принимает 2 параметра:
     * @messageType 'error' | 'success' | 'info'
     * @text: текст сообщения
     * Пример генерации события:
     * let event = {
     *     type: 'show_message',
     *     text: 'Текст сообщения',
     *     messageType: 'info'
     * }
     * fire(event, 'код компонента')
     */
    SHOW_MESSAGE = 'show_message',

Событие для обновлении данных 
~~~~~~~~~~~~~~~~~ 

Создан для компонентов, работающих со внешними ресурсами

.. code-block:: js

     * Событие для обновлении данных. Создан для тех компонент которые работают с внешними ресурсами
     * Итератор, Преставление реестра, Список работ, Список файлов
     * Пример генерации события:
     *
     * let event = {
     *     type: 'reload_data',
     * }
     * fire(event, 'my_reloadable_component');
     */
    RELOAD_DATA = 'reload_data',   

События для компонента "Список работ"
---------

Событие для изменения отображаемого фильтра (централизованного)
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения отображаемого фильтра (пользовательского) в компоненте "Список работ"
     * Пример генерации события:
     * let event = {
     *     type: 'worklist_filter_code_change',
     *     userFilterCode: ''
     * };
     * fire(event, 'код компонента "Список работ", в котором нужно сменить фильтр')
     */
    WORKLIST_FILTER_CODE_CHANGE = 'worklist_filter_code_change',
    
Изменение периода отображаемых работ 
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Изменение периода отображаемых работ в компоненте "Список работ".
     * Периоды:
     *  'inProgress'
     *  'lastQuarter'
     *  'lastMonth'
     *  'lastWeek'
     *  'today'
     *  'nextWeek'
     *  'nextMonth'
     *  'nextQuarter'
     *  'anyPeriod'
     * Пример генерации события:
     * let event = {
     *     type: 'worklist_period_change',
     *     period: 'anyPeriod'
     * };
     * fire(event, 'код компонента "Список работ"')
     */
    WORKLIST_PERIOD_CHANGE = 'worklist_period_change',

Событие изменения сортировки списка работ
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие изменения сортировки списка работ.
     * В качестве параметра принимает поле сортировки orderBy, которое может принимать значения:
     *      author
     *      left
     *      percent
     *      responsible
     *      start_date
     *      finish_date
     * Пример генерации события:
     * let event = {
     *     type: 'worklist_table_sort',
     *     order: 'author',
     *     orderBy: 'author'
     * }
     * fire(event, 'код компонента "Список работ"')
     */
    WORKLIST_TABLE_SORT = 'worklist_table_sort',


Событие отображения удаленных работ
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие отображения удаленных работ в списке работ
     * Пример генерации события:
     * let event = {
     *     type: 'worklist_ext_show_deleted_change',
     *     showDeleted: 'showDeleted',
     * }
     * fire(event, 'код компонента "Список работ"')
     */
    WORKLIST_SHOW_DELETED_CHANGE = 'worklist_ext_show_deleted_change',
    
Событие отображения завершенных работ
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие отображения завершенных работ в списке работ
     * Пример генерации события:
     * let event = {
     *     type: 'worklist_ext_show_completed_change',
     *     showCompleted: 'showCompleted',
     * }
     * fire(event, 'код компонента "Список работ"')
     */
    WORKLIST_SHOW_COMPLETED_CHANGE = 'worklist_ext_show_completed_change',
    
Событие клика на конкретную работу    
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие клика на конкретную работу в списке работ
     * Пример подписки на событие:
     * addListener('worklist_item_click', 'my_work_list_comp', (e) => { console.log(e) })
     */
    WORKLIST_ITEM_CLICK = 'worklist_item_click',

Событие двойного клика по работе
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие клика на конкретную работу в списке работ
     * Пример подписки на событие:
      addListener('worklist_item_dbl_click', 'workList-1', (e) => {
     console.log('dblclick', e)
     })
      
Событие изменения количества отображаемых работ
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие изменения количества отображаемых работ на странице списка работ
     * Пример генерации события:
     * let event = {
     *     type: 'worklist_row_count_on_page',
     *     rowsPerPage: 10,
     * }
     * fire(event, 'код компонента "Список работ"')
     */
    WORKLIST_ROW_COUNT_ON_PAGE_CHANGE = 'worklist_row_count_on_page',

Событие обновления списка работ
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие обновления списка работ
     * Пример генерации события:
     * let event = {
     *     type: 'worklist_refresh',
     *     shouldLoadData: true,
     * }
     * fire(event, 'код компонента "Список работ"')
     */
    WORKLIST_REFRESH = 'worklist_refresh',

    // TODO пока еще нет такого кейса
    WORKLIST_COLOR_FILLING  = 'worklist_color_filling',

    
События для компонента "Представление реестра"
--------

Событие для изменения отображаемого реестра по коду
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения отображаемого реестра по коду
     * Пример генерации события:
     * let event = {
     *     type: 'registry_code_change',
     *     code: 'example',
     * }
     * fire(event, 'код компонента "Представление реестра"')
     */
    REGISTRY_CODE_CHANGE = 'registry_code_change',

Событие клика на конкретную запись
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие клика на конкретную запись в представлении реестра
     * Пример подписки на событие:
     * addListener('registry_item_click', 'my_form_code', (e) => {
     *      // e - объект события, в котором хранится информация о выбранной записи реестра
     *  })
     */
    REGISTRY_ITEM_CLICK = 'registry_item_click',
    
Событие успешной загрузки записей реестра
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие успешной загрузки записей реестра в представлении реестра
     * Пример подписки на событие:
     * addListener('registry_data_loaded', 'my_form_code', (e) => {...your code})
     */
    REGISTRY_DATA_LOADED = 'registry_data_loaded',
    
Событие для перехода на указанную страницу
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для перехода на указанную страницу в представлении реестра
     * Пример генерации события:
     * let event = {
     *     type: 'registry_page_change',
     *     page: 4,
     * }
     * fire(event, 'код компонента "Представление реестра"')
     */
    REGISTRY_PAGE_CHANGE = 'registry_page_change',

Событие для перехода на следущую страницу
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для перехода на следущую страницу в представлении реестра
     * Пример генерации события:
     * let event = {
     *     type: 'registry_page_next',
     * }
     * fire(event, 'код компонента "Представление реестра"')
     */
    REGISTRY_PAGE_NEXT = 'registry_page_next',

Событие для перехода на предыдущую страницу
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для перехода на предыдущую страницу в представлении реестра
     * Пример генерации события:
     * let event = {
     *     type: 'registry_page_back',
     * }
     * fire(event, 'код компонента "Представление реестра"')
     */
    REGISTRY_PAGE_BACK = 'registry_page_back',

Событие для изменения количества отображаемых записей
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения количества отображаемых записей на одной странице в представлении реестра
     * Пример генерации события:
     * let event = {
     *     type: 'registry_row_count_change',
     *     rowCount: 10
     * }
     * fire(event, 'код компонента который хотим изменить')
     */
    REGISTRY_ROW_COUNT_CHANGE = 'registry_row_count_change',

    // TODO пока еще нет такого кейса
    REGISTRY_HEADER_BOLD = 'registry_header_bold',

    // TODO пока еще нет такого кейса
    REGISTRY_PAGINATOR_POSITION  = 'registry_paginator_position',

    // TODO пока еще нет такого кейса
    REGISTRY_HIDE_PAGINATOR  = 'registry_hide_paginator',

    // TODO пока еще нет такого кейса
    REGISTRY_DISABLE_FILTER_INPUT  = 'registry_disable_filter_input',

    // TODO пока еще нет такого кейса
    REGISTRY_COLOR_FILLING  = 'registry_color_filling',

Событие изменения отображаемого кода фильтра реестра
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие изменения отображаемого кода фильтра реестра в представлении реестра
     * Пример генерации события:
     * let event = {
     *     type: 'registry_filter_change',
     *     filterCode: 'only_admin_users_records'
     * }
     * fire(event, 'код компонента который хотим изменить')
     */
    REGISTRY_FILTER_CHANGE = 'registry_filter_change',

Событие, генерируемое при наличии предыдущей страницы
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие, генерируемое при наличии предыдущей страницы в представлении реестра
     * Пример подписки на событие:
     * addListener('has_previous_page', 'my_form_code', (e) => {...your code})
     */
    HAS_PREVIOUS_PAGE = 'has_previous_page',

Событие, генерируемое при отсутствии предыдущей страницы
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие, генерируемое при отсутствии предыдущей страницы в представлении реестра
     * Пример подписки на событие:
     * addListener('no_previous_page', 'my_form_code', (e) => {...your code})
     */
    NO_PREVIOUS_PAGE = 'no_previous_page',

Событие, генерируемое при наличии следующей страницы
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие, генерируемое при наличии следующей страницы в представлении реестра
     * Пример подписки на событие
     * addListener('has_next_page', 'my_form_code', (e) => {...your code})
     */
    HAS_NEXT_PAGE = 'has_next_page',

Событие, генерируемое при отсутствии следующей страницы
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие, генерируемое при отсутствии следующей страницы в представлении реестра
     * Примеры использовани в редакторе
     * addListener('no_next_page', 'my_form_code', (e) => {...your code})
     */
    NO_NEXT_PAGE = 'no_next_page',

События для страницы
--------

Событие загрузки страницы
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие загрузки страницы.
     * Пример подписки на событие:
     * addListener('page_load', 'any_comp_code', (e) => { // ...Your Code })
     */
    PAGE_LOAD = 'page_load',

Событие для перехода на другую страницу приложения
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для перехода на другую страницу приложения с передачей ей параметров
     * Пример генерации события:
     * let event = {
     *     type: 'goto_page',
     *     pageCode: 'second_page',
     *     pageParams: [
     *         {
     *             pageParamName: 'Имя параметра страницы second_page',
     *             value: 'Значение параметра страницы'
     *         },
     *         {
     *             pageParamName: 'Имя параметра страницы second_page',,
     *             value: 'Значение параметра страницы'
     *         },
     *         ...
     *     ]
     * }
     * fire(event, 'any_comp_code')
     */
    GOTO_PAGE = 'goto_page',

Событие для перехода на страницу авторизации
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для перехода на страницу авторизации с передачей ей целевой страницы
     * Пример генерации события:
     * let event = {
     *     type: 'goto_page',
     *     sourcePageCode: 'код целевой страницы, на которую нужно перейти в случае успешной авторизации'
     * }
     * fire(event, 'any_comp_code')
     */
    GOTO_LOGIN_PAGE = 'goto_login_page',

Служебное событие заполнения параметров страницы
~~~~~~~~~~~~~~~~~ 

Не рекомендуется подписываться на это событие.

.. code-block:: js

     * Служебное событие заполнения параметров страницы, не рекомендуется подписываться на него.
     */
    FILL_PARAM_DATA = 'fill_param_data',

События для компонентов "Надпись" и "Кнопка"
-------

Событие для изменения текста, отображаемого в компоненте "Надпись"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения текста, отображаемого в компоненте "Надпись". Параметр text принимает локализированный текст.
     * Пример генерации события:
     * let event = {
     *     type: 'change_label',
     *     text: localizedText("test","test","test","test"),
     * }
     * fire(event, 'код компонента "Надпись"')
     */
    CHANGE_LABEL = 'change_label',

Событие для имитации клика на компонент "Надпись"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для имитации клика на компонент "Надпись".
     * Пример генерации события:
     * let event = {
     *     type: 'label_click'
     * }
     * fire(event, 'код компонента "Надпись"')
     */
    LABEL_CLICK = 'label_click',

Событие для имитации клика на компонент "Кнопка"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для имитации клика на компонент "Кнопка".
     * Пример генерации события:
     * let event = {
     *     type: 'button_click'
     * }
     * fire(event, 'код компонента "Кнопка"')
     */
    BUTTON_CLICK = 'button_click',

Событие для изменения подписи компонента "Кнопка"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения подписи компонента "Кнопка". Параметр text принимает локализированный текст.
     * Пример генерации события:
     * let event = {
     *     type: 'button_change_text',
     *     text: localizedText("test","test","test","test"),
     * }
     * fire(event, 'код компонента "Кнопка"')
     */
    BUTTON_CHANGE_TEXT = 'button_change_text',

Событие для изменения размера компонента "Кнопка"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения размера компонента "Кнопка". Параметр size может принимать значения: (default | uk-button-small | uk-button-large)
     * Пример генерации события:
     * let event = {
     *     type: 'button_change_size',
     *     text: 'uk-button-small',
     * }
     * fire(event, 'код компонента "Кнопка"')
     */
    BUTTON_CHANGE_SIZE = 'button_change_size',

Событие для изменения типа компонента "Кнопка"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения типа компонента "Кнопка".
     * Параметр type может принимать значения: (uk-button-text | uk-button-default | uk-button-primary | uk-button-secondary | uk-button-danger | uk-button-link)
     * Пример генерации события:
     * let event = {
     *     type: 'button_change_size',
     *     text: 'uk-button-text',
     * }
     * fire(event, 'код компонента "Кнопка")
     */
    BUTTON_CHANGE_TYPE = 'button_change_type',

    // TODO пока еще нет такого кейса
    BUTTON_CHANGE_ICON = 'button_change_icon',

    // TODO пока еще нет такого кейса
    BUTTON_CHANGE_ICON_POSITION = 'button_change_icon_position',

    // TODO пока еще нет такого кейса
    BUTTON_CHANGE_URL = 'button_change_url',

События для компонента "Проигрыватель форм"
---------

Событие для отображения указанной записи по ее идентификатору
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для отображения указанной записи по ее идентификатору в проигрывателе форм
     * Пример генерации события:
     * let event = {
     *     type: 'show_form_data',
     *     dataId: '155',
     * }
     * fire(event, 'код компонента "Проигрыватель форм"')
     */
    SHOW_FORM_DATA = 'show_form_data',

Событие для отображения указанной формы по ее коду
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для отображения указанной формы по ее коду в проигрывателе форм
     * Пример генерации события:
     * let event = {
     *     type: 'show_form',
     *     formCode: 'reg_form',
     * }
     * fire(event, 'код компонента "Проигрыватель форм"')
     */
    SHOW_FORM = 'show_form',

Событие для отображения указанного представления текущей формы
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для отображения указанного представления текущей формы в проигрывателе форм
     * Пример генерации события:
     * let event = {
     *     type: 'show_form_view',
     *     viewCode: 'reg_form_view_for_mobile',
     * }
     * fire(event, 'код компонента "Проигрыватель форм"')
     */
    SHOW_FORM_VIEW = 'show_form_view',

Событие для изменения режима отображения формы
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения режима отображения формы в проигрывателе форм: включение доступности редактирования данных
     * Пример генерации события:
     * let event = {
     *     type: 'set_form_editable',
     *     editable: false,
     * }
     * fire(event, 'код компонента "Проигрыватель форм"')
     */
    SET_FORM_EDITABLE = 'set_form_editable',

Событие изменения записи по форме
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие изменения записи по форме в проигрывателе форм
     * Пример подписки на событие:
     * addListener('changed_form_data', 'my_form_code', (e) => { // ...Your Code })
     */
    CHANGED_FORM_DATA = 'changed_form_data',

Событие успешной загрузки данных
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие успешной загрузки данных в проигрывателе форм
     * Пример подписки на событие:
     * addListener('loaded_form_data', 'my_form_code', (e) => { // ...Your Code })
     */
    LOADED_FORM_DATA = 'loaded_form_data',

Событие для сохранения данных по форме
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для сохранения данных по форме, применяется при изменении уже существующей записи. Входные параметры:
     * @success: (dataId: string, documentId: string) => void;
     * @error: (status: number, error: string) => void;
     * Пример генерации события:
     *
     * let event = {
     *     type: 'save_form_data',
     *     success: (dataId, documentId) => { console.log("SUCCESS! ", dataId); },
     *     error: (status, error) => {cosnole.error("FAILED! ", error)}
     * }
     * fire(event, 'код компонента "Проигрыватель форм"');
     */
    SAVE_FORM_DATA = 'save_form_data',

Событие для создания новой записи
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для создания новой записи по форме. Выполняет создание и сохранение новой записи реестра по форме. Входные параметры:
     * @registryCode?: string;
     * @activate?: boolean;
     * @success: (dataId: string, documentId: string) => void;
     * @error: (status: number, error: string) => void;
     * Пример генерации события:
     *
     * let event = {
     *     type: 'create_form_data',
     *     registryCode: 'my_registry',
     *     activate: true,
     *     success: (dataId, documentId) => { console.log("SUCCESS! ", dataId); },
     *     error: (status, error) => {cosnole.error("FAILED! ", error)}
     * }
     * fire(event, 'код компонента "Проигрыватель форм"');
     */
    CREATE_FORM_DATA = 'create_form_data',

Событие для проверки валидности данных
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для проверки валидности данных формы, отображенной в проигрывателе форм. Входные параметры:
     * @errors: (errors: array) => void;
     * Пример генерации события:
     *
     * let event = {
     *     type: 'validate_form_data',
     *     callback: (errors) => { errors.map(err => console.error(err); },
     * }
     * fire(event, 'код компонента "Проигрыватель форм"');
     */
    VALIDATE_FORM_DATA = 'validate_form_data',

Событие успешного сохранения существующей записи
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие успешного сохранения существующей записи по форме, генерируется в проигрывателе форм.
     * Пример подписки на событие:
     * addListener('saved_form_data', 'my_form_code', (e) => { // ...Your Code })
     */
    SAVED_FORM_DATA = 'saved_form_data',

Событие неуспешного сохранения существующей записи
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие неуспешного сохранения существующей записи по форме, генерируется в проигрывателе форм
     * Пример подписки на событие:
     * addListener('not_saved_form_data', 'my_form_code', (e) => { // ...Your Code })
     */
    NOT_SAVED_FORM_DATA = 'not_saved_form_data',

Событие успешного создания новой записи
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие успешного создания новой записи по форме, генерируется в проигрывателе форм.
     * Пример подписки на событие:
     * addListener('created_form_data', 'my_form_code', (e) => { // ...Your Code })
     */
    CREATED_FORM_DATA = 'created_form_data',

Событие неуспешного создания новой записи
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие неуспешного создания новой записи по форме, генерируется в проигрывателе форм.
     * Пример подписки на событие:
     * addListener('not_created_form_data', 'my_form_code', (e) => { // ...Your Code })
     */
    NOT_CREATED_FORM_DATA = 'not_created_form_data',

Событие валидности данных
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие валидности данных в проигрывателе форм. Генерируется в тот момент, когда все поля формы в проигрывателе становятся валидными.
     * Пример подписки на событие:
     * addListener('valid_form_data', 'my_form_code', (e) => { // ...Your Code })
     */
    VALID_FORM_DATA = 'valid_form_data',

Событие невалидности данных
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие невалидности данных в проигрывателе форм. Генерируется в тот момент, когда хотя бы одно поле формы в проигрывателе становится невалидным.
     * Пример подписки на событие:
     * addListener('not_valid_form_data', 'my_form_code', (e) => { // ...Your Code })
     */
    NOT_VALID_FORM_DATA = 'not_valid_form_data',

События для компонента "Поле ввода"
---------

Событие установки фокуса на компонент "Поле ввода"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие установки фокуса на компонент "Поле ввода"
     * Пример подписки на событие:
     * addListener('focused_input', 'my_input_code', (e) => { // ...Your Code })
     */
    FOCUSED_INPUT = 'focused_input',

Событие заполнения поля ввода
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие заполнения поля ввода. Вызывается в тот момент, когда при изменении данных компонента "Поле ввода" в него вводятся символы.
     * Пример подписки на событие:
     * addListener('filled_input', 'my_input_code', (e) => { // ...Your Code })
     */
    FILLED_INPUT = 'filled_input',

Событие очистки поля ввода
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие очистки поля ввода. Вызывается в тот момент, когда при изменении данных компонента "Поле ввода" в нем не осталось символов.
     * Пример подписки на событие:
     * addListener('filled_input', 'my_input_code', (e) => { // ...Your Code })
     */
    NOT_FILLED_INPUT = 'not_filled_input',

Событие изменения содержимого
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие изменения содержинмого в компоненте "Поле ввода".
     * Пример подписки на событие:
     * addListener('value_changed_input', 'my_input_code', (e) => { // ...Your Code })
     */
    VALUE_CHANGED_INPUT = 'value_changed_input',

Событие валидности данных
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие валидности данных в компоненте "Поле ввода"
     * Пример подписки на событие:
     * addListener('valid_input', 'my_input_code', (e) => { // ...Your Code })
     */
    VALID_INPUT = 'valid_input',

Событие невалидности данных
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие невалидности данных в компоненте "Поле ввода"
     * Пример подписки на событие:
     * addListener('valid_input', 'my_input_code', (e) => { // ...Your Code })
     */
    NOT_VALID_INPUT = 'not_valid_input',

Событие нажатия на клавишу ENTER при фокусировке на поле ввода
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие нажатия на клавишу ENTER при фокусировке на поле ввода.
     * Пример подписки на событие:
     * addListener('text_input_key_down_enter', 'my_input_code', (e) => { // ...Your Code })
     */
    TEXT_INPUT_KEY_DOWN_ENTER = 'text_input_key_down_enter',

Событие для изменения заголовка компонента
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения заголовка компонента "Поле ввода"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'input_label_change',
     *     label: localizedText('defaultText', 'Rus', 'Kaz', 'Eng'),
     * }
     * fire(event, 'my_input_code');
     */
    INPUT_LABEL_CHANGE = 'input_label_change',

    // TODO пока еще нет такого кейса
    INPUT_ICON_CHANGE = 'input_icon_change',

Событие для изменения плейсхолдера
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения плейсхолдера в компоненте "Поле ввода"
     * Пример генерации события.
     *
     * let event = {
     *     type: 'input_placeholder_change',
     *     placeholder: localizedText('defaultText', 'Rus', 'Kaz', 'Eng'),
     * }
     * fire(event, 'my_input_code');
     */
    INPUT_PLACEHOLDER_CHANGE = 'input_placeholder_change',

Событие для изменения содержимого по умолчанию
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения содержимого по умолчанию в компоненте "Поле ввода"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'input_default_change',
     *     defaultValue: 'Любой текст',
     * }
     * fire(event, 'my_input_code');
     */
    INPUT_DEFAULT_CHANGE = 'input_default_change',

Событие для скрытия/отображения введенных символов в компоненте "Поле ввода"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для скрытия/отображения введенных символов в компоненте "Поле ввода"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'input_password_change',
     *     password: false,
     * }
     * fire(event, 'my_input_code');
     */
    INPUT_PASSWORD_CHANGE = 'input_password_change',

Событие для включения/отключения обязательности в компоненте "Поле ввода"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для включения/отключения обязательности в компоненте "Поле ввода"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'input_required_change',
     *     required: true,
     * }
     * fire(event, 'my_input_code');
     */
    INPUT_REQUIRED_CHANGE = 'input_required_change',

Событие для включения/отключения подсветки компонента "Поле ввода"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для включения/отключения подсветки компонента "Поле ввода"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'input_highlight',
     *     error: true,
     * }
     * fire(event, 'my_input_code');
     */
    INPUT_HIGHLIGHT = 'input_highlight',

События для компонента "Список файлов"
-------

Событие для изменения отображаемой папки
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения отображаемой папки в компоненте "Список файлов"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'file_list_change_uuid',
     *     error: true,
     * }
     * fire(event, 'код компонента "Список файлов"');
     */
    FILE_LIST_CHANGE_UUID = 'file_list_change_uuid',

Событие для включения/отключения отображения иконок
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для включения/отключения отображения иконок в компоненте "Список файлов"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'file_list_change_show_icon',
     *     showIcon: false,
     * }
     * fire(event, 'код компонента "Список файлов"');
     */
    FILE_LIST_CHANGE_SHOW_ICON = 'file_list_change_show_icon',

Событие для включения/отключения отображения названий файлов
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для включения/отключения отображения названий файлов в компоненте "Список файлов"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'file_list_change_show_name',
     *     showName: false,
     * }
     * fire(event, 'код компонента "Список файлов"');
     */
    FILE_LIST_CHANGE_SHOW_NAME = 'file_list_change_show_name',

Событие для включения/отключения отображения авторов файлов
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для включения/отключения отображения авторов файлов в компоненте "Список файлов"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'file_list_change_show_size',
     *     showSize: false,
     * }
     * fire(event, 'код компонента "Список файлов"');
     */
    FILE_LIST_CHANGE_SHOW_SIZE = 'file_list_change_show_size',

Событие для включения/отключения отображения авторов файлов в компоненте "Список файлов"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для включения/отключения отображения авторов файлов в компоненте "Список файлов"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'file_list_change_show_size',
     *     showUploader: false,
     * }
     * fire(event, 'код компонента "Список файлов"');
     */
    FILE_LIST_CHANGE_SHOW_UPLOADER = 'file_list_change_show_uploader',

Событие для включения/отключения отображения даты изменения файлов в компоненте "Список файлов"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для включения/отключения отображения даты изменения файлов в компоненте "Список файлов"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'file_list_change_show_date',
     *     showDate: false,
     * }
     * fire(event, 'код компонента "Список файлов"');
     */
    FILE_LIST_CHANGE_SHOW_DATE = 'file_list_change_show_date',

Событие для изменения видимости компонента "Список файлов"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения видимости компонента "Список файлов"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'file_list_change_hidden',
     *     hidden: false,
     * }
     * fire(event, 'код компонента "Список файлов"');
     */
    FILE_LIST_CHANGE_HIDDEN = 'file_list_change_hidden',

Событие для изменения сортировки файлов в компоненте "Список файлов"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения сортировки файлов в компоненте "Список файлов". Принимает параметры:
     * @sortBy 'name'|'uploaded'|'dateChanged'|'format'
     * @sortType 1 = По возрастанию, 0 = По убыванию
     * Пример генерации события:
     *
     * let event = {
     *     type: 'file_list_change_sort',
     *     sortBy: 'name',
     *     sortType: 1
     * }
     * fire(event, 'код компонента "Список файлов"');
     */
    FILE_LIST_CHANGE_SORT = 'file_list_change_sort',

Событие клика на конкретный файл в компоненте "Список файлов"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие клика на конкретный файл в компоненте "Список файлов"
     * Пример подписки на событие:
     * addListener('file_list_select_item', 'my_file_list_code', (e) => { console.log("Selected file ", e.UUID) })
     */
    FILE_LIST_SELECT_ITEM = 'file_list_select_item',

    // TODO пока еще нет такого кейса
    FILE_LIST_COLOR_FILLING  = 'file_list_color_filling',

События при авторизации пользователя
--------

Событие успешной авторизации пользователя в приложении
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие успешной авторизации пользователя в приложении
     * Пример подписки на событие:
     * addListener('auth_success', 'any_comp_code', (e) => { console.log("Auth Success") })
     */
    AUTH_SUCCESS = 'auth_success',

Событие неуспешной авторизации пользователя в приложении
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие неуспешной авторизации пользователя в приложении
     * Пример подписки на событие:
     * addListener('auth_failure', 'any_comp_code', (e) => { console.log("Auth Fail!", e) })
     */
    AUTH_FAILURE = 'auth_failure',

События для компонента "Изображение"
-------

Событие для изменения ссылки на изображение
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения ссылки на изображение, отображаемое в компоненте "Изображение"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'image_change_url',
     *     url: 'http://example.com/example.jpg'
     * }
     * fire(event, 'my_image_comp_code');
     */
    IMAGE_CHANGE_URL = 'image_change_url',

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

.. code-block:: js

     * Событие для изменения идентификатора записи по форме, в которой расположено изображение, отображаемое в компоненте "Изображение"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'image_change_form_uuid',
     *     uuid: '100'
     * }
     * fire(event, 'my_img_code');
     */
    IMAGE_CHANGE_FORM_UUID = 'image_change_form_uuid',

Событие для изменения кода компонента формы
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения кода компонента формы, в котором расположено изображение, отображаемое в компоненте "Изображение"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'image_change_form_data_id',
     *     identifier: 'cmp-code'
     * }
     * fire(event, 'my_img_code');
     */
    IMAGE_CHANGE_FORM_DATA_ID = 'image_change_form_data_id',

Событие для изменения идентификатора файла изображения
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения идентификатора файла изображения, отображаемого в компоненте "Изображение"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'image_change_store_id',
     *     identifier: 'xxx-xxxxx-xxxx-xxx-xxxxx'
     * }
     * fire(event, 'my_img_code');
     */
    IMAGE_CHANGE_STORE_ID = 'image_change_store_id',

Событие клика по компоненту "Изображение"
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие клика по компоненту "Изображение"
     * Пример подписки на событие:
     * addListener('image_event_on_click', 'img_comp_code', (e) => { console.log("Auth Fail!", e) })
     */
    IMAGE_EVENT_CLICK = 'image_event_on_click',

События для модальной панели и итератора
--------

Событие клика вне модальной панели
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие клика вне модальной панели.
     * Примеры использовани в редакторе
     * addListener('out_click', 'modal_panel_code', (e) => { console.log("Auth Fail!", e) })
     */
    OUT_CLICK = 'out_click',


Событие для изменения кода реестра
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения кода реестра, являющегося источником данных для компонента "Итератор"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'change_repeater_registry_code',
     *     registryCode: 'my_reg_code'
     * }
     * fire(event, 'my_repeater_code');
     */
    CHANGE_REPEATER_REGISTRY_CODE = 'change_repeater_registry_code',

Событие для изменения кода фильтра реестра
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения кода фильтра реестра, являющегося источником данных для компонента "Итератор"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'change_repeater_filter_code',
     *     filterCode: 'my_filter_code'
     * }
     * fire(event, 'my_repeater_code');
     */
    CHANGE_REPEATER_FILTER_CODE = 'change_repeater_filter_code',

Событие для изменения кода компонента - динамической таблицы
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения кода компонента - динамической таблицы, являющейся источником данных для компонента "Итератор"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'change_repeater_table_id',
     *     tableId: 'my_dyntable_code'
     * }
     * fire(event, 'my_repeater_code');
     */
    CHANGE_REPEATER_TABLE_ID = 'change_repeater_table_id',

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

.. code-block:: js

     * Событие для изменения идентификатора записи по форме, динамическая таблица в которой является источником данных для компонента "Итератор"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'change_repeater_data_id',
     *     dataId: '5'
     * }
     * fire(event, 'my_repeater_code');
     */
    CHANGE_REPEATER_DATA_ID = 'change_repeater_data_id',

Событие для изменения внешней ссылки на источник данных
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения внешней ссылки на источник данных для компонента "Итератор"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'change_repeater_url',
     *     url: 'http://example.com/arrays.json'
     * }
     * fire(event, 'my_repeater_code');
     */
    CHANGE_REPEATER_URL = 'change_repeater_url',

Событие для изменения параметров поиска элементов
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

     * Событие для изменения параметров поиска элементов, отображаемых в компоненте "Итератор"
     * Пример генерации события:
     *
     * let event = {
     *     type: 'change_repeater_search_params',
     *     params: '?onlyImages=true&bigText=false'
     * }
     * fire(event, 'my_repeater_code');
     */
    CHANGE_REPEATER_SEARCH_PARAMS = 'change_repeater_search_params',
