@riil-frontend/component-topology 12.1.7 → 12.1.8

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.
@@ -33,11 +33,6 @@ function getGraphCiElementAlarmLevels(resources, alarmList) {
33
33
  id: id,
34
34
  level: ciIdLevelMap[id]
35
35
  };
36
- }).filter(function (alarm) {
37
- var resource = resources.find(function (item) {
38
- return item.id === alarm.id;
39
- });
40
- return !!resource;
41
36
  });
42
37
  }
43
38
  /**
@@ -90,7 +85,7 @@ export default function useGraphAlarmDisplay(options) {
90
85
  risks = _topo$alarm$useState.risks,
91
86
  relateTopoAlarm = _topo$alarm$useState.relateTopoAlarm;
92
87
 
93
- var oldResources = topo.dataModel.useCis(); // 分级拓扑下级链路特殊处理
88
+ var oldResources = topo.dataModel.useCis(); // 分级拓扑下级链路特殊处理。待迁移到业务模块
94
89
 
95
90
  var _useCmpLinkAlarm = useCmpLinkAlarm({
96
91
  topo: topo,
@@ -101,29 +96,19 @@ export default function useGraphAlarmDisplay(options) {
101
96
  cmpLinkRunStatus = _useCmpLinkAlarm.cmpLinkRunStatus,
102
97
  addCmpLinkOfflineStatusForDisplayLineColor = _useCmpLinkAlarm.addCmpLinkOfflineStatusForDisplayLineColor;
103
98
 
104
- var cmpRes = useMemo(function () {
99
+ var resources = useMemo(function () {
105
100
  return addCmpLinkOfflineStatusForDisplayLineColor(oldResources, cmpLinkRunStatus);
106
- }, [oldResources, cmpLinkRunStatus]); // 拓扑链路特殊处理
101
+ }, [oldResources, cmpLinkRunStatus]); // 拓扑链路通断告警特殊处理。待迁移到业务模块
107
102
 
108
103
  var _useLinkAlarmDisplay = useLinkAlarmDisplay({
109
- topo: topo,
110
- resources: cmpRes,
111
- graphLoaded: graphLoaded,
104
+ resources: resources,
112
105
  alarmList: alarmList
113
106
  }),
114
- linkRunStatus = _useLinkAlarmDisplay.linkRunStatus,
115
- getlinkAlarmLevels = _useLinkAlarmDisplay.getlinkAlarmLevels; // const resources = useMemo(() => addLinkOfflineStatusForDisplayLineColor(cmpRes, linkRunStatus), [cmpRes, linkRunStatus])
116
-
107
+ linkBreakAlarmLevels = _useLinkAlarmDisplay.linkBreakAlarmLevels; // ci告警级别
117
108
 
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告警级别
124
109
 
125
110
  var cisEventLevel = useMemo(function () {
126
- var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, linkAlarmLevels, risks.map(function (item) {
111
+ var alarmLevels = [].concat(alarmList || [], cmpLinkAlarmLevels, linkBreakAlarmLevels, risks.map(function (item) {
127
112
  var _item$resourceId;
128
113
 
129
114
  return {
@@ -131,7 +116,19 @@ export default function useGraphAlarmDisplay(options) {
131
116
  level: 5
132
117
  };
133
118
  }));
134
- return getGraphCiElementAlarmLevels(resources, levels);
119
+ return getGraphCiElementAlarmLevels(resources, alarmLevels) // 过滤元素不存在
120
+ .filter(function (alarm) {
121
+ var resource = resources.find(function (item) {
122
+ return item.id === alarm.id;
123
+ });
124
+ return !!resource;
125
+ }) // v1.7 过滤掉断开状态的链路,不显示告警
126
+ .filter(function (alarm) {
127
+ var resource = resources.find(function (item) {
128
+ return item.id === alarm.id;
129
+ });
130
+ return !resource.breakState;
131
+ });
135
132
  }, [resources, alarmList, cmpLinkAlarmLevels, risks]);
136
133
  useEffect(function () {
137
134
  showAlarm();
@@ -155,7 +152,7 @@ export default function useGraphAlarmDisplay(options) {
155
152
  // 告警静默
156
153
  topo.view.loadAlarm([]);
157
154
  return;
158
- } // 关联拓扑告警
155
+ } // 关联拓扑告警。待迁移到业务模块
159
156
 
160
157
 
161
158
  var relateTopoAlarms = getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm);
@@ -1,14 +1,10 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
1
  import { useEffect, useState, useMemo } from "react";
4
- import { useRequest } from "ahooks";
5
2
  import _ from "lodash";
6
- import DictCache from "../models/cache/DictCache";
7
3
 
8
4
  function getLinkDev(datas) {
9
- // console.log("datas------------------", datas);
10
5
  var linkDevDoc = {};
11
- var linkIds = datas.filter(function (item) {
6
+ var linkIds = datas //
7
+ .filter(function (item) {
12
8
  return item.ciType === "network_link";
13
9
  }).map(function (item) {
14
10
  linkDevDoc[item.id] = [item.source, item.target];
@@ -22,15 +18,16 @@ function getLinkDev(datas) {
22
18
 
23
19
  function getlinkAlarmLevels(alarmList, resources) {
24
20
  var _getLinkDev = getLinkDev(resources),
25
- linkDevDoc = _getLinkDev.linkDevDoc; // console.log("linkAlarmLevels-----------1", linkDevDoc, alarmList);
26
-
21
+ linkDevDoc = _getLinkDev.linkDevDoc;
27
22
 
28
23
  if (!alarmList) {
29
24
  return [];
30
25
  }
31
26
 
32
27
  var alarms = alarmList.filter(function (alarm) {
33
- return alarm.obj.alertTypeCode === "availAlert";
28
+ var _alarm$obj;
29
+
30
+ return ((_alarm$obj = alarm.obj) === null || _alarm$obj === void 0 ? void 0 : _alarm$obj.alertTypeCode) === "availAlert";
34
31
  }).map(function (item) {
35
32
  return item.id;
36
33
  });
@@ -52,110 +49,10 @@ function getlinkAlarmLevels(alarmList, resources) {
52
49
 
53
50
 
54
51
  export default function useLinkAlarmDisplay(props) {
55
- var topo = props.topo,
56
- resources = props.resources,
57
- graphLoaded = props.graphLoaded,
52
+ var resources = props.resources,
58
53
  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]);
54
+ var linkBreakAlarmLevels = getlinkAlarmLevels(alarmList, resources);
157
55
  return {
158
- linkRunStatus: linkRunStatus,
159
- getlinkAlarmLevels: getlinkAlarmLevels
56
+ linkBreakAlarmLevels: linkBreakAlarmLevels
160
57
  };
161
58
  }
@@ -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.7" === 'string' ? "12.1.7" : null;
27
+ var version = typeof "12.1.8" === 'string' ? "12.1.8" : null;
28
28
  console.info("\u62D3\u6251\u7248\u672C: " + version);
29
29
  /**
30
30
  * 拓扑显示和编辑
@@ -14,39 +14,41 @@ export function showManageStatus(options) {
14
14
  }; // 首次加载和监控状态变化后,更新节点和连线置灰状态
15
15
 
16
16
 
17
- if (graphLoaded) {
18
- resources.forEach(function (resource) {
19
- var type = resource.type,
20
- id = resource.id,
21
- manageStatus = resource.manageStatus,
22
- permission = resource.permission;
23
- var isNotMonite = manageStatus === 0;
24
- var readable = !!(permission !== null && permission !== void 0 && permission.readable); // 未监控 && 有查看权限 && (告警静默 || 没有告警),才显示未监控状态
17
+ if (!graphLoaded) {
18
+ return;
19
+ }
25
20
 
26
- var showUnMoniteStatus = isNotMonite && readable && (alarmSwitch === false || !hasAlarm(id));
27
- var element = topo.getDataModel().getDataByTag(id);
28
- if (!element) return; // ht元素设置是否显示监控状态,是否展示,用于缩小色块时显示未监控颜色
21
+ resources.forEach(function (resource) {
22
+ var type = resource.type,
23
+ id = resource.id,
24
+ manageStatus = resource.manageStatus,
25
+ permission = resource.permission;
26
+ var isNotMonite = manageStatus === 0;
27
+ var readable = !!(permission !== null && permission !== void 0 && permission.readable); // 显示未监控状态条件:未监控 && 有查看权限 && (告警静默 || 没有告警)
29
28
 
30
- element.a('ci.isMonitoring', !showUnMoniteStatus);
29
+ var showUnMoniteStatus = isNotMonite && readable && (alarmSwitch === false || !hasAlarm(id));
30
+ var element = topo.getDataModel().getDataByTag(id);
31
+ if (!element) return; // ht元素设置是否显示监控状态,是否展示,用于缩小色块时显示未监控颜色
31
32
 
32
- if (type === 'node') {
33
- try {
34
- if (showUnMoniteStatus) {
35
- topo.getHtTopo().setNodeStyleIcon(element, {
36
- styleIcon: 'unMoniter',
37
- icon: 'resource.subIcon.unMoniter'
38
- });
39
- } else {
40
- element.removeStyleIcon('unMoniter');
41
- }
42
- } catch (error) {
43
- rlog.error('设置监控图标异常', element, error);
33
+ element.a('ci.isMonitoring', !showUnMoniteStatus);
34
+
35
+ if (type === 'node') {
36
+ try {
37
+ if (showUnMoniteStatus) {
38
+ topo.getHtTopo().setNodeStyleIcon(element, {
39
+ styleIcon: 'unMoniter',
40
+ icon: 'resource.subIcon.unMoniter'
41
+ });
42
+ } else {
43
+ element.removeStyleIcon('unMoniter');
44
44
  }
45
- } else {
46
- setElementRuntimeStyle(element, 'color', showUnMoniteStatus ? '#C9CED2' : undefined);
45
+ } catch (error) {
46
+ rlog.error('设置监控图标异常', element, error);
47
47
  }
48
- });
49
- }
48
+ } else {
49
+ setElementRuntimeStyle(element, 'color', showUnMoniteStatus ? '#C9CED2' : undefined);
50
+ }
51
+ });
50
52
  }
51
53
  export function removeManageStatus(options) {
52
54
  var topo = options.topo,
@@ -5,6 +5,7 @@ import _Icon from "@alifd/next/es/icon";
5
5
  import _regeneratorRuntime from "@babel/runtime/regenerator";
6
6
  import React from 'react';
7
7
  import moment from 'moment';
8
+ import { history as iceHistory } from 'create-app-shared';
8
9
  import BlockBox from "./BlockBox";
9
10
  import Link from "../../../../../../../components/Link";
10
11
  import service from "../../../../../../services/overview";
@@ -37,7 +38,7 @@ function EventsCard(props) {
37
38
  log.debug('formatUrl(url)', url);
38
39
  topo.viewProps.jumpto(url);
39
40
  } else {
40
- getHistory().push(formatUrl(url));
41
+ (getHistory() || iceHistory).push(formatUrl(url));
41
42
  }
42
43
  }; // 告警table列配置
43
44
 
@@ -47,34 +48,19 @@ function EventsCard(props) {
47
48
  dataIndex: "title",
48
49
  key: "title",
49
50
  cell: function cell(value, index, record) {
50
- return (
51
- /*#__PURE__*/
52
- // <div
53
- // className={styles["alarm-title"]}
54
- // title={value}
55
- // onClick={closeDetailDrawer}
56
- // >
57
- // <Icon
58
- // type={record.icon}
59
- // size="xs"
60
- // className={`${styles["alarm-color-icon"]} ${record.className}`}
61
- // />
62
- // <Link to={formatUrl(record.link)}>{value}</Link>
63
- // </div>
64
- React.createElement("div", {
65
- className: styles['alarm-title'],
66
- title: value,
67
- onClick: function onClick() {
68
- jumpTo(record.link);
69
- }
70
- }, /*#__PURE__*/React.createElement(_Icon, {
71
- type: record.icon,
72
- size: "xs",
73
- className: styles['alarm-color-icon'] + " " + record.className
74
- }), /*#__PURE__*/React.createElement("span", {
75
- className: styles.link
76
- }, value))
77
- );
51
+ return /*#__PURE__*/React.createElement("div", {
52
+ className: styles['alarm-title'],
53
+ title: value,
54
+ onClick: function onClick() {
55
+ jumpTo(record.link);
56
+ }
57
+ }, /*#__PURE__*/React.createElement(_Icon, {
58
+ type: record.icon,
59
+ size: "xs",
60
+ className: styles['alarm-color-icon'] + " " + record.className
61
+ }), /*#__PURE__*/React.createElement("span", {
62
+ className: styles.link
63
+ }, value));
78
64
  }
79
65
  }, {
80
66
  title: "时间",