@riil-frontend/component-topology 13.0.0-dev.9 → 13.0.2
Sign up to get free protection for your applications and to get access to all the features.
- package/build/index.js +26 -26
- package/es/core/components/AlarmListPanel/components/AlarmListItem.js +10 -1
- package/es/core/components/AlarmListPanel/index.js +2 -1
- package/es/core/components/TopoView/topoView.js +8 -2
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +6 -5
- package/es/core/hooks/useGraphAlarmDisplay.js +45 -18
- package/es/core/hooks/useLinkAlarmDisplay.js +163 -0
- package/es/core/hooks/useManageStatus.js +1 -0
- package/es/core/hooks/usePolling.js +78 -24
- package/es/core/hooks/useTopoEdit.js +2 -1
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/models/utils/linkUtils.js +30 -24
- package/es/core/store/models/topoMod.js +3 -6
- package/es/core/utils/graphLinkUtil.js +1 -0
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +2 -1
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.js +3 -2
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +4 -2
- package/es/networkTopo/utils/relateTopoDataUtil.js +2 -4
- package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +10 -1
- package/lib/core/components/AlarmListPanel/index.js +2 -1
- package/lib/core/components/TopoView/topoView.js +8 -2
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +6 -5
- package/lib/core/hooks/useGraphAlarmDisplay.js +46 -18
- package/lib/core/hooks/useLinkAlarmDisplay.js +175 -0
- package/lib/core/hooks/useManageStatus.js +1 -0
- package/lib/core/hooks/usePolling.js +73 -19
- package/lib/core/hooks/useTopoEdit.js +2 -1
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/models/utils/linkUtils.js +30 -24
- package/lib/core/store/models/topoMod.js +3 -6
- package/lib/core/utils/graphLinkUtil.js +1 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +2 -1
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.js +3 -2
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +4 -2
- package/lib/networkTopo/utils/relateTopoDataUtil.js +1 -4
- package/package.json +2 -2
- package/es/networkTopo/utils/__tests__/relateTopoData.js +0 -110
- package/lib/networkTopo/utils/__tests__/relateTopoData.js +0 -115
@@ -27,7 +27,7 @@ var _useCiAttributeChange = _interopRequireDefault(require("./useCiAttributeChan
|
|
27
27
|
|
28
28
|
var _useHtDataPropertyChangeListener = _interopRequireDefault(require("./ht/useHtDataPropertyChangeListener"));
|
29
29
|
|
30
|
-
var rlog = _loglevel["default"].getLogger(
|
30
|
+
var rlog = _loglevel["default"].getLogger("topo");
|
31
31
|
/**
|
32
32
|
* 轮询获取指标hooks
|
33
33
|
* @param {*} props
|
@@ -40,15 +40,15 @@ var usePolling = function usePolling(props) {
|
|
40
40
|
(0, _useCiAttributeChange["default"])({
|
41
41
|
topo: topo
|
42
42
|
});
|
43
|
-
var bizState = store.useModelState(
|
43
|
+
var bizState = store.useModelState("topoBizMod");
|
44
44
|
var resAndMetrics = bizState.resAndMetrics,
|
45
45
|
pollingSwitch = bizState.pollingSwitch;
|
46
|
-
var displayConfig = topo.store.useModelState(
|
47
|
-
var resourceOverviewState = topo.store.useModelState(
|
46
|
+
var displayConfig = topo.store.useModelState("displayConfig");
|
47
|
+
var resourceOverviewState = topo.store.useModelState("topoBaseInfoOverview");
|
48
48
|
var resIdsList = resAndMetrics === null || resAndMetrics === void 0 ? void 0 : resAndMetrics.resIdsList;
|
49
49
|
/**
|
50
50
|
* 查询拓扑图资源的属性指标
|
51
|
-
*
|
51
|
+
*
|
52
52
|
* @returns {array}
|
53
53
|
*/
|
54
54
|
|
@@ -56,7 +56,7 @@ var usePolling = function usePolling(props) {
|
|
56
56
|
return _fetchData.apply(this, arguments);
|
57
57
|
}
|
58
58
|
/**
|
59
|
-
*
|
59
|
+
*
|
60
60
|
* @returns {{id, attributes: object[], metrics: object[]}[]} 属性和指标
|
61
61
|
*/
|
62
62
|
|
@@ -72,7 +72,7 @@ var usePolling = function usePolling(props) {
|
|
72
72
|
var ipv6 = data.attributeMap.ipv6_address;
|
73
73
|
|
74
74
|
if (!ipv6 && data.attributeMap.ipv6_address_list) {
|
75
|
-
ipv6 = (data.attributeMap.ipv6_address_list ||
|
75
|
+
ipv6 = (data.attributeMap.ipv6_address_list || "").split(",")[0];
|
76
76
|
}
|
77
77
|
|
78
78
|
return (0, _extends2["default"])({}, data, {
|
@@ -104,9 +104,62 @@ var usePolling = function usePolling(props) {
|
|
104
104
|
// 合并属性、指标
|
105
105
|
var _topo$dataModel$getDa = topo.dataModel.getData(),
|
106
106
|
nodes = _topo$dataModel$getDa.nodes,
|
107
|
-
links = _topo$dataModel$getDa.links;
|
108
|
-
|
109
|
-
|
107
|
+
links = _topo$dataModel$getDa.links; // console.log('fetchData-mergeData',ciMetricsResult, nodes, links)
|
108
|
+
// 判断通断状态
|
109
|
+
|
110
|
+
|
111
|
+
var breakLinks = links.filter(function (item) {
|
112
|
+
return item.ciType === "network_link";
|
113
|
+
}).map(function (link) {
|
114
|
+
console.log("fetchData-mergeData", link);
|
115
|
+
var breakFlag = false;
|
116
|
+
ciMetricsResult.forEach(function (item) {
|
117
|
+
if (item.id === link.id) {
|
118
|
+
if (item.metrics.hasOwnProperty("run_status")) {
|
119
|
+
if (item.metrics.run_status !== "1") {
|
120
|
+
breakFlag = true;
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
if (link.attributes["network_link.is_crucial"] && item.metrics.hasOwnProperty("remote_ping_status")) {
|
125
|
+
if (item.metrics.remote_ping_status !== "1") {
|
126
|
+
breakFlag = true;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
}
|
130
|
+
});
|
131
|
+
var element = topo.getDataModel().getDataByTag(link.id);
|
132
|
+
|
133
|
+
if (!element) {
|
134
|
+
return;
|
135
|
+
}
|
136
|
+
|
137
|
+
if (breakFlag) {
|
138
|
+
console.log("link.setNodeStyleIcon-breakFlag", element);
|
139
|
+
topo.getHtTopo().setNodeStyleIcon(element, {
|
140
|
+
styleIcon: "linkbreak",
|
141
|
+
position: 17,
|
142
|
+
icon: "resource.link.linkbreak"
|
143
|
+
});
|
144
|
+
topo.dataModel.updateData([(0, _extends2["default"])({}, link, {
|
145
|
+
breakState: true
|
146
|
+
})]);
|
147
|
+
element === null || element === void 0 ? void 0 : element.s("edge.color", "#C9CED2");
|
148
|
+
return link.id; //element.a('linkbreak',true);
|
149
|
+
} else {
|
150
|
+
// 恢复状态
|
151
|
+
element.removeStyleIcon("linkbreak");
|
152
|
+
topo.dataModel.updateData([(0, _extends2["default"])({}, link, {
|
153
|
+
breakState: false
|
154
|
+
})]);
|
155
|
+
element === null || element === void 0 ? void 0 : element.a('linkbreak', false);
|
156
|
+
return undefined; // topo.getHtTopo().setNodeStyleIcon(element, { styleIcon: 'linkbreak',position: 17, icon: 'resource.link.linkbreak' });
|
157
|
+
}
|
158
|
+
});
|
159
|
+
console.log('link-break', breakLinks, links);
|
160
|
+
return [].concat(nodes, links.filter(function (link) {
|
161
|
+
return !breakLinks.includes(link.id);
|
162
|
+
})).filter(function (item) {
|
110
163
|
return !!item.ciType;
|
111
164
|
}).map(function (ciData) {
|
112
165
|
var resultData = (0, _extends2["default"])({}, ciData, {
|
@@ -125,7 +178,7 @@ var usePolling = function usePolling(props) {
|
|
125
178
|
});
|
126
179
|
};
|
127
180
|
|
128
|
-
_topo$store$getModelS = topo.store.getModelState(
|
181
|
+
_topo$store$getModelS = topo.store.getModelState("topoBizMod").resAndMetrics, resIdsList = _topo$store$getModelS.resIdsList, nodeIdsList = _topo$store$getModelS.nodeIdsList; // rlog.debug('根据ci的id获取属性的值-getCiArrByIds', resIdsList, metrics);
|
129
182
|
// 无资源,不查询
|
130
183
|
|
131
184
|
if (resIdsList.length) {
|
@@ -140,7 +193,8 @@ var usePolling = function usePolling(props) {
|
|
140
193
|
codes = topo.attributeMetricDisplay.getResourceMetricCodes();
|
141
194
|
param = {
|
142
195
|
ciId: nodeIdsList,
|
143
|
-
codes: codes,
|
196
|
+
codes: [].concat(codes, ["run_status", "remote_ping_status"]),
|
197
|
+
// 判断链路通断状态
|
144
198
|
// 过滤掉不需要查询的
|
145
199
|
relationId: topo.attributeMetricDisplay.getEdges().map(function (edge) {
|
146
200
|
return {
|
@@ -230,7 +284,7 @@ var usePolling = function usePolling(props) {
|
|
230
284
|
|
231
285
|
(0, _react.useEffect)(function () {
|
232
286
|
if (topo.options.enableDefaultMetricLoader) {
|
233
|
-
rlog.debug(
|
287
|
+
rlog.debug("usePolling.useEffect: 开始轮询", {
|
234
288
|
pollingSwitch: pollingSwitch,
|
235
289
|
resIdsList: resIdsList,
|
236
290
|
resourceOverviewState: resourceOverviewState,
|
@@ -241,16 +295,16 @@ var usePolling = function usePolling(props) {
|
|
241
295
|
|
242
296
|
return function () {
|
243
297
|
if (loading) {
|
244
|
-
rlog.debug(
|
298
|
+
rlog.debug("usePolling.useEffect: 结束轮询", resAndMetrics);
|
245
299
|
stopPoll();
|
246
300
|
}
|
247
301
|
};
|
248
302
|
}, [pollingSwitch, resIdsList, displayConfig, resourceOverviewState.id, resourceOverviewState.metricCodes]); // 属性变更监听更新
|
249
303
|
|
250
|
-
(0, _componentRiilEventEmitter.useCbbEventListener)(
|
251
|
-
name:
|
304
|
+
(0, _componentRiilEventEmitter.useCbbEventListener)("topo", {
|
305
|
+
name: "topo",
|
252
306
|
onMessage: function onMessage(message) {
|
253
|
-
if (message.type ===
|
307
|
+
if (message.type === "attribute") {
|
254
308
|
var data = message.data;
|
255
309
|
}
|
256
310
|
}
|
@@ -261,8 +315,8 @@ var usePolling = function usePolling(props) {
|
|
261
315
|
onChange: function onChange(e) {
|
262
316
|
var property = e.property,
|
263
317
|
data = e.data;
|
264
|
-
var isGroupExpandedChanged = data instanceof ht.Group && property ===
|
265
|
-
var isEdgeExpandedChanged = data instanceof ht.Edge && property ===
|
318
|
+
var isGroupExpandedChanged = data instanceof ht.Group && property === "expanded";
|
319
|
+
var isEdgeExpandedChanged = data instanceof ht.Edge && property === "edge.expanded";
|
266
320
|
|
267
321
|
if (isGroupExpandedChanged || isEdgeExpandedChanged) {
|
268
322
|
topo.attributeMetricDisplay.updateTagsTips();
|
@@ -1171,7 +1171,8 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
1171
1171
|
*/
|
1172
1172
|
onSaveTopo: onSaveTopo,
|
1173
1173
|
getResourceConfigFromHt: resourceConfig.getConfigFromHt,
|
1174
|
-
onLayerAdded: onLayerAdded
|
1174
|
+
onLayerAdded: onLayerAdded,
|
1175
|
+
findUNExistedLinkElements: findUNExistedLinkElements
|
1175
1176
|
};
|
1176
1177
|
};
|
1177
1178
|
|
@@ -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 "13.0.
|
57
|
+
var version = typeof "13.0.2" === 'string' ? "13.0.2" : null;
|
58
58
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
59
59
|
/**
|
60
60
|
* 拓扑显示和编辑
|
@@ -72,38 +72,33 @@ function isAggLink(link) {
|
|
72
72
|
return (link === null || link === void 0 ? void 0 : (_link$attributes2 = link.attributes) === null || _link$attributes2 === void 0 ? void 0 : _link$attributes2.destination_type) === "network.agg_interface" && (link === null || link === void 0 ? void 0 : (_link$attributes3 = link.attributes) === null || _link$attributes3 === void 0 ? void 0 : _link$attributes3.source_type) === "network.agg_interface";
|
73
73
|
}
|
74
74
|
|
75
|
-
function mergeLinksData(links, linkCis, nodes,
|
75
|
+
function mergeLinksData(links, linkCis, nodes, ciMap, interfaceDoc) {
|
76
76
|
var linkCiMap = (0, _keyBy["default"])(links, "id");
|
77
77
|
return links.map(function (link) {
|
78
|
-
var
|
78
|
+
var _ciMap$attributes$net, _ciMap$attributes$net2, _ciMap$attributes$sou, _ciMap$attributes$des;
|
79
79
|
|
80
80
|
var linkCi = linkCiMap[link.id];
|
81
|
-
var attributes = (0, _extends2["default"])({}, linkCi === null || linkCi === void 0 ? void 0 : linkCi.attributes);
|
82
|
-
var sourceNode = nodes.find(function (node) {
|
83
|
-
return node.id === attributes["network_link.source_device_id"];
|
84
|
-
});
|
85
|
-
var targetNode = nodes.find(function (node) {
|
86
|
-
return node.id === attributes["network_link.destination_device_id"];
|
87
|
-
}); // 翻译
|
81
|
+
var attributes = (0, _extends2["default"])({}, linkCi === null || linkCi === void 0 ? void 0 : linkCi.attributes); // 翻译
|
88
82
|
|
89
83
|
return (0, _extends2["default"])({}, link, {
|
84
|
+
breakState: false,
|
90
85
|
attributes: (0, _extends2["default"])({}, attributes, {
|
91
86
|
// 源/目的设备
|
92
87
|
"network_link.source_device_id_object": {
|
93
|
-
displayName:
|
88
|
+
displayName: (_ciMap$attributes$net = ciMap[attributes["network_link.source_device_id"]]) === null || _ciMap$attributes$net === void 0 ? void 0 : _ciMap$attributes$net.attributes["display_name"]
|
94
89
|
},
|
95
90
|
"network_link.destination_device_id_object": {
|
96
|
-
displayName:
|
91
|
+
displayName: (_ciMap$attributes$net2 = ciMap[attributes["network_link.destination_device_id"]]) === null || _ciMap$attributes$net2 === void 0 ? void 0 : _ciMap$attributes$net2.attributes["display_name"]
|
97
92
|
},
|
98
93
|
// 源/目的接口类型
|
99
94
|
source_type_object: interfaceDoc[attributes.source_type],
|
100
95
|
destination_type_object: interfaceDoc[attributes.destination_type],
|
101
96
|
// 源/目的接口
|
102
97
|
source_id_object: {
|
103
|
-
displayName: (
|
98
|
+
displayName: (_ciMap$attributes$sou = ciMap[attributes.source_id]) === null || _ciMap$attributes$sou === void 0 ? void 0 : _ciMap$attributes$sou.attributes["display_name"]
|
104
99
|
},
|
105
100
|
destination_id_object: {
|
106
|
-
displayName: (
|
101
|
+
displayName: (_ciMap$attributes$des = ciMap[attributes.destination_id]) === null || _ciMap$attributes$des === void 0 ? void 0 : _ciMap$attributes$des.attributes["display_name"]
|
107
102
|
}
|
108
103
|
})
|
109
104
|
});
|
@@ -116,7 +111,7 @@ function getLinksDetail(_x, _x2) {
|
|
116
111
|
|
117
112
|
function _getLinksDetail() {
|
118
113
|
_getLinksDetail = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(links, nodes) {
|
119
|
-
var linkCis,
|
114
|
+
var linkCis, ciMap, ciIds, interfaceTypes, loadCiMap, interfaceDoc;
|
120
115
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
121
116
|
while (1) switch (_context.prev = _context.next) {
|
122
117
|
case 0:
|
@@ -129,11 +124,20 @@ function _getLinksDetail() {
|
|
129
124
|
|
130
125
|
case 2:
|
131
126
|
linkCis = links;
|
132
|
-
|
127
|
+
ciMap = (0, _keyBy["default"])(nodes, "id");
|
128
|
+
ciIds = _lodash["default"].uniq([].concat(linkCis.map(function (item) {
|
129
|
+
return item.attributes['network_link.destination_device_id'];
|
130
|
+
}), linkCis.map(function (item) {
|
131
|
+
return item.attributes['network_link.source_device_id'];
|
132
|
+
}), linkCis.map(function (item) {
|
133
133
|
return item.attributes.source_id;
|
134
134
|
}), linkCis.map(function (item) {
|
135
135
|
return item.attributes.destination_id;
|
136
|
-
}))
|
136
|
+
}))).filter(function (item) {
|
137
|
+
return !!item;
|
138
|
+
}).filter(function (item) {
|
139
|
+
return !ciMap[item];
|
140
|
+
});
|
137
141
|
interfaceTypes = _lodash["default"].compact(_lodash["default"].uniq([].concat(linkCis.map(function (item) {
|
138
142
|
return item.attributes.source_type;
|
139
143
|
}), linkCis.map(function (item) {
|
@@ -141,19 +145,21 @@ function _getLinksDetail() {
|
|
141
145
|
})))).filter(function (item) {
|
142
146
|
return item !== "ip";
|
143
147
|
});
|
144
|
-
_context.next =
|
145
|
-
return _CiCache["default"].load(
|
148
|
+
_context.next = 8;
|
149
|
+
return _CiCache["default"].load(ciIds);
|
146
150
|
|
147
|
-
case
|
148
|
-
|
149
|
-
_context.next =
|
151
|
+
case 8:
|
152
|
+
loadCiMap = _context.sent;
|
153
|
+
_context.next = 11;
|
150
154
|
return _CiTypeCache["default"].load(interfaceTypes);
|
151
155
|
|
152
|
-
case
|
156
|
+
case 11:
|
153
157
|
interfaceDoc = _context.sent;
|
154
|
-
|
158
|
+
Object.assign(ciMap, loadCiMap); // console.log('getLinksDetail-mergeLinksData', { relations, interfaceIds, interfaceCis, })
|
159
|
+
|
160
|
+
return _context.abrupt("return", mergeLinksData(links, linkCis, nodes, ciMap, interfaceDoc));
|
155
161
|
|
156
|
-
case
|
162
|
+
case 14:
|
157
163
|
case "end":
|
158
164
|
return _context.stop();
|
159
165
|
}
|
@@ -415,7 +415,8 @@ function _default(topoApp) {
|
|
415
415
|
globalConfig: extraConfig,
|
416
416
|
type: (_result$config = result.config) === null || _result$config === void 0 ? void 0 : _result$config.showType,
|
417
417
|
topoData: topoData,
|
418
|
-
resAndMetrics: resAndMetrics
|
418
|
+
resAndMetrics: resAndMetrics,
|
419
|
+
loading: false
|
419
420
|
});
|
420
421
|
|
421
422
|
case 47:
|
@@ -447,11 +448,7 @@ function _default(topoApp) {
|
|
447
448
|
|
448
449
|
topoApp.options.onLoad();
|
449
450
|
|
450
|
-
|
451
|
-
loading: false
|
452
|
-
});
|
453
|
-
|
454
|
-
case 62:
|
451
|
+
case 61:
|
455
452
|
case "end":
|
456
453
|
return _context4.stop();
|
457
454
|
}
|
@@ -16,6 +16,7 @@ function fixLink(topo) {
|
|
16
16
|
edges.forEach(function (edge) {
|
17
17
|
var source = edge.getSource();
|
18
18
|
var target = edge.getTarget();
|
19
|
+
console.log('fixLink', edge, source, target);
|
19
20
|
var linkData = linkDatas.find(function (data) {
|
20
21
|
return data.id === edge.getTag();
|
21
22
|
}); // TODO 判断两端互相切换
|
@@ -920,7 +920,8 @@ function ResourceOverview(props) {
|
|
920
920
|
return item.code;
|
921
921
|
}),
|
922
922
|
getOverviewConfig: resourceOverviewProps.getOverviewConfig,
|
923
|
-
saveOverviewConfig: resourceOverviewProps.saveOverviewConfig
|
923
|
+
saveOverviewConfig: resourceOverviewProps.saveOverviewConfig,
|
924
|
+
jumpto: topo.viewProps.jumpto
|
924
925
|
}) : /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
|
925
926
|
headerTitle: "\u5173\u952E\u6307\u6807",
|
926
927
|
headerExtra: /*#__PURE__*/_react["default"].createElement(_Configurator["default"], {
|
@@ -20,7 +20,8 @@ var _LinkTopoModule = _interopRequireDefault(require("./LinkTopo.module.scss"));
|
|
20
20
|
function LinkTopo(props) {
|
21
21
|
var data = props.data,
|
22
22
|
linkMetricCodes = props.linkMetricCodes,
|
23
|
-
openFlow = props.openFlow
|
23
|
+
openFlow = props.openFlow,
|
24
|
+
jumpto = props.jumpto;
|
24
25
|
var metricData = (0, _useMetricPolling["default"])({
|
25
26
|
linkCi: data,
|
26
27
|
linkMetricCodes: linkMetricCodes
|
@@ -46,7 +47,7 @@ function LinkTopo(props) {
|
|
46
47
|
data: data // 链路ci数据
|
47
48
|
,
|
48
49
|
isNarrow: true,
|
49
|
-
jumpto: (0, _componentTopologyUtils.getHistory)().push
|
50
|
+
jumpto: jumpto || (0, _componentTopologyUtils.getHistory)().push
|
50
51
|
}, metricData, {
|
51
52
|
openFlow: openFlow
|
52
53
|
})));
|
@@ -31,7 +31,8 @@ function LinkTopoCard(props) {
|
|
31
31
|
defaultCols = props.defaultCols,
|
32
32
|
metricCol = props.metricCol,
|
33
33
|
metricColChange = props.metricColChange,
|
34
|
-
metricCodes = props.metricCodes
|
34
|
+
metricCodes = props.metricCodes,
|
35
|
+
jumpto = props.jumpto; // eslint-disable-next-line camelcase
|
35
36
|
|
36
37
|
var supportTemplates = (data === null || data === void 0 ? void 0 : (_data$attributes = data.attributes) === null || _data$attributes === void 0 ? void 0 : _data$attributes.support_templates) || ''; // 该资源监控模板
|
37
38
|
|
@@ -122,6 +123,7 @@ function LinkTopoCard(props) {
|
|
122
123
|
linkMetricCodes: openFlow && openFlow.name == '查看流量构成' ? metricCodes : metricCodes.filter(function (i) {
|
123
124
|
return i != 'netDelayRatio' && i != 'retansRatio';
|
124
125
|
}),
|
125
|
-
openFlow: openFlow
|
126
|
+
openFlow: openFlow,
|
127
|
+
jumpto: jumpto
|
126
128
|
}));
|
127
129
|
}
|
@@ -10,8 +10,6 @@ exports.processByConditionTopoData = processByConditionTopoData;
|
|
10
10
|
|
11
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
12
12
|
|
13
|
-
var _relateTopoData = require("./__tests__/relateTopoData");
|
14
|
-
|
15
13
|
// 关联拓扑数据
|
16
14
|
|
17
15
|
/**
|
@@ -70,7 +68,7 @@ function buildTopoNode(topoId) {
|
|
70
68
|
// name: ,
|
71
69
|
bindType: "topo",
|
72
70
|
// 绑定资源类型。关联资源 值为空,关联IP ip
|
73
|
-
|
71
|
+
bindTopo: topoId,
|
74
72
|
// TODO 所属区域,从序列化拿
|
75
73
|
// 'groupId': null,
|
76
74
|
// 'groupTag': null,
|
@@ -84,7 +82,6 @@ function buildTopoNode(topoId) {
|
|
84
82
|
}
|
85
83
|
|
86
84
|
function buildTopoLinks(links) {
|
87
|
-
// links.push(...topoLinks)
|
88
85
|
return links.map(function (link) {
|
89
86
|
return (0, _extends2["default"])({}, link, {
|
90
87
|
"source": link.sourceType ? link.sourceType + ':' + link.source : link.source,
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@riil-frontend/component-topology",
|
3
|
-
"version": "13.0.
|
3
|
+
"version": "13.0.2",
|
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@13.0.
|
126
|
+
"homepage": "https://unpkg.com/@riil-frontend/component-topology@13.0.2/build/index.html",
|
127
127
|
"gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
|
128
128
|
}
|
@@ -1,110 +0,0 @@
|
|
1
|
-
export var topoLinks = [// 子拓扑与资源间
|
2
|
-
{
|
3
|
-
"id": "1-2",
|
4
|
-
"name": "子拓扑链路",
|
5
|
-
'sourceType': 'topo',
|
6
|
-
"source": "3",
|
7
|
-
"target": "00000000010de861",
|
8
|
-
"operation": "delete",
|
9
|
-
"ciType": "network_link",
|
10
|
-
"attributes": {
|
11
|
-
"network_link.source_device_ipv4": "172.17.166.18",
|
12
|
-
"network_link.destination_ipv4": "1.5.5.5",
|
13
|
-
"network_link.work_mode": "AandS",
|
14
|
-
"support_templates": "m.ethernet_link",
|
15
|
-
"rated_bandwidth": 100,
|
16
|
-
"network_link.actual_bandwidth": 100,
|
17
|
-
"source_type": "network.interface",
|
18
|
-
"network_link.connect_type": "phy",
|
19
|
-
"display_name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
20
|
-
"asset_status": "2",
|
21
|
-
"network_link_type": "2",
|
22
|
-
"destination_type": "ip",
|
23
|
-
"network_link.role": "master",
|
24
|
-
"network_link.network_category": "CAN",
|
25
|
-
"dcs": "331268969",
|
26
|
-
"network_link.source_ipv4": "172.17.166.18",
|
27
|
-
"name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
28
|
-
"distance_outlet": 2147483647,
|
29
|
-
"network_link.is_crucial": false,
|
30
|
-
"source_id": "00000000010de8b2",
|
31
|
-
"network_link.source_device_id": "00000000010de861"
|
32
|
-
},
|
33
|
-
"sourceCode": null,
|
34
|
-
"level": null,
|
35
|
-
"customType": null,
|
36
|
-
"manageStatus": 3
|
37
|
-
}, // 子拓扑与IP间
|
38
|
-
{
|
39
|
-
"id": "3-2",
|
40
|
-
"name": "子拓扑链路",
|
41
|
-
'sourceType': 'topo',
|
42
|
-
"source": "3",
|
43
|
-
"target": "",
|
44
|
-
"operation": "delete",
|
45
|
-
"ciType": "network_link",
|
46
|
-
"attributes": {
|
47
|
-
"network_link.source_device_ipv4": "172.17.166.18",
|
48
|
-
"network_link.destination_ipv4": "1.5.5.5",
|
49
|
-
"network_link.work_mode": "AandS",
|
50
|
-
"support_templates": "m.ethernet_link",
|
51
|
-
"rated_bandwidth": 100,
|
52
|
-
"network_link.actual_bandwidth": 100,
|
53
|
-
"source_type": "network.interface",
|
54
|
-
"network_link.connect_type": "phy",
|
55
|
-
"display_name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
56
|
-
"asset_status": "2",
|
57
|
-
"network_link_type": "2",
|
58
|
-
"destination_type": "ip",
|
59
|
-
"network_link.role": "master",
|
60
|
-
"network_link.network_category": "CAN",
|
61
|
-
"dcs": "331268969",
|
62
|
-
"network_link.source_ipv4": "172.17.166.18",
|
63
|
-
"name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
64
|
-
"distance_outlet": 2147483647,
|
65
|
-
"network_link.is_crucial": false,
|
66
|
-
"source_id": "00000000010de8b2",
|
67
|
-
"network_link.source_device_id": "00000000010de861"
|
68
|
-
},
|
69
|
-
"sourceCode": null,
|
70
|
-
"level": null,
|
71
|
-
"customType": null,
|
72
|
-
"manageStatus": 3
|
73
|
-
}, // 子拓扑之间
|
74
|
-
{
|
75
|
-
"id": "2-2",
|
76
|
-
"name": "子拓扑链路",
|
77
|
-
'sourceType': 'topo',
|
78
|
-
"source": "3",
|
79
|
-
'targetType': 'topo',
|
80
|
-
"target": "6",
|
81
|
-
"operation": "delete",
|
82
|
-
"ciType": "network_link",
|
83
|
-
"attributes": {
|
84
|
-
"network_link.source_device_ipv4": "172.17.166.18",
|
85
|
-
"network_link.destination_ipv4": "1.5.5.5",
|
86
|
-
"network_link.work_mode": "AandS",
|
87
|
-
"support_templates": "m.ethernet_link",
|
88
|
-
"rated_bandwidth": 100,
|
89
|
-
"network_link.actual_bandwidth": 100,
|
90
|
-
"source_type": "network.interface",
|
91
|
-
"network_link.connect_type": "phy",
|
92
|
-
"display_name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
93
|
-
"asset_status": "2",
|
94
|
-
"network_link_type": "2",
|
95
|
-
"destination_type": "ip",
|
96
|
-
"network_link.role": "master",
|
97
|
-
"network_link.network_category": "CAN",
|
98
|
-
"dcs": "331268969",
|
99
|
-
"network_link.source_ipv4": "172.17.166.18",
|
100
|
-
"name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
101
|
-
"distance_outlet": 2147483647,
|
102
|
-
"network_link.is_crucial": false,
|
103
|
-
"source_id": "00000000010de8b2",
|
104
|
-
"network_link.source_device_id": "00000000010de861"
|
105
|
-
},
|
106
|
-
"sourceCode": null,
|
107
|
-
"level": null,
|
108
|
-
"customType": null,
|
109
|
-
"manageStatus": 3
|
110
|
-
}];
|
@@ -1,115 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
exports.__esModule = true;
|
4
|
-
exports.topoLinks = void 0;
|
5
|
-
var topoLinks = [// 子拓扑与资源间
|
6
|
-
{
|
7
|
-
"id": "1-2",
|
8
|
-
"name": "子拓扑链路",
|
9
|
-
'sourceType': 'topo',
|
10
|
-
"source": "3",
|
11
|
-
"target": "00000000010de861",
|
12
|
-
"operation": "delete",
|
13
|
-
"ciType": "network_link",
|
14
|
-
"attributes": {
|
15
|
-
"network_link.source_device_ipv4": "172.17.166.18",
|
16
|
-
"network_link.destination_ipv4": "1.5.5.5",
|
17
|
-
"network_link.work_mode": "AandS",
|
18
|
-
"support_templates": "m.ethernet_link",
|
19
|
-
"rated_bandwidth": 100,
|
20
|
-
"network_link.actual_bandwidth": 100,
|
21
|
-
"source_type": "network.interface",
|
22
|
-
"network_link.connect_type": "phy",
|
23
|
-
"display_name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
24
|
-
"asset_status": "2",
|
25
|
-
"network_link_type": "2",
|
26
|
-
"destination_type": "ip",
|
27
|
-
"network_link.role": "master",
|
28
|
-
"network_link.network_category": "CAN",
|
29
|
-
"dcs": "331268969",
|
30
|
-
"network_link.source_ipv4": "172.17.166.18",
|
31
|
-
"name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
32
|
-
"distance_outlet": 2147483647,
|
33
|
-
"network_link.is_crucial": false,
|
34
|
-
"source_id": "00000000010de8b2",
|
35
|
-
"network_link.source_device_id": "00000000010de861"
|
36
|
-
},
|
37
|
-
"sourceCode": null,
|
38
|
-
"level": null,
|
39
|
-
"customType": null,
|
40
|
-
"manageStatus": 3
|
41
|
-
}, // 子拓扑与IP间
|
42
|
-
{
|
43
|
-
"id": "3-2",
|
44
|
-
"name": "子拓扑链路",
|
45
|
-
'sourceType': 'topo',
|
46
|
-
"source": "3",
|
47
|
-
"target": "",
|
48
|
-
"operation": "delete",
|
49
|
-
"ciType": "network_link",
|
50
|
-
"attributes": {
|
51
|
-
"network_link.source_device_ipv4": "172.17.166.18",
|
52
|
-
"network_link.destination_ipv4": "1.5.5.5",
|
53
|
-
"network_link.work_mode": "AandS",
|
54
|
-
"support_templates": "m.ethernet_link",
|
55
|
-
"rated_bandwidth": 100,
|
56
|
-
"network_link.actual_bandwidth": 100,
|
57
|
-
"source_type": "network.interface",
|
58
|
-
"network_link.connect_type": "phy",
|
59
|
-
"display_name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
60
|
-
"asset_status": "2",
|
61
|
-
"network_link_type": "2",
|
62
|
-
"destination_type": "ip",
|
63
|
-
"network_link.role": "master",
|
64
|
-
"network_link.network_category": "CAN",
|
65
|
-
"dcs": "331268969",
|
66
|
-
"network_link.source_ipv4": "172.17.166.18",
|
67
|
-
"name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
68
|
-
"distance_outlet": 2147483647,
|
69
|
-
"network_link.is_crucial": false,
|
70
|
-
"source_id": "00000000010de8b2",
|
71
|
-
"network_link.source_device_id": "00000000010de861"
|
72
|
-
},
|
73
|
-
"sourceCode": null,
|
74
|
-
"level": null,
|
75
|
-
"customType": null,
|
76
|
-
"manageStatus": 3
|
77
|
-
}, // 子拓扑之间
|
78
|
-
{
|
79
|
-
"id": "2-2",
|
80
|
-
"name": "子拓扑链路",
|
81
|
-
'sourceType': 'topo',
|
82
|
-
"source": "3",
|
83
|
-
'targetType': 'topo',
|
84
|
-
"target": "6",
|
85
|
-
"operation": "delete",
|
86
|
-
"ciType": "network_link",
|
87
|
-
"attributes": {
|
88
|
-
"network_link.source_device_ipv4": "172.17.166.18",
|
89
|
-
"network_link.destination_ipv4": "1.5.5.5",
|
90
|
-
"network_link.work_mode": "AandS",
|
91
|
-
"support_templates": "m.ethernet_link",
|
92
|
-
"rated_bandwidth": 100,
|
93
|
-
"network_link.actual_bandwidth": 100,
|
94
|
-
"source_type": "network.interface",
|
95
|
-
"network_link.connect_type": "phy",
|
96
|
-
"display_name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
97
|
-
"asset_status": "2",
|
98
|
-
"network_link_type": "2",
|
99
|
-
"destination_type": "ip",
|
100
|
-
"network_link.role": "master",
|
101
|
-
"network_link.network_category": "CAN",
|
102
|
-
"dcs": "331268969",
|
103
|
-
"network_link.source_ipv4": "172.17.166.18",
|
104
|
-
"name": "172.17.166.18(Fa 0/10) - 1.5.5.5",
|
105
|
-
"distance_outlet": 2147483647,
|
106
|
-
"network_link.is_crucial": false,
|
107
|
-
"source_id": "00000000010de8b2",
|
108
|
-
"network_link.source_device_id": "00000000010de861"
|
109
|
-
},
|
110
|
-
"sourceCode": null,
|
111
|
-
"level": null,
|
112
|
-
"customType": null,
|
113
|
-
"manageStatus": 3
|
114
|
-
}];
|
115
|
-
exports.topoLinks = topoLinks;
|