dcim-topology2d 2.0.7 → 3.0.2

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.
Files changed (204) hide show
  1. package/activity-diagram/src/final/final.d.ts +1 -1
  2. package/activity-diagram/src/final/final.rect.d.ts +1 -1
  3. package/activity-diagram/src/final/final.rect.js +1 -1
  4. package/activity-diagram/src/fork/fork.anchor.d.ts +1 -1
  5. package/activity-diagram/src/fork/fork.anchor.js +1 -1
  6. package/activity-diagram/src/fork/fork.d.ts +1 -1
  7. package/activity-diagram/src/fork/fork.rect.d.ts +1 -1
  8. package/activity-diagram/src/fork/fork.rect.js +1 -1
  9. package/activity-diagram/src/register.js +1 -1
  10. package/activity-diagram/src/swimlaneH/swimlaneH.d.ts +1 -1
  11. package/activity-diagram/src/swimlaneH/swimlaneH.rect.d.ts +1 -1
  12. package/activity-diagram/src/swimlaneH/swimlaneH.rect.js +1 -1
  13. package/activity-diagram/src/swimlaneV/swimlaneV.d.ts +1 -1
  14. package/activity-diagram/src/swimlaneV/swimlaneV.rect.d.ts +1 -1
  15. package/activity-diagram/src/swimlaneV/swimlaneV.rect.js +1 -1
  16. package/chart-diagram/index.d.ts +1 -3
  17. package/chart-diagram/index.js +1 -2
  18. package/chart-diagram/src/echarts/index.d.ts +2 -1
  19. package/chart-diagram/src/echarts/index.js +104 -106
  20. package/chart-diagram/src/register.js +8 -9
  21. package/class-diagram/src/class/class.d.ts +1 -1
  22. package/class-diagram/src/class/class.rect.d.ts +1 -1
  23. package/class-diagram/src/class/class.rect.js +1 -1
  24. package/class-diagram/src/register.js +1 -1
  25. package/core/index.d.ts +0 -2
  26. package/core/index.js +0 -2
  27. package/core/src/activeLayer.d.ts +10 -2
  28. package/core/src/activeLayer.js +47 -42
  29. package/core/src/animateLayer.d.ts +7 -3
  30. package/core/src/animateLayer.js +12 -10
  31. package/core/src/calling.d.ts +4 -1
  32. package/core/src/calling.js +41 -43
  33. package/core/src/canvas.d.ts +6 -1
  34. package/core/src/canvas.js +18 -18
  35. package/core/src/common.d.ts +7 -6
  36. package/core/src/common.js +672 -333
  37. package/core/src/core.d.ts +4 -3
  38. package/core/src/core.js +367 -466
  39. package/core/src/divLayer.d.ts +36 -2
  40. package/core/src/divLayer.js +305 -33
  41. package/core/src/healps/changeData.d.ts +2 -1
  42. package/core/src/healps/changeData.js +66 -32
  43. package/core/src/hoverLayer.d.ts +9 -2
  44. package/core/src/hoverLayer.js +34 -31
  45. package/core/src/middles/default.d.ts +3 -1
  46. package/core/src/middles/default.js +51 -53
  47. package/core/src/middles/index.js +2 -3
  48. package/core/src/middles/nodes/arbitrarygraph.js +9 -11
  49. package/core/src/middles/nodes/pentagon.rect.js +1 -1
  50. package/core/src/middles/nodes/rectangle.rect.js +1 -1
  51. package/core/src/models/data.d.ts +26 -0
  52. package/core/src/models/data.js +77 -0
  53. package/core/src/models/data.js.map +1 -0
  54. package/core/src/models/index.d.ts +1 -0
  55. package/core/src/models/index.js +1 -0
  56. package/core/src/models/node.d.ts +0 -10
  57. package/core/src/models/node.js +32 -54
  58. package/core/src/models/pen.js +59 -19
  59. package/core/src/models/rect.js +2 -2
  60. package/core/src/mqtt.d.ts +14 -0
  61. package/core/src/mqtt.js +82 -0
  62. package/core/src/mqtt.js.map +1 -0
  63. package/core/src/offscreen.d.ts +4 -1
  64. package/core/src/offscreen.js +8 -10
  65. package/core/src/options.d.ts +1 -3
  66. package/core/src/options.js +0 -2
  67. package/core/src/poll.js +39 -0
  68. package/core/src/preview.d.ts +13 -1
  69. package/core/src/preview.js +43 -111
  70. package/core/src/renderLayer.d.ts +9 -11
  71. package/core/src/renderLayer.js +60 -48
  72. package/core/src/socket.d.ts +10 -0
  73. package/core/src/socket.js +51 -0
  74. package/core/src/socket.js.map +1 -0
  75. package/core/src/utils/canvas.js +1 -1
  76. package/core/src/utils/construction.d.ts +3 -12
  77. package/core/src/utils/construction.js +1 -8
  78. package/core/src/utils/conversion.d.ts +0 -11
  79. package/core/src/utils/conversion.js +0 -167
  80. package/core/src/utils/dom.d.ts +8 -0
  81. package/core/src/utils/dom.js +67 -0
  82. package/core/src/utils/dom.js.map +1 -0
  83. package/core/src/utils/index.d.ts +1 -2
  84. package/core/src/utils/index.js +1 -2
  85. package/core/src/utils/math.d.ts +0 -1
  86. package/core/src/utils/math.js +0 -3
  87. package/core/src/utils/onmousevent.d.ts +0 -3
  88. package/core/src/utils/onmousevent.js +8 -37
  89. package/flow-diagram/src/comment/comment.anchor.d.ts +1 -1
  90. package/flow-diagram/src/comment/comment.anchor.js +1 -1
  91. package/flow-diagram/src/comment/comment.d.ts +1 -1
  92. package/flow-diagram/src/data/data.anchor.d.ts +1 -1
  93. package/flow-diagram/src/data/data.anchor.js +1 -1
  94. package/flow-diagram/src/data/data.d.ts +1 -1
  95. package/flow-diagram/src/data/data.rect.d.ts +1 -1
  96. package/flow-diagram/src/data/data.rect.js +1 -1
  97. package/flow-diagram/src/db/db.d.ts +1 -1
  98. package/flow-diagram/src/db/db.rect.d.ts +1 -1
  99. package/flow-diagram/src/db/db.rect.js +1 -1
  100. package/flow-diagram/src/display/display.anchor.d.ts +1 -1
  101. package/flow-diagram/src/display/display.anchor.js +1 -1
  102. package/flow-diagram/src/display/display.d.ts +1 -1
  103. package/flow-diagram/src/display/display.rect.d.ts +1 -1
  104. package/flow-diagram/src/display/display.rect.js +1 -1
  105. package/flow-diagram/src/document/document.anchor.d.ts +1 -1
  106. package/flow-diagram/src/document/document.anchor.js +1 -1
  107. package/flow-diagram/src/document/document.d.ts +1 -1
  108. package/flow-diagram/src/document/document.rect.d.ts +1 -1
  109. package/flow-diagram/src/document/document.rect.js +1 -1
  110. package/flow-diagram/src/externStorage/externStorage.anchor.d.ts +1 -1
  111. package/flow-diagram/src/externStorage/externStorage.anchor.js +1 -1
  112. package/flow-diagram/src/externStorage/externStorage.d.ts +1 -1
  113. package/flow-diagram/src/externStorage/externStorage.rect.d.ts +1 -1
  114. package/flow-diagram/src/externStorage/externStorage.rect.js +1 -1
  115. package/flow-diagram/src/internalStorage/internalStorage.d.ts +1 -1
  116. package/flow-diagram/src/internalStorage/internalStorage.rect.d.ts +1 -1
  117. package/flow-diagram/src/internalStorage/internalStorage.rect.js +1 -1
  118. package/flow-diagram/src/manually/manually.anchor.d.ts +1 -1
  119. package/flow-diagram/src/manually/manually.anchor.js +1 -1
  120. package/flow-diagram/src/manually/manually.d.ts +1 -1
  121. package/flow-diagram/src/manually/manually.rect.d.ts +1 -1
  122. package/flow-diagram/src/manually/manually.rect.js +1 -1
  123. package/flow-diagram/src/parallel/parallel.anchor.d.ts +1 -1
  124. package/flow-diagram/src/parallel/parallel.anchor.js +1 -1
  125. package/flow-diagram/src/parallel/parallel.d.ts +1 -1
  126. package/flow-diagram/src/queue/queue.d.ts +1 -1
  127. package/flow-diagram/src/queue/queue.rect.d.ts +1 -1
  128. package/flow-diagram/src/queue/queue.rect.js +1 -1
  129. package/flow-diagram/src/register.js +1 -1
  130. package/flow-diagram/src/subprocess/subprocess.d.ts +1 -1
  131. package/flow-diagram/src/subprocess/subprocess.rect.d.ts +1 -1
  132. package/flow-diagram/src/subprocess/subprocess.rect.js +1 -1
  133. package/layout/src/align.d.ts +1 -1
  134. package/layout/src/align.js +1 -1
  135. package/layout/src/layout.d.ts +1 -1
  136. package/layout/src/layout.js +1 -1
  137. package/myShape-diagram/{index.js → myShape.js} +1 -4
  138. package/package.json +1 -1
  139. package/sequence-diagram/src/focus/focus.anchor.d.ts +1 -1
  140. package/sequence-diagram/src/focus/focus.anchor.js +1 -1
  141. package/sequence-diagram/src/focus/focus.d.ts +1 -1
  142. package/sequence-diagram/src/focus/focus.rect.d.ts +1 -1
  143. package/sequence-diagram/src/focus/focus.rect.js +1 -1
  144. package/sequence-diagram/src/lifeline/lifeline.anchor.d.ts +1 -1
  145. package/sequence-diagram/src/lifeline/lifeline.anchor.js +1 -1
  146. package/sequence-diagram/src/lifeline/lifeline.d.ts +1 -1
  147. package/sequence-diagram/src/lifeline/lifeline.rect.d.ts +1 -1
  148. package/sequence-diagram/src/lifeline/lifeline.rect.js +1 -1
  149. package/sequence-diagram/src/register.js +1 -1
  150. package/chart-diagram/src/utils/changeOptions.d.ts +0 -7
  151. package/chart-diagram/src/utils/changeOptions.js +0 -253
  152. package/chart-diagram/src/utils/conversion.d.ts +0 -18
  153. package/chart-diagram/src/utils/conversion.js +0 -399
  154. package/chart-diagram/src/utils/drawGraphic.d.ts +0 -3
  155. package/chart-diagram/src/utils/drawGraphic.js +0 -97
  156. package/chart-diagram/src/utils/formatter.d.ts +0 -1
  157. package/chart-diagram/src/utils/formatter.js +0 -129
  158. package/chart-diagram/src/utils/index.d.ts +0 -4
  159. package/chart-diagram/src/utils/index.js +0 -4
  160. package/chart-diagram/src/utils/render.d.ts +0 -8
  161. package/chart-diagram/src/utils/render.js +0 -199
  162. package/core/src/element/common.d.ts +0 -5
  163. package/core/src/element/common.js +0 -54
  164. package/core/src/element/iframe.d.ts +0 -3
  165. package/core/src/element/iframe.js +0 -12
  166. package/core/src/element/index.d.ts +0 -4
  167. package/core/src/element/index.js +0 -4
  168. package/core/src/element/select.d.ts +0 -11
  169. package/core/src/element/select.js +0 -263
  170. package/core/src/element/tab.d.ts +0 -1
  171. package/core/src/element/tab.js +0 -23
  172. package/core/src/middles/arrows/index.d.ts +0 -4
  173. package/core/src/middles/arrows/index.js +0 -5
  174. package/core/src/middles/lines/index.d.ts +0 -4
  175. package/core/src/middles/lines/index.js +0 -5
  176. package/core/src/middles/nodes/formoverflow.js +0 -61
  177. package/core/src/middles/nodes/formselect.d.ts +0 -2
  178. package/core/src/middles/nodes/formselect.js +0 -95
  179. package/core/src/middles/nodes/iframe.d.ts +0 -2
  180. package/core/src/middles/nodes/iframe.js +0 -29
  181. package/core/src/middles/nodes/index.d.ts +0 -48
  182. package/core/src/middles/nodes/index.js +0 -49
  183. package/core/src/store/common.d.ts +0 -9
  184. package/core/src/store/common.js +0 -5
  185. package/core/src/store/data.d.ts +0 -186
  186. package/core/src/store/data.js +0 -178
  187. package/core/src/store/index.d.ts +0 -2
  188. package/core/src/store/index.js +0 -2
  189. package/core/src/utils/assignment.d.ts +0 -6
  190. package/core/src/utils/assignment.js +0 -168
  191. package/core/src/utils/params.d.ts +0 -2
  192. package/core/src/utils/params.js +0 -60
  193. package/static/echartsDefaultData.js +0 -167
  194. package/static/element.js +0 -14
  195. package/static/form.js +0 -11
  196. package/static/index.js +0 -3
  197. package/store/actions.js +0 -1
  198. package/store/clear.js +0 -10
  199. package/store/index.js +0 -2
  200. package/style/common.css +0 -18
  201. package/style/editor.css +0 -13
  202. package/style/index.css +0 -4
  203. package/style/select.css +0 -143
  204. /package/myShape-diagram/{index.ts → myShape.ts} +0 -0
@@ -1,199 +0,0 @@
1
- import {echartsColorData} from "../../../static";
2
-
3
- /**
4
- * 折线和柱状图实时数据
5
- * @param option 图表配置数据
6
- * @param params 绑定的图表参数
7
- * @param data 实时图表数据
8
- */
9
- export function lineBarDataAuto(option, params, data) {
10
- const seriesNodes = option.series;
11
- if(data && data.XData) option.xAxis[0].data = data.XData;
12
- if(!(data && data.seriesData && data.seriesData.length)) return;
13
- if(params.tabCorrelationType) {
14
- // 如果操作类型是select下拉分组下的tab切换,执行下面的逻辑
15
- const realSeriesNode = data.seriesData[params.tabVisitOrder || 0];
16
- seriesNodes[0].data = realSeriesNode.data;
17
- if(realSeriesNode.name) seriesNodes[0].name = realSeriesNode.name;
18
- return;
19
- }
20
- if(seriesNodes.length > 1 || params && params.curveNum > 1){
21
- // 双曲线|柱状
22
- const legendData = [];
23
- let legendChange = false;
24
- seriesNodes.map((item, index) => {
25
- const seriesItem = data.seriesData[index];
26
- item.data = seriesItem ? seriesItem.data : [];
27
- // 获取角标数据
28
- if(seriesItem && seriesItem.name) {
29
- item.name = seriesItem.name;
30
- legendData.push(seriesItem.name);
31
- legendChange = true;
32
- }
33
- });
34
- if(option.legend && legendChange) option.legend.data = legendData; // 为角标数据赋值
35
- }else{
36
- if(!data.seriesData.length) return;
37
- let seriesData = [];
38
- for (let i = 0; i < data.seriesData.length; i++){
39
- const realSeriesNode = data.seriesData[i];
40
- const currSeriesNode = seriesNodes[i] ? seriesNodes[i] : JSON.parse(JSON.stringify(seriesNodes[0]));
41
- if(realSeriesNode.name) currSeriesNode.name = realSeriesNode.name;
42
- currSeriesNode.data = realSeriesNode.data;
43
- seriesData.push(currSeriesNode);
44
- }
45
- option.series = seriesData;
46
- }
47
- }
48
-
49
- export function barPileStaticDataAuto(option, data, appearance) {
50
- if(data && data.XData) option.yAxis[0].data = data.XData;
51
- if(!(data && data.seriesData && data.seriesData.length)) return;
52
- const seriesData = data.seriesData[0].data;
53
- option.series[0].data = seriesData;
54
- const data2 = [];
55
- for (let i = 0; i < seriesData.length; i++) {
56
- const dr = appearance.total[i] - Number(seriesData[i]);
57
- data2.push(dr);
58
- }
59
- option.series[1].data = data2;
60
- }
61
-
62
- /**
63
- * TOP排行-电量仪实时数据
64
- * @param option 图表配置数据
65
- * @param data 实时图表数据
66
- * @param appearance 自定义配置数据
67
- */
68
- export function topRankingListAuto(option, data, appearance) {
69
- if(data && data.XData) option.yAxis[0].data = data.XData;
70
- if(!(data && data.seriesData && data.seriesData.length)) return;
71
- if(appearance.type === 'TOPRanking') {
72
- if(appearance.total && appearance.total.length) return;
73
- option.series[0].data = data.seriesData[0].data;
74
- }else {
75
- const seriesData = data.seriesData[0].data;
76
- option.yAxis[1].data = seriesData;
77
- for (let i = 0; i < option.series.length; i++) {
78
- const node = option.series[i];
79
- node.symbolBoundingData = data.total;
80
- node.data = seriesData;
81
- }
82
- }
83
- }
84
- /**
85
- * 散点图-分数实时数据
86
- * @param option 图表配置数据
87
- * @param data 实时图表数据
88
- */
89
- export function scatterDataAuto(option, data) {
90
- if(data && data.XData) option.xAxis[0].data = data.XData;
91
- if(!(data && data.seriesData && data.seriesData.length)) return;
92
- const { scatterData, legend, yData } = convertScatter3DTo2D(data);
93
- option.legend.data = [...legend];
94
- option.yAxis[0].data = [...yData];
95
- for (let i = 0; i < option.series.length; i++) {
96
- const seriesNode = option.series[i];
97
- const name = option.legend.data[i];
98
- seriesNode.name = name;
99
- seriesNode.data = scatterData[name];
100
- }
101
- }
102
-
103
- function convertScatter3DTo2D(arr3d) {
104
- const { XData, seriesData } = arr3d;
105
- const scatterData = {};
106
- const legend = [];
107
- const yData = new Set();
108
- // 第一层遍历
109
- for (let d = 0, depth = seriesData.length; d < depth; d++) {
110
- const areaData = seriesData[d];
111
- const areaName = areaData.name;
112
- if(!scatterData[areaName]) scatterData[areaName] = [];
113
- legend.push(areaData.name);
114
- // 第二层遍历
115
- const statusData = areaData.data;
116
- for (let h = 0, height = statusData.length; h < height; h++) {
117
- const issues = statusData[h];
118
- const statusName = XData[h];
119
- // 第三层遍历
120
- for (let w = 0, width = issues.length; w < width; w++) {
121
- const { name, value } = issues[w];
122
- yData.add(name);
123
- if(value) scatterData[areaName].push([statusName, name, Number(value)]);
124
- }
125
- }
126
- }
127
- return {
128
- scatterData,
129
- legend,
130
- yData
131
- };
132
- }
133
-
134
- /**
135
- * 环形设备告警数量实时数据
136
- * @param option 图表配置数据
137
- * @param data 实时图表数据
138
- * @param total 总数
139
- * @param count 告警数
140
- */
141
- export function pieRingAssetTotalAuto(option, data, total, count) {
142
- if(data && data.length > 1) {
143
- total = parseInt(data[0].value);
144
- count = parseInt(data[1].value);
145
- }
146
- option.title.text = '{v|'+count+'}{unit|/'+total+'台}';
147
- const value1 = ((100 / total) * count).toFixed(6);
148
- option.series[0].data[0].value = value1;
149
- option.series[0].data[1].value = 100 - value1;
150
- }
151
-
152
- /**
153
- *
154
- * @param option 图表配置数据
155
- * @param data 实时图表数据
156
- * @param proportion 默认百分数
157
- */
158
- export function pieRingProportionAuto(option, data, proportion) {
159
- if(data && data.length) {
160
- proportion = Number(data[0].value);
161
- }
162
- if(!option.series[0].data[0].label.normal.formatter) option.series[0].data[0].label.normal.formatter = function(params){
163
- return params.value ? `{v|${params.value}}{unit|%}` : `{v|${params.value}}`;
164
- }
165
- option.series[0].data[0].value = proportion;
166
- option.series[0].data[1].value = 100 - proportion;
167
- }
168
-
169
- /**
170
- * 饼图环形图默认展示 实时数据
171
- * @param option 图表配置数据
172
- * @param data 实时图表数据
173
- */
174
- export function pieRingNormalAuto(option, data) {
175
- if(!(data && data.length)) return;
176
- const colors = option.color || echartsColorData;
177
- const seriesData = [];
178
- data.map((chd, index) => {
179
- seriesData.push({
180
- itemStyle: { color: colors[index] },
181
- name: chd.name,
182
- value: chd.value
183
- })
184
- })
185
- option.series[0].data = seriesData;
186
- }
187
-
188
- /**
189
- * 仪表盘默认展示 实时数据
190
- * @param option 图表配置数据
191
- * @param data 实时图表数据
192
- */
193
- export function gaugeNormalAuto(option, data) {
194
- if(!data) return;
195
- // 仪表盘分两种,分别有不同的取值方式,下面两行先注释掉
196
- // node.appearance.title.text = data.name;
197
- // option.title.text = data.name;
198
- option.series[0].data[0].value = data.value;
199
- }
@@ -1,5 +0,0 @@
1
- import { Node } from '../models';
2
- import { visualization2DStore } from '../store';
3
- export declare function setStyleForElementIdDiv(node: Node, elem: HTMLElement, data: visualization2DStore): void;
4
- export declare function createDiv(node: Node): HTMLDivElement;
5
- // export declare function loadJS(url: string, callback?: () => void, render?: boolean): void;
@@ -1,54 +0,0 @@
1
- import {Lock} from '../models';
2
- import {commonStore} from '../store';
3
- export function setStyleForElementIdDiv(node, elem, data) {
4
- if (!elem) return;
5
- const store = commonStore[node.TID].data;
6
- elem.style.position = 'absolute';
7
- elem.style.outline = 'none';
8
- elem.style.left = node.rect.x + 'px';
9
- elem.style.top = node.rect.y + 'px';
10
- elem.style.width = node.rect.width / store.pageZoom + 'px';
11
- elem.style.height = node.rect.height / store.pageZoom + 'px';
12
- if (node.rotate || node.offsetRotate) {
13
- elem.style.transform = "rotate(" + (node.rotate + node.offsetRotate) + "deg)";
14
- }
15
- if (data && data.locked > Lock.None || node.locked > Lock.None) {
16
- elem.style.userSelect = 'initial';
17
- elem.style.pointerEvents = 'initial';
18
- } else {
19
- elem.style.userSelect = 'none';
20
- elem.style.pointerEvents = 'none';
21
- }
22
- }
23
-
24
- // 创建div
25
- export function createDiv(node) {
26
- var div = document.createElement('div');
27
- div.setAttribute('class', 'topoEchart');
28
- div.style.position = 'absolute';
29
- div.style.outline = 'none';
30
- div.style.left = '-9999px';
31
- div.style.bottom = '-9999px';
32
- div.style.width = node.rect.width + 'px';
33
- div.style.height = node.rect.height + 'px';
34
- div.id = node.id;
35
- return div;
36
- }
37
-
38
- // export function loadJS(url, callback, render) {
39
- // var loaderScript = document.createElement('script');
40
- // loaderScript.type = 'text/javascript';
41
- // loaderScript.src = url;
42
- // loaderScript.addEventListener('load', function () {
43
- // if (callback) {
44
- // callback();
45
- // }
46
- // // how to do
47
- // if (render) {
48
- // Store.set('LT:render', true);
49
- // }
50
- // });
51
- // document.body.appendChild(loaderScript);
52
- // }
53
-
54
- //# sourceMappingURL=dom.js.map
@@ -1,3 +0,0 @@
1
- import { Node } from '../models';
2
-
3
- export declare function createIframeElement(node: Node): HTMLIFrameElement;
@@ -1,12 +0,0 @@
1
- // 创建iframe
2
- export function createIframeElement(node) {
3
- const iframe = document.createElement('iframe');
4
- // iframe.scrolling = 'no';
5
- iframe.frameBorder = '0';
6
- iframe.src = node.iframe;
7
- iframe.width = node.rect.width;
8
- iframe.height = node.rect.height;
9
- iframe.setAttribute('id', node.id);
10
- iframe.setAttribute('class', 'topology2dConfIfram');
11
- return iframe;
12
- }
@@ -1,4 +0,0 @@
1
- export * from './common';
2
- export * from './iframe';
3
- export * from './select';
4
- export * from './tab';
@@ -1,4 +0,0 @@
1
- export * from './common';
2
- export * from './iframe';
3
- export * from './select';
4
- export * from './tab';
@@ -1,11 +0,0 @@
1
- import { Node } from '../models';
2
-
3
- export declare function createSelectElement(node: Node): HTMLDivElement;
4
- export declare function createSelectDropdown(node: Node): HTMLDivElement;
5
- export declare function createSelectOptions(data: [], node: Node): string;
6
- export declare function getSelectedData(e: Event, data: any, editData: any): void;
7
- export declare function setSelectInteractiveState(selected: any, node: Node): void;
8
- export declare function resetSelectInteractiveState(node: Node): void;
9
- export declare function setSelectDropdownInteractiveState(node: any, staticType: any, type: any): void;
10
- export declare function setSelectElementPosition(node: Node, type: string): void;
11
- export declare function setSelectElementTheme(node: Node): void;
@@ -1,263 +0,0 @@
1
- import {Store} from 'le5le-store';
2
- import {commonStore} from "../store";
3
- import { setMapDataOptions } from '../../../chart-diagram';
4
- import {previewType, selectStaticType} from '../utils';
5
- import {setElementSwitchTabState} from './tab';
6
- let nodeId = '';
7
- let downId = '';
8
- // 创建下拉头
9
- export function createSelectElement(node) {
10
- const selectEle = document.createElement('div');
11
- const order = node.formData.selected && node.formData.selected.order || 0;
12
- const inputValue = commonStore[node.TID].selectDataPool[node.id].data[order] && commonStore[node.TID].selectDataPool[node.id].data[order].name;
13
- let attrName = 'topology-select-icon-arrow';
14
- if(node.selectDropdown) attrName += ' reverse';
15
- const children = `<i class="${attrName}"
16
- style="border-width: ${node.font.fontSize/2}px;border-bottom-width: 0;">
17
- </i><input type="text" placeholder="请选择" readonly
18
- value="${inputValue}"
19
- class="topology-select-input"
20
- style="font-size: ${node.font.fontSize}px;color: ${node.font.color ? node.font.color : '#fff'}"/>`;
21
- const themeType = node.formData.theme ? ` theme${node.formData.theme}` : '';
22
- selectEle.setAttribute('id', node.id);
23
- selectEle.setAttribute('class', `topology-select${themeType}`);
24
- selectEle.innerHTML = children;
25
- return selectEle;
26
- }
27
- // 创建下拉options容器
28
- export function createSelectDropdown(node) {
29
- const selectDropdownEle = document.createElement('div');
30
- let liElements = '';
31
- if(node.selectDropdown) {
32
- liElements = createSelectOptions(commonStore[node.TID].selectDataPool[node.id].data, node);
33
- selectDropdownEle.style.display = 'block';
34
- setSelectDropdownPosition(node, selectDropdownEle);
35
- }
36
- const children = `<i class="popper__arrow"></i><ul class="topology-select-dropdown-list">${liElements}</ul>`;
37
- const themeType = node.formData.theme ? ` theme${node.formData.theme}` : '';
38
- selectDropdownEle.style.width = `${node.rect.width}px`;
39
- selectDropdownEle.setAttribute('class', `topology-select-dropdown${themeType} documentDefine`);
40
- selectDropdownEle.innerHTML = children;
41
- return selectDropdownEle;
42
- }
43
- // 创建下拉options列表
44
- export function createSelectOptions(data, node) {
45
- const selectNode = commonStore[node.TID].selectDataPool[node.id];
46
- const selectDropdownUl = selectNode.dom.selectDropdownUl;
47
- if(selectDropdownUl) selectDropdownUl.innerHTML = '';
48
- let leElement = '';
49
- const order = selectNode.node.selected ? selectNode.node.selected.order : 0;
50
- for (let i = 0, length = data.length; i < length; i++) {
51
- let selected = i === order ? ' selected' : '';
52
- leElement += `<li
53
- class="topology-select-dropdown-item${selected}"
54
- type="option" data-order="${i}"
55
- style="height: ${node.rect.height}px;line-height: ${node.rect.height}px;font-size: ${node.font.fontSize}px;">
56
- <span>${data[i].name}</span>
57
- </li>`;
58
- }
59
- if(selectDropdownUl) {
60
- selectDropdownUl.innerHTML = leElement;
61
- }else {
62
- return leElement;
63
- }
64
- }
65
- // 配置下拉头的交互状态:展开时三角图标向上,否则向下
66
- export function setSelectInteractiveState(selected, node) {
67
- const selectNode = commonStore[node.TID].selectDataPool[node.id];
68
- selectNode.dom.selectIconArrow.style.display = selected ? 'none' : 'block';
69
- //selectNode.dom['selectRemove'].style.display = selected ? 'block' : 'none';
70
- }
71
- // 重置下拉状态
72
- export function resetSelectInteractiveState(node) {
73
- if(!node || !node.TID) return;
74
- const currentStore = commonStore[node.TID];
75
- if(!Object.keys(currentStore.selectDataPool).length) return;
76
- for (let data of Object.values(currentStore.selectDataPool)) {
77
- if(node && node.id !== data.node.id) {
78
- if(data.dom.selectIconArrow) data.dom.selectIconArrow.setAttribute('class', 'topology-select-icon-arrow');
79
- data.slideState = false;
80
- }
81
- }
82
- document.querySelector('.topology-select-dropdown').style.display = 'none';
83
- currentStore.elementInteractivePoor.node = null;
84
- }
85
-
86
- /**
87
- * 配置下拉options容器的交互状态,展开和收起
88
- * @param node 下拉元件节点数据
89
- * @param staticType 下拉功能类型:1: 数据统计;2:数据展示;3:显示隐藏
90
- * @param type 功能作用区域类型:Dcim,Topology,Logo
91
- */
92
- export function setSelectDropdownInteractiveState(node, staticType, type) {
93
- const currentStore = commonStore[node.TID];
94
- const selectNode = currentStore.selectDataPool[node.id];
95
- if(!selectNode.staticType) selectNode.staticType = staticType;
96
- if(!selectNode) return;
97
- if(downId !== node.id && type === previewType.Dcim) {
98
- // 点击的不是同一个下拉则重置交互样式,清空数据
99
- resetSelectInteractiveState(node);
100
- currentStore.elementInteractivePoor.options = null;
101
- }
102
- downId = node.id;
103
- currentStore.elementInteractivePoor.node = node;
104
- selectElementStore(node.id, node.TID);
105
- setSelectElementPosition(node);
106
- const { selectIconArrow, selectDropdown } = selectNode.dom;
107
- selectNode.slideState = !selectNode.slideState || node.selectDropdown; // 下拉展开状态
108
- let attrName = 'topology-select-icon-arrow';
109
- if(selectNode.slideState) {
110
- selectDropdown.style.display = 'block';
111
- attrName += ' reverse';
112
- }else {
113
- selectDropdown.style.display = 'none';
114
- attrName.replace(' reverse', '');
115
- }
116
- // 图标旋转
117
- selectIconArrow.setAttribute('class', attrName);
118
- // 添加列表数据
119
- if(!currentStore.elementInteractivePoor.options) createSelectOptions(selectNode.data, node);
120
- }
121
- // 配置下拉偏移位置
122
- export function setSelectElementPosition(node, type) {
123
- // 不同元件切换
124
- selectElementStore(node.id, node.TID);
125
- const selectNode = commonStore[node.TID].selectDataPool[node.id];
126
- if(type === 'down') {
127
- if(nodeId === node.id) return;
128
- commonStore[node.TID].elementInteractivePoor.options = null;
129
- createSelectOptions(selectNode.data, node);
130
- }
131
- nodeId = node.id;
132
- setSelectDropdownPosition(node, selectNode.dom.selectDropdown);
133
- }
134
- function setSelectDropdownPosition(node, selectDropdown) {
135
- const selectEle = commonStore[node.TID].selectDataPool[node.id].dom.selectEle;
136
- let left = selectEle.getBoundingClientRect().left; // 获取下拉元素距离窗体左侧位置
137
- let top = selectEle.getBoundingClientRect().top + node.rect.height;
138
- if(window.location.pathname.includes('workspace')) {
139
- // topol编辑器
140
- left = node.rect.x;
141
- top = node.rect.y + node.rect.height;
142
- }
143
- selectDropdown.style.left = `${left}px`;
144
- selectDropdown.style.top = `${top}px`;
145
- selectDropdown.style.width = `${node.rect.width}px`;
146
- const themeType = node.formData.theme ? ` theme${node.formData.theme}` : '';
147
- selectDropdown.setAttribute('class', `topology-select-dropdown${themeType} documentDefine`);
148
- }
149
-
150
- /**
151
- * 获取下拉选中的数据
152
- * @param e 节点选中事件
153
- * @param data 下拉元件节点数据
154
- * @param editData 编辑显下拉的数据
155
- */
156
- export function getSelectedData(e, data, editData) {
157
- const currentStore = commonStore[data.TID];
158
- const selectNode = currentStore.selectDataPool[data.id];
159
- if(!currentStore.elementInteractivePoor.options && data.selectDropdown) currentStore.elementInteractivePoor.options = selectNode.dom.selectDropdownUl.querySelectorAll('.topology-select-dropdown-item');
160
- let order = 0;
161
- let staticType = selectNode.staticType;
162
- if(!editData) {
163
- const parentNode = e.target.parentNode;
164
- const type = parentNode.getAttribute('type');
165
- if(type !== 'option') return;
166
- selectNode.slideState = false;
167
- selectNode.dom.selectDropdown.style.display = 'none';
168
- // 图标旋转
169
- selectNode.dom.selectIconArrow.setAttribute('class', 'topology-select-icon-arrow');
170
- // 选中节点操作
171
- order = parentNode.getAttribute('data-order');
172
- }else {
173
- order = editData.order;
174
- staticType = editData.staticType;
175
- }
176
- if(data.selectDropdown) {
177
- for(let i = 0, leng = currentStore.elementInteractivePoor.options.length; i < leng; i++) {
178
- let name = 'topology-select-dropdown-item';
179
- if(i == order) {
180
- name += ' selected';
181
- }else {
182
- name.replace(' selected', '');
183
- }
184
- currentStore.elementInteractivePoor.options[i].setAttribute('class', name);
185
- }
186
- }
187
- selectNode.optionOrder = order;
188
- const node = selectNode.data[order];
189
- selectNode.dom.selectEle.querySelector('.topology-select-input').value = node.name;
190
- selectNode.node.selected = {
191
- order: parseInt(order),
192
- id: node.id
193
- };
194
- if(staticType === selectStaticType.static) {
195
- // 数据统计
196
- const optionNode = data.formData.bindBlockId && currentStore.echartsOptionsPool[data.formData.bindBlockId];
197
- if(!optionNode) return;
198
- // 切换数据
199
- currentStore.echartsRealDataPool[optionNode.data.id] = currentStore.echartsRealDataPool[node.id];
200
- const isInitTable = initTabSwitchPage(data.formData.bindBlockTag, optionNode.data, currentStore);
201
- setMapDataOptions(optionNode.option, optionNode.data);
202
- if(isInitTable) Store.set(`${data.TID}-LT:render`, true);
203
- }
204
- if(staticType === selectStaticType.dataShow) {
205
- // 数据展示
206
- }
207
- if(staticType === selectStaticType.visible) {
208
- // 显示隐藏
209
- const optionsVisibleData = currentStore.selectTabDataPool[data.id];
210
- if(!optionsVisibleData || !optionsVisibleData.size) return;
211
- for(const [key, value] of optionsVisibleData){
212
- const eque = node.id === value.tag;
213
- currentStore.data.pens[value.order].visible = eque;
214
- currentStore.data.pens[value.order].visibleSwitch = eque;
215
- value.visible = eque;
216
- setElementSwitchTabState(value);
217
- }
218
- Store.set(`${data.TID}-LT:render`, true);
219
- }
220
- }
221
- // 初始化Tab页签选中状态
222
- function initTabSwitchPage(bindBlockTag, data, currentStore) {
223
- if(!bindBlockTag) return false;
224
- // 初始化分类选中状态
225
- const tabData = currentStore.switchTabDataPool[`${bindBlockTag}Data`]; // 获取Tab组数据
226
- if(!tabData) return false;
227
- const tabKeys = Object.keys(tabData);
228
- const pens = currentStore.data.pens;
229
- if(!tabKeys.length || !pens[tabData[tabKeys[0]].order].activeImgeIndex) return false; //Tab默认选中第一个页签就退出程序,不执行初始化状态
230
- let tabInit = false;
231
- for (let tabNode of Object.values(tabData)) {
232
- const penNode = pens[tabNode.order];
233
- if(!tabInit) {
234
- data.params.tabVisitOrder = 0;
235
- data.tabData = {
236
- type: '',
237
- data: tabNode.tabData
238
- };
239
- }
240
- if(penNode) {
241
- penNode.activeImgeIndex = tabInit;
242
- tabInit = true;
243
- }
244
- }
245
- return true;
246
- }
247
- // 配置下拉展示的主题风格
248
- export function setSelectElementTheme(node) {
249
- const themeType = node.formData.theme ? ` theme${node.formData.theme}` : '';
250
- const { selectEle, selectDropdown } = commonStore[node.TID].selectDataPool[node.id].dom;
251
- selectEle.setAttribute('class', `topology-select${themeType}`);
252
- selectDropdown.setAttribute('class', `topology-select-dropdown${themeType} documentDefine`);
253
- }
254
- // 存储下拉Dom节点
255
- function selectElementStore(id, TID) {
256
- const selectNode = commonStore[TID].selectDataPool[id];
257
- if(!selectNode.dom.selectIconArrow) selectNode.dom.selectIconArrow = selectNode.dom.selectEle.querySelector('.topology-select-icon-arrow');
258
- if(!selectNode.dom.selectDropdown) {
259
- selectNode.dom.selectDropdown = document.querySelector('.topology-select-dropdown');
260
- selectNode.dom.selectDropdownUl = document.querySelector('.topology-select-dropdown-list');
261
- selectNode.dom.selectDropdownLi = document.querySelectorAll('.topology-select-dropdown-item');
262
- }
263
- }
@@ -1 +0,0 @@
1
- export declare function setElementSwitchTabState(node: any): void;
@@ -1,23 +0,0 @@
1
- import {jsonLength} from '../utils';
2
- import {commonStore} from "../store";
3
- // 设置tab切换显示隐藏时的 Dom元件状态
4
- export function setElementSwitchTabState(node) {
5
- if(node.name !== 'echarts' && (!node.children || !node.children.length)) return;
6
- if(typeof commonStore[node.TID].elementInteractivePoor.elementDataLength !== 'number') {
7
- commonStore[node.TID].elementInteractivePoor.elementDataLength = jsonLength(commonStore[node.TID].echartsDataPool) || jsonLength(commonStore[node.TID].selectDataPool);
8
- }
9
- if(!commonStore[node.TID].elementInteractivePoor.elementDataLength) return;
10
- const ele = commonStore[node.TID].echartsDataPool[node.id] && commonStore[node.TID].echartsDataPool[node.id].div ||
11
- commonStore[node.TID].selectDataPool[node.id] && commonStore[node.TID].selectDataPool[node.id].dom.selectEle;
12
- if(ele) {
13
- ele.style.display = !node.visible ? 'none': 'block';
14
- }else {
15
- commonStore[node.TID].data.dataResize = 1;
16
- }
17
- if(node.children && node.children.length) {
18
- node.children.map((ch) => {
19
- ch.visible = node.visible;
20
- setElementSwitchTabState(ch);
21
- })
22
- }
23
- }
@@ -1,4 +0,0 @@
1
- export * from './circle';
2
- export * from './diamond';
3
- export * from './line';
4
- export * from './triangle';
@@ -1,5 +0,0 @@
1
- export * from './circle';
2
- export * from './diamond';
3
- export * from './line';
4
- export * from './triangle';
5
- //# sourceMappingURL=index.js.map
@@ -1,4 +0,0 @@
1
- export * from './curve';
2
- export * from './line';
3
- export * from './mind';
4
- export * from './polyline';
@@ -1,5 +0,0 @@
1
- export * from './curve';
2
- export * from './line';
3
- export * from './mind';
4
- export * from './polyline';
5
- //# sourceMappingURL=index.js.map