@riil-frontend/component-topology 13.0.5 → 13.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,17 +1,17 @@
1
- import { useEffect } from 'react';
1
+ import { useEffect } from "react";
2
2
  /**
3
3
  * 默认情况下,拓扑图不存在链路的动态效果
4
4
  * 未监控的链路,不展示动态效果
5
- * @param {*} props
5
+ * @param {*} props
6
6
  */
7
7
 
8
8
  export default function useEdgeFlow(props) {
9
9
  var topo = props.topo;
10
- var topoState = topo.store.useModelState('topoMod');
11
- var displayConfig = topo.store.useModelState('displayConfig');
10
+ var topoState = topo.store.useModelState("topoMod");
11
+ var displayConfig = topo.store.useModelState("displayConfig");
12
12
  var graphLoaded = topoState.graphLoaded,
13
13
  viewState = topoState.viewState;
14
- var isViewer = viewState !== 'edit';
14
+ var isViewer = viewState !== "edit";
15
15
  var edgeFlow = displayConfig.edgeFlow,
16
16
  edgeFlowDirection = displayConfig.edgeFlowDirection;
17
17
  var resources = topo.dataModel.useCis();
@@ -21,7 +21,7 @@ export default function useEdgeFlow(props) {
21
21
  var edgeFlowConfig = edgeFlow ? {
22
22
  type: edgeFlow,
23
23
  // 必填,支持传送带drip、光点point、箭头arrow
24
- direction: !edgeFlowDirection || edgeFlowDirection === 'from' ? 'to' : 'from' // 流动方向,可为空. 默认上行目的到源
24
+ direction: !edgeFlowDirection || edgeFlowDirection === "from" ? "to" : "from" // 流动方向,可为空. 默认上行目的到源
25
25
 
26
26
  } : null;
27
27
  topo.getHtTopo().setGlobalEdgeFlow(edgeFlowConfig); // 未监控的链路,不展示动态效果
@@ -34,8 +34,12 @@ export default function useEdgeFlow(props) {
34
34
  var element = topo.getDataModel().getDataByTag(id);
35
35
  if (!element) return;
36
36
 
37
- if (element instanceof ht.Edge && isNotMonite) {
38
- element.s('flow', false);
37
+ if (element instanceof ht.Edge) {
38
+ var isBreak = element.a("linkbreak");
39
+
40
+ if (isNotMonite || isBreak) {
41
+ element.s("flow", false);
42
+ }
39
43
  }
40
44
  });
41
45
  }
package/es/style.js CHANGED
@@ -11,14 +11,14 @@ import '@alifd/next/es/tab/style';
11
11
  import '@alifd/next/es/table/style';
12
12
  import '@riil-frontend/component-table-layout/es/style';
13
13
  import '@riil-frontend/component-pager/es/style';
14
- import '@alifd/next/es/button/style';
15
- import '@alifd/next/es/icon/style';
16
14
  import '@alifd/next/es/loading/style';
17
15
  import '@alifd/next/es/divider/style';
18
16
  import '@riil-frontend/component-no-data-page/es/style';
19
17
 
20
18
  import '@alifd/next/es/overlay/style';
21
19
  import '@alifd/next/es/checkbox/style';
20
+ import '@alifd/next/es/button/style';
21
+ import '@alifd/next/es/icon/style';
22
22
  import '@riil-frontend/component-crucial-link-topo/es/style';
23
23
  import '@alifd/next/es/switch/style';
24
24
  import '@alifd/next/es/input/style';
@@ -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,14 +15,17 @@ var _showGraphManageStatusUtil = require("../utils/showGraphManageStatusUtil");
15
15
 
16
16
  var _useCmpLinkAlarm2 = _interopRequireDefault(require("./useCmpLinkAlarm"));
17
17
 
18
- // import useLinkAlarmDisplay from "./useLinkAlarmDisplay";
18
+ var _useLinkAlarmDisplay2 = _interopRequireDefault(require("./useLinkAlarmDisplay"));
19
19
 
20
+ var rlog = _loglevel["default"].getLogger('topo');
20
21
  /**
21
22
  * 获取ci的最高告警级别
22
23
  * @param {Array} alarmList
23
24
  * @param {*} risks
24
25
  * @returns
25
26
  */
27
+
28
+
26
29
  function getCiAlarmLevelMap(alarmList) {
27
30
  var ciIdLevelMap = {};
28
31
  alarmList.forEach(function (item) {
@@ -114,23 +117,27 @@ function useGraphAlarmDisplay(options) {
114
117
 
115
118
  var cmpRes = (0, _react.useMemo)(function () {
116
119
  return addCmpLinkOfflineStatusForDisplayLineColor(oldResources, cmpLinkRunStatus);
117
- }, [oldResources, cmpLinkRunStatus]);
118
- var resources = [].concat(cmpRes); // 拓扑链路特殊处理 暂时屏蔽这部分处理
119
- // const {
120
- // // linkAlarmLevels,
121
- // linkRunStatus,
122
- // getlinkAlarmLevels,
123
- // } = useLinkAlarmDisplay({ topo, resources: cmpRes, graphLoaded, alarmList });
124
- // const linkAlarmLevels = getlinkAlarmLevels(alarmList, cmpRes);
125
- // 排除掉处于断开状态的链路
126
- // const resources = cmpRes.filter((item) => {
127
- // return !item.breakState;
128
- // });
129
- /// 屏蔽------------
120
+ }, [oldResources, cmpLinkRunStatus]); // const resources=[...cmpRes];
121
+ // 拓扑链路特殊处理 暂时屏蔽这部分处理
122
+
123
+ var _useLinkAlarmDisplay = (0, _useLinkAlarmDisplay2["default"])({
124
+ topo: topo,
125
+ resources: cmpRes,
126
+ graphLoaded: graphLoaded,
127
+ alarmList: alarmList
128
+ }),
129
+ linkRunStatus = _useLinkAlarmDisplay.linkRunStatus,
130
+ getlinkAlarmLevels = _useLinkAlarmDisplay.getlinkAlarmLevels;
131
+
132
+ var linkAlarmLevels = getlinkAlarmLevels(alarmList, cmpRes); // 排除掉处于断开状态的链路
133
+
134
+ var resources = cmpRes.filter(function (item) {
135
+ return !item.breakState;
136
+ }); /// 屏蔽------------
130
137
  // ci告警级别
131
138
 
132
139
  var cisEventLevel = (0, _react.useMemo)(function () {
133
- var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, risks.map(function (item) {
140
+ var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, linkAlarmLevels, risks.map(function (item) {
134
141
  var _item$resourceId;
135
142
 
136
143
  return {
@@ -188,14 +195,12 @@ function useGraphAlarmDisplay(options) {
188
195
  })) === null || _elementsAlarmLevels$ === void 0 ? void 0 : _elementsAlarmLevels$.level;
189
196
  element.a("alarmLevel", alarmLevel);
190
197
  });
191
-
192
- _rlog["default"].debug("推送告警 => ht", {
198
+ rlog.debug("推送告警 => ht", {
193
199
  alarms: elementsAlarmLevels,
194
200
  relateTopoAlarmMap: relateTopoAlarm,
195
201
  relateTopoAlarms: relateTopoAlarms
196
202
  }); // 更新到ht拓扑
197
203
 
198
-
199
204
  (_topo$historyManager = topo.historyManager) === null || _topo$historyManager === void 0 ? void 0 : _topo$historyManager.setDisabled(true, "推送告警");
200
205
  topo.view.loadAlarm(elementsAlarmLevels);
201
206
  (_topo$historyManager2 = topo.historyManager) === null || _topo$historyManager2 === void 0 ? void 0 : _topo$historyManager2.setDisabled(false, "推送告警");
@@ -143,6 +143,7 @@ var usePolling = function usePolling(props) {
143
143
  position: 17,
144
144
  icon: "resource.link.linkbreak"
145
145
  });
146
+ element === null || element === void 0 ? void 0 : element.a('linkbreak', true);
146
147
  topo.dataModel.updateData([(0, _extends2["default"])({}, link, {
147
148
  breakState: true
148
149
  })]);
@@ -11,12 +11,12 @@ var _dialog = _interopRequireDefault(require("@alifd/next/lib/dialog"));
11
11
 
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var _topo = _interopRequireDefault(require("@riil-frontend/component-topology-common/es/services/topo"));
15
-
16
- var _componentTopologyUtils = require("@riil-frontend/component-topology-utils");
14
+ var _loglevel = _interopRequireDefault(require("loglevel"));
17
15
 
18
16
  var _utils = require("@riil-frontend/utils");
19
17
 
18
+ var rlog = _loglevel["default"].getLogger('topo');
19
+
20
20
  var Alarm = /*#__PURE__*/function () {
21
21
  function Alarm() {
22
22
  this.topo = void 0;
@@ -94,8 +94,7 @@ var Alarm = /*#__PURE__*/function () {
94
94
  return;
95
95
  }
96
96
 
97
- _componentTopologyUtils.rlog.info('Alarm.open 打开告警通道', id);
98
-
97
+ rlog.info('Alarm.open 打开告警通道', id);
99
98
  this.openTopoAlarm(id);
100
99
  this.hmGetTopoAlarmByDoc(id);
101
100
  }
@@ -115,10 +114,9 @@ var Alarm = /*#__PURE__*/function () {
115
114
  return;
116
115
  }
117
116
 
118
- _componentTopologyUtils.rlog.info('关闭告警通道', currentTopoId); // 取消订阅告警推送
117
+ rlog.info('关闭告警通道', currentTopoId); // 取消订阅告警推送
119
118
  // 关闭告警推送通道
120
119
 
121
-
122
120
  this.closeTopoAlarm(currentTopoId);
123
121
  };
124
122
 
@@ -197,9 +195,7 @@ var Alarm = /*#__PURE__*/function () {
197
195
  while (1) switch (_context2.prev = _context2.next) {
198
196
  case 0:
199
197
  result = this.getAlarms();
200
-
201
- _componentTopologyUtils.rlog.debug('hmGetTopoAlarmByDoc', result);
202
-
198
+ rlog.debug('hmGetTopoAlarmByDoc', result);
203
199
  alarms = result.map(function (item) {
204
200
  return item.obj;
205
201
  });
@@ -333,9 +329,7 @@ var Alarm = /*#__PURE__*/function () {
333
329
 
334
330
  case 11:
335
331
  this.secretKey = _context5.sent;
336
-
337
- _componentTopologyUtils.rlog.info('openTopoAlarm 打开拓扑告警推送-------------------开始');
338
-
332
+ rlog.info('openTopoAlarm 打开拓扑告警推送-------------------开始');
339
333
  this.updateState({
340
334
  alarmOpening: false,
341
335
  alarmIsOpened: true
@@ -346,9 +340,7 @@ var Alarm = /*#__PURE__*/function () {
346
340
  case 16:
347
341
  _context5.prev = 16;
348
342
  _context5.t0 = _context5["catch"](8);
349
-
350
- _componentTopologyUtils.rlog.error('打开拓扑告警推送 失败');
351
-
343
+ rlog.error('打开拓扑告警推送 失败');
352
344
  this.updateState({
353
345
  alarmOpening: false
354
346
  });
@@ -394,9 +386,7 @@ var Alarm = /*#__PURE__*/function () {
394
386
 
395
387
  case 3:
396
388
  this.currentTopoId = null;
397
-
398
- _componentTopologyUtils.rlog.debug('useAlarm.useEffect 告警WebSocket 结束');
399
-
389
+ rlog.debug('useAlarm.useEffect 告警WebSocket 结束');
400
390
  this.updateState({
401
391
  topoAlarmIsOpen: false,
402
392
  alarmOpening: false,
@@ -478,7 +468,7 @@ var Alarm = /*#__PURE__*/function () {
478
468
  resIdsList = resAndMetrics.resIdsList, nodeIdsList = resAndMetrics.nodeIdsList, linkIdsList = resAndMetrics.linkIdsList;
479
469
  alarmDispatchers = this.topo.store.getModelDispatchers('topoAlarm'); // 添加事件
480
470
 
481
- console.log("handleAlarmEvent-接收到推送的原始告警信息", alertData);
471
+ rlog.debug("handleAlarmEvent-接收到推送的原始告警信息", alertData);
482
472
 
483
473
  if (!((0, _utils.isAvailableArray)(alertData) && (0, _utils.isAvailableArray)(resIdsList))) {
484
474
  _context8.next = 25;
@@ -521,8 +511,7 @@ var Alarm = /*#__PURE__*/function () {
521
511
  break;
522
512
  }
523
513
 
524
- _componentTopologyUtils.rlog.debug('过滤掉非本拓扑的告警信息 告警开关-推送告警到ht-alarmIsOpened-sendAl', alarmIsOpened, sendAl);
525
-
514
+ rlog.debug('过滤掉非本拓扑的告警信息 告警开关-推送告警到ht-alarmIsOpened-sendAl', alarmIsOpened, sendAl);
526
515
  _context8.prev = 13;
527
516
  _context8.next = 16;
528
517
  return alarmDispatchers.combAlarmData({
@@ -556,8 +545,7 @@ var Alarm = /*#__PURE__*/function () {
556
545
  case 22:
557
546
  _context8.prev = 22;
558
547
  _context8.t0 = _context8["catch"](13);
559
-
560
- _componentTopologyUtils.rlog.error('告警发送异常', _context8.t0);
548
+ rlog.error('告警发送异常', _context8.t0);
561
549
 
562
550
  case 25:
563
551
  case "end":
@@ -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.5" === 'string' ? "13.0.5" : null;
57
+ var version = typeof "13.0.8" === 'string' ? "13.0.8" : null;
58
58
  console.info("\u62D3\u6251\u7248\u672C: " + version);
59
59
  /**
60
60
  * 拓扑显示和编辑
@@ -11,14 +11,17 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
- var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
14
+ var _loglevel = _interopRequireDefault(require("loglevel"));
15
15
 
16
16
  var _lodash = _interopRequireDefault(require("lodash"));
17
17
 
18
18
  /**
19
19
  * 告警
20
20
  */
21
- var showAlarmStatus = ["toDeal", "dealing", "change", "woDealing"];
21
+ var rlog = _loglevel["default"].getLogger('topo'); // 在活告警状态
22
+
23
+
24
+ var aliveAlarmStatus = ["toDeal", "dealing", "change", "woDealing"];
22
25
 
23
26
  var sortList = function sortList(a, b) {
24
27
  if (a.level === b.level) {
@@ -122,7 +125,7 @@ function _default(topo) {
122
125
 
123
126
  if ((resIdsList || []).indexOf(rid) >= 0) {
124
127
  if (record.indexOf(item.alertId) < 0) {
125
- if (showAlarmStatus.indexOf(item.status) >= 0) {
128
+ if (aliveAlarmStatus.indexOf(item.status) >= 0) {
126
129
  // rlog.debug("这是一条新告警", item);
127
130
  record.push(item.alertId);
128
131
 
@@ -138,7 +141,7 @@ function _default(topo) {
138
141
  doc[rid] = [item];
139
142
  }
140
143
  } else {
141
- _rlog["default"].warn("接收到异常或已关闭的告警", item);
144
+ rlog.warn("接收到异常或已关闭的告警", item);
142
145
  }
143
146
  } else {
144
147
  sliceTag = doc[rid].findIndex(function (x) {
@@ -152,7 +155,7 @@ function _default(topo) {
152
155
  // item
153
156
  // );
154
157
 
155
- if (showAlarmStatus.indexOf(item.status) >= 0) {
158
+ if (aliveAlarmStatus.indexOf(item.status) >= 0) {
156
159
  if (item.status === "change") {
157
160
  old = doc[rid][sliceTag];
158
161
 
@@ -164,10 +167,9 @@ function _default(topo) {
164
167
  }));
165
168
 
166
169
  doc[rid] = _newArr.sort(sortList);
167
-
168
- _rlog["default"].debug("告警级别变更", doc[rid], item);
170
+ rlog.debug("告警级别变更", doc[rid], item);
169
171
  } else {
170
- _rlog["default"].debug("接收到异常的重复告警", item);
172
+ rlog.debug("接收到异常的重复告警", item);
171
173
  }
172
174
  } else {// rlog.debug("重复告警", item);
173
175
  }
@@ -180,7 +182,7 @@ function _default(topo) {
180
182
  doc[rid] = _newArr2;
181
183
  }
182
184
 
183
- _rlog["default"].debug("该告警移除状态-status", item.status, doc[rid], doc);
185
+ rlog.debug("该告警移除状态-status", item.status, doc[rid], doc);
184
186
 
185
187
  if (doc[rid].length === 0) {
186
188
  delete doc[rid];
@@ -221,14 +223,13 @@ function _default(topo) {
221
223
  }); // 传递给HT时,链路要用r开头的id
222
224
  // rlog.debug('xxxxxxxxxxxxxxxxxxxx', doc[id][0], alarmObj.status);
223
225
 
224
- return showAlarmStatus.indexOf(alarmObj.status) >= 0 ? alarmObj : null;
226
+ return aliveAlarmStatus.indexOf(alarmObj.status) >= 0 ? alarmObj : null;
225
227
  } else {
226
228
  return null;
227
229
  }
228
230
  }));
229
231
  eqFlag = _lodash["default"].isEqual(_lodash["default"].sortBy(alarmlist), _lodash["default"].sortBy(currentAlarmList));
230
-
231
- _rlog["default"].debug("告警归档结束", eqFlag, currentAlarmList, alarmlist, doc, record);
232
+ rlog.debug("告警归档结束", eqFlag, currentAlarmList, alarmlist, doc, record);
232
233
 
233
234
  _this2.update({
234
235
  alarmDoc: doc,
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.isAlarmAlive = void 0;
5
+ // 告警在活状态
6
+ var Alarm_alive_Status = ["toDeal", "dealing", "change", "woDealing"];
7
+ /**
8
+ * 告警是否在活
9
+ * @param {*} alarm
10
+ * @returns
11
+ */
12
+
13
+ var isAlarmAlive = function isAlarmAlive(alarm) {
14
+ return Alarm_alive_Status.includes(alarm.status);
15
+ };
16
+
17
+ exports.isAlarmAlive = isAlarmAlive;
@@ -19,6 +19,8 @@ var _react = _interopRequireDefault(require("react"));
19
19
 
20
20
  var _moment = _interopRequireDefault(require("moment"));
21
21
 
22
+ var _createAppShared = require("create-app-shared");
23
+
22
24
  var _BlockBox = _interopRequireDefault(require("./BlockBox"));
23
25
 
24
26
  var _Link = _interopRequireDefault(require("../../../../../../../components/Link"));
@@ -57,7 +59,7 @@ function EventsCard(props) {
57
59
  log.debug('formatUrl(url)', url);
58
60
  topo.viewProps.jumpto(url);
59
61
  } else {
60
- (0, _componentTopologyUtils.getHistory)().push(formatUrl(url));
62
+ ((0, _componentTopologyUtils.getHistory)() || _createAppShared.history).push(formatUrl(url));
61
63
  }
62
64
  }; // 告警table列配置
63
65
 
@@ -67,34 +69,19 @@ function EventsCard(props) {
67
69
  dataIndex: "title",
68
70
  key: "title",
69
71
  cell: function cell(value, index, record) {
70
- return (
71
- /*#__PURE__*/
72
- // <div
73
- // className={styles["alarm-title"]}
74
- // title={value}
75
- // onClick={closeDetailDrawer}
76
- // >
77
- // <Icon
78
- // type={record.icon}
79
- // size="xs"
80
- // className={`${styles["alarm-color-icon"]} ${record.className}`}
81
- // />
82
- // <Link to={formatUrl(record.link)}>{value}</Link>
83
- // </div>
84
- _react["default"].createElement("div", {
85
- className: _indexModule["default"]['alarm-title'],
86
- title: value,
87
- onClick: function onClick() {
88
- jumpTo(record.link);
89
- }
90
- }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
91
- type: record.icon,
92
- size: "xs",
93
- className: _indexModule["default"]['alarm-color-icon'] + " " + record.className
94
- }), /*#__PURE__*/_react["default"].createElement("span", {
95
- className: _indexModule["default"].link
96
- }, value))
97
- );
72
+ return /*#__PURE__*/_react["default"].createElement("div", {
73
+ className: _indexModule["default"]['alarm-title'],
74
+ title: value,
75
+ onClick: function onClick() {
76
+ jumpTo(record.link);
77
+ }
78
+ }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
79
+ type: record.icon,
80
+ size: "xs",
81
+ className: _indexModule["default"]['alarm-color-icon'] + " " + record.className
82
+ }), /*#__PURE__*/_react["default"].createElement("span", {
83
+ className: _indexModule["default"].link
84
+ }, value));
98
85
  }
99
86
  }, {
100
87
  title: "时间",