@riil-frontend/component-topology 4.0.12 → 4.0.15
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/build/index.js +1 -1
- package/es/core/components/TopoView/topoView.js +2 -2
- package/es/core/models/Alarm.js +53 -40
- package/es/core/models/GraphDataModel.js +7 -13
- package/es/core/models/TopoApp.js +1 -1
- package/es/hooks/useTopoEdit.js +2 -2
- package/es/models/topoConfig.js +1 -1
- package/es/utils/clusterUtil.js +9 -8
- package/es/utils/htElementUtils.js +28 -6
- package/lib/core/components/TopoView/topoView.js +2 -2
- package/lib/core/models/Alarm.js +54 -40
- package/lib/core/models/GraphDataModel.js +6 -12
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/hooks/useTopoEdit.js +2 -2
- package/lib/models/topoConfig.js +1 -1
- package/lib/utils/clusterUtil.js +9 -7
- package/lib/utils/htElementUtils.js +28 -6
- package/package.json +2 -2
|
@@ -128,8 +128,8 @@ var Topology = function Topology(props) {
|
|
|
128
128
|
}, []);
|
|
129
129
|
var handleGraphDataLoaded = useCallback(function () {
|
|
130
130
|
rlog.info("TopoView.handleGraphDataLoaded", topoData, topo.getDataModel().getDatas().toArray());
|
|
131
|
-
fixLink(topo);
|
|
132
131
|
upgradeV103GraphClusterNode(topo, topoData);
|
|
132
|
+
fixLink(topo);
|
|
133
133
|
handleClusterNoPermission(topo);
|
|
134
134
|
updateEdgeExpanded(topo);
|
|
135
135
|
topoDispatchers.update({
|
|
@@ -142,8 +142,8 @@ var Topology = function Topology(props) {
|
|
|
142
142
|
}, [topoData]);
|
|
143
143
|
var handleGraphLoaded = useCallback(function () {
|
|
144
144
|
rlog.info("TopoView.handleGraphLoaded", topoData, topo.getDataModel().getDatas().toArray());
|
|
145
|
-
fixLink(topo);
|
|
146
145
|
upgradeV103GraphClusterNode(topo, topoData);
|
|
146
|
+
fixLink(topo);
|
|
147
147
|
handleClusterNoPermission(topo);
|
|
148
148
|
updateEdgeExpanded(topo);
|
|
149
149
|
topoDispatchers.update({
|
package/es/core/models/Alarm.js
CHANGED
|
@@ -38,35 +38,32 @@ var Alarm = /*#__PURE__*/function () {
|
|
|
38
38
|
var _open = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
39
39
|
var _this = this;
|
|
40
40
|
|
|
41
|
+
var nodeCount;
|
|
41
42
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
42
43
|
while (1) {
|
|
43
44
|
switch (_context.prev = _context.next) {
|
|
44
45
|
case 0:
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
this.resetData();
|
|
47
|
+
|
|
48
|
+
if (!(!this.isEnabled() || this.topo.isEditMode())) {
|
|
49
|
+
_context.next = 3;
|
|
47
50
|
break;
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
return _context.abrupt("return");
|
|
51
54
|
|
|
52
|
-
case 2:
|
|
53
|
-
this.confirmLargeResourceCount(function () {
|
|
54
|
-
// 获得拓扑id
|
|
55
|
-
var id = _this.topo.id;
|
|
56
|
-
|
|
57
|
-
if (!id) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
rlog.info("Alarm.open 打开告警通道", id);
|
|
62
|
-
|
|
63
|
-
_this.openTopoAlarm(id); // this.hmGetTopoAlarm(id);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
_this.hmGetTopoAlarmByDoc(id);
|
|
67
|
-
});
|
|
68
|
-
|
|
69
55
|
case 3:
|
|
56
|
+
nodeCount = this.topo.dataModel.getNodes().length;
|
|
57
|
+
|
|
58
|
+
if (nodeCount < 1500) {
|
|
59
|
+
this.doOpen();
|
|
60
|
+
} else {
|
|
61
|
+
this.confirmOpenWhenLargeResource(function () {
|
|
62
|
+
_this.doOpen();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
case 5:
|
|
70
67
|
case "end":
|
|
71
68
|
return _context.stop();
|
|
72
69
|
}
|
|
@@ -79,7 +76,21 @@ var Alarm = /*#__PURE__*/function () {
|
|
|
79
76
|
}
|
|
80
77
|
|
|
81
78
|
return open;
|
|
82
|
-
}()
|
|
79
|
+
}();
|
|
80
|
+
|
|
81
|
+
_proto.doOpen = function doOpen() {
|
|
82
|
+
// 获得拓扑id
|
|
83
|
+
var id = this.topo.id;
|
|
84
|
+
|
|
85
|
+
if (!id) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
rlog.info("Alarm.open 打开告警通道", id);
|
|
90
|
+
this.openTopoAlarm(id); // this.hmGetTopoAlarm(id);
|
|
91
|
+
|
|
92
|
+
this.hmGetTopoAlarmByDoc(id);
|
|
93
|
+
}
|
|
83
94
|
/**
|
|
84
95
|
* 关闭告警。
|
|
85
96
|
*
|
|
@@ -88,7 +99,8 @@ var Alarm = /*#__PURE__*/function () {
|
|
|
88
99
|
;
|
|
89
100
|
|
|
90
101
|
_proto.close = function close() {
|
|
91
|
-
// 获得拓扑id
|
|
102
|
+
this.resetData(); // 获得拓扑id
|
|
103
|
+
|
|
92
104
|
var currentTopoId = this.currentTopoId;
|
|
93
105
|
|
|
94
106
|
if (!currentTopoId) {
|
|
@@ -98,31 +110,32 @@ var Alarm = /*#__PURE__*/function () {
|
|
|
98
110
|
rlog.info("关闭告警通道", currentTopoId); // 取消订阅告警推送
|
|
99
111
|
// 关闭告警推送通道
|
|
100
112
|
|
|
113
|
+
this.closeTopoAlarm(currentTopoId);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
_proto.resetData = function resetData() {
|
|
101
117
|
this.updateState({
|
|
118
|
+
alarmPanelIsOpen: false,
|
|
102
119
|
alarmData: [],
|
|
103
|
-
|
|
120
|
+
alarmList: [],
|
|
121
|
+
risks: [],
|
|
122
|
+
alarmRecord: []
|
|
104
123
|
});
|
|
105
|
-
this.closeTopoAlarm(currentTopoId);
|
|
106
124
|
} // 资源数量多时确认是否开启
|
|
125
|
+
// eslint-disable-next-line class-methods-use-this
|
|
107
126
|
;
|
|
108
127
|
|
|
109
|
-
_proto.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
content: "该拓扑图上节点较多,继续查询告警可能影响系统整体性能,是否暂不显示告警?",
|
|
121
|
-
onCancel: function onCancel() {
|
|
122
|
-
cb();
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
}
|
|
128
|
+
_proto.confirmOpenWhenLargeResource = function confirmOpenWhenLargeResource(cb) {
|
|
129
|
+
_Dialog.confirm({
|
|
130
|
+
title: "提示",
|
|
131
|
+
messageProps: {
|
|
132
|
+
type: "warning"
|
|
133
|
+
},
|
|
134
|
+
content: "该拓扑图上节点较多,继续查询告警可能影响系统整体性能,是否暂不显示告警?",
|
|
135
|
+
onCancel: function onCancel() {
|
|
136
|
+
cb();
|
|
137
|
+
}
|
|
138
|
+
});
|
|
126
139
|
}
|
|
127
140
|
/**
|
|
128
141
|
* 查询当前拓扑图有权限资源的告警列表
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { getEdges as _getEdges,
|
|
1
|
+
import { getEdges as _getEdges, getNodes as _getNodes } from "../../utils/htElementUtils";
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
function
|
|
3
|
+
var GraphDataModel = /*#__PURE__*/function () {
|
|
4
|
+
function GraphDataModel(topo) {
|
|
5
5
|
this.topo = topo;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
var _proto =
|
|
8
|
+
var _proto = GraphDataModel.prototype;
|
|
9
9
|
|
|
10
10
|
_proto.getGroups = function getGroups() {
|
|
11
|
-
return
|
|
11
|
+
return this.getGroups(this.topo.getDataModel());
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
_proto.getNodes = function getNodes() {
|
|
@@ -19,13 +19,7 @@ var TopoDataModel = /*#__PURE__*/function () {
|
|
|
19
19
|
return _getEdges(this.topo.getDataModel());
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
return this.getEdges().filter(function (item) {
|
|
24
|
-
return !!item.id;
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
return TopoDataModel;
|
|
22
|
+
return GraphDataModel;
|
|
29
23
|
}();
|
|
30
24
|
|
|
31
|
-
export {
|
|
25
|
+
export { GraphDataModel as default };
|
|
@@ -21,7 +21,7 @@ import PluginManager from "./PluginManager";
|
|
|
21
21
|
import topoFactory from "./topoFactory";
|
|
22
22
|
import ElementTagTipConfig from "./tagstips/ElementTagTipConfig"; // eslint-disable-next-line no-undef
|
|
23
23
|
|
|
24
|
-
var version = typeof "4.0.
|
|
24
|
+
var version = typeof "4.0.15" === 'string' ? "4.0.15" : null;
|
|
25
25
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
|
26
26
|
/**
|
|
27
27
|
* 拓扑显示和编辑
|
package/es/hooks/useTopoEdit.js
CHANGED
|
@@ -404,9 +404,9 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
404
404
|
|
|
405
405
|
|
|
406
406
|
function findUNExistedLinkElements(elements) {
|
|
407
|
-
var
|
|
407
|
+
var dm = topo.getDataModel();
|
|
408
408
|
var newLinkElements = elements.filter(function (element) {
|
|
409
|
-
return (element.type === "link" || element.type === "linkGroup") &&
|
|
409
|
+
return (element.type === "link" || element.type === "linkGroup") && !isExistedElement(topo.getHtTopo(), dm, element);
|
|
410
410
|
});
|
|
411
411
|
return newLinkElements;
|
|
412
412
|
}
|
package/es/models/topoConfig.js
CHANGED
package/es/utils/clusterUtil.js
CHANGED
|
@@ -5,7 +5,7 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
5
5
|
*/
|
|
6
6
|
import { transformTopoElements } from "@riil-frontend/component-topology-graph/es/utils";
|
|
7
7
|
import rlog from "@riil-frontend/component-topology-utils/es/rlog";
|
|
8
|
-
import { getGroups } from "./htElementUtils";
|
|
8
|
+
import { getGroups, isExistedElement } from "./htElementUtils";
|
|
9
9
|
import { findGroupChildren } from "./topoData";
|
|
10
10
|
export function isCluster(node) {
|
|
11
11
|
return !!node.cluster;
|
|
@@ -108,26 +108,27 @@ export function upgradeV103GraphClusterNode(topo, topoData) {
|
|
|
108
108
|
// 查找图上未显示的集群、集群成员、关联的链路
|
|
109
109
|
var topoDataTrans = transformTopoElements(topoData);
|
|
110
110
|
var dm = topo.getDataModel();
|
|
111
|
-
var
|
|
112
|
-
return !
|
|
111
|
+
var unExistedList = topoDataTrans.filter(function (data) {
|
|
112
|
+
return !isExistedElement(topo.getHtTopo(), dm, data);
|
|
113
113
|
});
|
|
114
114
|
|
|
115
|
-
if (!
|
|
115
|
+
if (!unExistedList.length) {
|
|
116
116
|
return;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
rlog.error('集群1.0.2升级', unExistedList);
|
|
120
|
+
var groups = unExistedList.filter(function (item) {
|
|
120
121
|
return item.type === 'group';
|
|
121
122
|
});
|
|
122
123
|
var createElementsData = {
|
|
123
124
|
groups: groups,
|
|
124
|
-
nodes:
|
|
125
|
+
nodes: unExistedList.filter(function (item) {
|
|
125
126
|
return item.type === 'node';
|
|
126
127
|
}),
|
|
127
|
-
links:
|
|
128
|
+
links: unExistedList.filter(function (item) {
|
|
128
129
|
return item.type === 'link';
|
|
129
130
|
}),
|
|
130
|
-
linkGroups:
|
|
131
|
+
linkGroups: unExistedList.filter(function (item) {
|
|
131
132
|
return item.type === 'linkGroup';
|
|
132
133
|
})
|
|
133
134
|
};
|
|
@@ -301,15 +301,13 @@ export function setElementRuntimeStyle(element, name, value) {
|
|
|
301
301
|
*/
|
|
302
302
|
|
|
303
303
|
export function isExistedElement(htTopo, dataModel, data) {
|
|
304
|
-
|
|
305
|
-
id = data.id;
|
|
306
|
-
|
|
307
|
-
if (dataModel.getDataByTag(id)) {
|
|
304
|
+
if (dataModel.getDataByTag(data.id)) {
|
|
308
305
|
return true;
|
|
309
|
-
}
|
|
306
|
+
} // 识别区域
|
|
307
|
+
|
|
310
308
|
|
|
311
309
|
var element = getElements(dataModel).find(function (item) {
|
|
312
|
-
return item.a('tag') === data.tag;
|
|
310
|
+
return data.tag && item.a('tag') === data.tag;
|
|
313
311
|
});
|
|
314
312
|
|
|
315
313
|
if (element) {
|
|
@@ -317,5 +315,29 @@ export function isExistedElement(htTopo, dataModel, data) {
|
|
|
317
315
|
} // 连线/连线组
|
|
318
316
|
|
|
319
317
|
|
|
318
|
+
var edges = getEdges(dataModel);
|
|
319
|
+
|
|
320
|
+
for (var i = 0; i < edges.length; i++) {
|
|
321
|
+
var edge = edges[i]; // 如果连线组折叠,判断子连线
|
|
322
|
+
|
|
323
|
+
var edgeData = htTopo.getEdgeData(edge);
|
|
324
|
+
|
|
325
|
+
if (edgeData) {
|
|
326
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
327
|
+
var id = edgeData._attrObject.id;
|
|
328
|
+
|
|
329
|
+
if (id === data.id) {
|
|
330
|
+
return true;
|
|
331
|
+
}
|
|
332
|
+
} // 如果连线组展开,判断连线组
|
|
333
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
if (edge.__edgeGroup && edge.__edgeGroup._tag === data.id) {
|
|
337
|
+
return true;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
console.error(111, data);
|
|
320
342
|
return false;
|
|
321
343
|
}
|
|
@@ -163,8 +163,8 @@ var Topology = function Topology(props) {
|
|
|
163
163
|
var handleGraphDataLoaded = (0, _react.useCallback)(function () {
|
|
164
164
|
_rlog["default"].info("TopoView.handleGraphDataLoaded", topoData, topo.getDataModel().getDatas().toArray());
|
|
165
165
|
|
|
166
|
-
(0, _graphLinkUtil.fixLink)(topo);
|
|
167
166
|
(0, _clusterUtil.upgradeV103GraphClusterNode)(topo, topoData);
|
|
167
|
+
(0, _graphLinkUtil.fixLink)(topo);
|
|
168
168
|
(0, _clusterUtil.handleClusterNoPermission)(topo);
|
|
169
169
|
(0, _edgeUtil.updateEdgeExpanded)(topo);
|
|
170
170
|
topoDispatchers.update({
|
|
@@ -178,8 +178,8 @@ var Topology = function Topology(props) {
|
|
|
178
178
|
var handleGraphLoaded = (0, _react.useCallback)(function () {
|
|
179
179
|
_rlog["default"].info("TopoView.handleGraphLoaded", topoData, topo.getDataModel().getDatas().toArray());
|
|
180
180
|
|
|
181
|
-
(0, _graphLinkUtil.fixLink)(topo);
|
|
182
181
|
(0, _clusterUtil.upgradeV103GraphClusterNode)(topo, topoData);
|
|
182
|
+
(0, _graphLinkUtil.fixLink)(topo);
|
|
183
183
|
(0, _clusterUtil.handleClusterNoPermission)(topo);
|
|
184
184
|
(0, _edgeUtil.updateEdgeExpanded)(topo);
|
|
185
185
|
topoDispatchers.update({
|
package/lib/core/models/Alarm.js
CHANGED
|
@@ -51,35 +51,32 @@ var Alarm = /*#__PURE__*/function () {
|
|
|
51
51
|
var _open = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
52
52
|
var _this = this;
|
|
53
53
|
|
|
54
|
+
var nodeCount;
|
|
54
55
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
55
56
|
while (1) {
|
|
56
57
|
switch (_context.prev = _context.next) {
|
|
57
58
|
case 0:
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
this.resetData();
|
|
60
|
+
|
|
61
|
+
if (!(!this.isEnabled() || this.topo.isEditMode())) {
|
|
62
|
+
_context.next = 3;
|
|
60
63
|
break;
|
|
61
64
|
}
|
|
62
65
|
|
|
63
66
|
return _context.abrupt("return");
|
|
64
67
|
|
|
65
|
-
case 2:
|
|
66
|
-
this.confirmLargeResourceCount(function () {
|
|
67
|
-
// 获得拓扑id
|
|
68
|
-
var id = _this.topo.id;
|
|
69
|
-
|
|
70
|
-
if (!id) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
_rlog["default"].info("Alarm.open 打开告警通道", id);
|
|
75
|
-
|
|
76
|
-
_this.openTopoAlarm(id); // this.hmGetTopoAlarm(id);
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
_this.hmGetTopoAlarmByDoc(id);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
68
|
case 3:
|
|
69
|
+
nodeCount = this.topo.dataModel.getNodes().length;
|
|
70
|
+
|
|
71
|
+
if (nodeCount < 1500) {
|
|
72
|
+
this.doOpen();
|
|
73
|
+
} else {
|
|
74
|
+
this.confirmOpenWhenLargeResource(function () {
|
|
75
|
+
_this.doOpen();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
case 5:
|
|
83
80
|
case "end":
|
|
84
81
|
return _context.stop();
|
|
85
82
|
}
|
|
@@ -92,7 +89,22 @@ var Alarm = /*#__PURE__*/function () {
|
|
|
92
89
|
}
|
|
93
90
|
|
|
94
91
|
return open;
|
|
95
|
-
}()
|
|
92
|
+
}();
|
|
93
|
+
|
|
94
|
+
_proto.doOpen = function doOpen() {
|
|
95
|
+
// 获得拓扑id
|
|
96
|
+
var id = this.topo.id;
|
|
97
|
+
|
|
98
|
+
if (!id) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
_rlog["default"].info("Alarm.open 打开告警通道", id);
|
|
103
|
+
|
|
104
|
+
this.openTopoAlarm(id); // this.hmGetTopoAlarm(id);
|
|
105
|
+
|
|
106
|
+
this.hmGetTopoAlarmByDoc(id);
|
|
107
|
+
}
|
|
96
108
|
/**
|
|
97
109
|
* 关闭告警。
|
|
98
110
|
*
|
|
@@ -101,7 +113,8 @@ var Alarm = /*#__PURE__*/function () {
|
|
|
101
113
|
;
|
|
102
114
|
|
|
103
115
|
_proto.close = function close() {
|
|
104
|
-
// 获得拓扑id
|
|
116
|
+
this.resetData(); // 获得拓扑id
|
|
117
|
+
|
|
105
118
|
var currentTopoId = this.currentTopoId;
|
|
106
119
|
|
|
107
120
|
if (!currentTopoId) {
|
|
@@ -112,31 +125,32 @@ var Alarm = /*#__PURE__*/function () {
|
|
|
112
125
|
// 关闭告警推送通道
|
|
113
126
|
|
|
114
127
|
|
|
128
|
+
this.closeTopoAlarm(currentTopoId);
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
_proto.resetData = function resetData() {
|
|
115
132
|
this.updateState({
|
|
133
|
+
alarmPanelIsOpen: false,
|
|
116
134
|
alarmData: [],
|
|
117
|
-
|
|
135
|
+
alarmList: [],
|
|
136
|
+
risks: [],
|
|
137
|
+
alarmRecord: []
|
|
118
138
|
});
|
|
119
|
-
this.closeTopoAlarm(currentTopoId);
|
|
120
139
|
} // 资源数量多时确认是否开启
|
|
140
|
+
// eslint-disable-next-line class-methods-use-this
|
|
121
141
|
;
|
|
122
142
|
|
|
123
|
-
_proto.
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
content: "该拓扑图上节点较多,继续查询告警可能影响系统整体性能,是否暂不显示告警?",
|
|
135
|
-
onCancel: function onCancel() {
|
|
136
|
-
cb();
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
143
|
+
_proto.confirmOpenWhenLargeResource = function confirmOpenWhenLargeResource(cb) {
|
|
144
|
+
_dialog["default"].confirm({
|
|
145
|
+
title: "提示",
|
|
146
|
+
messageProps: {
|
|
147
|
+
type: "warning"
|
|
148
|
+
},
|
|
149
|
+
content: "该拓扑图上节点较多,继续查询告警可能影响系统整体性能,是否暂不显示告警?",
|
|
150
|
+
onCancel: function onCancel() {
|
|
151
|
+
cb();
|
|
152
|
+
}
|
|
153
|
+
});
|
|
140
154
|
}
|
|
141
155
|
/**
|
|
142
156
|
* 查询当前拓扑图有权限资源的告警列表
|
|
@@ -5,15 +5,15 @@ exports["default"] = void 0;
|
|
|
5
5
|
|
|
6
6
|
var _htElementUtils = require("../../utils/htElementUtils");
|
|
7
7
|
|
|
8
|
-
var
|
|
9
|
-
function
|
|
8
|
+
var GraphDataModel = /*#__PURE__*/function () {
|
|
9
|
+
function GraphDataModel(topo) {
|
|
10
10
|
this.topo = topo;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
var _proto =
|
|
13
|
+
var _proto = GraphDataModel.prototype;
|
|
14
14
|
|
|
15
15
|
_proto.getGroups = function getGroups() {
|
|
16
|
-
return
|
|
16
|
+
return this.getGroups(this.topo.getDataModel());
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
_proto.getNodes = function getNodes() {
|
|
@@ -24,13 +24,7 @@ var TopoDataModel = /*#__PURE__*/function () {
|
|
|
24
24
|
return (0, _htElementUtils.getEdges)(this.topo.getDataModel());
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
return this.getEdges().filter(function (item) {
|
|
29
|
-
return !!item.id;
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
return TopoDataModel;
|
|
27
|
+
return GraphDataModel;
|
|
34
28
|
}();
|
|
35
29
|
|
|
36
|
-
exports["default"] =
|
|
30
|
+
exports["default"] = GraphDataModel;
|
|
@@ -50,7 +50,7 @@ var _topoFactory = _interopRequireDefault(require("./topoFactory"));
|
|
|
50
50
|
var _ElementTagTipConfig = _interopRequireDefault(require("./tagstips/ElementTagTipConfig"));
|
|
51
51
|
|
|
52
52
|
// eslint-disable-next-line no-undef
|
|
53
|
-
var version = typeof "4.0.
|
|
53
|
+
var version = typeof "4.0.15" === 'string' ? "4.0.15" : null;
|
|
54
54
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
|
55
55
|
/**
|
|
56
56
|
* 拓扑显示和编辑
|
package/lib/hooks/useTopoEdit.js
CHANGED
|
@@ -435,9 +435,9 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
435
435
|
|
|
436
436
|
|
|
437
437
|
function findUNExistedLinkElements(elements) {
|
|
438
|
-
var
|
|
438
|
+
var dm = topo.getDataModel();
|
|
439
439
|
var newLinkElements = elements.filter(function (element) {
|
|
440
|
-
return (element.type === "link" || element.type === "linkGroup") &&
|
|
440
|
+
return (element.type === "link" || element.type === "linkGroup") && !(0, _htElementUtils.isExistedElement)(topo.getHtTopo(), dm, element);
|
|
441
441
|
});
|
|
442
442
|
return newLinkElements;
|
|
443
443
|
}
|
package/lib/models/topoConfig.js
CHANGED
package/lib/utils/clusterUtil.js
CHANGED
|
@@ -137,26 +137,28 @@ function upgradeV103GraphClusterNode(topo, topoData) {
|
|
|
137
137
|
// 查找图上未显示的集群、集群成员、关联的链路
|
|
138
138
|
var topoDataTrans = (0, _utils.transformTopoElements)(topoData);
|
|
139
139
|
var dm = topo.getDataModel();
|
|
140
|
-
var
|
|
141
|
-
return !
|
|
140
|
+
var unExistedList = topoDataTrans.filter(function (data) {
|
|
141
|
+
return !(0, _htElementUtils.isExistedElement)(topo.getHtTopo(), dm, data);
|
|
142
142
|
});
|
|
143
143
|
|
|
144
|
-
if (!
|
|
144
|
+
if (!unExistedList.length) {
|
|
145
145
|
return;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
|
|
148
|
+
_rlog["default"].error('集群1.0.2升级', unExistedList);
|
|
149
|
+
|
|
150
|
+
var groups = unExistedList.filter(function (item) {
|
|
149
151
|
return item.type === 'group';
|
|
150
152
|
});
|
|
151
153
|
var createElementsData = {
|
|
152
154
|
groups: groups,
|
|
153
|
-
nodes:
|
|
155
|
+
nodes: unExistedList.filter(function (item) {
|
|
154
156
|
return item.type === 'node';
|
|
155
157
|
}),
|
|
156
|
-
links:
|
|
158
|
+
links: unExistedList.filter(function (item) {
|
|
157
159
|
return item.type === 'link';
|
|
158
160
|
}),
|
|
159
|
-
linkGroups:
|
|
161
|
+
linkGroups: unExistedList.filter(function (item) {
|
|
160
162
|
return item.type === 'linkGroup';
|
|
161
163
|
})
|
|
162
164
|
};
|
|
@@ -370,15 +370,13 @@ function setElementRuntimeStyle(element, name, value) {
|
|
|
370
370
|
|
|
371
371
|
|
|
372
372
|
function isExistedElement(htTopo, dataModel, data) {
|
|
373
|
-
|
|
374
|
-
id = data.id;
|
|
375
|
-
|
|
376
|
-
if (dataModel.getDataByTag(id)) {
|
|
373
|
+
if (dataModel.getDataByTag(data.id)) {
|
|
377
374
|
return true;
|
|
378
|
-
}
|
|
375
|
+
} // 识别区域
|
|
376
|
+
|
|
379
377
|
|
|
380
378
|
var element = getElements(dataModel).find(function (item) {
|
|
381
|
-
return item.a('tag') === data.tag;
|
|
379
|
+
return data.tag && item.a('tag') === data.tag;
|
|
382
380
|
});
|
|
383
381
|
|
|
384
382
|
if (element) {
|
|
@@ -386,5 +384,29 @@ function isExistedElement(htTopo, dataModel, data) {
|
|
|
386
384
|
} // 连线/连线组
|
|
387
385
|
|
|
388
386
|
|
|
387
|
+
var edges = getEdges(dataModel);
|
|
388
|
+
|
|
389
|
+
for (var i = 0; i < edges.length; i++) {
|
|
390
|
+
var edge = edges[i]; // 如果连线组折叠,判断子连线
|
|
391
|
+
|
|
392
|
+
var edgeData = htTopo.getEdgeData(edge);
|
|
393
|
+
|
|
394
|
+
if (edgeData) {
|
|
395
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
396
|
+
var id = edgeData._attrObject.id;
|
|
397
|
+
|
|
398
|
+
if (id === data.id) {
|
|
399
|
+
return true;
|
|
400
|
+
}
|
|
401
|
+
} // 如果连线组展开,判断连线组
|
|
402
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
if (edge.__edgeGroup && edge.__edgeGroup._tag === data.id) {
|
|
406
|
+
return true;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
console.error(111, data);
|
|
389
411
|
return false;
|
|
390
412
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riil-frontend/component-topology",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.15",
|
|
4
4
|
"description": "拓扑",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"start": "build-scripts start",
|
|
@@ -114,6 +114,6 @@
|
|
|
114
114
|
"access": "public"
|
|
115
115
|
},
|
|
116
116
|
"license": "MIT",
|
|
117
|
-
"homepage": "https://unpkg.com/@riil-frontend/component-topology@4.0.
|
|
117
|
+
"homepage": "https://unpkg.com/@riil-frontend/component-topology@4.0.15/build/index.html",
|
|
118
118
|
"gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
|
|
119
119
|
}
|