From 87ce60293f8e50ac43631519fb63a2d7c2996cfd Mon Sep 17 00:00:00 2001 From: Aleksey Chichenkov Date: Thu, 15 Oct 2020 17:47:55 +0300 Subject: [PATCH] update dragData --- docfiles/custom/publishers.js | 53 +++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/docfiles/custom/publishers.js b/docfiles/custom/publishers.js index 64dcf80..c67c51b 100644 --- a/docfiles/custom/publishers.js +++ b/docfiles/custom/publishers.js @@ -9,6 +9,8 @@ /** * #### DragData - описание того, как работать с драгом из паблишера * + * Важно понимать, что если вы положили component, то model или group класть уже не нужно, т.к. данные о них у вас уже есть + * *
* * #### Структура @@ -23,39 +25,54 @@ * * // структура * VariableContainer [ - * : Map(String, String) - * // : Map(, ) + * : Deque(Structure[ + * type: Number, // 0 - обычный режим (установит по значению cbAttrId то, что в ячейке colId) + * // 1 - установит в cbAttrId имя ячейки + * // 2 - установит в cbAttrId значение ячейки + * colId: String, // этот атрибут нужен только когда type=0, + * cbAttrId: String // этот атрибут нужен всегда, т.к. он указывает идентификатор поля в объекте клипборда + * ]) * ] * * // пример * // Здесь мы видим dragType "model" * // Дальше мы находим colId "modelAddr" и получаем данные из паблишера в нужной строчке по этому полю * // затем мы укладываем по clipboardOptionId "address" в объект клипборда значение, которое было получено из таблицы - * // аналогичные действия проделываются и для dragType "component" * VariableContainer [ - * model: Map(String, String)[ - * "modelAddr": "address" - * ], - * component: Map(String, String)[ - * "modelAddr": "address", - * "cTag": "cTag", - * "cid": "id" + * model: Deque(VariableContainer)[ + * VariableContainer [type: 0, colId: "modelAddr", cbAttrId: "address" ] * ] * ] + * + * // результат + * 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"}) * ``` * *
* * #### Описание dragType'ов * - - *| dragType | description | attributes | - *|----------- |------------------------------------ |--------------------------------------------------------- | - *| model | позволяет перетаскивать устройства | address:Address | - *| group | позволяет перетаскивать группу | address: Address, cTag: String | - *| component | позволяет перетаскивать компонент | address: Address, cTag: String, id: String | - *| attribute | позволяет перетаскивать атрибут | address: Address, cTag: String, id: String, name: String | - *| node | позволяет перетащить ноду | nodeId: Integer, treeTag: String | + *| dragType | description | attributes + *|---------------- |------------------------------------------------ |------------------------------------------------------------------------------------------------- + *| model | позволяет перетаскивать устройства | address:Address + *| group | позволяет перетаскивать группу | address: Address, cTag: String + *| component | позволяет перетаскивать компонент | address: Address, cTag: String, id: String + *| attribute | позволяет перетаскивать атрибут | address: Address, cTag: String, id: String, name: String + *| attributeValue | позволяет перетаскивать значение атрибута | address: Address, cTag: String, id: String, name: String, value: Any + *| 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