initi.doc/docfiles/custom/editors.js

1593 lines
76 KiB
JavaScript
Raw Normal View History

2020-03-31 11:06:26 +00:00
/**
* ### Документация по эдиторам
* @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
*/