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


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

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

.. 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

 Пример подписки на событие:
      addListener('work_file_list_select_item', 'my_work_file_list_code', (e) => { console.log("Selected file ", e.UUID) })
     /
    WORK_FILE_LIST_SELECT_ITEM = 'work_file_list_select_item',


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

.. code-block:: js

 Пример подписки на событие:
      addListener('work_file_list_dbl_select_item', 'my_work_file_list_code', (e) => { console.log("Selected file ", e.UUID) })
     /
    WORK_FILE_LIST_DBL_SELECT_ITEM = 'work_file_list_dbl_select_item',

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

.. 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: 'work_file_list_change_uuid',
          actionID: 'actionID',
      }
      fire(event, 'код компонента "Список файлов работы"');
    
События для компонента "Представление реестра"
--------

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

.. 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
    
Событие успешной загрузки записей реестра
~~~~~~~~~~~~~~~~~ 

.. 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

      fire({
        type: 'display_view_modal',
        hidden: false,
      }, 'код_модального_окна');



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

.. 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',

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

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

.. code-block:: js

      Пример вызова события:
     
      fire({
          type: 'reload_tree'
      }, 'my_tree_comp')
     /
    RELOAD_TREE = 'reload_tree',
    
Событие клика по элементу дерева
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

      Пример вызова события
     
      fire({
          type: 'tree_item_click',
          item: '311d1bd0-4f45-442c-ac5d-daac30352213' || {
               id,
               children,
               filterData: {
                   filterType,
               },
               hasChildren,
               name,
               ...
           },
           data: getCompByCode('my_tree_comp').data
      }, 'my_tree_comp')
     /
    TREE_ITEM_CLICK = 'tree_item_click',

Событие установки данных дерева (изменяет всю структуру)
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

      Пример вызова события
     
      const treeData = [{
           id: 'myTreeItem',
           name: 'Первый президент',
           hasChildren: true,
           children: [{
               id: 'myTreeItem-child',
               name: 'Дочка первого президента',
               hasChildren: false,
               children: [],
               counters: undefined
           }],
           counters: {
               total: 10,
               new: 2
           } || undefined
      }]
     
      Если counters === undefined, то его можно не передавать в объекте
     
      fire({
          type: 'set_tree_data',
          data: treeData
      }, 'my_tree_comp')
     /
    TREE_SET_DATA = 'tree_set_data',

Событие для установки дочерних элементов элементам дерева (изменяет структуру только указанных элементов - parentId)
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

      Пример вызова события
   
    const childElements = [{
     id: 'childElement',
     name: 'Дочерний элемент',
     hasChildren: false,
     children: []
      }]
     
      fire({
          type: 'tree_set_children',
          parentId: '311d1bd0-4f45-442c-ac5d-daac30352213',
          data: childElements
      }, 'my_tree_comp')
     /
    TREE_SET_CHILDREN = 'tree_set_children'

Событие для установки массива ID открытых эелментов дерева
~~~~~~~~~~~~~~~~~ 

.. code-block:: js

      Пример вызова события
     
      fire({
          type: 'tree_set_expanded',
          expanded: ['1', '2', '33']
      })
     /
    TREE_SET_EXPANDED = 'tree_set_expanded'
