initi.doc/docfiles/custom/context.js

143 lines
6.7 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.

/**
* ### Документация по работе с GUI версии 2.9.1
*
* @name 01
* @context
* @memberof context
*/
/**
* ### Контекстное меню
*
* <br>
*
* #### Протокол
| type | command | data |
|------------- |------------------------------ |----------------------------------------------------------------------------- |
| GUI => CORE | requestContext | |
| CORE => GUI | responseContext | result: List(VariableContainer)<br>proxyData: VariableContainer |
| GUI => CORE | executeContextAction | action: String,<br>data: VariableContainer,<br>proxyData: VariableContainer |
| CORE => GUI | executeContextActionResponse | wizard: Boolean,<br>result: Map(Integer, Integer) |
<br>
#### Описание содержимого responseContext.result
| name | type | description |
|---------- |------------------- |-------------------------------------------------------------------- |
| id | String | Идентификатор, пункта меню |
| type | Integer | Тип пункта меню |
| parentId | String | Родительский ПМ, если его нет, то "" |
| name | String | Локализация названия |
| options | VariableContainer | Данные, которые сопутствую ПМ, в зависимости от контекста действия |
<br>
#### Описание типов, пунктов контекстного меню
| id | name | descriptions | options |
|---- |----------- |--------------------------------------------------------------------------------------------------- |------------------------------------------------------------------------------ |
| 0 | group | пункт меню (ПМ), который содержит в себе подпункты | VariableContainer[] |
| 1 | simple | ПМ, который исполняет запрос к ядру (executeAction) | VariableContainer[] |
| 2 | guiAction | действие которое исполняется со стороны GUI. | Опции, специфичные для id |
| 3 | dialog | ПМ, который откроет диалог, который необходимо заполнить и исполнит запрос к ядру (executeAction) | VariableContainer [<br> type: String,<br> data: VariableContainer<br>] |
| 4 | widget | ПМ, который любой виджет | VariableContainer [<br> type: String,<br> data: VariableContainer<br>] |
* #### Пример ответа
*
* ```
VariableContainer [
errCode : 0,
proxyData : VariableContainer [
nodeIds : Set(Integer) [
0
]
],
result : List(VariableContainer) [
VariableContainer [
options : VariableContainer [
],
id : "model",
parentId : "",
type : 2,
name : "Модель"
],
VariableContainer [
options : VariableContainer [
data : VariableContainer [
label : "Введите название для нового контейнера",
formVC : VariableContainer [
data : VariableContainer [
rules : List(VariableContainer) [
VariableContainer [
id : "name",
message : "Имя не может быть пустым",
validator : "input.size() > 0"
]
],
data : List(VariableContainer) [
VariableContainer [
value : "",
id : "name",
title : "Название",
viewer : VariableContainer [
data : VariableContainer [
vc : true
],
type : "LabelString"
],
editor : "Textbox"
]
]
],
type : "Form"
],
windowOptions : VariableContainer [
width : VariableContainer [
type : 0,
data : 300
],
height : VariableContainer [
type : 0,
data : 160
]
]
],
type : "VariablesForm"
],
id : "addContainer",
parentId : "",
type : 3,
name : "Добавить контейнер"
],
VariableContainer [
options : VariableContainer [
],
id : "shortcutTopology",
parentId : "",
type : 1,
name : "Создать ярлык на рабочем столе"
],
VariableContainer [
options : VariableContainer [
],
id : "inventory",
parentId : "",
type : 1,
name : "Синхронизация инвентаря"
]
],
command : "responseContext"
]
* ```
*
* @name 02
* @context
* @memberof context
*/