@riil-frontend/component-topology 9.0.0-a.1 → 9.0.0-a.10
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/1.js +2 -2
- package/build/2.js +1 -1
- package/build/index.css +1 -1
- package/build/index.js +17 -17
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +1 -1
- package/es/core/event/topoEventListener.js +22 -0
- package/es/core/hooks/useAlarm.js +18 -12
- package/es/core/hooks/useCiAttributeChange.js +60 -0
- package/es/core/hooks/usePolling.js +163 -60
- package/es/core/hooks/useTopoEventListener.js +4 -18
- package/es/core/models/Alarm.js +4 -13
- package/es/core/models/AttributeMetricDisplay.js +44 -127
- package/es/core/models/TopoApp.js +4 -2
- package/es/core/models/attributeFormatter/index.js +5 -6
- package/es/core/models/cache/CiCache.d.ts +18 -0
- package/es/core/models/cache/CiCache.js +78 -0
- package/es/core/models/utils/linkUtils.js +10 -13
- package/es/core/store/models/topoBizMod.js +4 -0
- package/es/core/store/models/viewer/resourceDetail.js +7 -0
- package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +10 -9
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +100 -46
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +8 -6
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +8 -26
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useMetricModels.js +13 -52
- package/es/style.js +1 -1
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +1 -1
- package/lib/core/event/topoEventListener.js +27 -0
- package/lib/core/hooks/useAlarm.js +19 -12
- package/lib/core/hooks/useCiAttributeChange.js +70 -0
- package/lib/core/hooks/usePolling.js +166 -61
- package/lib/core/hooks/useTopoEventListener.js +3 -17
- package/lib/core/models/Alarm.js +5 -16
- package/lib/core/models/AttributeMetricDisplay.js +44 -126
- package/lib/core/models/TopoApp.js +4 -1
- package/lib/core/models/attributeFormatter/index.js +5 -7
- package/lib/core/models/cache/CiCache.d.ts +18 -0
- package/lib/core/models/cache/CiCache.js +89 -0
- package/lib/core/models/utils/linkUtils.js +10 -12
- package/lib/core/store/models/topoBizMod.js +4 -0
- package/lib/core/store/models/viewer/resourceDetail.js +7 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +10 -9
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +99 -45
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +8 -6
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +8 -26
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useMetricModels.js +13 -53
- package/lib/style.js +1 -1
- package/package.json +3 -3
@@ -7,10 +7,10 @@ exports["default"] = void 0;
|
|
7
7
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
9
9
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
11
|
-
|
12
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
13
11
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
13
|
+
|
14
14
|
var _react = require("react");
|
15
15
|
|
16
16
|
var _ahooks = require("ahooks");
|
@@ -19,6 +19,14 @@ var _lodash = _interopRequireDefault(require("lodash"));
|
|
19
19
|
|
20
20
|
var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
|
21
21
|
|
22
|
+
var _topo = _interopRequireDefault(require("@riil-frontend/component-topology-common/es/services/topo"));
|
23
|
+
|
24
|
+
var _componentRiilEventEmitter = require("@riil-frontend/component-riil-event-emitter");
|
25
|
+
|
26
|
+
var _DictCache = _interopRequireDefault(require("../models/cache/DictCache"));
|
27
|
+
|
28
|
+
var _useCiAttributeChange = _interopRequireDefault(require("./useCiAttributeChange"));
|
29
|
+
|
22
30
|
/**
|
23
31
|
* 轮询获取指标hooks
|
24
32
|
* @param {*} props
|
@@ -26,12 +34,156 @@ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-ut
|
|
26
34
|
var usePolling = function usePolling(props) {
|
27
35
|
var topo = props.topo;
|
28
36
|
var store = topo.store;
|
37
|
+
(0, _useCiAttributeChange["default"])({
|
38
|
+
topo: topo
|
39
|
+
});
|
29
40
|
var bizState = store.useModelState('topoBizMod');
|
30
41
|
var resAndMetrics = bizState.resAndMetrics,
|
31
42
|
pollingSwitch = bizState.pollingSwitch;
|
32
43
|
var displayConfig = topo.store.useModelState('displayConfig');
|
33
44
|
var resourceOverviewState = topo.store.useModelState('topoBaseInfoOverview');
|
34
|
-
var resIdsList = resAndMetrics === null || resAndMetrics === void 0 ? void 0 : resAndMetrics.resIdsList;
|
45
|
+
var resIdsList = resAndMetrics === null || resAndMetrics === void 0 ? void 0 : resAndMetrics.resIdsList;
|
46
|
+
/**
|
47
|
+
* 查询拓扑图资源的属性指标
|
48
|
+
*
|
49
|
+
* @returns {array}
|
50
|
+
*/
|
51
|
+
|
52
|
+
function fetchData() {
|
53
|
+
return _fetchData.apply(this, arguments);
|
54
|
+
}
|
55
|
+
/**
|
56
|
+
*
|
57
|
+
* @returns {{id, attributes: object[], metrics: object[]}[]} 属性和指标
|
58
|
+
*/
|
59
|
+
|
60
|
+
|
61
|
+
function _fetchData() {
|
62
|
+
_fetchData = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
63
|
+
var _topo$store$getModelS, resIdsList, nodeIdsList, codes, param, _yield$Promise$all, ciMetricResult, transformLinkData;
|
64
|
+
|
65
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
66
|
+
while (1) {
|
67
|
+
switch (_context.prev = _context.next) {
|
68
|
+
case 0:
|
69
|
+
transformLinkData = function _transformLinkData(data) {
|
70
|
+
var _topo$dataModel$getDa = topo.dataModel.getData(),
|
71
|
+
links = _topo$dataModel$getDa.links,
|
72
|
+
linkGroups = _topo$dataModel$getDa.linkGroups;
|
73
|
+
|
74
|
+
var link = [].concat(links, linkGroups).find(function (item) {
|
75
|
+
return item.id === data.id;
|
76
|
+
});
|
77
|
+
|
78
|
+
if (!link) {
|
79
|
+
return data;
|
80
|
+
}
|
81
|
+
|
82
|
+
return (0, _extends2["default"])({}, data, {
|
83
|
+
attributeMap: link.attributes || {}
|
84
|
+
});
|
85
|
+
};
|
86
|
+
|
87
|
+
_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);
|
88
|
+
// 无资源,不查询
|
89
|
+
|
90
|
+
if (resIdsList.length) {
|
91
|
+
_context.next = 4;
|
92
|
+
break;
|
93
|
+
}
|
94
|
+
|
95
|
+
return _context.abrupt("return", []);
|
96
|
+
|
97
|
+
case 4:
|
98
|
+
// 需要查询的指标列表
|
99
|
+
codes = topo.attributeMetricDisplay.getResourceMetricCodes();
|
100
|
+
param = {
|
101
|
+
ciId: nodeIdsList,
|
102
|
+
codes: codes,
|
103
|
+
// 过滤掉不需要查询的
|
104
|
+
relationId: topo.attributeMetricDisplay.getEdges().map(function (edge) {
|
105
|
+
return {
|
106
|
+
ciId: edge.id,
|
107
|
+
operation: edge.operation
|
108
|
+
};
|
109
|
+
})
|
110
|
+
};
|
111
|
+
_context.t0 = Promise;
|
112
|
+
_context.t1 = // 查询指标值
|
113
|
+
_topo["default"].ciInfo.batchQueryCiInfo(param);
|
114
|
+
_context.next = 10;
|
115
|
+
return _DictCache["default"].init();
|
116
|
+
|
117
|
+
case 10:
|
118
|
+
_context.t2 = _context.sent;
|
119
|
+
_context.t3 = [_context.t1, _context.t2];
|
120
|
+
_context.next = 14;
|
121
|
+
return _context.t0.all.call(_context.t0, _context.t3);
|
122
|
+
|
123
|
+
case 14:
|
124
|
+
_yield$Promise$all = _context.sent;
|
125
|
+
ciMetricResult = _yield$Promise$all[0];
|
126
|
+
return _context.abrupt("return", ciMetricResult.map(function (data) {
|
127
|
+
var ci = topo.dataModel.getDataById(data.id);
|
128
|
+
var resultData = (0, _extends2["default"])({}, data, ci, {
|
129
|
+
attributeMap: (0, _extends2["default"])({}, (ci === null || ci === void 0 ? void 0 : ci.attributes) || {})
|
130
|
+
});
|
131
|
+
resultData = transformLinkData(resultData); // 特殊处理:ipv6 从ipv6_address_list取第一个
|
132
|
+
|
133
|
+
// 特殊处理:ipv6 从ipv6_address_list取第一个
|
134
|
+
if (resultData.attributeMap.ipv6_address_list && !resultData.attributeMap.ipv6_address) {
|
135
|
+
resultData.attributeMap.ipv6_address = (resultData.attributeMap.ipv6_address_list || '').split(',')[0];
|
136
|
+
}
|
137
|
+
|
138
|
+
return resultData;
|
139
|
+
}));
|
140
|
+
|
141
|
+
case 17:
|
142
|
+
case "end":
|
143
|
+
return _context.stop();
|
144
|
+
}
|
145
|
+
}
|
146
|
+
}, _callee);
|
147
|
+
}));
|
148
|
+
return _fetchData.apply(this, arguments);
|
149
|
+
}
|
150
|
+
|
151
|
+
function refresh() {
|
152
|
+
return _refresh.apply(this, arguments);
|
153
|
+
} // 轮询hooks
|
154
|
+
|
155
|
+
|
156
|
+
function _refresh() {
|
157
|
+
_refresh = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
158
|
+
var data;
|
159
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
160
|
+
while (1) {
|
161
|
+
switch (_context2.prev = _context2.next) {
|
162
|
+
case 0:
|
163
|
+
if (!(!pollingSwitch || !(resAndMetrics !== null && resAndMetrics !== void 0 && resAndMetrics.resIdsList.length))) {
|
164
|
+
_context2.next = 2;
|
165
|
+
break;
|
166
|
+
}
|
167
|
+
|
168
|
+
return _context2.abrupt("return");
|
169
|
+
|
170
|
+
case 2:
|
171
|
+
_context2.next = 4;
|
172
|
+
return fetchData();
|
173
|
+
|
174
|
+
case 4:
|
175
|
+
data = _context2.sent;
|
176
|
+
return _context2.abrupt("return", data);
|
177
|
+
|
178
|
+
case 6:
|
179
|
+
case "end":
|
180
|
+
return _context2.stop();
|
181
|
+
}
|
182
|
+
}
|
183
|
+
}, _callee2);
|
184
|
+
}));
|
185
|
+
return _refresh.apply(this, arguments);
|
186
|
+
}
|
35
187
|
|
36
188
|
var _useRequest = (0, _ahooks.useRequest)(refresh, {
|
37
189
|
pollingInterval: 60 * 1000,
|
@@ -42,30 +194,13 @@ var usePolling = function usePolling(props) {
|
|
42
194
|
if (result) {
|
43
195
|
var dd = _lodash["default"].cloneDeep(result);
|
44
196
|
|
45
|
-
topo.attributeMetricDisplay.
|
197
|
+
topo.attributeMetricDisplay.loadData(dd);
|
46
198
|
}
|
47
199
|
}
|
48
200
|
}),
|
49
201
|
loading = _useRequest.loading,
|
50
202
|
startPoll = _useRequest.run,
|
51
|
-
stopPoll = _useRequest.cancel;
|
52
|
-
|
53
|
-
function convertData(data) {
|
54
|
-
return data.map(function (item) {
|
55
|
-
return (0, _extends2["default"])({}, item, {
|
56
|
-
attributes: convertAttrMap(item.attributes),
|
57
|
-
metrics: convertAttrMap(item.metrics)
|
58
|
-
});
|
59
|
-
});
|
60
|
-
}
|
61
|
-
|
62
|
-
function convertAttrMap(attrs) {
|
63
|
-
var map = {};
|
64
|
-
attrs.forEach(function (attr) {
|
65
|
-
map[attr.code] = attr.value;
|
66
|
-
});
|
67
|
-
return map;
|
68
|
-
} // 需要刷新数据的场景:显示模式、资源变化、配置变化、开关开启、概览
|
203
|
+
stopPoll = _useRequest.cancel; // 需要刷新数据的场景:显示模式、资源变化、配置变化、开关开启、概览
|
69
204
|
|
70
205
|
|
71
206
|
(0, _react.useEffect)(function () {
|
@@ -87,46 +222,16 @@ var usePolling = function usePolling(props) {
|
|
87
222
|
stopPoll();
|
88
223
|
}
|
89
224
|
};
|
90
|
-
}, [pollingSwitch, resIdsList, displayConfig, resourceOverviewState.id, resourceOverviewState.metricCodes]);
|
91
|
-
/**
|
92
|
-
*
|
93
|
-
* @returns {{id, attributes: object[], metrics: object[]}[]} 属性和指标
|
94
|
-
*/
|
95
|
-
|
96
|
-
function refresh() {
|
97
|
-
return _refresh.apply(this, arguments);
|
98
|
-
}
|
99
|
-
|
100
|
-
function _refresh() {
|
101
|
-
_refresh = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
102
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
103
|
-
while (1) {
|
104
|
-
switch (_context.prev = _context.next) {
|
105
|
-
case 0:
|
106
|
-
if (!(!pollingSwitch || !(resAndMetrics !== null && resAndMetrics !== void 0 && resAndMetrics.resIdsList.length))) {
|
107
|
-
_context.next = 2;
|
108
|
-
break;
|
109
|
-
}
|
110
|
-
|
111
|
-
return _context.abrupt("return");
|
112
|
-
|
113
|
-
case 2:
|
114
|
-
_context.next = 4;
|
115
|
-
return topo.attributeMetricDisplay.fetchData();
|
116
|
-
|
117
|
-
case 4:
|
118
|
-
return _context.abrupt("return", _context.sent);
|
119
|
-
|
120
|
-
case 5:
|
121
|
-
case "end":
|
122
|
-
return _context.stop();
|
123
|
-
}
|
124
|
-
}
|
125
|
-
}, _callee);
|
126
|
-
}));
|
127
|
-
return _refresh.apply(this, arguments);
|
128
|
-
}
|
225
|
+
}, [pollingSwitch, resIdsList, displayConfig, resourceOverviewState.id, resourceOverviewState.metricCodes]); // 属性变更监听更新
|
129
226
|
|
227
|
+
(0, _componentRiilEventEmitter.useCbbEventListener)('topo', {
|
228
|
+
name: 'topo',
|
229
|
+
onMessage: function onMessage(message) {
|
230
|
+
if (message.type === 'attribute') {
|
231
|
+
var data = message.data;
|
232
|
+
}
|
233
|
+
}
|
234
|
+
});
|
130
235
|
return {
|
131
236
|
startPoll: startPoll,
|
132
237
|
stopPoll: stopPoll
|
@@ -5,29 +5,15 @@ exports["default"] = useTopoEventListener;
|
|
5
5
|
|
6
6
|
var _react = require("react");
|
7
7
|
|
8
|
-
var
|
8
|
+
var _topoEventListener = require("../event/topoEventListener");
|
9
9
|
|
10
10
|
function useTopoEventListener(props) {
|
11
11
|
var type = props.type,
|
12
12
|
onMessage = props.onMessage;
|
13
|
-
var eventListenerName = (0, _react.useMemo)(function () {
|
14
|
-
return "topo_" + n++;
|
15
|
-
}, []);
|
16
13
|
(0, _react.useEffect)(function () {
|
17
|
-
var
|
18
|
-
|
19
|
-
if (EE) {
|
20
|
-
window.EE.on('topo', eventListenerName, function (data) {
|
21
|
-
if (data.type === type) {
|
22
|
-
onMessage(data.data);
|
23
|
-
}
|
24
|
-
});
|
25
|
-
}
|
26
|
-
|
14
|
+
var listener = (0, _topoEventListener.createTopoEventListener)(type, onMessage);
|
27
15
|
return function () {
|
28
|
-
|
29
|
-
window.EE.removeListener('topo', eventListenerName);
|
30
|
-
}
|
16
|
+
listener.close();
|
31
17
|
};
|
32
18
|
}, [type, onMessage]);
|
33
19
|
}
|
package/lib/core/models/Alarm.js
CHANGED
@@ -19,8 +19,8 @@ var _componentRiilEventEmitter = require("@riil-frontend/component-riil-event-em
|
|
19
19
|
|
20
20
|
var _utils = require("@riil-frontend/utils");
|
21
21
|
|
22
|
-
|
23
|
-
|
22
|
+
var _topoEventListener = require("../event/topoEventListener");
|
23
|
+
|
24
24
|
var Alarm = /*#__PURE__*/function () {
|
25
25
|
function Alarm() {
|
26
26
|
this.topo = void 0;
|
@@ -394,8 +394,6 @@ var Alarm = /*#__PURE__*/function () {
|
|
394
394
|
/*#__PURE__*/
|
395
395
|
function () {
|
396
396
|
var _openTopoAlarm = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(id) {
|
397
|
-
var _this2 = this;
|
398
|
-
|
399
397
|
var _this$getState2, alarmOpening, topoAlarmIsOpen, alarmDispatchers;
|
400
398
|
|
401
399
|
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
@@ -427,20 +425,13 @@ var Alarm = /*#__PURE__*/function () {
|
|
427
425
|
|
428
426
|
case 10:
|
429
427
|
this.secretKey = _context6.sent;
|
430
|
-
|
431
428
|
// rlog.debug("openTopoAlarm 获取初始化告警-------------------开始");
|
432
|
-
_componentRiilEventEmitter.EE.on("topo", "topo", function (data, other) {
|
433
|
-
_rlog["default"].debug("openTopoAlarm 获取初始化告警------收到信息", data);
|
434
|
-
|
435
|
-
_this2.handleAlarmEvent(data);
|
436
|
-
});
|
437
|
-
|
438
429
|
this.updateState({
|
439
430
|
alarmOpening: false,
|
440
431
|
alarmIsOpened: true
|
441
432
|
});
|
442
433
|
|
443
|
-
case
|
434
|
+
case 12:
|
444
435
|
case "end":
|
445
436
|
return _context6.stop();
|
446
437
|
}
|
@@ -486,17 +477,15 @@ var Alarm = /*#__PURE__*/function () {
|
|
486
477
|
|
487
478
|
_rlog["default"].debug("useAlarm.useEffect 告警WebSocket 结束");
|
488
479
|
|
489
|
-
_componentRiilEventEmitter.EE.removeListener("topo", "topo");
|
490
|
-
|
491
480
|
this.updateState({
|
492
481
|
topoAlarmIsOpen: false,
|
493
482
|
alarmOpening: false,
|
494
483
|
alarmPanelIsOpen: false
|
495
484
|
});
|
496
|
-
_context7.next =
|
485
|
+
_context7.next = 8;
|
497
486
|
return this.topo.serverApi.closeTopoAlarm(id, this.secretKey);
|
498
487
|
|
499
|
-
case
|
488
|
+
case 8:
|
500
489
|
case "end":
|
501
490
|
return _context7.stop();
|
502
491
|
}
|
@@ -364,106 +364,50 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
364
364
|
});
|
365
365
|
}
|
366
366
|
/**
|
367
|
-
*
|
367
|
+
* 加载标注、悬浮框数据
|
368
368
|
*
|
369
|
-
* @
|
369
|
+
* @param {array<{id, attributeMap: {}, metricMap: {}}>} data
|
370
370
|
*/
|
371
371
|
;
|
372
372
|
|
373
|
-
_proto.
|
373
|
+
_proto.loadData =
|
374
374
|
/*#__PURE__*/
|
375
375
|
function () {
|
376
|
-
var
|
377
|
-
var topo,
|
378
|
-
|
376
|
+
var _loadData = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(data) {
|
377
|
+
var topo, ciDatas, bizDispatchers;
|
379
378
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
380
379
|
while (1) {
|
381
380
|
switch (_context.prev = _context.next) {
|
382
381
|
case 0:
|
383
|
-
|
384
|
-
|
385
|
-
links = _topo$dataModel$getDa.links,
|
386
|
-
linkGroups = _topo$dataModel$getDa.linkGroups;
|
387
|
-
|
388
|
-
var link = [].concat(links, linkGroups).find(function (item) {
|
389
|
-
return item.id === data.id;
|
390
|
-
});
|
391
|
-
|
392
|
-
if (!link) {
|
393
|
-
return data;
|
394
|
-
}
|
395
|
-
|
396
|
-
var attributeMap = data.attributeMap;
|
397
|
-
attributeMap = (0, _extends2["default"])({}, link.attributes || {});
|
398
|
-
return (0, _extends2["default"])({}, data, {
|
399
|
-
attributeMap: attributeMap
|
400
|
-
});
|
401
|
-
};
|
382
|
+
// rlog.debug('AttributeMetricDisplay.loadAttributeAndMetric', data);
|
383
|
+
topo = this.topo; // 设置ciType
|
402
384
|
|
403
|
-
|
404
|
-
|
405
|
-
|
385
|
+
ciDatas = data.filter(function (item) {
|
386
|
+
// 过滤不存在的ci,解决编辑模式删除资源后切换到显示模式报错
|
387
|
+
return !!topo.dataModel.getDataById(item.id);
|
388
|
+
}).map(function (item) {
|
389
|
+
return (0, _extends2["default"])({
|
390
|
+
ciType: topo.dataModel.getDataById(item.id).ciType
|
391
|
+
}, item);
|
392
|
+
}); // 翻译引用属性
|
406
393
|
|
407
|
-
|
408
|
-
|
409
|
-
break;
|
410
|
-
}
|
394
|
+
_context.next = 4;
|
395
|
+
return this.translateRefAttribute(ciDatas);
|
411
396
|
|
412
|
-
|
397
|
+
case 4:
|
398
|
+
ciDatas = _context.sent;
|
399
|
+
bizDispatchers = topo.store.getModelDispatchers('topoBizMod');
|
400
|
+
_context.next = 8;
|
401
|
+
return bizDispatchers.setAttrsAndMetrics(ciDatas);
|
413
402
|
|
414
|
-
case
|
415
|
-
_context.next =
|
403
|
+
case 8:
|
404
|
+
_context.next = 10;
|
416
405
|
return _DictCache["default"].init();
|
417
406
|
|
418
|
-
case
|
419
|
-
|
420
|
-
codes = this.getResourceMetricCodes();
|
421
|
-
param = {
|
422
|
-
ciId: nodeIdsList,
|
423
|
-
codes: codes,
|
424
|
-
// 过滤掉不需要查询的
|
425
|
-
relationId: this.getEdges().map(function (edge) {
|
426
|
-
return {
|
427
|
-
ciId: edge.id,
|
428
|
-
operation: edge.operation
|
429
|
-
};
|
430
|
-
})
|
431
|
-
};
|
432
|
-
/**
|
433
|
-
* 链路属性适配
|
434
|
-
* @param {*} data
|
435
|
-
* @returns
|
436
|
-
*/
|
437
|
-
|
438
|
-
_context.next = 11;
|
439
|
-
return _topo["default"].ciInfo.batchQueryCiInfo(param);
|
407
|
+
case 10:
|
408
|
+
this.updateTagsTips();
|
440
409
|
|
441
410
|
case 11:
|
442
|
-
result = _context.sent;
|
443
|
-
return _context.abrupt("return", result.map(function (data) {
|
444
|
-
var list2map = function list2map(list) {
|
445
|
-
var map = {};
|
446
|
-
(list || []).forEach(function (item) {
|
447
|
-
map[item.code] = item.value;
|
448
|
-
});
|
449
|
-
return map;
|
450
|
-
};
|
451
|
-
|
452
|
-
var resultData = (0, _extends2["default"])({}, data, {
|
453
|
-
attributeMap: list2map(data.attributes),
|
454
|
-
metricMap: list2map(data.metrics)
|
455
|
-
});
|
456
|
-
resultData = transformLinkData(resultData); // 特殊处理:ipv6 从ipv6_address_list取第一个
|
457
|
-
|
458
|
-
// 特殊处理:ipv6 从ipv6_address_list取第一个
|
459
|
-
if (resultData.attributeMap.ipv6_address_list && !resultData.attributeMap.ipv6_address) {
|
460
|
-
resultData.attributeMap.ipv6_address = (resultData.attributeMap.ipv6_address_list || '').split(',')[0];
|
461
|
-
}
|
462
|
-
|
463
|
-
return resultData;
|
464
|
-
}));
|
465
|
-
|
466
|
-
case 13:
|
467
411
|
case "end":
|
468
412
|
return _context.stop();
|
469
413
|
}
|
@@ -471,16 +415,17 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
471
415
|
}, _callee, this);
|
472
416
|
}));
|
473
417
|
|
474
|
-
function
|
475
|
-
return
|
418
|
+
function loadData(_x) {
|
419
|
+
return _loadData.apply(this, arguments);
|
476
420
|
}
|
477
421
|
|
478
|
-
return
|
422
|
+
return loadData;
|
479
423
|
}()
|
480
424
|
/**
|
481
425
|
* 加载标注、悬浮框数据
|
426
|
+
* 业务拓扑使用
|
482
427
|
*
|
483
|
-
* @param {array} data
|
428
|
+
* @param {array<{id, attributes: [], attributeMap: {}, metrics: [], metricMap: {}}>} data
|
484
429
|
*/
|
485
430
|
;
|
486
431
|
|
@@ -488,40 +433,14 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
488
433
|
/*#__PURE__*/
|
489
434
|
function () {
|
490
435
|
var _loadAttributeAndMetric = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(data) {
|
491
|
-
var topo, ciDatas, bizDispatchers;
|
492
436
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
493
437
|
while (1) {
|
494
438
|
switch (_context2.prev = _context2.next) {
|
495
439
|
case 0:
|
496
|
-
|
497
|
-
|
440
|
+
_context2.next = 2;
|
441
|
+
return this.loadData(data);
|
498
442
|
|
499
|
-
|
500
|
-
// 过滤不存在的ci,解决编辑模式删除资源后切换到显示模式报错
|
501
|
-
return !!topo.dataModel.getDataById(item.id);
|
502
|
-
}).map(function (item) {
|
503
|
-
return (0, _extends2["default"])({
|
504
|
-
ciType: topo.dataModel.getDataById(item.id).ciType
|
505
|
-
}, item);
|
506
|
-
}); // 翻译引用属性
|
507
|
-
|
508
|
-
_context2.next = 4;
|
509
|
-
return this.translateRefAttribute(ciDatas);
|
510
|
-
|
511
|
-
case 4:
|
512
|
-
ciDatas = _context2.sent;
|
513
|
-
bizDispatchers = topo.store.getModelDispatchers('topoBizMod');
|
514
|
-
_context2.next = 8;
|
515
|
-
return bizDispatchers.setAttrsAndMetrics(ciDatas);
|
516
|
-
|
517
|
-
case 8:
|
518
|
-
_context2.next = 10;
|
519
|
-
return _DictCache["default"].init();
|
520
|
-
|
521
|
-
case 10:
|
522
|
-
this.updateTagsTips();
|
523
|
-
|
524
|
-
case 11:
|
443
|
+
case 2:
|
525
444
|
case "end":
|
526
445
|
return _context2.stop();
|
527
446
|
}
|
@@ -529,7 +448,7 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
529
448
|
}, _callee2, this);
|
530
449
|
}));
|
531
450
|
|
532
|
-
function loadAttributeAndMetric(
|
451
|
+
function loadAttributeAndMetric(_x2) {
|
533
452
|
return _loadAttributeAndMetric.apply(this, arguments);
|
534
453
|
}
|
535
454
|
|
@@ -537,7 +456,7 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
537
456
|
}()
|
538
457
|
/**
|
539
458
|
* 临时由前端翻译引用属性名称
|
540
|
-
* @param {array} ciDatas
|
459
|
+
* @param {array<{id, ciType, attributeMap: {}, ...}>} ciDatas
|
541
460
|
* @returns
|
542
461
|
*/
|
543
462
|
;
|
@@ -548,7 +467,7 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
548
467
|
var _translateRefAttribute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(ciDatas) {
|
549
468
|
var _this5 = this;
|
550
469
|
|
551
|
-
var refIdMap, ciRefAttributeMap, refIds,
|
470
|
+
var refIdMap, ciRefAttributeMap, refIds, refCiMap;
|
552
471
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
553
472
|
while (1) {
|
554
473
|
switch (_context3.prev = _context3.next) {
|
@@ -594,11 +513,10 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
594
513
|
|
595
514
|
case 6:
|
596
515
|
_context3.next = 8;
|
597
|
-
return
|
516
|
+
return this.topo.ciCache.load(refIds);
|
598
517
|
|
599
518
|
case 8:
|
600
|
-
|
601
|
-
refCiMap = (0, _lodash.keyBy)(refCis, 'id');
|
519
|
+
refCiMap = _context3.sent;
|
602
520
|
|
603
521
|
_rlog["default"].debug('translateRefAttribute', {
|
604
522
|
ciRefAttributeMap: ciRefAttributeMap,
|
@@ -624,15 +542,15 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
624
542
|
});
|
625
543
|
}));
|
626
544
|
|
627
|
-
case
|
545
|
+
case 11:
|
628
546
|
case "end":
|
629
547
|
return _context3.stop();
|
630
548
|
}
|
631
549
|
}
|
632
|
-
}, _callee3);
|
550
|
+
}, _callee3, this);
|
633
551
|
}));
|
634
552
|
|
635
|
-
function translateRefAttribute(
|
553
|
+
function translateRefAttribute(_x3) {
|
636
554
|
return _translateRefAttribute.apply(this, arguments);
|
637
555
|
}
|
638
556
|
|
@@ -653,8 +571,8 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
653
571
|
|
654
572
|
var elementTagsAndTips = this.buildTagsTips() // 开锁状态下禁用悬停展示悬浮框
|
655
573
|
.map(function (item) {
|
656
|
-
var _topo$store$
|
657
|
-
lock = _topo$store$
|
574
|
+
var _topo$store$getModelS = topo.store.getModelState('lock'),
|
575
|
+
lock = _topo$store$getModelS.lock;
|
658
576
|
|
659
577
|
return lock ? item : (0, _extends2["default"])({}, item, {
|
660
578
|
tips: []
|
@@ -53,8 +53,10 @@ var _ElementTagTipConfig = _interopRequireDefault(require("./tagstips/ElementTag
|
|
53
53
|
|
54
54
|
var _SelectionModel = _interopRequireDefault(require("./SelectionModel"));
|
55
55
|
|
56
|
+
var _CiCache = _interopRequireDefault(require("./cache/CiCache"));
|
57
|
+
|
56
58
|
// eslint-disable-next-line no-undef
|
57
|
-
var version = typeof "9.0.0-a.
|
59
|
+
var version = typeof "9.0.0-a.10" === 'string' ? "9.0.0-a.10" : null;
|
58
60
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
59
61
|
/**
|
60
62
|
* 拓扑显示和编辑
|
@@ -74,6 +76,7 @@ var Topo = /*#__PURE__*/function () {
|
|
74
76
|
this.CiTypeCache = _CiTypeCache["default"];
|
75
77
|
this.ciTyeCache = _CiTypeCache["default"];
|
76
78
|
this.dictCache = _DictCache["default"];
|
79
|
+
this.ciCache = _CiCache["default"];
|
77
80
|
this.elementTagTipConfig = new _ElementTagTipConfig["default"](this);
|
78
81
|
this.test = void 0;
|
79
82
|
this.uid = void 0;
|
@@ -10,8 +10,6 @@ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-ut
|
|
10
10
|
|
11
11
|
var _utils = require("@riil-frontend/utils");
|
12
12
|
|
13
|
-
var _topoData = require("../../../utils/topoData");
|
14
|
-
|
15
13
|
var _DictCache = _interopRequireDefault(require("../cache/DictCache"));
|
16
14
|
|
17
15
|
/**
|
@@ -66,14 +64,14 @@ var AttributeFormatter = /*#__PURE__*/function () {
|
|
66
64
|
};
|
67
65
|
|
68
66
|
_proto.commonTransform = function commonTransform(item, ciData, attrType) {
|
69
|
-
var _findItem;
|
70
|
-
|
71
67
|
var fieldCode = item.code;
|
72
68
|
var fieldMeta = this.topo.ciTyeCache.getCiType(ciData.ciType)[attrType + "Map"][fieldCode];
|
73
|
-
var fieldValue = ciData[attrType + "Map"]
|
69
|
+
var fieldValue = (ciData[attrType + "Map"] || ciData[attrType + "s"])[fieldCode]; // 引用属性
|
74
70
|
|
75
|
-
if (
|
76
|
-
|
71
|
+
if (attrType === 'attribute') {
|
72
|
+
if (ciData[attrType + "Map"][fieldCode + "_object"]) {
|
73
|
+
fieldValue = ciData[attrType + "Map"][fieldCode + "_object"].displayName;
|
74
|
+
}
|
77
75
|
}
|
78
76
|
|
79
77
|
return {
|