Commit 7abf8b42 authored by Valentin Skripnikov's avatar Valentin Skripnikov

Скриптинг

parent 203966f9
...@@ -42,70 +42,39 @@ ...@@ -42,70 +42,39 @@
**Общедоступные объекты:** **Общедоступные объекты:**
.. js:data:: AS * ``AS`` - общее пространство имен
* ``AS.FORMS`` - формы
Общее пространство имен * ``AS.COMPONENTS`` - компоненты, которые могут быть использованы отдельно от проигрывателя форм
* ``AS.SERVICES`` - сервисы
.. js:data:: AS.FORMS * ``AS.LOGGER`` - логгер
* ``AS.OPTIONS`` - настройки
Формы * ``AS.DICTIONARIES`` - кэш справочников
.. js:data:: AS.COMPONENTS
Компоненты, которые могут быть использованы отдельно от проигрывателя форм
.. js:data:: AS.SERVICES
Сервисы
.. js:data:: AS.LOGGER
Логгер
.. js:data:: AS.OPTIONS
Настройки
.. js:data:: AS.DICTIONARIES
Кэш справочников
* `AS` - общее пространство имен
* `AS.FORMS` - формы
* `AS.COMPONENTS` - компоненты, которые могут быть
использованы отдельно от проигрывателя форм
* `AS.SERVICES` - сервисы
* `AS.LOGGER` - логгер
* `AS.OPTIONS` - настройки
* `AS.DICTIONARIES` - кэш справочников
**Типы событий:** **Типы событий:**
* `formShow : 'formShow'` - отображение формы * ``formShow : 'formShow'`` - отображение формы
(построение новой формы) (построение новой формы)
* `formDestroy : "formDestroy"` - * ``formDestroy : 'formDestroy'`` - метод `destroy`_ модели проигрывателя
[метод `destroy`](#integration.methods.form_scripting.specific) модели проигрывателя
* `dataLoad: 'dataLoad'` - подгрузка данных * ``dataLoad: 'dataLoad'`` - подгрузка данных
* `valueChange: 'valueChange'` - изменение значения * ``valueChange: 'valueChange'`` - изменение значения
модели модели
* `markInvalid : 'markInvalid'` - необходимость * ``markInvalid : 'markInvalid'`` - необходимость отображению подсветить невалидное значение
отображению подсветить невалидное значение
* `tableRowAdd: 'tableRowAdd'` - добавление ряда в таблице * ``tableRowAdd: 'tableRowAdd'`` - добавление ряда в таблице
* `tableRowDelete: 'tableRowDelete'` - удаление ряда в таблице * ``tableRowDelete: 'tableRowDelete'`` - удаление ряда в таблице
* `dictionaryLoad : 'dictionaryLoad'` - подгрузка справочника * ``dictionaryLoad : 'dictionaryLoad'`` - подгрузка справочника
* `tagEdit : 'tagEdit'` - редактирование тега * ``tagEdit : 'tagEdit'`` - редактирование тега
* `tagDelete : 'tagDelete'` - удаление тега * ``tagDelete : 'tagDelete'`` - удаление тега
* `loadComponentAdditionalInfo : 'loadComponentAdditionalInfo'` - * ``loadComponentAdditionalInfo : 'loadComponentAdditionalInfo'`` -
подгрузка дополнительной информации компонента (сейчас подгрузка дополнительной информации компонента (сейчас
используется для пользовательского компонента) используется для пользовательского компонента)
...@@ -115,11 +84,11 @@ ...@@ -115,11 +84,11 @@
так и пользовательскому компоненту) имеются следующие так и пользовательскому компоненту) имеются следующие
переменные: переменные:
* `model` - модель текущего компонента; * ``model`` - модель текущего компонента;
* `view` - отображение текущего компонента; * ``view`` - отображение текущего компонента;
* `editable` - режим (просмотр / редактирование); * ``editable`` - режим (просмотр / редактирование);
* `model.playerModel` - модель проигрывателя; * ``model.playerModel`` - модель проигрывателя;
* `view.playerView` - отображение проигрывателя. * ``view.playerView`` - отображение проигрывателя.
Скрипт (добавленный как к компоненту, так и пользовательскому Скрипт (добавленный как к компоненту, так и пользовательскому
компоненту) выполняется каждый раз при смене режима компоненту) выполняется каждый раз при смене режима
...@@ -149,44 +118,20 @@ ...@@ -149,44 +118,20 @@
.. warning:: Если код скрипта содержит конструкции, не соответствующие стандарту ES5, то они не будут выполняться. Это не является ошибкой Synergy. .. warning:: Если код скрипта содержит конструкции, не соответствующие стандарту ES5, то они не будут выполняться. Это не является ошибкой Synergy.
**Ссылки для быстрого перехода по документу:**
* [Создание экземпляра проигрывателя и его методы](#integration.methods.form_scripting.asforms)
* [Базовые модели и отображения](#integration.methods.form_scripting.base)
* [Модели и отображения, которые не имеют специфичных свойств или переопределения методов](#integration.methods.form_scripting.non_specific)
* [Модели и отображения, которые имеют специфичные свойства или методы](#integration.methods.form_scripting.specific)
* Модели и отображения проигрывателя
* Модели и отображения компонентов
* [«Страница» и «Таблица»](#integration.methods.form_scripting.table)
* [«Числовое поле»](#integration.methods.form_scripting.numeric_field)
* [«Выпадающий список», «Выбор вариантов», «Переключатель вариантов»](#integration.methods.form_scripting.combobox_checkbox_radiobutton)
* [«Дата/время»](#integration.methods.form_scripting.date_time)
* [«Файл»](#integration.methods.form_scripting.file)
* [«Ссылка»](#integration.methods.form_scripting.link)
* [«Пользователь»](#integration.methods.form_scripting.user)
* [«Должность»](#integration.methods.form_scripting.position)
* [«Подразделение»](#integration.methods.form_scripting.department)
* [«Период повторения»](#integration.methods.form_scripting.repeat_period)
* [«Ссылка на проект»](#integration.methods.form_scripting.project_link)
* [«Ссылка на реестр»](#integration.methods.form_scripting.registry_link)
* [«Ссылка на адресную книгу»](#integration.methods.form_scripting.address_book)
* [«Ссылка на файл в хранилище»](#integration.methods.form_scripting.file_storage)
* [Методы поля ввода с тегами](#integration.methods.form_scripting.tag_area)
* [Методы AS.SERVICES](#integration.methods.form_scripting.as_services)
* Утилиты, полезные функции
* [Утилита при вызове методов API Synergy](#integration.methods.form_scripting.api_utils)
* [Утилиты для работы с asfData и asfDefinition](#integration.methods.form_scripting.asfdata_utils)
* [Утилиты для работы с датами](#integration.methods.form_scripting.date_utils)
* [Утилиты для работы с компонентами](#integration.methods.form_scripting.component_utils)
* [Создание нового компонента](#integration.methods.form_scripting.new_user_component)
#### Создание экземпляра проигрывателя и его методы {#integration.methods.form_scripting.asforms} #### Создание экземпляра проигрывателя и его методы {#integration.methods.form_scripting.asforms}
Для того, чтобы создать экземпляр проигрывателя, необходимо вызвать Для того, чтобы создать экземпляр проигрывателя, необходимо вызвать
метод `AS.FORMS.createPlayer()`. метод ``AS.FORMS.createPlayer()``.
Методы проигрывателя
~~~~~~~~~~~~~~~~~~~~
.. js:function:: showFormByCode(formCode[,version])
Отображает форму по ее коду, без создания соответствующего экземпляра asfData
Методы проигрывателя: :param string formCode: Код формы.
:param number version: Версия формы.
.. js:function:: showFormData(formUUID[, version[, dataUUID[, dataVersion]]]) .. js:function:: showFormData(formUUID[, version[, dataUUID[, dataVersion]]])
...@@ -197,67 +142,23 @@ ...@@ -197,67 +142,23 @@
:param string dataUUID: Идентификатор данных формы. :param string dataUUID: Идентификатор данных формы.
:param number dataVersion: Номер версии данных формы. :param number dataVersion: Номер версии данных формы.
.. js:function:: showFormByCode(formCode[,version])
Отображает форму по ее коду, без создания соответствующего экземпляра asfData
:param string formCode: Код формы.
:param number version: Версия формы.
.. js:function:: saveFormData(callback) .. js:function:: saveFormData(callback)
Сохраняет данные формы Сохраняет данные формы
:param callback: Функция, которая будет вызвана после сохранения данных с параметром asfDataUUID. :param callback: Функция, которая будет вызвана после сохранения данных с параметром asfDataUUID.
.. js:function:: dataLoaded(definition[,data])
Построение формы согласно definition и заполнение asfData значением параметра data
Вспомогательный метод, вызывающийся при выполнении методов `showFormData`_ и `showFormByCode`_.
+-----------------------+----------------------+------------------------------+ :param string definition: Описание формы в формате JSON.
| Наименование | Аргумент | Описание | :param string data: Данные формы в форме JSON.
+=======================+======================+==============================+
| showFormData | formUid(*) | Отображение последней версии |
| | | формы по ее идентификатору |
+-----------------------+----------------------+------------------------------+
| showFormData | formUid(*), version | Отображение указанной версии |
| | | формы по ее идентификатору |
+-----------------------+----------------------+------------------------------+
| showFormData | formUid(*), version, | Отображение формы по |
| | dataUid | сведениям, содержащимся в |
| | | последней версии данных по |
| | | форме (параметры formUid и |
| | | version игнорируются) |
+-----------------------+----------------------+------------------------------+
| showFormData | formUid(*), version, | Отображение формы по |
| | dataUid, dataVersion | сведениям, содержащимся в |
| | | указанной версии данных по |
| | | форме (параметры formUid и |
| | | version игнорируются) |
+-----------------------+----------------------+------------------------------+
| showFormByCode | formCode(*), version | Отображение формы по ее коду |
| | | без создания |
| | | соответствующего экземляра |
| | | asfData. |
+-----------------------+----------------------+------------------------------+
| dataLoaded | definition(*), data | Построение формы согласно |
| | | definition и заполнение |
| | | asfData значением параметра |
| | | data |
+-----------------------+----------------------+------------------------------+
| saveFormData | hander(*) | Сохранение данных формы, |
| | | после которого выполняется |
| | | функция handler с параметром |
| | | asfDataUUID |
+-----------------------+----------------------+------------------------------+
| destroy | | Удаления экземпляра |
| | | проигрывателя |
+-----------------------+----------------------+------------------------------+
> Примечания:
> * `(*)` - параметр обязателен. .. js:function:: destroy()
> * `dataLoaded` - вспомогательный метод, вызывающийся при выполнении методов Удаляет экземпляр проигрывателя
`showFormData` и `showFormByCode`.
#### Базовые модели и отображения {#integration.methods.form_scripting.base} #### Базовые модели и отображения {#integration.methods.form_scripting.base}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment