@riil-frontend/component-topology 3.5.11 → 3.5.14

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.
@@ -20,7 +20,7 @@ import { updateEdgeExpanded } from "../utils/edgeUtil";
20
20
  import PluginManager from "./PluginManager";
21
21
  import topoFactory from "./topoFactory"; // eslint-disable-next-line no-undef
22
22
 
23
- var version = typeof "3.5.11" === 'string' ? "3.5.11" : null;
23
+ var version = typeof "3.5.14" === 'string' ? "3.5.14" : null;
24
24
  console.info("\u62D3\u6251\u7248\u672C: " + version);
25
25
  /**
26
26
  * 拓扑显示和编辑
@@ -43,12 +43,16 @@ function _queryCiMonitorMetricCodes() {
43
43
  while (1) {
44
44
  switch (_context2.prev = _context2.next) {
45
45
  case 0:
46
- arr = queryCiMonitorMetricStrategys(id);
46
+ _context2.next = 2;
47
+ return queryCiMonitorMetricStrategys(id);
48
+
49
+ case 2:
50
+ arr = _context2.sent;
47
51
  return _context2.abrupt("return", arr.map(function (item) {
48
52
  return item.code;
49
53
  }));
50
54
 
51
- case 2:
55
+ case 4:
52
56
  case "end":
53
57
  return _context2.stop();
54
58
  }
@@ -4,8 +4,7 @@ import _extends from "@babel/runtime/helpers/extends";
4
4
  * 连线组标注、悬浮框数据构建
5
5
  */
6
6
  import rlog from '@riil-frontend/component-topology-utils/es/rlog';
7
- import groupBy from 'lodash/groupBy';
8
- import { getEdgeGroupByNodeTags } from "../../utils/htElementUtils";
7
+ import { getEdgeGroups } from "../../utils/htElementUtils";
9
8
  import AttributeFormatter from "../../core/models/attributeFormatter"; // 参与计算的链路指标
10
9
 
11
10
  var metrics = [// 总流速
@@ -76,40 +75,17 @@ var LinkTagsTipsBuilder = /*#__PURE__*/function () {
76
75
  var _this = this;
77
76
 
78
77
  var ciConfigs = this.amDisplay.getResourceTagTipConfig();
79
- var data = this.amDisplay.getData(); // 查询没有关联链路的连线组及对应子链路列表
78
+ var data = this.amDisplay.getData();
79
+ var topo = this.topo;
80
+ var dm = this.topo.getDataModel(); // 获取所有连线组,排除关联聚合链路,排除无子链路
80
81
 
81
- var _this$topo$dataModel$ = this.topo.dataModel.getData(),
82
- links = _this$topo$dataModel$.links,
83
- linkGroups = _this$topo$dataModel$.linkGroups;
82
+ var groups = getEdgeGroups(dm).map(getGroupInfo).filter(function (item) {
83
+ return !!item;
84
+ }); // 计算标注和指标
84
85
 
85
- var getLinkUId = function getLinkUId(link) {
86
- return [link.source, link.target].sort().join('-');
87
- };
88
-
89
- var linkGroupUIds = linkGroups.filter(function (link) {
90
- return link.ciType === 'network_link';
91
- }).map(function (link) {
92
- return getLinkUId(link);
93
- }); // 查询没有聚合链路的物理链路/出口链路
94
-
95
- var noParentLinks = links.filter(function (link) {
96
- return link.ciType === 'network_link';
97
- }).map(function (link) {
98
- return _extends({}, link, {
99
- linkUId: getLinkUId(link)
100
- });
101
- }).filter(function (link) {
102
- return linkGroupUIds.indexOf(link.linkUId) === -1;
103
- });
104
- var groupMap = groupBy(noParentLinks, 'linkUId'); // 计算标注和指标
105
-
106
- var edgeGroupsTagsTips = Object.keys(groupMap) // 过滤非连线组
107
- .filter(function (groupId) {
108
- var linkChildren = groupMap[groupId];
109
- var edgeGroup = getEdgeGroupByNodeTags(_this.topo.getDataModel(), linkChildren[0].source, linkChildren[0].target);
110
- return !!edgeGroup;
111
- }).map(function (groupId) {
112
- var linkChildren = groupMap[groupId];
86
+ var edgeGroupsTagsTips = groups.map(function (_ref) {
87
+ var groupId = _ref.groupId,
88
+ linkChildren = _ref.children;
113
89
  var config = ciConfigs.find(function (item) {
114
90
  return item.id === linkChildren[0].id;
115
91
  });
@@ -119,20 +95,60 @@ var LinkTagsTipsBuilder = /*#__PURE__*/function () {
119
95
  linkChildren: linkChildren,
120
96
  data: data
121
97
  });
122
- }); // console.error({
123
- // noParentLinks, groupMap, edgeGroups: edgeGroupsTagsTips, ciTagsAndTips, data
124
- // })
98
+ }); // 获得连线组及子链路
99
+ // 关联聚合链路、无子链路 时返回null
100
+
101
+ function getGroupInfo(group) {
102
+ var edges = group.getEdges().toArray();
103
+ var edge = edges[0];
104
+ var edgeGroupData = topo.getHtTopo().getEdgeGroupData(edge.getSource(), edge.getTarget()); // eslint-disable-next-line no-underscore-dangle
105
+
106
+ var linkId = edgeGroupData.data._attrObject.id;
107
+
108
+ if (linkId) {
109
+ return null;
110
+ }
111
+
112
+ var linkChildren = getLinkChildren(edges);
113
+
114
+ if (!linkChildren.length) {
115
+ return null;
116
+ }
117
+
118
+ return {
119
+ groupId: [edge.getSource().getId(), edge.getTarget().getId()].sort().join('-'),
120
+ children: linkChildren
121
+ };
122
+ }
123
+
124
+ function getLinkChildren(edges) {
125
+ return edges.map(function (edge) {
126
+ var edgeData = topo.getHtTopo().getEdgeData(edge); // eslint-disable-next-line no-underscore-dangle
127
+
128
+ var childLinkId = edgeData._tag;
129
+
130
+ if (childLinkId) {
131
+ return topo.dataModel.getDataById(childLinkId);
132
+ }
133
+
134
+ return null;
135
+ }).filter(function (item) {
136
+ return !!item;
137
+ }).filter(function (link) {
138
+ return link.ciType === 'network_link';
139
+ });
140
+ }
125
141
 
126
142
  return edgeGroupsTagsTips;
127
143
  };
128
144
 
129
- _proto.buildEdgeGroupTagTagsAndTips = function buildEdgeGroupTagTagsAndTips(_ref) {
145
+ _proto.buildEdgeGroupTagTagsAndTips = function buildEdgeGroupTagTagsAndTips(_ref2) {
130
146
  var _this2 = this;
131
147
 
132
- var groupId = _ref.groupId,
133
- config = _ref.config,
134
- linkChildren = _ref.linkChildren,
135
- data = _ref.data;
148
+ var groupId = _ref2.groupId,
149
+ config = _ref2.config,
150
+ linkChildren = _ref2.linkChildren,
151
+ data = _ref2.data;
136
152
  var connectTypes = ['physical_link.', 'export_link.'];
137
153
 
138
154
  var replaceMetricConfigCode = function replaceMetricConfigCode(item) {
@@ -1,3 +1,4 @@
1
+ import rlog from "@riil-frontend/component-topology-utils/es/rlog";
1
2
  import sortBy from "lodash/sortBy";
2
3
  import { getEdges, getGroupChildrenNodes, getGroups, getLayerChildrenNodes, getLayers, getNodes } from "./htElementUtils";
3
4
  /**
@@ -49,18 +50,21 @@ function getResourceConfigFromHt(topo) {
49
50
 
50
51
  var exportLinkIdList = [];
51
52
  var edges = getEdges(dataModel);
52
- console.log(" 查询出口链路列表-edges", edges, dataModel);
53
+ rlog.debug(" 查询出口链路列表-edges", edges, dataModel);
53
54
  edges.forEach(function (edge) {
54
- var edgeData = htTopo.getEdgeData(edge); // eslint-disable-next-line no-underscore-dangle
55
+ var edgeData = htTopo.getEdgeData(edge); // 有组无子连线返回null
55
56
 
56
- var id = edgeData._attrObject.id;
57
+ if (edgeData) {
58
+ // eslint-disable-next-line no-underscore-dangle
59
+ var id = edgeData._attrObject.id;
57
60
 
58
- if (id) {
59
- var linkData = topo.dataModel.getDataById(id);
60
- var connectType = linkData !== null && linkData !== void 0 && linkData.attributes ? linkData === null || linkData === void 0 ? void 0 : linkData.attributes["network_link.connect_type"] : undefined;
61
+ if (id) {
62
+ var linkData = topo.dataModel.getDataById(id);
63
+ var connectType = linkData !== null && linkData !== void 0 && linkData.attributes ? linkData === null || linkData === void 0 ? void 0 : linkData.attributes["network_link.connect_type"] : undefined;
61
64
 
62
- if (connectType === "exit" && !exportLinkIdList.includes(id)) {
63
- exportLinkIdList.push(id);
65
+ if (connectType === "exit" && !exportLinkIdList.includes(id)) {
66
+ exportLinkIdList.push(id);
67
+ }
64
68
  }
65
69
  }
66
70
  });
@@ -189,8 +189,15 @@ export function getEdgeGroupByNodeTags(dataModel, nodeTag1, nodeTag2) {
189
189
  return getEdgeGroupByNodes(node1, node2);
190
190
  }
191
191
  export function getEdgeGroups(dataModel) {
192
- var edgeGroup = null;
193
- return [];
192
+ var edgeGroups = [];
193
+ getEdges(dataModel).forEach(function (edge) {
194
+ var group = edge.getEdgeGroup();
195
+
196
+ if (group && !edgeGroups.includes(group)) {
197
+ edgeGroups.push(group);
198
+ }
199
+ });
200
+ return edgeGroups;
194
201
  }
195
202
  export function getEdgeDatas(dataModel) {
196
203
  return getEdges(dataModel).map(function (element) {
@@ -48,7 +48,7 @@ var _PluginManager = _interopRequireDefault(require("./PluginManager"));
48
48
  var _topoFactory = _interopRequireDefault(require("./topoFactory"));
49
49
 
50
50
  // eslint-disable-next-line no-undef
51
- var version = typeof "3.5.11" === 'string' ? "3.5.11" : null;
51
+ var version = typeof "3.5.14" === 'string' ? "3.5.14" : null;
52
52
  console.info("\u62D3\u6251\u7248\u672C: " + version);
53
53
  /**
54
54
  * 拓扑显示和编辑
@@ -54,12 +54,16 @@ function _queryCiMonitorMetricCodes() {
54
54
  while (1) {
55
55
  switch (_context2.prev = _context2.next) {
56
56
  case 0:
57
- arr = queryCiMonitorMetricStrategys(id);
57
+ _context2.next = 2;
58
+ return queryCiMonitorMetricStrategys(id);
59
+
60
+ case 2:
61
+ arr = _context2.sent;
58
62
  return _context2.abrupt("return", arr.map(function (item) {
59
63
  return item.code;
60
64
  }));
61
65
 
62
- case 2:
66
+ case 4:
63
67
  case "end":
64
68
  return _context2.stop();
65
69
  }
@@ -9,8 +9,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
 
10
10
  var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
11
11
 
12
- var _groupBy = _interopRequireDefault(require("lodash/groupBy"));
13
-
14
12
  var _htElementUtils = require("../../utils/htElementUtils");
15
13
 
16
14
  var _attributeFormatter = _interopRequireDefault(require("../../core/models/attributeFormatter"));
@@ -87,40 +85,17 @@ var LinkTagsTipsBuilder = /*#__PURE__*/function () {
87
85
  var _this = this;
88
86
 
89
87
  var ciConfigs = this.amDisplay.getResourceTagTipConfig();
90
- var data = this.amDisplay.getData(); // 查询没有关联链路的连线组及对应子链路列表
91
-
92
- var _this$topo$dataModel$ = this.topo.dataModel.getData(),
93
- links = _this$topo$dataModel$.links,
94
- linkGroups = _this$topo$dataModel$.linkGroups;
88
+ var data = this.amDisplay.getData();
89
+ var topo = this.topo;
90
+ var dm = this.topo.getDataModel(); // 获取所有连线组,排除关联聚合链路,排除无子链路
95
91
 
96
- var getLinkUId = function getLinkUId(link) {
97
- return [link.source, link.target].sort().join('-');
98
- };
92
+ var groups = (0, _htElementUtils.getEdgeGroups)(dm).map(getGroupInfo).filter(function (item) {
93
+ return !!item;
94
+ }); // 计算标注和指标
99
95
 
100
- var linkGroupUIds = linkGroups.filter(function (link) {
101
- return link.ciType === 'network_link';
102
- }).map(function (link) {
103
- return getLinkUId(link);
104
- }); // 查询没有聚合链路的物理链路/出口链路
105
-
106
- var noParentLinks = links.filter(function (link) {
107
- return link.ciType === 'network_link';
108
- }).map(function (link) {
109
- return (0, _extends2["default"])({}, link, {
110
- linkUId: getLinkUId(link)
111
- });
112
- }).filter(function (link) {
113
- return linkGroupUIds.indexOf(link.linkUId) === -1;
114
- });
115
- var groupMap = (0, _groupBy["default"])(noParentLinks, 'linkUId'); // 计算标注和指标
116
-
117
- var edgeGroupsTagsTips = Object.keys(groupMap) // 过滤非连线组
118
- .filter(function (groupId) {
119
- var linkChildren = groupMap[groupId];
120
- var edgeGroup = (0, _htElementUtils.getEdgeGroupByNodeTags)(_this.topo.getDataModel(), linkChildren[0].source, linkChildren[0].target);
121
- return !!edgeGroup;
122
- }).map(function (groupId) {
123
- var linkChildren = groupMap[groupId];
96
+ var edgeGroupsTagsTips = groups.map(function (_ref) {
97
+ var groupId = _ref.groupId,
98
+ linkChildren = _ref.children;
124
99
  var config = ciConfigs.find(function (item) {
125
100
  return item.id === linkChildren[0].id;
126
101
  });
@@ -130,20 +105,60 @@ var LinkTagsTipsBuilder = /*#__PURE__*/function () {
130
105
  linkChildren: linkChildren,
131
106
  data: data
132
107
  });
133
- }); // console.error({
134
- // noParentLinks, groupMap, edgeGroups: edgeGroupsTagsTips, ciTagsAndTips, data
135
- // })
108
+ }); // 获得连线组及子链路
109
+ // 关联聚合链路、无子链路 时返回null
110
+
111
+ function getGroupInfo(group) {
112
+ var edges = group.getEdges().toArray();
113
+ var edge = edges[0];
114
+ var edgeGroupData = topo.getHtTopo().getEdgeGroupData(edge.getSource(), edge.getTarget()); // eslint-disable-next-line no-underscore-dangle
115
+
116
+ var linkId = edgeGroupData.data._attrObject.id;
117
+
118
+ if (linkId) {
119
+ return null;
120
+ }
121
+
122
+ var linkChildren = getLinkChildren(edges);
123
+
124
+ if (!linkChildren.length) {
125
+ return null;
126
+ }
127
+
128
+ return {
129
+ groupId: [edge.getSource().getId(), edge.getTarget().getId()].sort().join('-'),
130
+ children: linkChildren
131
+ };
132
+ }
133
+
134
+ function getLinkChildren(edges) {
135
+ return edges.map(function (edge) {
136
+ var edgeData = topo.getHtTopo().getEdgeData(edge); // eslint-disable-next-line no-underscore-dangle
137
+
138
+ var childLinkId = edgeData._tag;
139
+
140
+ if (childLinkId) {
141
+ return topo.dataModel.getDataById(childLinkId);
142
+ }
143
+
144
+ return null;
145
+ }).filter(function (item) {
146
+ return !!item;
147
+ }).filter(function (link) {
148
+ return link.ciType === 'network_link';
149
+ });
150
+ }
136
151
 
137
152
  return edgeGroupsTagsTips;
138
153
  };
139
154
 
140
- _proto.buildEdgeGroupTagTagsAndTips = function buildEdgeGroupTagTagsAndTips(_ref) {
155
+ _proto.buildEdgeGroupTagTagsAndTips = function buildEdgeGroupTagTagsAndTips(_ref2) {
141
156
  var _this2 = this;
142
157
 
143
- var groupId = _ref.groupId,
144
- config = _ref.config,
145
- linkChildren = _ref.linkChildren,
146
- data = _ref.data;
158
+ var groupId = _ref2.groupId,
159
+ config = _ref2.config,
160
+ linkChildren = _ref2.linkChildren,
161
+ data = _ref2.data;
147
162
  var connectTypes = ['physical_link.', 'export_link.'];
148
163
 
149
164
  var replaceMetricConfigCode = function replaceMetricConfigCode(item) {
@@ -5,6 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
9
+
8
10
  var _sortBy = _interopRequireDefault(require("lodash/sortBy"));
9
11
 
10
12
  var _htElementUtils = require("./htElementUtils");
@@ -57,18 +59,23 @@ function getResourceConfigFromHt(topo) {
57
59
 
58
60
  var exportLinkIdList = [];
59
61
  var edges = (0, _htElementUtils.getEdges)(dataModel);
60
- console.log(" 查询出口链路列表-edges", edges, dataModel);
62
+
63
+ _rlog["default"].debug(" 查询出口链路列表-edges", edges, dataModel);
64
+
61
65
  edges.forEach(function (edge) {
62
- var edgeData = htTopo.getEdgeData(edge); // eslint-disable-next-line no-underscore-dangle
66
+ var edgeData = htTopo.getEdgeData(edge); // 有组无子连线返回null
63
67
 
64
- var id = edgeData._attrObject.id;
68
+ if (edgeData) {
69
+ // eslint-disable-next-line no-underscore-dangle
70
+ var id = edgeData._attrObject.id;
65
71
 
66
- if (id) {
67
- var linkData = topo.dataModel.getDataById(id);
68
- var connectType = linkData !== null && linkData !== void 0 && linkData.attributes ? linkData === null || linkData === void 0 ? void 0 : linkData.attributes["network_link.connect_type"] : undefined;
72
+ if (id) {
73
+ var linkData = topo.dataModel.getDataById(id);
74
+ var connectType = linkData !== null && linkData !== void 0 && linkData.attributes ? linkData === null || linkData === void 0 ? void 0 : linkData.attributes["network_link.connect_type"] : undefined;
69
75
 
70
- if (connectType === "exit" && !exportLinkIdList.includes(id)) {
71
- exportLinkIdList.push(id);
76
+ if (connectType === "exit" && !exportLinkIdList.includes(id)) {
77
+ exportLinkIdList.push(id);
78
+ }
72
79
  }
73
80
  }
74
81
  });
@@ -247,8 +247,15 @@ function getEdgeGroupByNodeTags(dataModel, nodeTag1, nodeTag2) {
247
247
  }
248
248
 
249
249
  function getEdgeGroups(dataModel) {
250
- var edgeGroup = null;
251
- return [];
250
+ var edgeGroups = [];
251
+ getEdges(dataModel).forEach(function (edge) {
252
+ var group = edge.getEdgeGroup();
253
+
254
+ if (group && !edgeGroups.includes(group)) {
255
+ edgeGroups.push(group);
256
+ }
257
+ });
258
+ return edgeGroups;
252
259
  }
253
260
 
254
261
  function getEdgeDatas(dataModel) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "3.5.11",
3
+ "version": "3.5.14",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -110,6 +110,6 @@
110
110
  "access": "public"
111
111
  },
112
112
  "license": "MIT",
113
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@3.5.11/build/index.html",
113
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@3.5.14/build/index.html",
114
114
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
115
115
  }