update dragData

This commit is contained in:
Aleksey Chichenkov 2020-10-15 17:47:55 +03:00
parent 2e0878d9fd
commit 87ce60293f
1 changed files with 35 additions and 18 deletions

View File

@ -9,6 +9,8 @@
/** /**
* #### DragData - описание того, как работать с драгом из паблишера * #### DragData - описание того, как работать с драгом из паблишера
* *
* Важно понимать, что если вы положили component, то model или group класть уже не нужно, т.к. данные о них у вас уже есть
*
* <br> * <br>
* *
* #### Структура * #### Структура
@ -23,39 +25,54 @@
* *
* // структура * // структура
* VariableContainer [ * VariableContainer [
* <dragType> : Map(String, String) * <dragType> : Deque(Structure[
* // <dragType> : Map(<colId>, <clipboardOptionId>) * type: Number, // 0 - обычный режим (установит по значению cbAttrId то, что в ячейке colId)
* // 1 - установит в cbAttrId имя ячейки
* // 2 - установит в cbAttrId значение ячейки
* colId: String, // этот атрибут нужен только когда type=0,
* cbAttrId: String // этот атрибут нужен всегда, т.к. он указывает идентификатор поля в объекте клипборда
* ])
* ] * ]
* *
* // пример * // пример
* // Здесь мы видим dragType "model" * // Здесь мы видим dragType "model"
* // Дальше мы находим colId "modelAddr" и получаем данные из паблишера в нужной строчке по этому полю * // Дальше мы находим colId "modelAddr" и получаем данные из паблишера в нужной строчке по этому полю
* // затем мы укладываем по clipboardOptionId "address" в объект клипборда значение, которое было получено из таблицы * // затем мы укладываем по clipboardOptionId "address" в объект клипборда значение, которое было получено из таблицы
* // аналогичные действия проделываются и для dragType "component"
* VariableContainer [ * VariableContainer [
* model: Map(String, String)[ * model: Deque(VariableContainer)[
* "modelAddr": "address" * VariableContainer [type: 0, colId: "modelAddr", cbAttrId: "address" ]
* ],
* component: Map(String, String)[
* "modelAddr": "address",
* "cTag": "cTag",
* "cid": "id"
* ] * ]
* ] * ]
*
* // результат
* new CBModel({"address": Address[]})
*
* // Если тип = 0, тогда мы берем по colId "modelAddr", вынимаем значение по нему, и укладываем в поле "addr"
* VariableContainer [
* component: Deque(VariableContainer)[
* VariableContainer [ type: 0, colId: "modelAddr", cbAttrId: "address" ]
* VariableContainer [ type: 0, colId: "cTag", cbAttrId: "cTag" ],
* VariableContainer [ type: 0, colId: "cid", cbAttrId: "id" ]
* ]
* ]
* // результат
* new CBComponent({"address": Address[],"cTag": "someCTag","id": "someId"})
* ``` * ```
* *
* <br> * <br>
* *
* #### Описание dragType'ов * #### Описание dragType'ов
* *
*| dragType | description | attributes
*| dragType | description | attributes | *|---------------- |------------------------------------------------ |-------------------------------------------------------------------------------------------------
*|----------- |------------------------------------ |--------------------------------------------------------- | *| model | позволяет перетаскивать устройства | address:Address
*| model | позволяет перетаскивать устройства | address:Address | *| group | позволяет перетаскивать группу | address: Address, cTag: String
*| group | позволяет перетаскивать группу | address: Address, cTag: String | *| component | позволяет перетаскивать компонент | address: Address, cTag: String, id: String
*| component | позволяет перетаскивать компонент | address: Address, cTag: String, id: String | *| attribute | позволяет перетаскивать атрибут | address: Address, cTag: String, id: String, name: String
*| attribute | позволяет перетаскивать атрибут | address: Address, cTag: String, id: String, name: String | *| attributeValue | позволяет перетаскивать значение атрибута | address: Address, cTag: String, id: String, name: String, value: Any
*| node | позволяет перетащить ноду | nodeId: Integer, treeTag: String | *| componentCell | позволяет перетаскивать из паблишера компонент | address: Address, cTag: String, id: String, name: String, value: Any, componentTypeName: String
*| alarmCell | позволяет перетаскивать из паблишера аварий | address: Address, cTag: String, id: String, name: String, value: Any, componentTypeName: String
*| node | позволяет перетащить ноду | nodeId: Integer, treeTag: String
* *
* *
* @name 02 * @name 02