initi.doc/docfiles/custom/editors.js

1593 lines
76 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* ### Документация по эдиторам
* @name 01
* @editors
* @memberof editors
*
browserNodeSelector.js
componentID.js
componentIDS.js
componentType.js
dataStructure.js
dynamicForm.js
eventTypebox.js
filterEditor.js
gridRowSelecter.js
list.js
listSelector.js
panel.js
processorEditor.js
rightsSelector.js
rightsTree.js
selectGroup.js
tileContainer.js
tiles.js
toggleButton.js
tripleStateCheckbox.js
*/
/**
* #### Содержание:
* - ##### Текстовые
* - - ##### [Textbox](#textbox)
* - - ##### [Addressbox](#addressbox)
* - - ##### [Textarea](#textarea)
* - - ##### [Password](#password)
* - - ##### [Localebox](#localebox)
* - - ##### [CodeEditorbox](#code-editorbox)
* - ##### Булевые
* - - ##### [Switchbox](#switchbox)
* - - ##### [Checkbox](#checkbox)
* - ##### Числовые
* - - ##### [Floatbox](#floatbox)
* - - ##### [UUIDbox](#uuidbox)
* - - ##### [Timebox](#timebox)
* - - ##### [TimeDiffbox](#time-diffbox)
* - ##### Популярные
* - - ##### [Form](#form)
* - - ##### [GridEditor](#grid-editor)
* - - ##### [Combobox](#combobox)
* - - ##### [Address](#address)
* - - ##### [Ipbox](#ipbox)
* - - ##### [Oidbox](#oidbox)
* - - ##### [CustomStructureEditor](#custom-structure-editor)
* - ##### Другие
* - - ##### [Colorpicker](#colorpicker)
* - - ##### [IconEditor](#icon-editor)
* - - ##### [PresentationPicker](#presentation-picker)
* - - ##### [Slider](#slider)
* - ##### Не классифицированные
* - - ##### [TreeEditor](#tree-editor)
* - - ##### [DialogEditor](#dialog-editor)
* - - ##### [ProcessorEditor](#processor-editor)
* - ##### Устаревшие
* - - ##### [ComponentSelector](#component-selector) - устаревший (будет переработан)
* - - ##### [ComponentFilterEditor](#сomponent-filter-editor) - устаревший (будет удален)
* - - ##### [AttributeSelecter](#attribute-selecter) - устаревший (будет переработан)
* - - ##### [AttributeSetter](#attribute-setter) - устаревший (будет переработан)
*
* @name 01
* @editors
* @memberof editors
*/
/**
* ### <a name="textbox" class="title">Textbox</a>
* *Поле для ввода текста*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Textbox"
* data: VariableContainer [
* placeholder: String
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------- |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | "100%" | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 30 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | placeholder | false | String | "" | Задает текст, который будет подставлен, без введенного текста |
*
* <br>
*
* **Значение**
* ```
* String
* ```
*
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="addressbox" class="title">Addressbox</a>
* *Поле для ввода адреса*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Addressbox"
* data: VariableContainer [
* placeholder: String
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------- |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | "100%" | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 30 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | placeholder | false | String | "" | Задает текст, который будет подставлен, без введенного текста |
*
* <br>
*
* **Значение**
* ```
* Address
* ```
*
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="password" class="title">Password</a>
* *Поле для ввода пароля*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Password"
* data: VariableContainer []
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------- |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | "100%" | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 30 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*
* <br>
*
* **Значение**
* ```
* String
* ```
*
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="localebox" class="title">Localebox</a>
* *Поле для ввода локализованного текста*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Localebox"
* data: VariableContainer [
* placeholder: String
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------- |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | "100%" | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 30 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | placeholder | false | String | "" | Задает текст, который будет подставлен, без введенного текста |
*
* <br>
*
* **Значение**
* ```
* VariableContainer [ en: "", ru: "", ... "anyLng": ""]
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="code-editorbox" class="title">CodeEditorbox</a>
* *Редактор для ввода кода*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "CodeEditorbox"
* data: VariableContainer [
* enableHighlight: Boolean,
* highlightPlugin: String,
* enableTransition: Boolean
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | "100%" | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | enableHighlight | false | Boolean | false | Подключает подсветку кода |
* | highlightPlugin | false | String | "smola" | Устанавливает плагин, который будет осуществлять подсветку |
* | enableTransition | false | Boolean | false | Будет ли меняться задний фон при наведении |
*
* <br>
*
* **Значение**
* ```
* String
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="switchbox" class="title">Switchbox</a>
* *Переключатель. Редактор для булевого значения*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Switchbox"
* data: VariableContainer []
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*
* <br>
*
* **Значение**
* ```
* Boolean
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="checkbox" class="title">Checkbox</a>
* *Переключатель. Редактор для булевого значения*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Checkbox"
* data: VariableContainer []
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 20 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 20 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*
* <br>
*
* **Значение**
* ```
* Boolean
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="combobox" class="title">Combobox</a>
* *Выпадающий список. Редактор для выбора из списка*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Combobox"
* data: VariableContainer [
* data: Deque(String)[],
* useEnum: false,
* enumList: null,
* maxPopupHeight: Integer,
* popupWidth: Integer,
* placeholder: String,
* viewType: String | VariableContainer,
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |---------------- |----------- |-------------------------- |----------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 100% | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | data | true | Deque(String) | Deque(String)[] | Список пунктов выпадающего списка |
* | maxPopupHeight | false | Integer | 100 | Максимальная высота, всплывающего окна, содержащего список |
* | popupWidth | false | Integer | -1 | Ширина всплывающего окна, если задан -1, то равно ширине редактора |
* | placeholder | false | String | "" | Текст заглушка |
* | viewType | false | String/VariableContainer | LabelString | Вьювер, отображающий текст |
* | useEnum | false | Boolean | false | Включает подмену типа, из заданного списка |
* | enumList | false | Deque(Any) | null | Список замен, по пунктам | * <br>
*
* <br>
*
* **Значение**
* ```
* // Если useEnum == false
* Integer
* // Если useEnum == true, тогда
* // Deque(Type) enumList
* Type
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="floatbox" class="title">Floatbox</a>
* *Редактор для ввода значения с плавающей запятой*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Floatbox"
* data: VariableContainer [
* precision: Integer
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | precision | false | Integer | 5 | Задает кол-во числе после точки |
* | step | false | Integer | 1 | Надо узнать у автора, что это такое |
*
* <br>
*
* **Значение**
* ```
* Float
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="uuidbox" class="title">UUIDbox</a>
* *Ввод UUID*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "UUIDbox"
* data: VariableContainer []
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*
* <br>
*
* **Значение**
* ```
* UUID
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="timebox" class="title">Timebox</a>
* *Выбор времени (календарь с часами)*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Timebox"
* data: VariableContainer [
* mode: Integer
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | mode | false | Integer | 5 | Задает кол-во числе после точки |
*
* <br>
*
* **Значение**
* ```
* Time
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="time-diffbox" class="title">TimeDiffbox</a>
* *Ввод временного интервала*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "TimeDiffbox"
* data: VariableContainer []
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*
* <br>
*
* **Значение**
* ```
* TimeDiff
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="component-selector" class="title">ComponentSelector</a>
* *Выбор типа компонента*
*
* _**устаревший** - необходима переработка_
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "ComponentSelector"
* data: VariableContainer []
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*
* <br>
*
* **Значение**
* ```
* ModelType
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="сomponent-filter-editor" class="title">ComponentFilterEditor</a>
* *Редактор фильтра по идентификатору фильтра*
*
* _**устаревший** - вместо него требуется использовать связку DialogEditor и TreeEditor_
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "ComponentFilterEditor"
* data: VariableContainer [
* nodeId: Integer,
* isSingleComponentMode: Boolean,
* componentType: ModelType
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | nodeId | true | Integer | null | идентификатор ноды в дереве flt |
* | isSingleComponentMode | false | Boolean | false | жестко задан тип компонента |
* | componentType | false | ModelType | null | тип компонента |
*
* <br>
*
* **Значение**
* ```
* Integer
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="address" class="title">Address</a>
* *Поле, в которое можно перетащить модель*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Address"
* data: VariableContainer [
* onlyContainers: Boolean,
* helper: String
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | onlyContainers | false | Boolean | false | указвает, что выбранный элемент может быть только контейнером |
* | helper | false | String | "" | перевод для подсказки |
*
* <br>
*
* **Значение**
* ```
* Address
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="ipbox" class="title">Ipbox</a>
* *Ввод IP адреса*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Ipbox"
* data: VariableContainer [
* allowMultiple: Boolean
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | allowMultiple | false | Boolean | true | Позволяет задавать несколько адресов |
*
* <br>
*
* **Значение**
* ```
* String
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="oidbox" class="title">Oidbox</a>
* *Редактор для ввода Oid'a*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Oidbox"
* data: VariableContainer [
* maxPopupHeight: Integer,
* maxHistorySize: Integer
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | maxPopupHeight | false | Integer | 200 | Позволяет задавать высоту выпадающего окна |
* | maxHistorySize | false | Integer | 14 | Ограничение на память истории |
*
* <br>
*
* **Значение**
* ```
* Oid
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="colorpicker" class="title">Colorpicker</a>
* *Редактор, позволяющий выбрать цвет*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Colorpicker"
* data: VariableContainer [
* popupType: Integer
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | popupType | false | Integer | 0 | 0 - hsv picker, 1 - RGB Fields, 2 - color palette |
*
* <br>
*
* **Значение**
* ```
* String
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="textarea" class="title">Textarea</a>
* *Редактор текста*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Textarea"
* data: VariableContainer []
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 74 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*
* <br>
*
* **Значение**
* ```
* String
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="icon-editor" class="title">IconEditor</a>
* *Редактор иконок*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "IconEditor"
* data: VariableContainer [
* enabledKinds: Deque(String),
* iconType: Integer,
* background: Integer
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------ |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | enable | false | Boolean | true | Включение/выключение эдитора |
* | width | false | String/Integer/Float | 50 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | "auto" | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | enabledKinds | false | Deque(String) | Deque(String)[] | |
* | iconType | false | Integer | 0 | |
* | background | false | Integer | 1 | |
*
* <br>
*
* **Значение**
* ```
* String
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="presentation-picker" class="title">PresentationPicker</a>
* ### PresentationPicker
* *Позволяет выбрать виджет, эдитор и вьювер*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "PresentationPicker"
* data: VariableContainer [
* position: String,
* colsCount: Float,
* popupHeight: Integer,
* allowedWidgets: Boolean / Deque(String),
* allowedViewers: Boolean / Deque(String),
* allowedEditors: Boolean / Deque(String),
* idOnly: Boolean
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |---------------- |----------- |----------------------- |------------------ |--------------------------------------------------------------------- |
* | width | false | String/Integer/Float | "100%" | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | position | false | String | innerRightBottom | Задает политику позиционирования для выпадающего меню |
* | colsCount | false | Float | 1.5 | |
* | popupHeight | false | Integer | 300 | Высота выпадающего списка |
* | allowedWidgets | false | Deque(String)/Boolean | true | Будут ли отображены виджеты (или те виджеты, которые будут указаны) |
* | allowedViewers | false | Deque(String)/Boolean | true | Будут ли отображены вьюверы |
* | allowedEditors | false | Deque(String)/Boolean | true | Будут ли отображены эдиторы |
* | idOnly | false | Boolean | false | |
* <br>
*
* **Значение**
* ```
* String
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="slider" class="title">Slider</a>
* *Эдитор для отображения ползунка*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Slider"
* data: VariableContainer [
* isVertical: Boolean,
* sliderWidth: Integer,
* lineWidth: Integer,
* valueMin: Integer,
* valueMax: Integer,
* tooltip: String
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------- |----------- |---------------------- |--------------- |-------------------------------------------------------------------- |
* | width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | "100%" | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | isVertical | false | Boolean | true | |
* | sliderWidth | false | Integer | 15 | Ширина ползунка |
* | lineWidth | false | Integer | 4 | Толщина линии |
* | valueMin | false | Integer | 0 | Минимальное допустимое значение |
* | valueMax | false | Integer | 100 | Максимальное допустимое значение |
* | tooltip | false | String | "" | Подсказка | * <br>
*
* <br>
*
* **Значение**
* ```
* Integer
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="grid-editor" class="title">GridEditor</a>
* *Эдитор для отображения редактируемой таблицы*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "GridEditor"
* data: VariableContainer [
* useHeaderLabelTranslationPrefix: Boolean,
* columns: Deque(VariableContainer),
* rootFormParameters: VariableContainer,
* allowAdd: Boolean,
* allowRemove: Boolean,
* allowEdit: Boolean,
* idColumn: String,
* isMultiple: Boolean,
* popupWidth: Integer
* ]
* ]
* ```
*
* <br>
*
* **Опции**
*| name | mandatory | type | default value | description |
*|--------------------------------- |----------- |-------------------------- |---------------------------- |-------------------------------------------------------------------- |
*| width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
*| height | false | String/Integer/Float | 200 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*| useHeaderLabelTranslationPrefix | false | Boolean | true | Задает префикс, для перевода заголовков |
*| columns | true | Deque(VariableContainer) | Deque(VariableContainer)[] | Описание колонок для таблицы |
*| rootFormParameters | false | VariableContainer | VariableContainer [] | Описание параметров, формы редактирования строки в таблице |
*| allowAdd | false | Boolean | true | Можно ли добавлять строчку в таблицу |
*| allowRemove | false | Boolean | true | Можно ли добавлять строчку в таблицу |
*| allowEdit | false | Boolean | true | Можно ли редактировать строчку в таблицу |
*| idColumn | false | String | "" | Указывает, какая колонка является идентификатором |
*| isMultiple | false | Boolean | false | Может ли быть строчка многострочной |
*| popupWidth | false | Integer | 400 | Ширина окна редактирования строки |
*
* <br>
*
* _**Описание параметров для Form.columns**_
*
* <br>
*
* **Представление**
* ```
* Deque(VariableContainer) [
* VariableContainer [
* id: String,
* type: Type,
* label: String,
* optional: Boolean,
* showOptionalCheckbox: Boolaen,
* useInCellEditor: Boolean,
* editor: String/VariableContainer,
* viewer: String/VariableContainer,
* value: Type,
* visible: Boolean,
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |---------------------- |----------- |-------------------------- |--------------- |-------------------------------------------------------------------- |
* | id | true | String | undefined | Идентификатор колонки таблицы |
* | type | true | Type | undefined | Тип значения, который должен быть в этой колонке |
* | label | true | String | undefined | Название колонки |
* | optional | false | Boolean | false | Является ли колонка, необязательной к заполнению |
* | showOptionalCheckbox | false | Boolaen | false | Показывать ли чекбокс, необязательной колокнки |
* | useInCellEditor | false | Boolean | undefined | Будет ли отображен эдитор в ячейке этой колонки |
* | editor | false | String/VariableContainer | undefined | Редактор, которым можно осуществлять редактирование<br>этой ячейки |
* | viewer | false | String/VariableContainer | undefined | Вьювер, который будет отображать содержимое колонки |
* | value | false | Type | undefined | Значение |
* | visible | false | Boolean | undefined | Предустановленное значение при добавлении новой строчки |
*
* <br>
*
* **Значение**
* ```
* Deque(VariableContainer)
* ```
*
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="custom-structure-editor" class="title">CustomStructureEditor</a>
* *Редактор, кода, типов, шаблонов, структур в текстовом формате*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Slider"
* data: VariableContainer [
* mode: Integer,
* context: VariableContainer,
* desiredType: VariableContainer,
* description: String,
* hint: Boolean,
* validationButton: Boolean,
* ]
* ]
* ```
*
* <br>
*
* **Опции**
*| name | mandatory | type | default value | description |
*|------------------ |----------- |---------------------- |------------------------------- |--------------------------------------------------------------------------------------------------------- |
*| width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
*| height | false | String/Integer/Float | 300 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*| mode | false | Integer | 0 | Тип данных (0 - обычные литералы, 1 - шаблонизация (dbcl сериализация), 2 - описание типов, 3 - текст ) |
*| context | false | VariableContainer | VariableContainer [] | Объект, содержащий данные по ссылка, если это тип 1 |
*| desiredType | false | VariableContainer | VariableContainer [type: 257] | Тип данных, который ожидается на выходе |
*| description | false | String | "" | |
*| hint | false | Boolean | true | Показывать ли подсказку |
*| validationButton | false | Boolean | true | Кнопка валидации |
*
* <br>
*
* **Значение**
* ```
* // Зависит от опций
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="form" class="title">Form</a>
* *Редактор, представляющий собой форму*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Slider"
* data: VariableContainer [
* viewMode: String,
* data: List(VariableContainer),
* showTitles: Boolean,
* viewsInData: Boolean,
* viewer: String,
* titlePadding: String,
* titleVAlign: String,
* showInvalids: Boolean,
* rules: Deque(VariableContainer),
* extra: List(Pair(String, String)),
* fixLayout: Boolean,
* dependencies: List(VariableContainer),
* defaultLayoutWidth: Float,
* focusField: String
* ]
* ]
* ```
*
* <br>
*
* **Опции**
*| name | mandatory | type | default value | description |
*|-------------------- |----------- |---------------------------- |------------------------------- |------------------------------------------------------------------------------------------------------------------------- |
*| width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
*| height | false | String/Integer/Float | "auto" | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*| viewMode | false | String | "normal" | Тип формы. Варианты:<br> - **normal** - слева текст, справа редактор<br> - **smallTitles** - маленький текст над редактором |
*| data | true | List(VariableContainer) | List(VariableContainer) [] | Описание строчек формы |
*| showTitles | false | Boolean | true | Показывать ли заголовки |
*| viewsInData | false | Boolean | true | Обращаться к юре |
*| viewer | false | String | "Translation" | Вьювер для отображения текста в левой части |
*| titlePadding | false | String | "2px" | Отступы |
*| titleVAlign | false | String | "middle" | Полтика позицирования по вертикали |
*| showInvalids | false | Boolean | true | Показывать, какие поля некорректно заполнены |
*| rules | false | Deque(VariableContainer) | undefined | Правила по которым, будут проверены поля |
*| extra | false | List(Pair(String, String)) | List(Pair(String, String)) [] | Назначение неизвестно |
*| fixLayout | false | Boolean | false | Самостоятельный расчет ширины текста слева |
*| dependencies | false | List(VariableContainer) | List(VariableContainer)[] | Зависимости, между полями формы и вложенных форм |
*| defaultLayoutWidth | false | Float | 0 | Базовая ширина слоя для заголовков |
*| focusField | false | String | "" | Идентификатор поля, которое должно быть сфокусировано |
*
* <br>
*
* _**Описание параметров для Form.data**_
*
* <br>
*
* **Представление**
* ```
* List(VariableContainer) [
* VariableContainer [
* id: String,
* editor: String/VariableContainer,
* title: String,
* optional: Boolean,
* view: Boolean
* value: Type,
* viewer: String/VariableContainer,
* showOptionalCheckbox: Boolean,
* expanding: Boolean,
* valueViewer: Type
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |---------------------- |----------- |-------------------------- |--------------- |-------------------------------------------------------- |
* | id | true | String | undefined | Идентификатор поля |
* | editor | true | String/VariableContainer | undefined | Редактор, который будет вставлен с правой стороны |
* | title | true | String | undefined | Подставлять ли с правой стороны вьювер, а не эдитор |
* | optional | false | Boolean | false | Делает поле необязательным, (появляется переключатель) |
* | view | false | Boolean | true | если задан в true, то интерпретирует editor, как viewer |
* | value | false | Type | null | |
* | viewer | false | String/VariableContainer | Form.viewer | Вьювер, который будет подставлен с левой стороны |
* | extra | false | ?? | ?? | Неизвестное поле (Заполнять не нужно) |
* | showOptionalCheckbox | false | Boolean | true | Спрятать чекбокс необязательности |
* | expanding | false | Boolean | false | Занимать всю доступную высоту от формы. |
* | valueViewer | false | Type | undefined | Значение вьювера если view = true |
*
* <br>
*
* _**Описание параметров для Form.dependencies**_
*
* <br>
*
* **Представление**
* ```
* List(VariableContainer) [
* VariableContainer [
* source: String,
* target: String,
* asIs: Boolean,
* data: List(VariableContainer)[]
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |-------- |----------- |--------------------------- |--------------- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
* | source | true | String | undefined | Исходящий эдитор и параметер<br>Как задавать: **'rowId':'type':'optional'**<br>rowId может быть разделен точкой и указывать на вложенные формы или эдиторы<br>mySubForm.mySubSubForm.myNiceEditor<br>возможные значения для type: value/parameter<br>если задан parameter, то нужно указать параметр, который будет передан<br>если задан value, то данные будут взяты из getValue<br>пример **mySourceEditorId:value** |
* | target | true | String | undefined | Входящий эдитор и параметер<br>Как задавать: **'rowId':'type':'optional'**<br>возможные значения для type: value/parameter<br>если задан parameter, то нужно указать параметр, который будет передан<br>если задан value, то данные будут переданы в setValue<br>пример **mySubForm.mySubSubForm.myNiceEditor:value**<br>пример **mySubForm.mySubSubForm.myNiceEditor:parameter:width** |
* | asIs | false | Boolean | true | Передавать данные без изменений. <br>Если задан как false - будет использовать для этого data |
* | data | false | List(VariableContainer)[] | undefined | Правило подмены значений; |
*
* <br>
*
* **Значение**
* ```
* VariableContainer [
* <fieldId>: <fieldEditorValue>,
* ...
* ]
* ```
*
* <br>
*
* **Пример**
* ```
* VariableContainer
* [
* type : "Form",
* data : VariableContainer
* [
* data : List(VariableContainer)
* [
* VariableContainer
* [
* editor : VariableContainer
* [
* data : VariableContainer
* [
* idOnly : true,
* popupHeight : 92,
* allowedWidgets : false,
* allowedEditors : List(String)
* [
* "ComponentType",
* "CustomStructureEditor"
* ],
* allowedViewers : false
* ],
* type : "PresentationPicker"
* ],
* title : "DataSourcesPanel.userGrid.editor",
* id : "type"
* ],
* VariableContainer [
* value : VariableContainer [],
* editor : VariableContainer
* [
* data : VariableContainer
* [
* hint : false,
* mode : 0,
* height : 150,
* desiredType : VariableContainer [type : 19],
* validationButton : false
* ],
* type : "CustomStructureEditor"
* ],
* title : "DataSourcesPanel.userGrid.options",
* id : "data"
* ]
* ],
* dependencies : List(VariableContainer)
* [
* VariableContainer
* [
* asIs : false,
* data : List(VariableContainer)
* [
* VariableContainer
* [
* method : "replace",
* map : Map(String, VariableContainer)
* [
* "Address" : VariableContainer [],
* "ComponentType" : VariableContainer [],
* "CustomStructureEditor" : VariableContainer
* [
* hint : false,
* mode : 0,
* height : 75,
* desiredType : VariableContainer [type : 19],
* validationButton : false
* ],
* "Floatbox" : VariableContainer [precision : 5,step : 1],
* "Integerbox" : VariableContainer [showArrows : true,step : 1],
* "Switchbox" : VariableContainer [],
* "Textbox" : VariableContainer [placeholder : "type text"],
* "TimeDiffbox" : VariableContainer [format : "(h=ap)(m=ap)(s=ap)"],
* "Timebox" : VariableContainer [],
* "UUIDbox" : VariableContainer []
* ]
* ]
* ],
* target : "data:value",
* source : "type:value"
* ]
* ]
* ]
* ]
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="tree-editor" class="title">TreeEditor</a>
* *Редактор представляющий дерево, для выбора ноды*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Slider"
* data: VariableContainer [
* mode: String,
* treeTag: String,
* rootIds: Deque(Integer),
* extraIndication: VariableContainer,
* searchable: Boolean,
* filterData: VariableContainer,
* multiSelectable: Boolean,
* enableContextMenu: Boolean
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------------- |----------- |---------------------- |--------------------- |------------------------------------------------------------------------------------------ |
* | width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | "100px" | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | mode | false | String | "tree | Определяет какое будет отображение у дерева (browser или tree) |
* | treeTag | true | String | "" | Указывает, какой тип дерева нужно отображать |
* | rootIds | false | Deque(Integer) | defaultRootId | Список корневых узлов, от которых начнется дерево |
* | extraIndication | false | VariableContainer | VariableContainer[] | (Устаревший атрибут, не используется) Специальные иконки |
* | searchable | false | Boolean | null | (Устаревший атрибут, не используется) Осуществлять ли поиск |
* | filterData | false | VariableContainer | VariableContainer | Позволяет с помощью условия, осуществить фильтрацию на предмет<br>активности и выделения |
* | multiSelectable | false | Boolean | false | Позволяет выбирать несколько узлов в дереве |
* | enableContextMenu | false | Boolean | true | Позволяет отключить контекстное меню |
*
* <br>
*
* **Значение**
* ```
* // if option.multiSelectable != true
* Integer
* // else
* Deque(Integer)
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="dialog-editor" class="title">DialogEditor</a>
* *Редактор, который открывает содержащийся в нем редактор в новом окне и ждет результат*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Slider"
* data: VariableContainer [
* usePlaceholder: Boolean,
* placeholder: String,
* dialogWidth: Integer,
* dialogHeight: Integer,
* editor: String/VariableContainer,
* viewer: String/VariableContainer,
* activator: VariableContainer,
* defaultValue: Any
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |---------------- |----------- |-------------------------- |------------------------------------------- |-------------------------------------------------------------------- |
* | width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | "100px" | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | usePlaceholder | false | Boolean | false | Использовать ли подсказку |
* | placeholder | false | String | null | Текст, который будет показан, как подсказка |
* | dialogWidth | false | Integer | 500 | Ширина окна, в котором будет открыт поддиалог |
* | dialogHeight | false | Integer | 300 | Высота окна, в котором будет открыт поддиалог |
* | editor | true | String/VariableContainer | null | Стандартная схема описания редактора |
* | viewer | false | String/VariableContainer | null | Стандартная схема описания вьювера |
* | activator | false | VariableContainer | VariableContainer [name: "gear", type: 4] | Иконка, которая отображена в правой части редактора. |
* | defaultValue | false | Any | null | Предустановленное значение, которое будет установлено редактору |
*
* <br>
*
* **Значение**
* ```
* typeof options.editor
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="processor-editor" class="title">ProcessorEditor</a>
* *Редактор, который может подменять входные и выходные данные*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "Slider"
* data: VariableContainer [
* processors: List(VariableContainer),
* validator: String,
* editor: String/VariableContainer
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------ |----------- |-------------------------- |---------------------------- |-------------------------------------------------------------------- |
* | width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | "100px" | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | processors | false | List(VariableContainer) | List(VariableContainer) [] | Задает процессоры, для редактора |
* | validator | false | String | null | Задает условие для проверки значения. Пример "input.size() > 0" |
* | editor | true | String/VariableContainer | null | Стандартная схема описания редактора |
*
* <br>
*
* **Пример**
* ```
* // пример описания процессоров
* List(VariableContainer)[
* VariableContainer [
* type: "convertNodeToModelAddr", // идентификатор процессора
* data: VariableContainer [ // специфичные данные процессора
* treeTag: "st"
* ]
* ]
* ]
*
* // пример простого процессора, который использует только валидатор
* VariableContainer [
* type : "ProcessorEditor",
* data : VariableContainer [
* validator : "input.size() >= 2", // input - это значение которое возвращает редактор
* editor : "Textbox"
* ]
* ]
* ```
*
* <br>
*
* **Значение**
* ```
* // Тип возвращаемого значения зависит от options.editor и options.processors
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="attribute-selecter" class="title">AttributeSelecter</a>
* *Редактор, который позволяет выбрать атрибут компонента*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "AttributeSelecter"
* data: VariableContainer [
* componentType: ModelType
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------ |----------- |-------------------------- |---------------------------- |-------------------------------------------------------------------- |
* | width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | "100px" | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
* | componentType | false | ModelType | null | Тип компонента |
*
* <br>
*
* **Пример**
* ```
* VariableContainer [
* type : "AttributeSelecter",
* data : VariableContainer [
* componentType : @component
* ]
* ]
* ```
*
* <br>
*
* **Значение**
* ```
* String
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="attribute-setter" class="title">AttributeSetter</a>
* *Редактор, который позволяет выбрать атрибут компонента*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "AttributeSetter"
* data: VariableContainer [
* componentType: ModelType
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------ |----------- |-------------------------- |------------------- |-------------------------------------------------------------------- |
* | width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 30 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*
* <br>
*
* **Пример**
* ```
* VariableContainer [
* type : "AttributeSetter",
* data : VariableContainer []
* ]
* ```
*
* <br>
*
* **Значение**
* ```
* VariableContainer
* ```
* @name _
* @editors
* @memberof editors
*/
/**
* ### <a name="attribute-setter" class="title">AttributeSetter</a>
* *Редактор, который позволяет выбрать атрибут компонента*
*
* <br>
*
* **Представление**
* ```
* VariableContainer [
* type: "AttributeSetter"
* data: VariableContainer [
* componentType: ModelType
* ]
* ]
* ```
*
* <br>
*
* **Опции**
* | name | mandatory | type | default value | description |
* |------------ |----------- |-------------------------- |------------------- |-------------------------------------------------------------------- |
* | width | false | String/Integer/Float | 25 | Задает ширину эдитору (в процентах или пикселях, если это Integer) |
* | height | false | String/Integer/Float | 30 | Задает высоту эдитору (в процентах или пикселях, если это Integer) |
*
* <br>
*
* **Пример**
* ```
* VariableContainer [
* type : "AttributeSetter",
* data : VariableContainer []
* ]
* ```
*
* <br>
*
* **Значение**
* ```
* VariableContainer
* ```
* @name _
* @editors
* @memberof editors
*/