@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.
- package/build/index.js +28 -28
- package/es/core/hooks/useGraphAlarmDisplay.js +20 -23
- package/es/core/hooks/useLinkAlarmDisplay.js +9 -112
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/utils/showGraphManageStatusUtil.js +30 -28
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +15 -29
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +52 -151
- package/es/style.js +2 -2
- package/lib/core/hooks/useGraphAlarmDisplay.js +20 -23
- package/lib/core/hooks/useLinkAlarmDisplay.js +9 -116
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/utils/showGraphManageStatusUtil.js +33 -31
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +16 -29
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +52 -153
- package/lib/style.js +2 -2
- package/package.json +2 -2
@@ -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
|
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
|
-
|
110
|
-
resources: cmpRes,
|
111
|
-
graphLoaded: graphLoaded,
|
104
|
+
resources: resources,
|
112
105
|
alarmList: alarmList
|
113
106
|
}),
|
114
|
-
|
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
|
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,
|
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
|
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;
|
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
|
-
|
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
|
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
|
-
|
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.
|
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
|
-
|
19
|
-
|
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
|
-
|
27
|
-
|
28
|
-
|
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
|
-
|
29
|
+
var showUnMoniteStatus = isNotMonite && readable && (alarmSwitch === false || !hasAlarm(id));
|
30
|
+
var element = topo.getDataModel().getDataByTag(id);
|
31
|
+
if (!element) return; // ht元素设置是否显示监控状态,是否展示,用于缩小色块时显示未监控颜色
|
31
32
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
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
|
-
}
|
46
|
-
|
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,
|
package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js
CHANGED
@@ -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
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
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: "时间",
|