@riil-frontend/component-topology 12.1.5 → 12.1.7

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.
@@ -140,7 +140,10 @@ var Topology = function Topology(props) {
140
140
  });
141
141
 
142
142
  if (onLoad) {
143
- onLoad();
143
+ onLoad({
144
+ topo: topo,
145
+ topoData: topoData
146
+ });
144
147
  }
145
148
  }, [topoData]);
146
149
  var handleGraphLoaded = useCallback(function () {
@@ -180,7 +183,10 @@ var Topology = function Topology(props) {
180
183
  }
181
184
 
182
185
  if (onLoad) {
183
- onLoad();
186
+ onLoad({
187
+ topo: topo,
188
+ topoData: topoData
189
+ });
184
190
  }
185
191
  }, [topoData]);
186
192
 
@@ -2,18 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import { useEffect } from "react";
3
3
  import rlog from "@riil-frontend/component-topology-utils/es/rlog";
4
4
  import useGraphAlarmDisplay from "./useGraphAlarmDisplay";
5
- import useTopoEventListener from "./useTopoEventListener"; // 告警在活状态
6
-
7
- var showAlarmStatus = ["toDeal", "dealing", "change", "woDealing"];
8
- /**
9
- * 告警是否在活
10
- * @param {*} alarm
11
- * @returns
12
- */
13
-
14
- var isAlarmAlive = function isAlarmAlive(alarm) {
15
- return showAlarmStatus.indexOf(alarm.status) >= 0;
16
- };
5
+ import useTopoEventListener from "./useTopoEventListener";
6
+ import { isAlarmAlive } from "../utils/alarmUtil";
17
7
 
18
8
  var handleRiskData = function handleRiskData(topo, receivedData) {
19
9
  var _risks, _topo$viewProps, _topo$viewProps2;
@@ -23,7 +13,7 @@ var handleRiskData = function handleRiskData(topo, receivedData) {
23
13
  // 已关闭 closed
24
14
  var prevRisks = topo.store.getModelState('topoAlarm').risks;
25
15
 
26
- var isLiveRisk = function isLiveRisk(data) {
16
+ var isRiskAlive = function isRiskAlive(data) {
27
17
  return ['recovered', 'closed'].indexOf(data.status) === -1;
28
18
  };
29
19
 
@@ -52,7 +42,7 @@ var handleRiskData = function handleRiskData(topo, receivedData) {
52
42
  (_risks = risks).push.apply(_risks, addRisks); // 过滤掉无权限、非在活的
53
43
 
54
44
 
55
- risks = risks.filter(isLiveRisk).filter(hasCiPermission).sort(function (a, b) {
45
+ risks = risks.filter(isRiskAlive).filter(hasCiPermission).sort(function (a, b) {
56
46
  return a.executeTime - b.executeTime;
57
47
  });
58
48
  rlog.debug('更新风险', {
@@ -1,13 +1,15 @@
1
1
  import { useEffect, useMemo } from "react";
2
- import rlog from "@riil-frontend/component-topology-utils/es/rlog";
2
+ import loglevel from 'loglevel';
3
3
  import { getElements } from "../../utils/htElementUtils";
4
4
  import { removeManageStatus, showManageStatus } from "../utils/showGraphManageStatusUtil";
5
5
  import useCmpLinkAlarm from "./useCmpLinkAlarm";
6
+ import useLinkAlarmDisplay from "./useLinkAlarmDisplay";
7
+ var rlog = loglevel.getLogger('topo');
6
8
  /**
7
9
  * 获取ci的最高告警级别
8
- * @param {Array} alarmList
9
- * @param {*} risks
10
- * @returns
10
+ * @param {Array} alarmList
11
+ * @param {*} risks
12
+ * @returns
11
13
  */
12
14
 
13
15
  function getCiAlarmLevelMap(alarmList) {
@@ -40,9 +42,9 @@ function getGraphCiElementAlarmLevels(resources, alarmList) {
40
42
  }
41
43
  /**
42
44
  * 获得关联拓扑节点告警级别
43
- * @param {*} topo
44
- * @param {*} relateTopoAlarm
45
- * @returns
45
+ * @param {*} topo
46
+ * @param {*} relateTopoAlarm
47
+ * @returns
46
48
  */
47
49
 
48
50
 
@@ -50,7 +52,7 @@ function getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm) {
50
52
  return Object.keys(relateTopoAlarm).map(function (topoId) {
51
53
  var level = relateTopoAlarm[topoId];
52
54
  var relateTopoNode = topo.getDataModel().getDatas().toArray().find(function (node) {
53
- return "" + node.a('bindTopo') === "" + topoId;
55
+ return "" + node.a("bindTopo") === "" + topoId;
54
56
  });
55
57
 
56
58
  if (!level || !relateTopoNode) {
@@ -70,18 +72,18 @@ function getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm) {
70
72
  function getGraphElementAlarmLevels(resources) {}
71
73
  /**
72
74
  * 告警显示到ht拓扑
73
- *
74
- * @param {*} options
75
+ *
76
+ * @param {*} options
75
77
  */
76
78
 
77
79
 
78
80
  export default function useGraphAlarmDisplay(options) {
79
81
  var topo = options.topo,
80
82
  alarmSwitch = options.alarmSwitch;
81
- var topoState = topo.store.useModelState('topoMod');
83
+ var topoState = topo.store.useModelState("topoMod");
82
84
  var graphLoaded = topoState.graphLoaded,
83
85
  viewState = topoState.viewState;
84
- var isEditMode = viewState === 'edit';
86
+ var isEditMode = viewState === "edit";
85
87
 
86
88
  var _topo$alarm$useState = topo.alarm.useState(),
87
89
  alarmList = _topo$alarm$useState.alarmList,
@@ -99,12 +101,29 @@ export default function useGraphAlarmDisplay(options) {
99
101
  cmpLinkRunStatus = _useCmpLinkAlarm.cmpLinkRunStatus,
100
102
  addCmpLinkOfflineStatusForDisplayLineColor = _useCmpLinkAlarm.addCmpLinkOfflineStatusForDisplayLineColor;
101
103
 
102
- var resources = useMemo(function () {
104
+ var cmpRes = useMemo(function () {
103
105
  return addCmpLinkOfflineStatusForDisplayLineColor(oldResources, cmpLinkRunStatus);
104
- }, [oldResources, cmpLinkRunStatus]); // ci告警级别
106
+ }, [oldResources, cmpLinkRunStatus]); // 拓扑链路特殊处理
107
+
108
+ var _useLinkAlarmDisplay = useLinkAlarmDisplay({
109
+ topo: topo,
110
+ resources: cmpRes,
111
+ graphLoaded: graphLoaded,
112
+ alarmList: alarmList
113
+ }),
114
+ linkRunStatus = _useLinkAlarmDisplay.linkRunStatus,
115
+ getlinkAlarmLevels = _useLinkAlarmDisplay.getlinkAlarmLevels; // const resources = useMemo(() => addLinkOfflineStatusForDisplayLineColor(cmpRes, linkRunStatus), [cmpRes, linkRunStatus])
116
+
117
+
118
+ var linkAlarmLevels = getlinkAlarmLevels(alarmList, cmpRes);
119
+ var resources = [].concat(cmpRes); //1.7 需求,过滤掉断开状态的链路
120
+ // const resources = cmpRes.filter((item) => {
121
+ // return !item.breakState;
122
+ // });
123
+ // ci告警级别
105
124
 
106
125
  var cisEventLevel = useMemo(function () {
107
- var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, risks.map(function (item) {
126
+ var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, linkAlarmLevels, risks.map(function (item) {
108
127
  var _item$resourceId;
109
128
 
110
129
  return {
@@ -150,17 +169,17 @@ export default function useGraphAlarmDisplay(options) {
150
169
  var alarmLevel = (_elementsAlarmLevels$ = elementsAlarmLevels.find(function (item) {
151
170
  return item.id === element.getTag() || item.elementId === element.getId();
152
171
  })) === null || _elementsAlarmLevels$ === void 0 ? void 0 : _elementsAlarmLevels$.level;
153
- element.a('alarmLevel', alarmLevel);
172
+ element.a("alarmLevel", alarmLevel);
154
173
  });
155
- rlog.debug('推送告警 => ht', {
174
+ rlog.debug("推送告警 => ht", {
156
175
  alarms: elementsAlarmLevels,
157
176
  relateTopoAlarmMap: relateTopoAlarm,
158
177
  relateTopoAlarms: relateTopoAlarms
159
178
  }); // 更新到ht拓扑
160
179
 
161
- (_topo$historyManager = topo.historyManager) === null || _topo$historyManager === void 0 ? void 0 : _topo$historyManager.setDisabled(true, '推送告警');
180
+ (_topo$historyManager = topo.historyManager) === null || _topo$historyManager === void 0 ? void 0 : _topo$historyManager.setDisabled(true, "推送告警");
162
181
  topo.view.loadAlarm(elementsAlarmLevels);
163
- (_topo$historyManager2 = topo.historyManager) === null || _topo$historyManager2 === void 0 ? void 0 : _topo$historyManager2.setDisabled(false, '推送告警');
182
+ (_topo$historyManager2 = topo.historyManager) === null || _topo$historyManager2 === void 0 ? void 0 : _topo$historyManager2.setDisabled(false, "推送告警");
164
183
  }
165
184
 
166
185
  return function () {
@@ -0,0 +1,161 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { useEffect, useState, useMemo } from "react";
4
+ import { useRequest } from "ahooks";
5
+ import _ from "lodash";
6
+ import DictCache from "../models/cache/DictCache";
7
+
8
+ function getLinkDev(datas) {
9
+ // console.log("datas------------------", datas);
10
+ var linkDevDoc = {};
11
+ var linkIds = datas.filter(function (item) {
12
+ return item.ciType === "network_link";
13
+ }).map(function (item) {
14
+ linkDevDoc[item.id] = [item.source, item.target];
15
+ return item.id;
16
+ });
17
+ return {
18
+ linkIds: linkIds,
19
+ linkDevDoc: linkDevDoc
20
+ };
21
+ }
22
+
23
+ function getlinkAlarmLevels(alarmList, resources) {
24
+ var _getLinkDev = getLinkDev(resources),
25
+ linkDevDoc = _getLinkDev.linkDevDoc; // console.log("linkAlarmLevels-----------1", linkDevDoc, alarmList);
26
+
27
+
28
+ if (!alarmList) {
29
+ return [];
30
+ }
31
+
32
+ var alarms = alarmList.filter(function (alarm) {
33
+ return alarm.obj.alertTypeCode === "availAlert";
34
+ }).map(function (item) {
35
+ return item.id;
36
+ });
37
+ return Object.keys(linkDevDoc).filter(function (item) {
38
+ return _.intersection(linkDevDoc[item], alarms).length > 0;
39
+ }).map(function (item) {
40
+ return {
41
+ id: item,
42
+ level: 1
43
+ };
44
+ });
45
+ ;
46
+ }
47
+ /**
48
+ * 处理链路显示
49
+ * @param {*} props
50
+ * @returns
51
+ */
52
+
53
+
54
+ export default function useLinkAlarmDisplay(props) {
55
+ var topo = props.topo,
56
+ resources = props.resources,
57
+ graphLoaded = props.graphLoaded,
58
+ alarmList = props.alarmList;
59
+
60
+ var _useState = useState(getLinkDev(resources).linkIds),
61
+ linkIds = _useState[0],
62
+ setLinkIds = _useState[1];
63
+
64
+ var _useState2 = useState([]),
65
+ linkRunStatus = _useState2[0],
66
+ setLinkRunStatus = _useState2[1];
67
+
68
+ var _useState3 = useState(getLinkDev(resources).linkDevDoc),
69
+ linkDev = _useState3[0],
70
+ setLinkDev = _useState3[1]; // console.log("alarmList----------sssss", alarmList);
71
+
72
+
73
+ useEffect(function () {
74
+ var ids = getLinkDev(resources).linkIds;
75
+
76
+ if (linkIds.join(",") !== ids.join(",")) {
77
+ setLinkIds(ids);
78
+ }
79
+ }, [resources]);
80
+
81
+ function getLinkRunStatus(_x) {
82
+ return _getLinkRunStatus.apply(this, arguments);
83
+ } // 轮询hooks
84
+
85
+
86
+ function _getLinkRunStatus() {
87
+ _getLinkRunStatus = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(ids) {
88
+ var _yield$Promise$all, ciMetricsResult;
89
+
90
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
91
+ while (1) switch (_context.prev = _context.next) {
92
+ case 0:
93
+ if (ids.length) {
94
+ _context.next = 2;
95
+ break;
96
+ }
97
+
98
+ return _context.abrupt("return", []);
99
+
100
+ case 2:
101
+ _context.t0 = Promise;
102
+ _context.t1 = // 查询指标值
103
+ topo.serverApi.ciInfo.batchQueryCiInfo({
104
+ ciId: [],
105
+ codes: ["run_status", "remote_ping_status"],
106
+ relationId: ids.map(function (id) {
107
+ return {
108
+ ciId: id,
109
+ operation: "delete"
110
+ };
111
+ })
112
+ });
113
+ _context.next = 6;
114
+ return DictCache.init();
115
+
116
+ case 6:
117
+ _context.t2 = _context.sent;
118
+ _context.t3 = [_context.t1, _context.t2];
119
+ _context.next = 10;
120
+ return _context.t0.all.call(_context.t0, _context.t3);
121
+
122
+ case 10:
123
+ _yield$Promise$all = _context.sent;
124
+ ciMetricsResult = _yield$Promise$all[0];
125
+ return _context.abrupt("return", ciMetricsResult);
126
+
127
+ case 13:
128
+ case "end":
129
+ return _context.stop();
130
+ }
131
+ }, _callee);
132
+ }));
133
+ return _getLinkRunStatus.apply(this, arguments);
134
+ }
135
+
136
+ var _useRequest = useRequest(getLinkRunStatus, {
137
+ pollingInterval: 60 * 1000,
138
+ pollingWhenHidden: false,
139
+ // debounceInterval: 200,
140
+ manual: true,
141
+ onSuccess: function onSuccess(result) {
142
+ setLinkRunStatus(result.map(function (item) {
143
+ return {
144
+ id: item.id,
145
+ runStatus: item.metrics.run_status
146
+ };
147
+ }));
148
+ }
149
+ }),
150
+ run = _useRequest.run;
151
+
152
+ useEffect(function () {
153
+ if (graphLoaded) {
154
+ run(linkIds);
155
+ }
156
+ }, [graphLoaded, linkIds]);
157
+ return {
158
+ linkRunStatus: linkRunStatus,
159
+ getlinkAlarmLevels: getlinkAlarmLevels
160
+ };
161
+ }
@@ -1,9 +1,9 @@
1
1
  import _Dialog from "@alifd/next/es/dialog";
2
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
- import topoService from '@riil-frontend/component-topology-common/es/services/topo';
5
- import { rlog } from '@riil-frontend/component-topology-utils';
4
+ import loglevel from 'loglevel';
6
5
  import { isAvailableArray } from '@riil-frontend/utils';
6
+ var rlog = loglevel.getLogger('topo');
7
7
 
8
8
  var Alarm = /*#__PURE__*/function () {
9
9
  function Alarm() {
@@ -456,7 +456,7 @@ var Alarm = /*#__PURE__*/function () {
456
456
  resIdsList = resAndMetrics.resIdsList, nodeIdsList = resAndMetrics.nodeIdsList, linkIdsList = resAndMetrics.linkIdsList;
457
457
  alarmDispatchers = this.topo.store.getModelDispatchers('topoAlarm'); // 添加事件
458
458
 
459
- console.log("handleAlarmEvent-接收到推送的原始告警信息", alertData);
459
+ rlog.debug("handleAlarmEvent-接收到推送的原始告警信息", alertData);
460
460
 
461
461
  if (!(isAvailableArray(alertData) && isAvailableArray(resIdsList))) {
462
462
  _context8.next = 25;
@@ -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.5" === 'string' ? "12.1.5" : null;
27
+ var version = typeof "12.1.7" === 'string' ? "12.1.7" : null;
28
28
  console.info("\u62D3\u6251\u7248\u672C: " + version);
29
29
  /**
30
30
  * 拓扑显示和编辑
@@ -5,9 +5,11 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
5
  /**
6
6
  * 告警
7
7
  */
8
- import rlog from "@riil-frontend/component-topology-utils/es/rlog";
8
+ import loglevel from 'loglevel';
9
9
  import _ from "lodash";
10
- var showAlarmStatus = ["toDeal", "dealing", "change", "woDealing"];
10
+ var rlog = loglevel.getLogger('topo'); // 在活告警状态
11
+
12
+ var aliveAlarmStatus = ["toDeal", "dealing", "change", "woDealing"];
11
13
 
12
14
  var sortList = function sortList(a, b) {
13
15
  if (a.level === b.level) {
@@ -111,7 +113,7 @@ export default function (topo) {
111
113
 
112
114
  if ((resIdsList || []).indexOf(rid) >= 0) {
113
115
  if (record.indexOf(item.alertId) < 0) {
114
- if (showAlarmStatus.indexOf(item.status) >= 0) {
116
+ if (aliveAlarmStatus.indexOf(item.status) >= 0) {
115
117
  // rlog.debug("这是一条新告警", item);
116
118
  record.push(item.alertId);
117
119
 
@@ -141,7 +143,7 @@ export default function (topo) {
141
143
  // item
142
144
  // );
143
145
 
144
- if (showAlarmStatus.indexOf(item.status) >= 0) {
146
+ if (aliveAlarmStatus.indexOf(item.status) >= 0) {
145
147
  if (item.status === "change") {
146
148
  old = doc[rid][sliceTag];
147
149
 
@@ -210,7 +212,7 @@ export default function (topo) {
210
212
  // rlog.debug('xxxxxxxxxxxxxxxxxxxx', doc[id][0], alarmObj.status);
211
213
 
212
214
 
213
- return showAlarmStatus.indexOf(alarmObj.status) >= 0 ? alarmObj : null;
215
+ return aliveAlarmStatus.indexOf(alarmObj.status) >= 0 ? alarmObj : null;
214
216
  } else {
215
217
  return null;
216
218
  }
@@ -0,0 +1,11 @@
1
+ // 告警在活状态
2
+ var Alarm_alive_Status = ["toDeal", "dealing", "change", "woDealing"];
3
+ /**
4
+ * 告警是否在活
5
+ * @param {*} alarm
6
+ * @returns
7
+ */
8
+
9
+ export var isAlarmAlive = function isAlarmAlive(alarm) {
10
+ return Alarm_alive_Status.includes(alarm.status);
11
+ };
@@ -178,7 +178,10 @@ var Topology = function Topology(props) {
178
178
  });
179
179
 
180
180
  if (onLoad) {
181
- onLoad();
181
+ onLoad({
182
+ topo: topo,
183
+ topoData: topoData
184
+ });
182
185
  }
183
186
  }, [topoData]);
184
187
  var handleGraphLoaded = (0, _react.useCallback)(function () {
@@ -218,7 +221,10 @@ var Topology = function Topology(props) {
218
221
  }
219
222
 
220
223
  if (onLoad) {
221
- onLoad();
224
+ onLoad({
225
+ topo: topo,
226
+ topoData: topoData
227
+ });
222
228
  }
223
229
  }, [topoData]);
224
230
 
@@ -15,17 +15,7 @@ var _useGraphAlarmDisplay = _interopRequireDefault(require("./useGraphAlarmDispl
15
15
 
16
16
  var _useTopoEventListener = _interopRequireDefault(require("./useTopoEventListener"));
17
17
 
18
- // 告警在活状态
19
- var showAlarmStatus = ["toDeal", "dealing", "change", "woDealing"];
20
- /**
21
- * 告警是否在活
22
- * @param {*} alarm
23
- * @returns
24
- */
25
-
26
- var isAlarmAlive = function isAlarmAlive(alarm) {
27
- return showAlarmStatus.indexOf(alarm.status) >= 0;
28
- };
18
+ var _alarmUtil = require("../utils/alarmUtil");
29
19
 
30
20
  var handleRiskData = function handleRiskData(topo, receivedData) {
31
21
  var _risks, _topo$viewProps, _topo$viewProps2;
@@ -35,7 +25,7 @@ var handleRiskData = function handleRiskData(topo, receivedData) {
35
25
  // 已关闭 closed
36
26
  var prevRisks = topo.store.getModelState('topoAlarm').risks;
37
27
 
38
- var isLiveRisk = function isLiveRisk(data) {
28
+ var isRiskAlive = function isRiskAlive(data) {
39
29
  return ['recovered', 'closed'].indexOf(data.status) === -1;
40
30
  };
41
31
 
@@ -64,7 +54,7 @@ var handleRiskData = function handleRiskData(topo, receivedData) {
64
54
  (_risks = risks).push.apply(_risks, addRisks); // 过滤掉无权限、非在活的
65
55
 
66
56
 
67
- risks = risks.filter(isLiveRisk).filter(hasCiPermission).sort(function (a, b) {
57
+ risks = risks.filter(isRiskAlive).filter(hasCiPermission).sort(function (a, b) {
68
58
  return a.executeTime - b.executeTime;
69
59
  });
70
60
 
@@ -149,7 +139,7 @@ function convertAlarmData(alarms) {
149
139
  // 数据id
150
140
  resourceId: resourceId,
151
141
  // 是否在活
152
- alive: isAlarmAlive(alarm)
142
+ alive: (0, _alarmUtil.isAlarmAlive)(alarm)
153
143
  });
154
144
  });
155
145
  }
@@ -7,7 +7,7 @@ exports["default"] = useGraphAlarmDisplay;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
10
+ var _loglevel = _interopRequireDefault(require("loglevel"));
11
11
 
12
12
  var _htElementUtils = require("../../utils/htElementUtils");
13
13
 
@@ -15,12 +15,17 @@ var _showGraphManageStatusUtil = require("../utils/showGraphManageStatusUtil");
15
15
 
16
16
  var _useCmpLinkAlarm2 = _interopRequireDefault(require("./useCmpLinkAlarm"));
17
17
 
18
+ var _useLinkAlarmDisplay2 = _interopRequireDefault(require("./useLinkAlarmDisplay"));
19
+
20
+ var rlog = _loglevel["default"].getLogger('topo');
18
21
  /**
19
22
  * 获取ci的最高告警级别
20
- * @param {Array} alarmList
21
- * @param {*} risks
22
- * @returns
23
+ * @param {Array} alarmList
24
+ * @param {*} risks
25
+ * @returns
23
26
  */
27
+
28
+
24
29
  function getCiAlarmLevelMap(alarmList) {
25
30
  var ciIdLevelMap = {};
26
31
  alarmList.forEach(function (item) {
@@ -51,9 +56,9 @@ function getGraphCiElementAlarmLevels(resources, alarmList) {
51
56
  }
52
57
  /**
53
58
  * 获得关联拓扑节点告警级别
54
- * @param {*} topo
55
- * @param {*} relateTopoAlarm
56
- * @returns
59
+ * @param {*} topo
60
+ * @param {*} relateTopoAlarm
61
+ * @returns
57
62
  */
58
63
 
59
64
 
@@ -61,7 +66,7 @@ function getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm) {
61
66
  return Object.keys(relateTopoAlarm).map(function (topoId) {
62
67
  var level = relateTopoAlarm[topoId];
63
68
  var relateTopoNode = topo.getDataModel().getDatas().toArray().find(function (node) {
64
- return "" + node.a('bindTopo') === "" + topoId;
69
+ return "" + node.a("bindTopo") === "" + topoId;
65
70
  });
66
71
 
67
72
  if (!level || !relateTopoNode) {
@@ -81,18 +86,18 @@ function getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm) {
81
86
  function getGraphElementAlarmLevels(resources) {}
82
87
  /**
83
88
  * 告警显示到ht拓扑
84
- *
85
- * @param {*} options
89
+ *
90
+ * @param {*} options
86
91
  */
87
92
 
88
93
 
89
94
  function useGraphAlarmDisplay(options) {
90
95
  var topo = options.topo,
91
96
  alarmSwitch = options.alarmSwitch;
92
- var topoState = topo.store.useModelState('topoMod');
97
+ var topoState = topo.store.useModelState("topoMod");
93
98
  var graphLoaded = topoState.graphLoaded,
94
99
  viewState = topoState.viewState;
95
- var isEditMode = viewState === 'edit';
100
+ var isEditMode = viewState === "edit";
96
101
 
97
102
  var _topo$alarm$useState = topo.alarm.useState(),
98
103
  alarmList = _topo$alarm$useState.alarmList,
@@ -110,12 +115,29 @@ function useGraphAlarmDisplay(options) {
110
115
  cmpLinkRunStatus = _useCmpLinkAlarm.cmpLinkRunStatus,
111
116
  addCmpLinkOfflineStatusForDisplayLineColor = _useCmpLinkAlarm.addCmpLinkOfflineStatusForDisplayLineColor;
112
117
 
113
- var resources = (0, _react.useMemo)(function () {
118
+ var cmpRes = (0, _react.useMemo)(function () {
114
119
  return addCmpLinkOfflineStatusForDisplayLineColor(oldResources, cmpLinkRunStatus);
115
- }, [oldResources, cmpLinkRunStatus]); // ci告警级别
120
+ }, [oldResources, cmpLinkRunStatus]); // 拓扑链路特殊处理
121
+
122
+ var _useLinkAlarmDisplay = (0, _useLinkAlarmDisplay2["default"])({
123
+ topo: topo,
124
+ resources: cmpRes,
125
+ graphLoaded: graphLoaded,
126
+ alarmList: alarmList
127
+ }),
128
+ linkRunStatus = _useLinkAlarmDisplay.linkRunStatus,
129
+ getlinkAlarmLevels = _useLinkAlarmDisplay.getlinkAlarmLevels; // const resources = useMemo(() => addLinkOfflineStatusForDisplayLineColor(cmpRes, linkRunStatus), [cmpRes, linkRunStatus])
130
+
131
+
132
+ var linkAlarmLevels = getlinkAlarmLevels(alarmList, cmpRes);
133
+ var resources = [].concat(cmpRes); //1.7 需求,过滤掉断开状态的链路
134
+ // const resources = cmpRes.filter((item) => {
135
+ // return !item.breakState;
136
+ // });
137
+ // ci告警级别
116
138
 
117
139
  var cisEventLevel = (0, _react.useMemo)(function () {
118
- var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, risks.map(function (item) {
140
+ var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, linkAlarmLevels, risks.map(function (item) {
119
141
  var _item$resourceId;
120
142
 
121
143
  return {
@@ -161,19 +183,17 @@ function useGraphAlarmDisplay(options) {
161
183
  var alarmLevel = (_elementsAlarmLevels$ = elementsAlarmLevels.find(function (item) {
162
184
  return item.id === element.getTag() || item.elementId === element.getId();
163
185
  })) === null || _elementsAlarmLevels$ === void 0 ? void 0 : _elementsAlarmLevels$.level;
164
- element.a('alarmLevel', alarmLevel);
186
+ element.a("alarmLevel", alarmLevel);
165
187
  });
166
-
167
- _rlog["default"].debug('推送告警 => ht', {
188
+ rlog.debug("推送告警 => ht", {
168
189
  alarms: elementsAlarmLevels,
169
190
  relateTopoAlarmMap: relateTopoAlarm,
170
191
  relateTopoAlarms: relateTopoAlarms
171
192
  }); // 更新到ht拓扑
172
193
 
173
-
174
- (_topo$historyManager = topo.historyManager) === null || _topo$historyManager === void 0 ? void 0 : _topo$historyManager.setDisabled(true, '推送告警');
194
+ (_topo$historyManager = topo.historyManager) === null || _topo$historyManager === void 0 ? void 0 : _topo$historyManager.setDisabled(true, "推送告警");
175
195
  topo.view.loadAlarm(elementsAlarmLevels);
176
- (_topo$historyManager2 = topo.historyManager) === null || _topo$historyManager2 === void 0 ? void 0 : _topo$historyManager2.setDisabled(false, '推送告警');
196
+ (_topo$historyManager2 = topo.historyManager) === null || _topo$historyManager2 === void 0 ? void 0 : _topo$historyManager2.setDisabled(false, "推送告警");
177
197
  }
178
198
 
179
199
  return function () {