145 lines
7.1 KiB
JavaScript
145 lines
7.1 KiB
JavaScript
/**
|
||
* ### Документация по работе с 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>] |
|
||
| 5 | hidden | Скрытый пункт | |
|
||
| 6 | nothing | Ничего не делать | |
|
||
|
||
* #### Пример ответа
|
||
*
|
||
* ```
|
||
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
|
||
*/
|