@riil-frontend/component-topology 4.0.2 → 4.0.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/build/index.js +9 -9
- package/es/core/components/TopoView/topoView.js +3 -1
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +1 -1
- package/es/hooks/useTopoEdit.js +64 -41
- package/es/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +65 -32
- package/es/utils/clusterUtil.js +71 -0
- package/es/utils/topoData.js +17 -8
- package/lib/core/components/TopoView/topoView.js +2 -0
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +1 -1
- package/lib/hooks/useTopoEdit.js +63 -41
- package/lib/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +67 -35
- package/lib/utils/clusterUtil.js +76 -0
- package/lib/utils/topoData.js +18 -7
- package/package.json +2 -2
package/lib/hooks/useTopoEdit.js
CHANGED
|
@@ -901,7 +901,7 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
901
901
|
|
|
902
902
|
var bindNodeResource = /*#__PURE__*/function () {
|
|
903
903
|
var _ref7 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(params) {
|
|
904
|
-
var id, oldResId, newResId, node,
|
|
904
|
+
var id, oldResId, newResId, node, parentGroupElement, htTopo, config, groupId, groupTag, _yield$editDispatcher, elements, newData, dm, newLinkElements, createElementsData, groupChildren, newGroupChildren, existedGroupChildren, groupElement, newElement, sm, replaceOrAddRes;
|
|
905
905
|
|
|
906
906
|
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
907
907
|
while (1) {
|
|
@@ -921,15 +921,15 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
921
921
|
|
|
922
922
|
node = topo.getDataModel().getDataById(id); // 节点所属容器
|
|
923
923
|
|
|
924
|
-
|
|
924
|
+
parentGroupElement = node.getParent();
|
|
925
925
|
htTopo = topo.getHtTopo();
|
|
926
926
|
config = resourceConfig.getConfig();
|
|
927
927
|
|
|
928
|
-
if (
|
|
928
|
+
if (parentGroupElement) {
|
|
929
929
|
// 在容器中
|
|
930
|
-
groupId =
|
|
930
|
+
groupId = parentGroupElement.getTag(); // 容器业务id
|
|
931
931
|
|
|
932
|
-
groupTag =
|
|
932
|
+
groupTag = parentGroupElement.a("tag"); // 容器临时id
|
|
933
933
|
|
|
934
934
|
config.groups = config.groups.map(function (g) {
|
|
935
935
|
// 匹配到容器,替换资源或增加
|
|
@@ -961,19 +961,8 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
961
961
|
return item.id === newResId;
|
|
962
962
|
});
|
|
963
963
|
|
|
964
|
-
if (newData
|
|
965
|
-
|
|
966
|
-
} else {
|
|
967
|
-
newNodeElements = [newData];
|
|
968
|
-
}
|
|
969
|
-
|
|
970
|
-
newLinkElements = findUNExistedLinkElements(elements); // 过滤出关联的节点和连线,通知ht更新
|
|
971
|
-
// const newDatas = filterElementsByNodeId(elements, newResId);
|
|
972
|
-
|
|
973
|
-
newDatas = [].concat(newNodeElements, newLinkElements);
|
|
974
|
-
|
|
975
|
-
if (newDatas.length) {
|
|
976
|
-
_context8.next = 22;
|
|
964
|
+
if (newData) {
|
|
965
|
+
_context8.next = 19;
|
|
977
966
|
break;
|
|
978
967
|
}
|
|
979
968
|
|
|
@@ -983,27 +972,58 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
983
972
|
|
|
984
973
|
return _context8.abrupt("return", false);
|
|
985
974
|
|
|
986
|
-
case
|
|
987
|
-
|
|
988
|
-
groups: newDatas.filter(function (item) {
|
|
989
|
-
return item.type === 'group';
|
|
990
|
-
}),
|
|
991
|
-
nodes: newDatas.filter(function (item) {
|
|
992
|
-
return item.type === 'node';
|
|
993
|
-
}),
|
|
994
|
-
links: newDatas.filter(function (item) {
|
|
995
|
-
return item.type === 'link';
|
|
996
|
-
}),
|
|
997
|
-
linkGroups: newDatas.filter(function (item) {
|
|
998
|
-
return item.type === 'linkGroup';
|
|
999
|
-
})
|
|
1000
|
-
};
|
|
975
|
+
case 19:
|
|
976
|
+
dm = htTopo.getGraphView().dm(); // 创建
|
|
1001
977
|
|
|
1002
|
-
|
|
978
|
+
newLinkElements = findUNExistedLinkElements(elements);
|
|
979
|
+
createElementsData = null;
|
|
980
|
+
|
|
981
|
+
if (newData.type === 'group') {
|
|
982
|
+
groupChildren = (0, _topoData.findGroupChildren)(elements, newData);
|
|
983
|
+
newGroupChildren = [];
|
|
984
|
+
existedGroupChildren = [];
|
|
985
|
+
groupChildren.forEach(function (groupChildData) {
|
|
986
|
+
var ele = dm.getDataByTag(groupChildData.id);
|
|
987
|
+
|
|
988
|
+
if (ele) {
|
|
989
|
+
existedGroupChildren.push(groupChildData);
|
|
990
|
+
} else {
|
|
991
|
+
newGroupChildren.push(groupChildData);
|
|
992
|
+
}
|
|
993
|
+
});
|
|
994
|
+
createElementsData = {
|
|
995
|
+
groups: [newData],
|
|
996
|
+
nodes: newGroupChildren,
|
|
997
|
+
links: newLinkElements.filter(function (item) {
|
|
998
|
+
return item.type === 'link';
|
|
999
|
+
}),
|
|
1000
|
+
linkGroups: newLinkElements.filter(function (item) {
|
|
1001
|
+
return item.type === 'linkGroup';
|
|
1002
|
+
})
|
|
1003
|
+
};
|
|
1004
|
+
htTopo.createElements(createElementsData); // 切换前图上如果存在集群内的节点,切换节点为集群后,移到集群内
|
|
1005
|
+
|
|
1006
|
+
groupElement = dm.getDataByTag(newData.id);
|
|
1007
|
+
existedGroupChildren.forEach(function (groupChildData) {
|
|
1008
|
+
var nodeElement = dm.getDataByTag(groupChildData.id);
|
|
1009
|
+
nodeElement.setParent(groupElement);
|
|
1010
|
+
});
|
|
1011
|
+
} else {
|
|
1012
|
+
createElementsData = {
|
|
1013
|
+
groups: [],
|
|
1014
|
+
nodes: [newData],
|
|
1015
|
+
links: newLinkElements.filter(function (item) {
|
|
1016
|
+
return item.type === 'link';
|
|
1017
|
+
}),
|
|
1018
|
+
linkGroups: newLinkElements.filter(function (item) {
|
|
1019
|
+
return item.type === 'linkGroup';
|
|
1020
|
+
})
|
|
1021
|
+
};
|
|
1022
|
+
htTopo.createElements(createElementsData);
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
_rlog["default"].debug('批量创建元素', createElementsData); // 恢复图标、大小、位置
|
|
1003
1026
|
|
|
1004
|
-
htTopo.createElements(createElementsData);
|
|
1005
|
-
sm = htTopo.getGraphView().sm();
|
|
1006
|
-
dm = htTopo.getGraphView().dm(); // 恢复图标、大小、位置
|
|
1007
1027
|
|
|
1008
1028
|
newElement = dm.getDataByTag(newData.id);
|
|
1009
1029
|
|
|
@@ -1011,24 +1031,26 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
1011
1031
|
newElement.setSize(node.getSize());
|
|
1012
1032
|
newElement.setPosition(node.getPosition());
|
|
1013
1033
|
newElement.setImage(node.getImage());
|
|
1014
|
-
}
|
|
1034
|
+
} // 选中
|
|
1035
|
+
|
|
1015
1036
|
|
|
1037
|
+
sm = htTopo.getGraphView().sm();
|
|
1016
1038
|
sm.setSelection([newElement]); // 移除旧节点
|
|
1017
1039
|
|
|
1018
1040
|
dm.remove(node); // saveBind(TopoEvent.DATA_TYPE_RESOURCE_SINGLE, newDatas);
|
|
1019
1041
|
// node.a("customName", null);
|
|
1020
1042
|
// 删除关联在节点上的出口链路
|
|
1021
1043
|
|
|
1022
|
-
_context8.next =
|
|
1044
|
+
_context8.next = 31;
|
|
1023
1045
|
return deleteExLink(node);
|
|
1024
1046
|
|
|
1025
|
-
case
|
|
1047
|
+
case 31:
|
|
1026
1048
|
// 临时放这里,仅拓扑中心有
|
|
1027
1049
|
if (topo.linkDynamicStyleExecutor) {
|
|
1028
1050
|
topo.linkDynamicStyleExecutor.execute();
|
|
1029
1051
|
}
|
|
1030
1052
|
|
|
1031
|
-
case
|
|
1053
|
+
case 32:
|
|
1032
1054
|
case "end":
|
|
1033
1055
|
return _context8.stop();
|
|
1034
1056
|
}
|
|
@@ -9,20 +9,18 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
9
9
|
|
|
10
10
|
var _drawer = _interopRequireDefault(require("@alifd/next/lib/drawer"));
|
|
11
11
|
|
|
12
|
+
var _loading = _interopRequireDefault(require("@alifd/next/lib/loading"));
|
|
13
|
+
|
|
12
14
|
var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
|
|
13
15
|
|
|
14
16
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
17
|
|
|
16
18
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
19
|
|
|
18
|
-
var _collapse = _interopRequireDefault(require("@alifd/next/lib/collapse"));
|
|
19
|
-
|
|
20
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
21
|
|
|
22
22
|
var _topo = _interopRequireDefault(require("@riil-frontend/component-topology-common/es/services/topo"));
|
|
23
23
|
|
|
24
|
-
var _ResourceTypeLimit = require("../../../../../../constants/ResourceTypeLimit");
|
|
25
|
-
|
|
26
24
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
27
25
|
|
|
28
26
|
var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
|
|
@@ -47,8 +45,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
47
45
|
|
|
48
46
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
49
47
|
|
|
50
|
-
var CollapsePanel = _collapse["default"].Panel;
|
|
51
|
-
|
|
52
48
|
function AddLinkDrawer(props) {
|
|
53
49
|
var topo = props.topo,
|
|
54
50
|
lineData = props.lineData;
|
|
@@ -81,18 +77,26 @@ function AddLinkDrawer(props) {
|
|
|
81
77
|
loading = _useState3[0],
|
|
82
78
|
setLoading = _useState3[1];
|
|
83
79
|
|
|
84
|
-
var _useState4 = (0, _react.useState)(),
|
|
85
|
-
|
|
86
|
-
|
|
80
|
+
var _useState4 = (0, _react.useState)(false),
|
|
81
|
+
loadingConnectableNodes = _useState4[0],
|
|
82
|
+
setLoadingConnectableNodes = _useState4[1];
|
|
83
|
+
|
|
84
|
+
var _useState5 = (0, _react.useState)(false),
|
|
85
|
+
loadingFormData = _useState5[0],
|
|
86
|
+
setLoadingFormData = _useState5[1];
|
|
87
|
+
|
|
88
|
+
var _useState6 = (0, _react.useState)(),
|
|
89
|
+
sourceIFDoc = _useState6[0],
|
|
90
|
+
setSourceIFDoc = _useState6[1];
|
|
87
91
|
|
|
88
|
-
var
|
|
89
|
-
targetIFDoc =
|
|
90
|
-
setTargetIFDoc =
|
|
92
|
+
var _useState7 = (0, _react.useState)(),
|
|
93
|
+
targetIFDoc = _useState7[0],
|
|
94
|
+
setTargetIFDoc = _useState7[1]; // 保存后更新拓扑图状态
|
|
91
95
|
|
|
92
96
|
|
|
93
|
-
var
|
|
94
|
-
ciIdsConnectable =
|
|
95
|
-
setCiIdsConnectable =
|
|
97
|
+
var _useState8 = (0, _react.useState)([]),
|
|
98
|
+
ciIdsConnectable = _useState8[0],
|
|
99
|
+
setCiIdsConnectable = _useState8[1];
|
|
96
100
|
|
|
97
101
|
var linkNodesRef = (0, _react.useRef)();
|
|
98
102
|
|
|
@@ -179,6 +183,11 @@ function AddLinkDrawer(props) {
|
|
|
179
183
|
return _ref.apply(this, arguments);
|
|
180
184
|
};
|
|
181
185
|
}();
|
|
186
|
+
/**
|
|
187
|
+
* 连线第二个节点时的处理
|
|
188
|
+
* @param {*} e
|
|
189
|
+
*/
|
|
190
|
+
|
|
182
191
|
|
|
183
192
|
var handleEvent = /*#__PURE__*/function () {
|
|
184
193
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(e) {
|
|
@@ -193,16 +202,17 @@ function AddLinkDrawer(props) {
|
|
|
193
202
|
|
|
194
203
|
setIsAddMode(true); // setTrue();
|
|
195
204
|
|
|
196
|
-
|
|
197
|
-
_context2.
|
|
205
|
+
setLoadingFormData(true);
|
|
206
|
+
_context2.prev = 4;
|
|
207
|
+
_context2.next = 7;
|
|
198
208
|
return getPortsById(e.source._attrObject.id);
|
|
199
209
|
|
|
200
|
-
case
|
|
210
|
+
case 7:
|
|
201
211
|
sourcePorts = _context2.sent;
|
|
202
|
-
_context2.next =
|
|
212
|
+
_context2.next = 10;
|
|
203
213
|
return getPortsById(e.target._attrObject.id);
|
|
204
214
|
|
|
205
|
-
case
|
|
215
|
+
case 10:
|
|
206
216
|
targetPorts = _context2.sent;
|
|
207
217
|
setSourceIFDoc(sourcePorts.portsDoc);
|
|
208
218
|
setTargetIFDoc(targetPorts.portsDoc);
|
|
@@ -232,21 +242,24 @@ function AddLinkDrawer(props) {
|
|
|
232
242
|
connect_type: connect_type
|
|
233
243
|
}
|
|
234
244
|
});
|
|
235
|
-
_context2.next =
|
|
245
|
+
_context2.next = 24;
|
|
236
246
|
break;
|
|
237
247
|
|
|
238
|
-
case
|
|
239
|
-
_context2.prev =
|
|
240
|
-
_context2.t0 = _context2["catch"](
|
|
248
|
+
case 21:
|
|
249
|
+
_context2.prev = 21;
|
|
250
|
+
_context2.t0 = _context2["catch"](4);
|
|
241
251
|
|
|
242
252
|
_rlog["default"].error("出现异常", _context2.t0);
|
|
243
253
|
|
|
244
|
-
case
|
|
254
|
+
case 24:
|
|
255
|
+
setLoadingFormData(false);
|
|
256
|
+
|
|
257
|
+
case 25:
|
|
245
258
|
case "end":
|
|
246
259
|
return _context2.stop();
|
|
247
260
|
}
|
|
248
261
|
}
|
|
249
|
-
}, _callee2, null, [[
|
|
262
|
+
}, _callee2, null, [[4, 21]]);
|
|
250
263
|
}));
|
|
251
264
|
|
|
252
265
|
return function handleEvent(_x3) {
|
|
@@ -344,20 +357,22 @@ function AddLinkDrawer(props) {
|
|
|
344
357
|
|
|
345
358
|
var getCiTypesConnectable = /*#__PURE__*/function () {
|
|
346
359
|
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
347
|
-
var ciTypes, ciTypesConnectable, nodes, ciIds,
|
|
360
|
+
var ciNodes, ciTypes, ciTypesConnectable, nodes, ciIds, isWriteable;
|
|
348
361
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
349
362
|
while (1) {
|
|
350
363
|
switch (_context4.prev = _context4.next) {
|
|
351
364
|
case 0:
|
|
365
|
+
ciNodes = [];
|
|
366
|
+
setLoadingConnectableNodes(true);
|
|
367
|
+
_context4.prev = 2;
|
|
352
368
|
ciTypes = (0, _topoData.getCiTypes)(topo.dataModel.getData());
|
|
353
|
-
_context4.next =
|
|
369
|
+
_context4.next = 6;
|
|
354
370
|
return _topo["default"].networkLink.getCiTypesConnectable(ciTypes);
|
|
355
371
|
|
|
356
|
-
case
|
|
372
|
+
case 6:
|
|
357
373
|
ciTypesConnectable = _context4.sent;
|
|
358
374
|
nodes = (0, _htElementUtils.getNodes)(topo.getDataModel());
|
|
359
375
|
ciIds = [];
|
|
360
|
-
ciNodes = [];
|
|
361
376
|
|
|
362
377
|
isWriteable = function isWriteable(node) {
|
|
363
378
|
var _node$a;
|
|
@@ -365,7 +380,7 @@ function AddLinkDrawer(props) {
|
|
|
365
380
|
return ["delete", "write"].indexOf(node.a("operation")) >= 0 || ((_node$a = node.a('permission')) === null || _node$a === void 0 ? void 0 : _node$a.writeable);
|
|
366
381
|
};
|
|
367
382
|
|
|
368
|
-
nodes.
|
|
383
|
+
nodes.forEach(function (node) {
|
|
369
384
|
// rlog.debug("过滤属性", node.a("operation"));
|
|
370
385
|
if (ciTypesConnectable[node.a("ciType")] && isWriteable(node)) {
|
|
371
386
|
ciIds.push(node.id);
|
|
@@ -376,14 +391,25 @@ function AddLinkDrawer(props) {
|
|
|
376
391
|
ciConnectable: ciIds
|
|
377
392
|
});
|
|
378
393
|
setCiIdsConnectable(ciIds);
|
|
394
|
+
_context4.next = 18;
|
|
395
|
+
break;
|
|
396
|
+
|
|
397
|
+
case 15:
|
|
398
|
+
_context4.prev = 15;
|
|
399
|
+
_context4.t0 = _context4["catch"](2);
|
|
400
|
+
|
|
401
|
+
_rlog["default"].error('查询可创建链路节点失败', _context4.t0);
|
|
402
|
+
|
|
403
|
+
case 18:
|
|
404
|
+
setLoadingConnectableNodes(false);
|
|
379
405
|
return _context4.abrupt("return", ciNodes);
|
|
380
406
|
|
|
381
|
-
case
|
|
407
|
+
case 20:
|
|
382
408
|
case "end":
|
|
383
409
|
return _context4.stop();
|
|
384
410
|
}
|
|
385
411
|
}
|
|
386
|
-
}, _callee4);
|
|
412
|
+
}, _callee4, null, [[2, 15]]);
|
|
387
413
|
}));
|
|
388
414
|
|
|
389
415
|
return function getCiTypesConnectable() {
|
|
@@ -673,7 +699,13 @@ function AddLinkDrawer(props) {
|
|
|
673
699
|
};
|
|
674
700
|
}();
|
|
675
701
|
|
|
676
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
702
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_loading["default"], {
|
|
703
|
+
visible: loadingConnectableNodes,
|
|
704
|
+
fullScreen: true
|
|
705
|
+
}), /*#__PURE__*/_react["default"].createElement(_loading["default"], {
|
|
706
|
+
visible: loadingFormData,
|
|
707
|
+
fullScreen: true
|
|
708
|
+
}), /*#__PURE__*/_react["default"].createElement(_drawer["default"], {
|
|
677
709
|
closeMode: ["close", "esc"],
|
|
678
710
|
visible: addLinkIsOpen,
|
|
679
711
|
onClose: closeDrawer,
|
|
@@ -687,7 +719,7 @@ function AddLinkDrawer(props) {
|
|
|
687
719
|
onSave: onSave,
|
|
688
720
|
loading: loading,
|
|
689
721
|
isAdd: isAddMode
|
|
690
|
-
}));
|
|
722
|
+
})));
|
|
691
723
|
}
|
|
692
724
|
|
|
693
725
|
var _default = AddLinkDrawer;
|
package/lib/utils/clusterUtil.js
CHANGED
|
@@ -12,11 +12,18 @@ exports.isClusterMemberHtElement = isClusterMemberHtElement;
|
|
|
12
12
|
exports.processCluster = processCluster;
|
|
13
13
|
exports.processClusterChildNode = processClusterChildNode;
|
|
14
14
|
exports.processClusterChildrenNodes = processClusterChildrenNodes;
|
|
15
|
+
exports.upgradeV103GraphClusterNode = upgradeV103GraphClusterNode;
|
|
15
16
|
|
|
16
17
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
18
|
|
|
19
|
+
var _utils = require("@riil-frontend/component-topology-graph/es/utils");
|
|
20
|
+
|
|
21
|
+
var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
|
|
22
|
+
|
|
18
23
|
var _htElementUtils = require("./htElementUtils");
|
|
19
24
|
|
|
25
|
+
var _topoData = require("./topoData");
|
|
26
|
+
|
|
20
27
|
/**
|
|
21
28
|
* 集群处理工具类
|
|
22
29
|
*/
|
|
@@ -110,4 +117,73 @@ function handleClusterNoPermission(topo) {
|
|
|
110
117
|
group.setExpanded(false);
|
|
111
118
|
}
|
|
112
119
|
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* fix NEWITOM-22562 【1.0.3升级包集成】【网络拓扑】升级前创建的拓扑图,包含VSU集群,升级后不显示VSU集群了
|
|
123
|
+
* @param {*} topo
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
function upgradeV103GraphClusterNode(topo, topoData) {
|
|
128
|
+
var dm1 = topo.getDataModel();
|
|
129
|
+
dm1.removeDataByTag('00000000364831f0'); // FIXME
|
|
130
|
+
|
|
131
|
+
try {
|
|
132
|
+
doUpgrade();
|
|
133
|
+
} catch (error) {
|
|
134
|
+
_rlog["default"].error('upgradeV103GraphClusterNode', error);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function doUpgrade() {
|
|
138
|
+
// 查找图上未显示的集群、集群成员、关联的链路
|
|
139
|
+
var topoDataTrans = (0, _utils.transformTopoElements)(topoData);
|
|
140
|
+
var dm = topo.getDataModel();
|
|
141
|
+
var list = topoDataTrans.filter(function (data) {
|
|
142
|
+
return !dm.getDataByTag(data.id);
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
if (!list.length) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
var groups = list.filter(function (item) {
|
|
150
|
+
return item.type === 'group';
|
|
151
|
+
});
|
|
152
|
+
var createElementsData = {
|
|
153
|
+
groups: groups,
|
|
154
|
+
nodes: list.filter(function (item) {
|
|
155
|
+
return item.type === 'node';
|
|
156
|
+
}),
|
|
157
|
+
links: list.filter(function (item) {
|
|
158
|
+
return item.type === 'link';
|
|
159
|
+
}),
|
|
160
|
+
linkGroups: list.filter(function (item) {
|
|
161
|
+
return item.type === 'linkGroup';
|
|
162
|
+
})
|
|
163
|
+
};
|
|
164
|
+
var htTopo = topo.getHtTopo();
|
|
165
|
+
htTopo.createElements(createElementsData);
|
|
166
|
+
groups.forEach(function (group) {
|
|
167
|
+
var groupElement = dm.getDataByTag(group.id); // 切换前图上如果存在集群内的节点,切换节点为集群后,移到集群内
|
|
168
|
+
|
|
169
|
+
(0, _topoData.findGroupChildren)(topoDataTrans, group).forEach(function (child) {
|
|
170
|
+
var childEle = dm.getDataByTag(child.id);
|
|
171
|
+
|
|
172
|
+
if (childEle) {
|
|
173
|
+
childEle.setParent(groupElement);
|
|
174
|
+
}
|
|
175
|
+
}); // 如果序列化有,恢复区域位置
|
|
176
|
+
|
|
177
|
+
var deserializeDm = new ht.DataModel();
|
|
178
|
+
var jsonDeserialize = new ht.JSONSerializer(deserializeDm);
|
|
179
|
+
jsonDeserialize.deserialize(topoData.serialize, null, true);
|
|
180
|
+
var oldNode = deserializeDm.getDataByTag(group.id);
|
|
181
|
+
|
|
182
|
+
if (oldNode) {
|
|
183
|
+
groupElement.setSize(oldNode.getSize());
|
|
184
|
+
groupElement.setPosition(oldNode.getPosition());
|
|
185
|
+
groupElement.setImage(oldNode.getImage());
|
|
186
|
+
}
|
|
187
|
+
}); // 恢复手工画的线
|
|
188
|
+
}
|
|
113
189
|
}
|
package/lib/utils/topoData.js
CHANGED
|
@@ -383,23 +383,34 @@ function buildGlobal(_ref2) {
|
|
|
383
383
|
canDragElementToGroup: function canDragElementToGroup(element, group) {
|
|
384
384
|
if (!(0, _htElementUtils.isGroup)(group)) {
|
|
385
385
|
return true;
|
|
386
|
-
}
|
|
386
|
+
} // 区域不能拖拽到区域
|
|
387
|
+
|
|
387
388
|
|
|
388
389
|
if (element.dtype === 'container' && (0, _htElementUtils.isGroup)(group)) {
|
|
389
390
|
return false;
|
|
390
|
-
}
|
|
391
|
+
} // 元素不能拖拽到集群
|
|
391
392
|
|
|
392
|
-
|
|
393
|
+
|
|
394
|
+
if ((0, _clusterUtil.isClusterHtElement)(group)) {
|
|
393
395
|
return false;
|
|
394
396
|
}
|
|
395
397
|
|
|
396
|
-
|
|
398
|
+
_rlog["default"].debug(element, group);
|
|
399
|
+
|
|
397
400
|
return true;
|
|
398
401
|
},
|
|
399
402
|
// 图上元素能否拖动到区域中
|
|
400
|
-
canDragGraphElementsToGroup: function canDragGraphElementsToGroup(
|
|
401
|
-
|
|
402
|
-
|
|
403
|
+
canDragGraphElementsToGroup: function canDragGraphElementsToGroup(elements, targetGroup) {
|
|
404
|
+
_rlog["default"].debug('canDragGraphElementsToGroup', {
|
|
405
|
+
elements: elements,
|
|
406
|
+
targetGroup: targetGroup
|
|
407
|
+
}); // 非集群的区域不能拖拽到区域
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
if (elements.filter(function (ele) {
|
|
411
|
+
return (0, _htElementUtils.isGroup)(ele) && !(0, _clusterUtil.isClusterHtElement)(ele);
|
|
412
|
+
}).length && (0, _htElementUtils.isGroup)(targetGroup)) {
|
|
413
|
+
return false;
|
|
403
414
|
}
|
|
404
415
|
|
|
405
416
|
return true;
|
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.5",
|
|
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.5/build/index.html",
|
|
118
118
|
"gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
|
|
119
119
|
}
|