dcim-topology2d 2.2.3 → 2.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chart-diagram/src/echarts/index.js +2 -1
- package/chart-diagram/src/utils/conversion.js +12 -3
- package/core/src/activeLayer.d.ts +2 -0
- package/core/src/activeLayer.js +13 -0
- package/core/src/common.d.ts +1 -1
- package/core/src/common.js +109 -47
- package/core/src/core.d.ts +1 -1
- package/core/src/core.js +389 -317
- package/core/src/divLayer.js +65 -28
- package/core/src/element/select.js +2 -1
- package/core/src/healps/changeData.d.ts +0 -1
- package/core/src/healps/changeData.js +0 -4
- package/core/src/middles/default.js +8 -3
- package/core/src/middles/index.d.ts +1 -0
- package/core/src/middles/index.js +1 -0
- package/core/src/middles/nodes/{arbitrarygraph.anchor.d.ts → basic/arbitrarygraph.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{arbitrarygraph.anchor.js → basic/arbitrarygraph.anchor.js} +1 -1
- package/core/src/middles/nodes/{arbitrarygraph.d.ts → basic/arbitrarygraph.d.ts} +1 -1
- package/core/src/middles/nodes/{arrow.anchor.d.ts → basic/arrow.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{arrow.anchor.js → basic/arrow.anchor.js} +2 -2
- package/core/src/middles/nodes/{arrow.d.ts → basic/arrow.d.ts} +1 -1
- package/core/src/middles/nodes/{arrow.rect.d.ts → basic/arrow.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{arrow.rect.js → basic/arrow.rect.js} +1 -1
- package/core/src/middles/nodes/{circle.anchor.d.ts → basic/circle.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{circle.anchor.js → basic/circle.anchor.js} +2 -2
- package/core/src/middles/nodes/{circle.d.ts → basic/circle.d.ts} +1 -1
- package/core/src/middles/nodes/basic/circle.js +8 -0
- package/core/src/middles/nodes/{circle.rect.d.ts → basic/circle.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{circle.rect.js → basic/circle.rect.js} +1 -1
- package/core/src/middles/nodes/{cloud.anchor.d.ts → basic/cloud.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{cloud.anchor.js → basic/cloud.anchor.js} +2 -2
- package/core/src/middles/nodes/{cloud.d.ts → basic/cloud.d.ts} +1 -1
- package/core/src/middles/nodes/{cloud.rect.d.ts → basic/cloud.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{cloud.rect.js → basic/cloud.rect.js} +1 -1
- package/core/src/middles/nodes/{cube.anchor.d.ts → basic/cube.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{cube.anchor.js → basic/cube.anchor.js} +2 -2
- package/core/src/middles/nodes/{cube.d.ts → basic/cube.d.ts} +1 -1
- package/core/src/middles/nodes/{cube.model.d.ts → basic/cube.model.d.ts} +2 -2
- package/core/src/middles/nodes/{cube.model.js → basic/cube.model.js} +2 -2
- package/core/src/middles/nodes/{cube.rect.d.ts → basic/cube.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{cube.rect.js → basic/cube.rect.js} +1 -1
- package/core/src/middles/nodes/{diamond.d.ts → basic/diamond.d.ts} +1 -1
- package/core/src/middles/nodes/{diamond.rect.d.ts → basic/diamond.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{diamond.rect.js → basic/diamond.rect.js} +1 -1
- package/core/src/middles/nodes/{file.d.ts → basic/file.d.ts} +1 -1
- package/core/src/middles/nodes/{iframe.d.ts → basic/iframe.d.ts} +1 -1
- package/core/src/middles/nodes/{iframe.js → basic/iframe.js} +7 -5
- package/core/src/middles/nodes/{image.anchor.d.ts → basic/image.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{image.anchor.js → basic/image.anchor.js} +2 -2
- package/core/src/middles/nodes/{image.rect.d.ts → basic/image.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{image.rect.js → basic/image.rect.js} +1 -1
- package/core/src/middles/nodes/{line.anchor.d.ts → basic/line.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{line.anchor.js → basic/line.anchor.js} +2 -2
- package/core/src/middles/nodes/{line.d.ts → basic/line.d.ts} +1 -1
- package/core/src/middles/nodes/{line.rect.d.ts → basic/line.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{line.rect.js → basic/line.rect.js} +1 -1
- package/core/src/middles/nodes/{message.anchor.d.ts → basic/message.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{message.anchor.js → basic/message.anchor.js} +2 -2
- package/core/src/middles/nodes/{message.d.ts → basic/message.d.ts} +1 -1
- package/core/src/middles/nodes/{message.rect.d.ts → basic/message.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{message.rect.js → basic/message.rect.js} +1 -1
- package/core/src/middles/nodes/{pentagon.anchor.d.ts → basic/pentagon.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagon.anchor.js → basic/pentagon.anchor.js} +2 -2
- package/core/src/middles/nodes/{pentagon.d.ts → basic/pentagon.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagon.rect.d.ts → basic/pentagon.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagon.rect.js → basic/pentagon.rect.js} +1 -1
- package/core/src/middles/nodes/{pentagram.anchor.d.ts → basic/pentagram.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagram.anchor.js → basic/pentagram.anchor.js} +2 -2
- package/core/src/middles/nodes/{pentagram.d.ts → basic/pentagram.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagram.rect.d.ts → basic/pentagram.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagram.rect.js → basic/pentagram.rect.js} +1 -1
- package/core/src/middles/nodes/{people.d.ts → basic/people.d.ts} +1 -1
- package/core/src/middles/nodes/{people.rect.d.ts → basic/people.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{people.rect.js → basic/people.rect.js} +1 -1
- package/core/src/middles/nodes/{rectangle.d.ts → basic/rectangle.d.ts} +1 -1
- package/core/src/middles/nodes/{rectangle.js → basic/rectangle.js} +1 -1
- package/core/src/middles/nodes/{rectangle.rect.d.ts → basic/rectangle.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{rectangle.rect.js → basic/rectangle.rect.js} +1 -1
- package/core/src/middles/nodes/{text.d.ts → basic/text.d.ts} +3 -2
- package/core/src/middles/nodes/{triangle.anchor.d.ts → basic/triangle.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{triangle.anchor.js → basic/triangle.anchor.js} +2 -2
- package/core/src/middles/nodes/{triangle.d.ts → basic/triangle.d.ts} +1 -1
- package/core/src/middles/nodes/{triangle.rect.d.ts → basic/triangle.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{triangle.rect.js → basic/triangle.rect.js} +1 -1
- package/core/src/middles/nodes/custom/humiture.d.ts +2 -0
- package/core/src/middles/nodes/custom/humiture.js +24 -0
- package/core/src/middles/nodes/{hexagon.anchor.d.ts → flow/hexagon.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{hexagon.anchor.js → flow/hexagon.anchor.js} +2 -2
- package/core/src/middles/nodes/{hexagon.d.ts → flow/hexagon.d.ts} +1 -1
- package/core/src/middles/nodes/{hexagon.rect.d.ts → flow/hexagon.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{hexagon.rect.js → flow/hexagon.rect.js} +1 -1
- package/core/src/middles/nodes/form/formDatePicker.d.ts +2 -0
- package/core/src/middles/nodes/{formDatePicker.js → form/formDatePicker.js} +12 -5
- package/core/src/middles/nodes/{formoverflow.js → form/formoverflow.js} +11 -8
- package/core/src/middles/nodes/{formselect.d.ts → form/formselect.d.ts} +1 -1
- package/core/src/middles/nodes/{formselect.js → form/formselect.js} +6 -7
- package/core/src/middles/nodes/{formtable.d.ts → form/formtable.d.ts} +1 -1
- package/core/src/middles/nodes/{progress.d.ts → form/progress.d.ts} +2 -2
- package/core/src/middles/nodes/{tablePagination.d.ts → form/tablePagination.d.ts} +1 -1
- package/core/src/middles/nodes/{time.d.ts → form/time.d.ts} +1 -1
- package/core/src/middles/nodes/icon/echartLine.d.ts +2 -0
- package/core/src/middles/nodes/icon/echartLine.js +99 -0
- package/core/src/middles/nodes/index.d.ts +54 -52
- package/core/src/middles/nodes/index.js +54 -53
- package/core/src/models/line.js +1 -1
- package/core/src/models/node.js +16 -12
- package/core/src/models/pen.d.ts +6 -0
- package/core/src/models/rect.d.ts +1 -0
- package/core/src/models/rect.js +13 -7
- package/core/src/options.js +5 -1
- package/core/src/preview.js +55 -23
- package/core/src/renderLayer.js +5 -0
- package/core/src/store/data.d.ts +0 -1
- package/core/src/store/data.js +3 -46
- package/core/src/utils/assignment.js +41 -43
- package/core/src/utils/construction.d.ts +18 -0
- package/core/src/utils/construction.js +23 -0
- package/core/src/utils/conversion.d.ts +5 -7
- package/core/src/utils/conversion.js +212 -25
- package/core/src/utils/params.js +1 -0
- package/myShape-diagram/index.js +1 -2
- package/package.json +1 -1
- package/static/icon.js +10 -0
- package/static/index.js +2 -1
- package/store/actions.js +15 -1
- package/store/clear.js +67 -4
- package/core/src/middles/nodes/circle.js +0 -7
- package/core/src/middles/nodes/formDatePicker.d.ts +0 -2
- /package/core/src/middles/nodes/{arbitrarygraph.js → basic/arbitrarygraph.js} +0 -0
- /package/core/src/middles/nodes/{arrow.anchor.js.map → basic/arrow.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{arrow.js → basic/arrow.js} +0 -0
- /package/core/src/middles/nodes/{arrow.js.map → basic/arrow.js.map} +0 -0
- /package/core/src/middles/nodes/{arrow.rect.js.map → basic/arrow.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{circle.anchor.js.map → basic/circle.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{circle.js.map → basic/circle.js.map} +0 -0
- /package/core/src/middles/nodes/{circle.rect.js.map → basic/circle.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{cloud.anchor.js.map → basic/cloud.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{cloud.js → basic/cloud.js} +0 -0
- /package/core/src/middles/nodes/{cloud.js.map → basic/cloud.js.map} +0 -0
- /package/core/src/middles/nodes/{cloud.rect.js.map → basic/cloud.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{cube.anchor.js.map → basic/cube.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{cube.js → basic/cube.js} +0 -0
- /package/core/src/middles/nodes/{cube.js.map → basic/cube.js.map} +0 -0
- /package/core/src/middles/nodes/{cube.model.js.map → basic/cube.model.js.map} +0 -0
- /package/core/src/middles/nodes/{cube.rect.js.map → basic/cube.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{diamond.js → basic/diamond.js} +0 -0
- /package/core/src/middles/nodes/{diamond.js.map → basic/diamond.js.map} +0 -0
- /package/core/src/middles/nodes/{diamond.rect.js.map → basic/diamond.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{file.js → basic/file.js} +0 -0
- /package/core/src/middles/nodes/{file.js.map → basic/file.js.map} +0 -0
- /package/core/src/middles/nodes/{image.anchor.js.map → basic/image.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{image.rect.js.map → basic/image.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{line.anchor.js.map → basic/line.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{line.js → basic/line.js} +0 -0
- /package/core/src/middles/nodes/{line.js.map → basic/line.js.map} +0 -0
- /package/core/src/middles/nodes/{line.rect.js.map → basic/line.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{message.anchor.js.map → basic/message.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{message.js → basic/message.js} +0 -0
- /package/core/src/middles/nodes/{message.js.map → basic/message.js.map} +0 -0
- /package/core/src/middles/nodes/{message.rect.js.map → basic/message.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagon.anchor.js.map → basic/pentagon.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagon.js → basic/pentagon.js} +0 -0
- /package/core/src/middles/nodes/{pentagon.js.map → basic/pentagon.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagon.rect.js.map → basic/pentagon.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagram.anchor.js.map → basic/pentagram.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagram.js → basic/pentagram.js} +0 -0
- /package/core/src/middles/nodes/{pentagram.js.map → basic/pentagram.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagram.rect.js.map → basic/pentagram.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{people.js → basic/people.js} +0 -0
- /package/core/src/middles/nodes/{people.js.map → basic/people.js.map} +0 -0
- /package/core/src/middles/nodes/{people.rect.js.map → basic/people.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{rectangle.js.map → basic/rectangle.js.map} +0 -0
- /package/core/src/middles/nodes/{rectangle.rect.js.map → basic/rectangle.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{text.js → basic/text.js} +0 -0
- /package/core/src/middles/nodes/{text.js.map → basic/text.js.map} +0 -0
- /package/core/src/middles/nodes/{triangle.anchor.js.map → basic/triangle.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{triangle.js → basic/triangle.js} +0 -0
- /package/core/src/middles/nodes/{triangle.js.map → basic/triangle.js.map} +0 -0
- /package/core/src/middles/nodes/{triangle.rect.js.map → basic/triangle.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{hexagon.anchor.js.map → flow/hexagon.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{hexagon.js → flow/hexagon.js} +0 -0
- /package/core/src/middles/nodes/{hexagon.js.map → flow/hexagon.js.map} +0 -0
- /package/core/src/middles/nodes/{hexagon.rect.js.map → flow/hexagon.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{formtable.js → form/formtable.js} +0 -0
- /package/core/src/middles/nodes/{progress.js → form/progress.js} +0 -0
- /package/core/src/middles/nodes/{progress.js.map → form/progress.js.map} +0 -0
- /package/core/src/middles/nodes/{switchs.d.ts → form/switchs.d.ts} +0 -0
- /package/core/src/middles/nodes/{switchs.js → form/switchs.js} +0 -0
- /package/core/src/middles/nodes/{tablePagination.js → form/tablePagination.js} +0 -0
- /package/core/src/middles/nodes/{time.js → form/time.js} +0 -0
- /package/static/{echartsDefaultData.js → echarts.js} +0 -0
|
@@ -17,7 +17,7 @@ export function setInitNodeDataValidat(node, TID, type, order, options) {
|
|
|
17
17
|
|
|
18
18
|
node.TID = TID;
|
|
19
19
|
|
|
20
|
-
if(options.pageId){
|
|
20
|
+
if(options && options.pageId){
|
|
21
21
|
// tabs页面元件偏移量计算
|
|
22
22
|
node.rect.x += options.x;
|
|
23
23
|
node.rect.y += options.y;
|
|
@@ -56,10 +56,8 @@ export function setInitNodeDataValidat(node, TID, type, order, options) {
|
|
|
56
56
|
// 初始化默认节点值
|
|
57
57
|
export function initDefaultValidat(node, retData) {
|
|
58
58
|
node.defaultFillStyle = node.fillStyle;
|
|
59
|
-
node.defaultFontColor = node.font.color;
|
|
60
|
-
|
|
61
|
-
node.defaultStrokeStyle = node.strokeStyle;
|
|
62
|
-
}
|
|
59
|
+
node.defaultFontColor = node.font && node.font.color;
|
|
60
|
+
node.defaultStrokeStyle = node.strokeStyle;
|
|
63
61
|
setPickerDateConnectData(node);
|
|
64
62
|
setVarBranchData(node, retData);
|
|
65
63
|
}
|
|
@@ -80,51 +78,51 @@ function setPickerDateConnectData(node) {
|
|
|
80
78
|
}
|
|
81
79
|
// 设置变量类型和支路地址的异步数据
|
|
82
80
|
function setVarBranchData(node, retData) {
|
|
83
|
-
if(!retData) return;
|
|
84
|
-
const componentData = retData.componentData;
|
|
85
|
-
let varData = null;
|
|
86
|
-
let branchNameData = null;
|
|
87
|
-
if(componentData && Object.keys(componentData).length) {
|
|
88
|
-
varData = componentData[node.id] || {};
|
|
89
|
-
branchNameData = componentData[node.id] || {};
|
|
90
|
-
}else {
|
|
91
|
-
varData = retData.varData;
|
|
92
|
-
branchNameData = retData.branchNameData;
|
|
93
|
-
}
|
|
94
|
-
const dataDictionary = {...varData, ...branchNameData};
|
|
81
|
+
if(!retData || !Array.isArray(node.data)) return;
|
|
95
82
|
// 变量类型数据展示,不需要实时更新
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
node.paddingTop = 0;
|
|
120
|
-
node.paddingTopNum = 0;
|
|
83
|
+
let varData = retData.varData || {};
|
|
84
|
+
let branchNameData = retData.branchNameData || {};
|
|
85
|
+
const dataDictionary = {...varData, ...branchNameData};
|
|
86
|
+
if(!Object.keys(dataDictionary).length) return;
|
|
87
|
+
let typeName = '';
|
|
88
|
+
let imgs = '';
|
|
89
|
+
const assetId = retData.asset && retData.asset.assetId;
|
|
90
|
+
node.data.forEach((vd) => {
|
|
91
|
+
const varNode = dataDictionary[vd.value] || dataDictionary[`${assetId}_${vd.value}`];
|
|
92
|
+
if(!varNode || !varNode.value || !['varValue', 'branchVal'].includes(vd.key)) return;
|
|
93
|
+
const showType = varNode.showType ? parseInt(varNode.showType) : 1;
|
|
94
|
+
if(showType === 1) {
|
|
95
|
+
|
|
96
|
+
typeName += typeName ? `,${varNode.value}` : varNode.value;
|
|
97
|
+
|
|
98
|
+
} else if(showType === 2) {
|
|
99
|
+
|
|
100
|
+
console.log('显示图标>>>');
|
|
101
|
+
|
|
102
|
+
} else if(showType === 3) {
|
|
103
|
+
|
|
104
|
+
imgs = `/dcim-api${varNode.value}`; //imgs += imgs ? `,${varData.value}` : varData.value;
|
|
105
|
+
|
|
121
106
|
}
|
|
107
|
+
});
|
|
108
|
+
if(typeName) node.text = typeName;
|
|
109
|
+
if(imgs) {
|
|
110
|
+
node.text = '';
|
|
111
|
+
node.image = imgs;
|
|
112
|
+
node.paddingBottom = 0;
|
|
113
|
+
node.paddingBottomNum = 0;
|
|
114
|
+
node.paddingLeft = 0;
|
|
115
|
+
node.paddingLeftNum = 0;
|
|
116
|
+
node.paddingRight = 0;
|
|
117
|
+
node.paddingRightNum = 0;
|
|
118
|
+
node.paddingTop = 0;
|
|
119
|
+
node.paddingTopNum = 0;
|
|
122
120
|
}
|
|
123
121
|
}
|
|
124
122
|
// 初始化mqtt实时值
|
|
125
123
|
export function setDefaultNodeValidat(node, retData) {
|
|
126
124
|
//const item = JSON.parse(JSON.stringify(node));
|
|
127
|
-
if (!retData) return;
|
|
125
|
+
if (!node.events || !node.events.length || !retData) return;
|
|
128
126
|
//const node = detailData.length > 0 ? detailData : syncData
|
|
129
127
|
const functionData = node.events.filter((ev) => {
|
|
130
128
|
return ev.action === EventAction.Function
|
|
@@ -64,6 +64,23 @@ export interface ConfAssociateDateValueShowType {
|
|
|
64
64
|
real?:number; // 实时值
|
|
65
65
|
date?:number; // 日期值
|
|
66
66
|
}
|
|
67
|
+
export enum DateBindType {
|
|
68
|
+
// 字符串别名
|
|
69
|
+
TAG = 'tag', // 测点
|
|
70
|
+
KPI = 'kpi', // 指标
|
|
71
|
+
ASSET = 'asset', // 资产
|
|
72
|
+
AREA = 'area', // 区域
|
|
73
|
+
VAR_TYPE = 'varType', // 变量类型
|
|
74
|
+
BRANCH = 'branch', // 支路地址
|
|
75
|
+
VIDEO = 'video', // 视频
|
|
76
|
+
// 数字值
|
|
77
|
+
tag = 0, // 测点
|
|
78
|
+
kpi = 1, // 指标
|
|
79
|
+
asset = 2, // 资产
|
|
80
|
+
area = 3, // 区域
|
|
81
|
+
varType = 4, // 变量类型
|
|
82
|
+
branch = 5 // 支路地址
|
|
83
|
+
}
|
|
67
84
|
export const moveDataType: MoveDataType;
|
|
68
85
|
export const downDataType: DownDataType;
|
|
69
86
|
export const previewType: PreviewType;
|
|
@@ -72,3 +89,4 @@ export const selectStaticType: SelectStaticType;
|
|
|
72
89
|
export const datePickerBindType: DatePickerBindType;
|
|
73
90
|
export const confBindValueType: ConfBindValueType;
|
|
74
91
|
export const confAssociateDateValueShowType: ConfAssociateDateValueShowType;
|
|
92
|
+
export const dataBindType: DateBindType;
|
|
@@ -61,4 +61,27 @@ export const confBindValueType = {
|
|
|
61
61
|
export const confAssociateDateValueShowType = {
|
|
62
62
|
real: 1, // 实时值
|
|
63
63
|
date: 2 // 日期值
|
|
64
|
+
};
|
|
65
|
+
export const dataBindType = {
|
|
66
|
+
// 字符串别名
|
|
67
|
+
TAG: 'tag', // 测点
|
|
68
|
+
KPI: 'kpi', // 指标
|
|
69
|
+
ASSET: 'asset', // 资产
|
|
70
|
+
AREA: 'area', // 区域
|
|
71
|
+
VAR_TYPE: 'varType', // 变量类型
|
|
72
|
+
BRANCH: 'branch', // 支路地址
|
|
73
|
+
VIDEO: 'video', // 视频
|
|
74
|
+
// 数字值
|
|
75
|
+
tag: 0, // 测点
|
|
76
|
+
'0': 'tag',
|
|
77
|
+
kpi: 1, // 指标
|
|
78
|
+
'1': 'kpi',
|
|
79
|
+
asset: 2, // 资产
|
|
80
|
+
'2': 'asset',
|
|
81
|
+
area: 3, // 区域
|
|
82
|
+
'3': 'area',
|
|
83
|
+
varType: 4, // 变量类型
|
|
84
|
+
'4': 'varType',
|
|
85
|
+
branch: 5, // 支路地址
|
|
86
|
+
'5': 'branch'
|
|
64
87
|
};
|
|
@@ -6,10 +6,8 @@ export declare function tabStaticOperation(type: string, node: Node, areaData: a
|
|
|
6
6
|
export declare function tabHideShowOperation(node: any, areaData: any, visible: boolean): void;
|
|
7
7
|
export declare function getEchartsRealData(node: {}, data: []): void;
|
|
8
8
|
export declare function setInitConfData(id: string, data: object): void;
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
12
|
-
|
|
13
|
-
export declare function
|
|
14
|
-
export declare function setBranchAddressData(data: any): [];
|
|
15
|
-
export declare function setThreeCategoryIdData(pen: Node, data: any): [];
|
|
9
|
+
export declare function setConfBindPointMonitorData(type: number, eventNode: object, data: any): {};
|
|
10
|
+
export declare function createEchartsLineIcon(type: number, pen: Node, data: any): {};
|
|
11
|
+
export declare function bindDataConfig(item: object, type: number): {};
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
export declare function hasBoundData(boundData: Set<string>, item: object, type: number): boolean;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import {commonStore} from '../store';
|
|
2
2
|
import {setElementSwitchTabState} from '../element';
|
|
3
|
-
import {echartsStaticType} from '../utils';
|
|
3
|
+
import {echartsStaticType, dataBindType} from '../utils';
|
|
4
4
|
import {datePickerType, datePickerTypeList} from "../../../store";
|
|
5
|
+
import {echartsInitRealDataPoll} from "../../../store";
|
|
6
|
+
import {svgEchartsLineData} from "../../../static";
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* yyyy-MM-dd 格式转换
|
|
@@ -147,28 +149,35 @@ export function getTabConnectSHConf(node) {
|
|
|
147
149
|
* Tab 数据统计
|
|
148
150
|
* @param type 统计类型
|
|
149
151
|
* @param node 元件数据
|
|
150
|
-
* @param
|
|
152
|
+
* @param index tab展示区域索引
|
|
151
153
|
* @param params Tab 切换选中参数
|
|
152
154
|
*/
|
|
153
|
-
export function tabStaticOperation(type, node,
|
|
154
|
-
if(!
|
|
155
|
-
const curentEchart = areaData && areaData[node.bindStaticId]; // 获取当前点中的节点绑定的统计图表数据
|
|
156
|
-
if(!curentEchart || !curentEchart.data.params) return console.log('未能找到匹配的echarts图表>>>');
|
|
155
|
+
export function tabStaticOperation(type, node, index, params) {
|
|
156
|
+
if(!(echartsStaticType.includes(type) || type === 'OTHER')) return;
|
|
157
157
|
const currentStore = commonStore[node.TID];
|
|
158
|
-
const echartNode = currentStore.data.pens[
|
|
159
|
-
if(type === 'OTHER') {
|
|
158
|
+
const echartNode = currentStore.data.pens[index]; // 获取tab 绑定的图表元件数据
|
|
159
|
+
if(type === 'OTHER' || type === 'CUSTOMIZE') {
|
|
160
160
|
const tabCorrelationType = currentStore.echartsDataPool[node.bindStaticId].tabCorrelationType; // 获取select与tab关联的标识
|
|
161
161
|
const optionNode = currentStore.echartsOptionsPool[node.bindStaticId];
|
|
162
|
+
const order = params.order;
|
|
162
163
|
if(tabCorrelationType === 'select') {
|
|
163
164
|
// tab类型为包含在select下的切换则执行下面的逻辑
|
|
164
|
-
echartNode.data.params['tabVisitOrder'] =
|
|
165
|
+
echartNode.data.params['tabVisitOrder'] = order;
|
|
165
166
|
}else {
|
|
166
167
|
// 非 年、月、日、周、实时类型的切换
|
|
167
|
-
|
|
168
|
-
if
|
|
168
|
+
let echartsRealData = null;
|
|
169
|
+
if(node.formData.dateId) {
|
|
170
|
+
// 绑定了日期元件的逻辑处理
|
|
171
|
+
echartsRealData = echartsInitRealDataPoll[node.bindStaticId][order];
|
|
172
|
+
}else {
|
|
173
|
+
const groupData = currentStore.selectRealDataPool[node.bindStaticId];
|
|
174
|
+
echartsRealData = currentStore.echartsRealDataPool[groupData[order].id];
|
|
175
|
+
}
|
|
176
|
+
if (optionNode) currentStore.echartsRealDataPool[optionNode.data.id] = echartsRealData;
|
|
169
177
|
}
|
|
170
178
|
if(optionNode) optionNode.data.tabData = {
|
|
171
179
|
type,
|
|
180
|
+
index: order,
|
|
172
181
|
data: params.data
|
|
173
182
|
};
|
|
174
183
|
}
|
|
@@ -200,6 +209,8 @@ export function tabHideShowOperation(node, areaData, isActive) {
|
|
|
200
209
|
* @param data 实时数据
|
|
201
210
|
*/
|
|
202
211
|
export function getEchartsRealData(node, data){
|
|
212
|
+
if(!data.length) return;
|
|
213
|
+
if(!echartsInitRealDataPoll[node.id]) echartsInitRealDataPoll[node.id] = data;
|
|
203
214
|
const currentStore = commonStore[node.TID];
|
|
204
215
|
if(!currentStore.selectRealDataPool[node.id]) {
|
|
205
216
|
const selectData = [];
|
|
@@ -216,13 +227,16 @@ export function getEchartsRealData(node, data){
|
|
|
216
227
|
currentStore.selectRealDataPool[node.id] = selectData;
|
|
217
228
|
}else {
|
|
218
229
|
const selectId = currentStore.echartsDataPool[node.id] && currentStore.echartsDataPool[node.id].bindId;
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
//
|
|
222
|
-
currentStore.echartsRealDataPool[node.id] = currentStore.echartsRealDataPool[
|
|
230
|
+
if(selectId) {
|
|
231
|
+
const selected = currentStore.selectDataPool[selectId] && currentStore.selectDataPool[selectId].node.selected;
|
|
232
|
+
const id = selected && selected.id; // 选中的下拉节点id
|
|
233
|
+
currentStore.echartsRealDataPool[node.id] = currentStore.echartsRealDataPool[id];
|
|
223
234
|
}else {
|
|
224
|
-
currentStore.
|
|
235
|
+
const echartsOptionsData = currentStore.echartsOptionsPool[node.id].data;
|
|
236
|
+
const id = echartsOptionsData.tabData && echartsOptionsData.tabData.index || 0; // 实时数据索引id
|
|
237
|
+
currentStore.echartsRealDataPool[node.id] = data[id];
|
|
225
238
|
}
|
|
239
|
+
currentStore.echartsOptionsPool[node.id].data.targetChange = false;
|
|
226
240
|
}
|
|
227
241
|
}
|
|
228
242
|
export function setInitConfData(id, data){
|
|
@@ -242,8 +256,175 @@ export function setInitConfData(id, data){
|
|
|
242
256
|
if(data.name === 'echarts') initNode.data = data.data;
|
|
243
257
|
commonStore[id].initConfNode[data.id] = initNode;
|
|
244
258
|
}
|
|
245
|
-
export function
|
|
246
|
-
return
|
|
259
|
+
export function setConfBindPointMonitorData(type, eventNode, data) {
|
|
260
|
+
if(eventNode.action !== 14) return;
|
|
261
|
+
eventNode.data.type = type;
|
|
262
|
+
if(type === 0) {
|
|
263
|
+
// 测点
|
|
264
|
+
const { tagId, tagName, assetId } = data;
|
|
265
|
+
eventNode.data.name = tagName;
|
|
266
|
+
eventNode.data.id = tagId;
|
|
267
|
+
eventNode.data.assetId = assetId;
|
|
268
|
+
}else if(type === 1) {
|
|
269
|
+
// 指标
|
|
270
|
+
const { kpiId, kpiAddr, devId, kpiName } = data;
|
|
271
|
+
eventNode.data.name = kpiName;
|
|
272
|
+
eventNode.data.id = kpiId;
|
|
273
|
+
eventNode.data.kpiAddr = kpiAddr;
|
|
274
|
+
eventNode.data.assetId = devId;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* 生成echartsLine小图标节点数据
|
|
279
|
+
* @param type 绑定的数据类型
|
|
280
|
+
* @param pen 元件节点数据
|
|
281
|
+
* @param data 绑定的数据
|
|
282
|
+
* @returns {{rect: {width: number, height: number}, path: string[], strokeStyle: string, name: string, lineWidth: number}}
|
|
283
|
+
*/
|
|
284
|
+
export function createEchartsLineIcon(type, pen, data) {
|
|
285
|
+
const node = {...svgEchartsLineData};
|
|
286
|
+
let eventNode = {
|
|
287
|
+
action: 14,
|
|
288
|
+
type: 0,
|
|
289
|
+
data: {}
|
|
290
|
+
};
|
|
291
|
+
setConfBindPointMonitorData(type, eventNode, data);
|
|
292
|
+
node.events = [eventNode];
|
|
293
|
+
node.rect.x = pen.rect.x + pen.rect.width;
|
|
294
|
+
if(pen.name === 'text') {
|
|
295
|
+
node.rect.height = pen.rect.height - 12;
|
|
296
|
+
node.rect.y = pen.rect.y + (pen.rect.height - node.rect.height)/2;
|
|
297
|
+
}else {
|
|
298
|
+
node.rect.y = pen.rect.y;
|
|
299
|
+
node.rect.height = pen.rect.height;
|
|
300
|
+
}
|
|
301
|
+
node.rect.width = node.rect.height;
|
|
302
|
+
return node;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* 绑定类型 -> 配置映射(
|
|
306
|
+
*/
|
|
307
|
+
const BIND_CONFIG_MAP = {
|
|
308
|
+
[dataBindType.TAG]: {
|
|
309
|
+
nameKey: 'tagName',
|
|
310
|
+
dataFn: setTagIdData,
|
|
311
|
+
titleKey: 'touchpname',
|
|
312
|
+
},
|
|
313
|
+
[dataBindType.KPI]: {
|
|
314
|
+
nameKey: 'kpiName',
|
|
315
|
+
dataFn: setKpiAddrData,
|
|
316
|
+
},
|
|
317
|
+
[dataBindType.ASSET]: {
|
|
318
|
+
nameKey: 'name',
|
|
319
|
+
dataFn: setAssetIdData,
|
|
320
|
+
titleKey: 'bak',
|
|
321
|
+
hasChildren: true,
|
|
322
|
+
},
|
|
323
|
+
[dataBindType.AREA]: {
|
|
324
|
+
nameKey: 'name',
|
|
325
|
+
dataFn: setAreaIdData,
|
|
326
|
+
},
|
|
327
|
+
[dataBindType.VAR_TYPE]: {
|
|
328
|
+
nameKey: 'name',
|
|
329
|
+
dataFn: setVarValueData,
|
|
330
|
+
},
|
|
331
|
+
[dataBindType.BRANCH]: {
|
|
332
|
+
nameKey: 'value',
|
|
333
|
+
dataFn: setBranchAddressData,
|
|
334
|
+
},
|
|
335
|
+
};
|
|
336
|
+
export function bindDataConfig(item, type) {
|
|
337
|
+
const itemNode = item && item.default || item;
|
|
338
|
+
const node = {
|
|
339
|
+
data: [],
|
|
340
|
+
events: [],
|
|
341
|
+
children: [],
|
|
342
|
+
title: '',
|
|
343
|
+
bindName: ''
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
// 视频类型单独处理
|
|
347
|
+
if (type === dataBindType.VIDEO) {
|
|
348
|
+
node.title = itemNode.params.name || '';
|
|
349
|
+
node.events = itemNode ? [itemNode] : [];
|
|
350
|
+
return node;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
const key = dataBindType[type];
|
|
354
|
+
const config = BIND_CONFIG_MAP[key];
|
|
355
|
+
if (!config) return node;
|
|
356
|
+
|
|
357
|
+
// 绑定名称
|
|
358
|
+
node.bindName = itemNode[config.nameKey] || '';
|
|
359
|
+
|
|
360
|
+
// 绑定数据
|
|
361
|
+
const dataList = config.dataFn(itemNode) || [];
|
|
362
|
+
node.data.push(...dataList);
|
|
363
|
+
|
|
364
|
+
// 绑定标题
|
|
365
|
+
if (config.titleKey) node.title = itemNode[config.titleKey] || '';
|
|
366
|
+
|
|
367
|
+
// 资产:温湿度子节点
|
|
368
|
+
if (config.hasChildren && item.isHumiture) node.children = setHumitureBindData(item, type) || [];
|
|
369
|
+
|
|
370
|
+
return node;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* 校验:即将绑定的数据中是否存在已绑定的数据
|
|
375
|
+
* @param boundData 已绑定的数据
|
|
376
|
+
* @param item 绑定节点数据
|
|
377
|
+
* @param type 绑定的数据类型
|
|
378
|
+
*/
|
|
379
|
+
export function hasBoundData(boundData, item, type) {
|
|
380
|
+
let isSkip = false;
|
|
381
|
+
switch (type) {
|
|
382
|
+
case dataBindType.tag:
|
|
383
|
+
isSkip = boundData.has(item.tagId);
|
|
384
|
+
break;
|
|
385
|
+
case dataBindType.kpi:
|
|
386
|
+
isSkip = boundData.has(`${item.kpiId}_${item.kpiAddr}`);
|
|
387
|
+
break;
|
|
388
|
+
case dataBindType.asset:
|
|
389
|
+
case dataBindType.area:
|
|
390
|
+
case dataBindType.varType:
|
|
391
|
+
isSkip = boundData.has(item.id);
|
|
392
|
+
break;
|
|
393
|
+
case dataBindType.branch:
|
|
394
|
+
isSkip = boundData.has(item.value);
|
|
395
|
+
break;
|
|
396
|
+
}
|
|
397
|
+
return isSkip;
|
|
398
|
+
}
|
|
399
|
+
function setHumitureBindData(item, type) {
|
|
400
|
+
// 初始化子节点列表
|
|
401
|
+
const children = [];
|
|
402
|
+
|
|
403
|
+
// 通讯状态节点
|
|
404
|
+
children.push(bindDataConfig(item.default, type));
|
|
405
|
+
|
|
406
|
+
// 温度节点
|
|
407
|
+
if (item.temperature) children.push({ data: setTagIdData(item.temperature) });
|
|
408
|
+
|
|
409
|
+
// 湿度节点(存在才添加)
|
|
410
|
+
if (item.dampness) children.push({ data: setTagIdData(item.dampness) });
|
|
411
|
+
|
|
412
|
+
// 统一给所有子节点设置 MQTT 事件
|
|
413
|
+
const mqttEvent = [{ type: 3, action: 2, value: '', show: true }];
|
|
414
|
+
children.forEach(sub => {
|
|
415
|
+
if (sub) sub.events = mqttEvent;
|
|
416
|
+
});
|
|
417
|
+
|
|
418
|
+
return children;
|
|
419
|
+
}
|
|
420
|
+
// 测点数据配置
|
|
421
|
+
function setTagIdData(data) {
|
|
422
|
+
//用于处理场地监控,点击一个资产类别后,隐藏掉这个类别下的所有元件
|
|
423
|
+
const threeCategory = [{
|
|
424
|
+
"key": "threeCategoryId",
|
|
425
|
+
"value": data.threeCategoryId
|
|
426
|
+
}];
|
|
427
|
+
return [...threeCategory, {
|
|
247
428
|
"key": "tagId",
|
|
248
429
|
"value": data.tagId,
|
|
249
430
|
"isControlDis": data.isControlDis,
|
|
@@ -256,7 +437,8 @@ export function setTagIdData(data) {
|
|
|
256
437
|
"value": data.tagName
|
|
257
438
|
}];
|
|
258
439
|
}
|
|
259
|
-
|
|
440
|
+
// 指标数据配置
|
|
441
|
+
function setKpiAddrData(data) {
|
|
260
442
|
return [{
|
|
261
443
|
"key": "kpiAddr",
|
|
262
444
|
"value": data.kpiId + '_' + data.kpiAddr,
|
|
@@ -267,7 +449,8 @@ export function setKpiAddrData(data) {
|
|
|
267
449
|
"value": data.kpiName
|
|
268
450
|
}];
|
|
269
451
|
}
|
|
270
|
-
|
|
452
|
+
// 资产数据配置
|
|
453
|
+
function setAssetIdData(data) {
|
|
271
454
|
return [{
|
|
272
455
|
"key": "assetId",
|
|
273
456
|
"value": data.id
|
|
@@ -276,7 +459,8 @@ export function setAssetIdData(data) {
|
|
|
276
459
|
"value": data.name
|
|
277
460
|
}];
|
|
278
461
|
}
|
|
279
|
-
|
|
462
|
+
// 区域数据配置
|
|
463
|
+
function setAreaIdData(data) {
|
|
280
464
|
return [{
|
|
281
465
|
"key": "areaId",
|
|
282
466
|
"value": data.id
|
|
@@ -285,7 +469,8 @@ export function setAreaIdData(data) {
|
|
|
285
469
|
"value": data.name
|
|
286
470
|
}];
|
|
287
471
|
}
|
|
288
|
-
|
|
472
|
+
// 变量类型数据配置
|
|
473
|
+
function setVarValueData(data) {
|
|
289
474
|
return [{
|
|
290
475
|
"key": "varId",
|
|
291
476
|
"value": data.id
|
|
@@ -297,7 +482,8 @@ export function setVarValueData(data) {
|
|
|
297
482
|
"value": data.name
|
|
298
483
|
}];
|
|
299
484
|
}
|
|
300
|
-
|
|
485
|
+
// 支路地址数据配置
|
|
486
|
+
function setBranchAddressData(data) {
|
|
301
487
|
return [{
|
|
302
488
|
"key": "branchVal",
|
|
303
489
|
"value": data.value
|
|
@@ -306,7 +492,8 @@ export function setBranchAddressData(data) {
|
|
|
306
492
|
"value": data.key
|
|
307
493
|
}];
|
|
308
494
|
}
|
|
309
|
-
|
|
495
|
+
// 类别数据配置
|
|
496
|
+
function setThreeCategoryIdData(pen, data) {
|
|
310
497
|
let params = [];
|
|
311
498
|
const hasThreeCategoryId = pen.data.find((tc) => {
|
|
312
499
|
return tc.key === 'threeCategoryId' && tc.value === data.threeCategoryId;
|
|
@@ -316,4 +503,4 @@ export function setThreeCategoryIdData(pen, data) {
|
|
|
316
503
|
"value": data.threeCategoryId
|
|
317
504
|
}];
|
|
318
505
|
return params;
|
|
319
|
-
}
|
|
506
|
+
}
|
package/core/src/utils/params.js
CHANGED
package/myShape-diagram/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// 源码版写法
|
|
2
2
|
import { registerNode } from '../core'
|
|
3
|
-
import { formOverflow } from '../core/src/middles/nodes/formoverflow'
|
|
3
|
+
import { formOverflow } from '../core/src/middles/nodes/form/formoverflow'
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
// 组件版写法和bundle一致
|
|
@@ -155,7 +155,6 @@ export function pool(ctx, node) {
|
|
|
155
155
|
export function electricFan(ctx, node) {
|
|
156
156
|
var wwr = node.rect.width / 2;
|
|
157
157
|
var hwr = node.rect.height / 2;
|
|
158
|
-
var hwr = node.rect.height / 2;
|
|
159
158
|
var x0 = node.rect.x + node.rect.width /2
|
|
160
159
|
var y0 = node.rect.y + node.rect.height / 2
|
|
161
160
|
var withinRadius = wwr < hwr ? wwr : hwr;
|
package/package.json
CHANGED
package/static/icon.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const svgEchartsLineData = {
|
|
2
|
+
rect: {
|
|
3
|
+
width: 16,
|
|
4
|
+
height: 16
|
|
5
|
+
},
|
|
6
|
+
name: 'svgEchartsLine',
|
|
7
|
+
strokeStyle: '#3b82f6',
|
|
8
|
+
lineWidth: 1,
|
|
9
|
+
path: ['M85.333333 128a42.666667 42.666667 0 0 0-85.333333 0v682.666667a128 128 0 0 0 128 128h853.333333a42.666667 42.666667 0 1 0 0-85.333334H128a42.666667 42.666667 0 0 1-42.666667-42.666666V128z', 'M886.485333 332.672a42.666667 42.666667 0 1 0-63.232-57.344l-255.957333 282.24-115.498667-107.776a85.333333 85.333333 0 0 0-121.941333 5.632l-154.709333 173.653333a42.666667 42.666667 0 0 0 63.744 56.746667l154.709333-173.653333 115.498667 107.776a85.333333 85.333333 0 0 0 121.429333-5.077334l255.957333-282.197333z'],
|
|
10
|
+
}
|
package/static/index.js
CHANGED
package/store/actions.js
CHANGED
|
@@ -1,2 +1,16 @@
|
|
|
1
1
|
export const plugsPool = {};
|
|
2
|
-
export const tabsPageContentData = {};
|
|
2
|
+
export const tabsPageContentData = {};
|
|
3
|
+
export const echartsInitRealDataPoll = {}; // echarts 初始数据
|
|
4
|
+
// 单个或者批量为元件绑定数据时,若勾选了“点位监控”,则绑定数据的元件会与自动生成的图标进行关联,
|
|
5
|
+
// 1、移动时图标会跟随/2、元件被删除时图标会跟着一起删除;3、元件修改绑定的测点或指标数据,关联的图标也会自动修改绑定数据;
|
|
6
|
+
// 4、若元件修改绑定了除 “指标”或“测点”的其他数据,则关联的小图标会自动删除;
|
|
7
|
+
export const bindDataWithIconAssociationPool = new Map();
|
|
8
|
+
// 支持小图标跟随关联元件移动的属性
|
|
9
|
+
export const iconMotionData = {
|
|
10
|
+
width: true,
|
|
11
|
+
height: true,
|
|
12
|
+
x: true,
|
|
13
|
+
y: true
|
|
14
|
+
};
|
|
15
|
+
// SVG path实例数据
|
|
16
|
+
export const svgPathInstance = new Map();
|
package/store/clear.js
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
import {setEventListener} from "../core";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import {
|
|
3
|
+
tabsPageContentData,
|
|
4
|
+
echartsInitRealDataPoll,
|
|
5
|
+
bindDataWithIconAssociationPool,
|
|
6
|
+
svgPathInstance
|
|
7
|
+
} from "./actions";
|
|
8
|
+
function removeDomNodeElement(domNode) {
|
|
9
|
+
for (let ele of Object.keys(domNode)) {
|
|
10
|
+
ele.parentNode.removeChild(ele);
|
|
6
11
|
}
|
|
12
|
+
}
|
|
13
|
+
function deleteDataPoolNode(domNode) {
|
|
14
|
+
if(!Object.keys(domNode).length) return;
|
|
15
|
+
for (let [key, node] of Object.entries(domNode)) {
|
|
16
|
+
node.dom && removeDomNodeElement(node.dom);
|
|
17
|
+
delete domNode[key];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export const removeDefineElement = function (){
|
|
21
|
+
deleteDataPoolNode(tabsPageContentData);
|
|
7
22
|
const documentDefineEle = document.querySelectorAll('.documentDefine');
|
|
8
23
|
if(documentDefineEle) {
|
|
9
24
|
documentDefineEle.forEach(function(element) {
|
|
@@ -11,4 +26,52 @@ export const removeAllElement = function (){
|
|
|
11
26
|
element.parentNode.removeChild(element);
|
|
12
27
|
});
|
|
13
28
|
}
|
|
29
|
+
}
|
|
30
|
+
export function clearElementDataPool(data) {
|
|
31
|
+
bindDataWithIconAssociationPool.clear();
|
|
32
|
+
svgPathInstance.clear();
|
|
33
|
+
const {
|
|
34
|
+
echartsDataPool,
|
|
35
|
+
selectDataPool,
|
|
36
|
+
iframeDataPool,
|
|
37
|
+
formoverDataPool,
|
|
38
|
+
formoverCanvasDataPool,
|
|
39
|
+
timeDataPool
|
|
40
|
+
} = data;
|
|
41
|
+
for (let [key, node] of Object.entries(echartsDataPool)) {
|
|
42
|
+
if(node) {
|
|
43
|
+
clearInterval(node.timeTicket);
|
|
44
|
+
if(node.chart) {
|
|
45
|
+
node.chart.off('mouseover');
|
|
46
|
+
node.chart.off('mouseout');
|
|
47
|
+
node.chart.off('globalout');
|
|
48
|
+
node.chart.dispose();
|
|
49
|
+
}
|
|
50
|
+
if(node.div && node.div.parentNode) node.div.parentNode.removeChild(node.div);
|
|
51
|
+
}
|
|
52
|
+
delete data.echartsDataPool[key];
|
|
53
|
+
}
|
|
54
|
+
if(Object.keys(selectDataPool).length) {
|
|
55
|
+
let dropdownEle = null,
|
|
56
|
+
dropdownListEle = null;
|
|
57
|
+
for (let [key, node] of Object.entries(selectDataPool)) {
|
|
58
|
+
if(!dropdownEle) {
|
|
59
|
+
dropdownEle = node.dom.selectDropdown;
|
|
60
|
+
dropdownListEle = node.dom.selectDropdownUl;
|
|
61
|
+
}
|
|
62
|
+
if(node.dom.selectEle && node.dom.selectEle.parentNode) node.dom.selectEle.parentNode.removeChild(node.dom.selectEle);
|
|
63
|
+
delete data.selectDataPool[key];
|
|
64
|
+
}
|
|
65
|
+
if(dropdownEle) dropdownEle.style.display = 'none';
|
|
66
|
+
if(dropdownListEle) dropdownListEle.innerHTML = '';
|
|
67
|
+
}
|
|
68
|
+
deleteDataPoolNode(iframeDataPool);
|
|
69
|
+
for (let key of Object.keys(formoverCanvasDataPool)) {
|
|
70
|
+
const elementNode = document.getElementById(key);
|
|
71
|
+
elementNode && elementNode.parentNode.removeChild(elementNode);
|
|
72
|
+
delete formoverCanvasDataPool[key];
|
|
73
|
+
}
|
|
74
|
+
deleteDataPoolNode(formoverDataPool);
|
|
75
|
+
deleteDataPoolNode(timeDataPool);
|
|
76
|
+
deleteDataPoolNode(echartsInitRealDataPoll);
|
|
14
77
|
}
|