@riil-frontend/component-topology 12.1.0-dev.12 → 12.1.0-dev.13

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.
@@ -1,7 +1,8 @@
1
+ import Logger from 'loglevel';
2
+ var rlog = Logger.getLogger('topo');
1
3
  export default function updateElementProperty(topo, name, value) {
2
- // const element = topo.getDataModel().getDataById(selection[0].id);
3
4
  var element = topo.getSelectionModel().getFirstData();
4
- console.info("updateElementProperty", topo.getSelectionModel().getSelection(), {
5
+ rlog.debug("updateElementProperty. ", {
5
6
  element: element,
6
7
  name: name,
7
8
  value: value
@@ -417,8 +417,7 @@ var useTopoEdit = function useTopoEdit(params) {
417
417
  });
418
418
  needDeleteHtDatas.forEach(function (htData) {
419
419
  return dm.remove(htData);
420
- }); // 区域里的子区域及子区域的节点、新增的链路
421
- // 区域里的所有节点
420
+ }); // 区域里的所有子节点子区域、新增的链路
422
421
 
423
422
  nodeElements = findGroupChildren(elements, group);
424
423
  newLinkElements = findUNExistedLinkElements(elements);
@@ -430,17 +429,7 @@ var useTopoEdit = function useTopoEdit(params) {
430
429
  if (topo.linkDynamicStyleExecutor) {
431
430
  topo.linkDynamicStyleExecutor.execute();
432
431
  }
433
- } // const unExistedElements = findUNExistedElements(elements)
434
- // const createElementsData = {
435
- // groups: unExistedElements.filter((item) => item.type === "group"),
436
- // nodes: unExistedElements.filter((item) => item.type === "node"),
437
- // links: unExistedElements.filter((item) => item.type === "link"),
438
- // linkGroups: unExistedElements.filter((item) => item.type === "linkGroup"),
439
- // };
440
- // const htTopo = topo.getHtTopo()
441
- // htTopo.createElements(createElementsData);
442
- // rlog.debug('==> ht: createElements ', createElementsData)
443
-
432
+ }
444
433
 
445
434
  topo.historyManager.endTransaction();
446
435
 
@@ -773,13 +762,22 @@ var useTopoEdit = function useTopoEdit(params) {
773
762
 
774
763
  _doBind = function _doBind3() {
775
764
  _doBind = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {
776
- var dm, newLinkElements, createElementsData, groupChildren, newGroupChildren, existedGroupChildren, groupElement, newElement, sm;
765
+ var dm, needDeleteHtDatas, newLinkElements, createElementsData, groupChildren, newGroupChildren, existedGroupChildren, groupElement, newElement, sm;
777
766
  return _regeneratorRuntime.wrap(function _callee7$(_context7) {
778
767
  while (1) switch (_context7.prev = _context7.next) {
779
768
  case 0:
780
769
  dm = htTopo.getGraphView().dm(); // 移除旧节点。先删除后创建,解决ip节点替换ping资源后链路丢失问题
781
770
 
782
- dm.remove(node); // 创建
771
+ dm.remove(node); // 先删除多余的元素。解决 区域子节点关联ping,未更新显示链路及删除ip节点
772
+
773
+ needDeleteHtDatas = getElements(dm).filter(function (htData) {
774
+ return htData.a('id') && !elements.find(function (ele) {
775
+ return ele.id === htData.a('id');
776
+ });
777
+ });
778
+ needDeleteHtDatas.forEach(function (htData) {
779
+ return dm.remove(htData);
780
+ }); // 创建
783
781
 
784
782
  newLinkElements = findUNExistedLinkElements(elements);
785
783
  createElementsData = null;
@@ -843,7 +841,7 @@ var useTopoEdit = function useTopoEdit(params) {
843
841
  sm = htTopo.getGraphView().sm();
844
842
  sm.setSelection([newElement]);
845
843
 
846
- case 10:
844
+ case 12:
847
845
  case "end":
848
846
  return _context7.stop();
849
847
  }
@@ -24,7 +24,7 @@ import ElementTagTipConfig from "./tagstips/ElementTagTipConfig";
24
24
  import SelectionModel from "./SelectionModel";
25
25
  import CiCache from "./cache/CiCache"; // eslint-disable-next-line no-undef
26
26
 
27
- var version = typeof "12.1.0-dev.12" === 'string' ? "12.1.0-dev.12" : null;
27
+ var version = typeof "12.1.0-dev.13" === 'string' ? "12.1.0-dev.13" : null;
28
28
  console.info("\u62D3\u6251\u7248\u672C: " + version);
29
29
  /**
30
30
  * 拓扑显示和编辑
@@ -239,9 +239,10 @@ function updateLinkTarget(links, nodes) {
239
239
 
240
240
 
241
241
  export function processByConditionResult(topoData, groupConfigs) {
242
- var nodes = topoData.nodes,
242
+ var groups = topoData.groups,
243
+ nodes = topoData.nodes,
243
244
  links = topoData.links;
244
- var ipNodes = getIpNodes(groupConfigs, nodes); // 出口链路目的端设置为IP节点或者ping资源节点id
245
+ var ipNodes = getIpNodes(groupConfigs, topoData); // 出口链路目的端设置为IP节点或者ping资源节点id
245
246
 
246
247
  var newLinks = updateLinkTarget(links, nodes);
247
248
  return _extends({}, topoData, {
@@ -249,15 +250,26 @@ export function processByConditionResult(topoData, groupConfigs) {
249
250
  links: newLinks
250
251
  });
251
252
 
252
- function getIpNodes(groupConfigs, nodes) {
253
- var ips = groupConfigs.map(function (g) {
254
- return g.condition.linkIps;
255
- }).reduce(function (result, groupIps) {
256
- return [].concat(result, groupIps);
257
- }, []) // 过滤ping资源对应的ip节点
258
- .filter(function (ip) {
259
- return !findPingNode(nodes, ip);
253
+ function getIpNodes(groupConfigs, _ref) {
254
+ var groups = _ref.groups,
255
+ nodes = _ref.nodes;
256
+ var ipNodes = [];
257
+ groupConfigs.forEach(function (g) {
258
+ g.condition.linkIps // 过滤ping资源对应的ip节点
259
+ .filter(function (ip) {
260
+ return !findPingNode(nodes, ip);
261
+ }).map(function (ip) {
262
+ var topoGroup = g.topoGroup;
263
+ var group = groups.find(function (item) {
264
+ return item.id === topoGroup.id || item.tag === topoGroup.tag;
265
+ });
266
+ ipNodes.push(_extends({}, buildIpNode(ip), {
267
+ // 解决区域里有ip添加资源ip消失的问题
268
+ 'groupId': group === null || group === void 0 ? void 0 : group.id,
269
+ 'groupTag': group === null || group === void 0 ? void 0 : group.tag
270
+ }));
271
+ });
260
272
  });
261
- return ips.map(buildIpNode);
273
+ return ipNodes;
262
274
  }
263
275
  }
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  exports.__esModule = true;
4
6
  exports["default"] = updateElementProperty;
5
7
 
8
+ var _loglevel = _interopRequireDefault(require("loglevel"));
9
+
10
+ var rlog = _loglevel["default"].getLogger('topo');
11
+
6
12
  function updateElementProperty(topo, name, value) {
7
- // const element = topo.getDataModel().getDataById(selection[0].id);
8
13
  var element = topo.getSelectionModel().getFirstData();
9
- console.info("updateElementProperty", topo.getSelectionModel().getSelection(), {
14
+ rlog.debug("updateElementProperty. ", {
10
15
  element: element,
11
16
  name: name,
12
17
  value: value
@@ -446,8 +446,7 @@ var useTopoEdit = function useTopoEdit(params) {
446
446
  });
447
447
  needDeleteHtDatas.forEach(function (htData) {
448
448
  return dm.remove(htData);
449
- }); // 区域里的子区域及子区域的节点、新增的链路
450
- // 区域里的所有节点
449
+ }); // 区域里的所有子节点子区域、新增的链路
451
450
 
452
451
  nodeElements = (0, _topoData.findGroupChildren)(elements, group);
453
452
  newLinkElements = findUNExistedLinkElements(elements);
@@ -459,17 +458,7 @@ var useTopoEdit = function useTopoEdit(params) {
459
458
  if (topo.linkDynamicStyleExecutor) {
460
459
  topo.linkDynamicStyleExecutor.execute();
461
460
  }
462
- } // const unExistedElements = findUNExistedElements(elements)
463
- // const createElementsData = {
464
- // groups: unExistedElements.filter((item) => item.type === "group"),
465
- // nodes: unExistedElements.filter((item) => item.type === "node"),
466
- // links: unExistedElements.filter((item) => item.type === "link"),
467
- // linkGroups: unExistedElements.filter((item) => item.type === "linkGroup"),
468
- // };
469
- // const htTopo = topo.getHtTopo()
470
- // htTopo.createElements(createElementsData);
471
- // rlog.debug('==> ht: createElements ', createElementsData)
472
-
461
+ }
473
462
 
474
463
  topo.historyManager.endTransaction();
475
464
 
@@ -802,13 +791,22 @@ var useTopoEdit = function useTopoEdit(params) {
802
791
 
803
792
  _doBind = function _doBind3() {
804
793
  _doBind = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
805
- var dm, newLinkElements, createElementsData, groupChildren, newGroupChildren, existedGroupChildren, groupElement, newElement, sm;
794
+ var dm, needDeleteHtDatas, newLinkElements, createElementsData, groupChildren, newGroupChildren, existedGroupChildren, groupElement, newElement, sm;
806
795
  return _regenerator["default"].wrap(function _callee7$(_context7) {
807
796
  while (1) switch (_context7.prev = _context7.next) {
808
797
  case 0:
809
798
  dm = htTopo.getGraphView().dm(); // 移除旧节点。先删除后创建,解决ip节点替换ping资源后链路丢失问题
810
799
 
811
- dm.remove(node); // 创建
800
+ dm.remove(node); // 先删除多余的元素。解决 区域子节点关联ping,未更新显示链路及删除ip节点
801
+
802
+ needDeleteHtDatas = (0, _htElementUtils.getElements)(dm).filter(function (htData) {
803
+ return htData.a('id') && !elements.find(function (ele) {
804
+ return ele.id === htData.a('id');
805
+ });
806
+ });
807
+ needDeleteHtDatas.forEach(function (htData) {
808
+ return dm.remove(htData);
809
+ }); // 创建
812
810
 
813
811
  newLinkElements = findUNExistedLinkElements(elements);
814
812
  createElementsData = null;
@@ -872,7 +870,7 @@ var useTopoEdit = function useTopoEdit(params) {
872
870
  sm = htTopo.getGraphView().sm();
873
871
  sm.setSelection([newElement]);
874
872
 
875
- case 10:
873
+ case 12:
876
874
  case "end":
877
875
  return _context7.stop();
878
876
  }
@@ -54,7 +54,7 @@ var _SelectionModel = _interopRequireDefault(require("./SelectionModel"));
54
54
  var _CiCache = _interopRequireDefault(require("./cache/CiCache"));
55
55
 
56
56
  // eslint-disable-next-line no-undef
57
- var version = typeof "12.1.0-dev.12" === 'string' ? "12.1.0-dev.12" : null;
57
+ var version = typeof "12.1.0-dev.13" === 'string' ? "12.1.0-dev.13" : null;
58
58
  console.info("\u62D3\u6251\u7248\u672C: " + version);
59
59
  /**
60
60
  * 拓扑显示和编辑
@@ -251,9 +251,10 @@ function updateLinkTarget(links, nodes) {
251
251
 
252
252
 
253
253
  function processByConditionResult(topoData, groupConfigs) {
254
- var nodes = topoData.nodes,
254
+ var groups = topoData.groups,
255
+ nodes = topoData.nodes,
255
256
  links = topoData.links;
256
- var ipNodes = getIpNodes(groupConfigs, nodes); // 出口链路目的端设置为IP节点或者ping资源节点id
257
+ var ipNodes = getIpNodes(groupConfigs, topoData); // 出口链路目的端设置为IP节点或者ping资源节点id
257
258
 
258
259
  var newLinks = updateLinkTarget(links, nodes);
259
260
  return (0, _extends2["default"])({}, topoData, {
@@ -261,15 +262,26 @@ function processByConditionResult(topoData, groupConfigs) {
261
262
  links: newLinks
262
263
  });
263
264
 
264
- function getIpNodes(groupConfigs, nodes) {
265
- var ips = groupConfigs.map(function (g) {
266
- return g.condition.linkIps;
267
- }).reduce(function (result, groupIps) {
268
- return [].concat(result, groupIps);
269
- }, []) // 过滤ping资源对应的ip节点
270
- .filter(function (ip) {
271
- return !findPingNode(nodes, ip);
265
+ function getIpNodes(groupConfigs, _ref) {
266
+ var groups = _ref.groups,
267
+ nodes = _ref.nodes;
268
+ var ipNodes = [];
269
+ groupConfigs.forEach(function (g) {
270
+ g.condition.linkIps // 过滤ping资源对应的ip节点
271
+ .filter(function (ip) {
272
+ return !findPingNode(nodes, ip);
273
+ }).map(function (ip) {
274
+ var topoGroup = g.topoGroup;
275
+ var group = groups.find(function (item) {
276
+ return item.id === topoGroup.id || item.tag === topoGroup.tag;
277
+ });
278
+ ipNodes.push((0, _extends2["default"])({}, buildIpNode(ip), {
279
+ // 解决区域里有ip添加资源ip消失的问题
280
+ 'groupId': group === null || group === void 0 ? void 0 : group.id,
281
+ 'groupTag': group === null || group === void 0 ? void 0 : group.tag
282
+ }));
283
+ });
272
284
  });
273
- return ips.map(buildIpNode);
285
+ return ipNodes;
274
286
  }
275
287
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "12.1.0-dev.12",
3
+ "version": "12.1.0-dev.13",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -123,6 +123,6 @@
123
123
  "access": "public"
124
124
  },
125
125
  "license": "MIT",
126
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@12.1.0-dev.12/build/index.html",
126
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@12.1.0-dev.13/build/index.html",
127
127
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
128
128
  }