@riil-frontend/component-topology 12.0.0-dev.24 → 12.0.0-dev.25
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 +3 -3
- package/es/core/hooks/useAlarm.js +82 -119
- package/es/core/hooks/useEventData.js +2 -1
- package/es/core/models/Alarm.js +145 -60
- package/es/core/models/AttributeMetricDisplay.js +1 -1
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/viewer/components/titlebar/widgets/AlarmButton.js +5 -1
- package/es/utils/ciRefAttributeTranslateUtil.js +1 -1
- package/lib/core/hooks/useAlarm.js +80 -118
- package/lib/core/hooks/useEventData.js +2 -1
- package/lib/core/models/Alarm.js +147 -60
- package/lib/core/models/AttributeMetricDisplay.js +1 -1
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/viewer/components/titlebar/widgets/AlarmButton.js +5 -1
- package/lib/utils/ciRefAttributeTranslateUtil.js +1 -1
- package/package.json +2 -2
@@ -5,7 +5,11 @@ import useEventData from "../../../../hooks/useEventData";
|
|
5
5
|
|
6
6
|
function AlarmButton(props) {
|
7
7
|
var topo = props.topo;
|
8
|
-
|
8
|
+
|
9
|
+
var _topo$store$useModel = topo.store.useModel("topoAlarm"),
|
10
|
+
alarmState = _topo$store$useModel[0],
|
11
|
+
alarmDispatchers = _topo$store$useModel[1];
|
12
|
+
|
9
13
|
var alarmPanelIsOpen = alarmState.alarmPanelIsOpen;
|
10
14
|
var alarmData = useEventData({
|
11
15
|
topo: topo
|
@@ -16,7 +16,7 @@ function getCiRefAttributesMap(ciDatas, ciTypeMap) {
|
|
16
16
|
var id = ciData.id;
|
17
17
|
var attributeMap = ciData.attributeMap || ciData.attributes;
|
18
18
|
ciRefAttributeMap[id] = [];
|
19
|
-
var typeCode = ciData.
|
19
|
+
var typeCode = ciData.typeCode || ciData.ciType;
|
20
20
|
var ciTypeMeta = ciTypeMap[typeCode];
|
21
21
|
|
22
22
|
if (ciTypeMeta) {
|
@@ -15,167 +15,129 @@ 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
18
|
/**
|
21
|
-
*
|
22
|
-
*
|
23
|
-
* @
|
19
|
+
*
|
20
|
+
*
|
21
|
+
* @param {*} options
|
24
22
|
*/
|
23
|
+
function useAlarm(options) {
|
24
|
+
var topo = options.topo;
|
25
|
+
var store = topo.store;
|
25
26
|
|
26
|
-
var
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
var handleRiskData = function handleRiskData(topo, receivedData) {
|
31
|
-
var _risks, _topo$viewProps, _topo$viewProps2;
|
32
|
-
|
33
|
-
// 非在活状态:
|
34
|
-
// 已修复 recovered
|
35
|
-
// 已关闭 closed
|
36
|
-
var prevRisks = topo.store.getModelState('topoAlarm').risks;
|
37
|
-
|
38
|
-
var isLiveRisk = function isLiveRisk(data) {
|
39
|
-
return ['recovered', 'closed'].indexOf(data.status) === -1;
|
40
|
-
};
|
41
|
-
|
42
|
-
var hasCiPermission = function hasCiPermission(data) {
|
43
|
-
var _data$resourceId;
|
44
|
-
|
45
|
-
var ciId = (_data$resourceId = data.resourceId) !== null && _data$resourceId !== void 0 ? _data$resourceId : data.ciId;
|
46
|
-
var ci = topo.dataModel.getDataById(ciId);
|
47
|
-
return !!(ci !== null && ci !== void 0 && ci.operation);
|
48
|
-
}; // 合并
|
49
|
-
|
27
|
+
var _topo$store$useModelS = topo.store.useModelState('displayConfig'),
|
28
|
+
alarmSwitch = _topo$store$useModelS.alarmSwitch,
|
29
|
+
alarmListDefaultOpen = _topo$store$useModelS.alarmListDefaultOpen;
|
50
30
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
return newRisk || risk;
|
56
|
-
}); // 新的
|
31
|
+
(0, _useGraphAlarmDisplay["default"])({
|
32
|
+
topo: topo,
|
33
|
+
alarmSwitch: alarmSwitch
|
34
|
+
});
|
57
35
|
|
58
|
-
var
|
59
|
-
|
60
|
-
return item.id === risk.id;
|
61
|
-
});
|
62
|
-
}).filter(hasCiPermission);
|
36
|
+
var handleRiskData = function handleRiskData(receivedData) {
|
37
|
+
var _risks, _topo$viewProps, _topo$viewProps2;
|
63
38
|
|
64
|
-
|
39
|
+
// 非在活状态:
|
40
|
+
// 已修复 recovered
|
41
|
+
// 已关闭 closed
|
42
|
+
var prevRisks = topo.store.getModelState('topoAlarm').risks;
|
65
43
|
|
44
|
+
var isLiveRisk = function isLiveRisk(data) {
|
45
|
+
return ['recovered', 'closed'].indexOf(data.status) === -1;
|
46
|
+
};
|
66
47
|
|
67
|
-
|
68
|
-
|
69
|
-
});
|
48
|
+
var hasCiPermission = function hasCiPermission(data) {
|
49
|
+
var _data$resourceId;
|
70
50
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
});
|
51
|
+
var ciId = (_data$resourceId = data.resourceId) !== null && _data$resourceId !== void 0 ? _data$resourceId : data.ciId;
|
52
|
+
var ci = topo.dataModel.getDataById(ciId);
|
53
|
+
return ci && ci.operation;
|
54
|
+
}; // 合并
|
76
55
|
|
77
|
-
topo.store.getModelDispatchers('topoAlarm').update({
|
78
|
-
risks: risks
|
79
|
-
}); // 获取配置
|
80
56
|
|
81
|
-
|
82
|
-
|
83
|
-
|
57
|
+
var risks = prevRisks.map(function (risk) {
|
58
|
+
var newRisk = receivedData.find(function (item) {
|
59
|
+
return item.id === risk.id;
|
60
|
+
});
|
61
|
+
return newRisk || risk;
|
62
|
+
}); // 新的
|
84
63
|
|
64
|
+
var addRisks = receivedData.filter(function (risk) {
|
65
|
+
return !prevRisks.find(function (item) {
|
66
|
+
return item.id === risk.id;
|
67
|
+
});
|
68
|
+
}).filter(hasCiPermission);
|
85
69
|
|
86
|
-
|
87
|
-
return;
|
88
|
-
} // 告警列表
|
70
|
+
(_risks = risks).push.apply(_risks, addRisks); // 过滤掉无权限、非在活的
|
89
71
|
|
90
72
|
|
91
|
-
|
92
|
-
|
93
|
-
alarmPanelIsOpen: true
|
73
|
+
risks = risks.filter(isLiveRisk).filter(hasCiPermission).sort(function (a, b) {
|
74
|
+
return a.executeTime - b.executeTime;
|
94
75
|
});
|
95
|
-
}
|
96
|
-
|
97
|
-
if ((_topo$viewProps = topo.viewProps) !== null && _topo$viewProps !== void 0 && _topo$viewProps.onRisk) {
|
98
|
-
topo.viewProps.onRisk(risks);
|
99
|
-
}
|
100
76
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
77
|
+
_rlog["default"].debug('更新风险', {
|
78
|
+
prevRisks: prevRisks,
|
79
|
+
receivedData: receivedData,
|
80
|
+
risks: risks
|
81
|
+
});
|
105
82
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
relateTopoAlarm[item.topoId] = item.alertLevel;
|
110
|
-
});
|
111
|
-
topo.store.getModelDispatchers('topoAlarm').update({
|
112
|
-
relateTopoAlarm: relateTopoAlarm
|
113
|
-
});
|
83
|
+
topo.store.getModelDispatchers('topoAlarm').update({
|
84
|
+
risks: risks
|
85
|
+
});
|
114
86
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
};
|
120
|
-
/**
|
121
|
-
* 处理分级告警
|
122
|
-
* @param {*} alarms
|
123
|
-
* @returns
|
124
|
-
*/
|
87
|
+
if (alarmSwitch === false) {
|
88
|
+
// 告警静默
|
89
|
+
return;
|
90
|
+
}
|
125
91
|
|
92
|
+
if (addRisks.length && alarmListDefaultOpen) {
|
93
|
+
topo.alarm.updateState({
|
94
|
+
alarmPanelIsOpen: true
|
95
|
+
});
|
96
|
+
}
|
126
97
|
|
127
|
-
|
128
|
-
|
129
|
-
|
98
|
+
if ((_topo$viewProps = topo.viewProps) !== null && _topo$viewProps !== void 0 && _topo$viewProps.onRisk) {
|
99
|
+
topo.viewProps.onRisk(risks);
|
100
|
+
}
|
130
101
|
|
131
|
-
if (
|
132
|
-
|
102
|
+
if ((_topo$viewProps2 = topo.viewProps) !== null && _topo$viewProps2 !== void 0 && _topo$viewProps2.onResourceEvent) {
|
103
|
+
topo.viewProps.onResourceEvent(topo.alarm.getEvents());
|
133
104
|
}
|
105
|
+
};
|
134
106
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
107
|
+
var handleRelateTopoAlarm = function handleRelateTopoAlarm(data) {
|
108
|
+
var relateTopoAlarm = (0, _extends2["default"])({}, topo.store.getModelState('topoAlarm').relateTopoAlarm);
|
109
|
+
data.forEach(function (item) {
|
110
|
+
relateTopoAlarm[item.topoId] = item.alertLevel;
|
111
|
+
});
|
112
|
+
topo.store.getModelDispatchers('topoAlarm').update({
|
113
|
+
relateTopoAlarm: relateTopoAlarm
|
140
114
|
});
|
141
|
-
});
|
142
|
-
}
|
143
|
-
/**
|
144
|
-
*
|
145
|
-
*
|
146
|
-
* @param {*} options
|
147
|
-
*/
|
148
|
-
|
149
|
-
|
150
|
-
function useAlarm(options) {
|
151
|
-
var topo = options.topo;
|
152
115
|
|
153
|
-
|
154
|
-
|
116
|
+
_rlog["default"].debug("\u5173\u8054\u62D3\u6251\u544A\u8B66\uFF1A\u6536\u5230 " + data.length, {
|
117
|
+
received: data,
|
118
|
+
all: relateTopoAlarm
|
119
|
+
});
|
120
|
+
}; // 订阅消息
|
155
121
|
|
156
|
-
(0, _useGraphAlarmDisplay["default"])({
|
157
|
-
topo: topo,
|
158
|
-
alarmSwitch: alarmSwitch
|
159
|
-
}); // 订阅消息
|
160
122
|
|
161
123
|
(0, _useTopoEventListener["default"])({
|
162
124
|
type: 'alarm',
|
163
125
|
onMessage: function onMessage(data) {
|
164
126
|
_rlog["default"].debug("Topoget--AlertMesage------------", topo, data);
|
165
127
|
|
166
|
-
topo.alarm.handleAlarmEvent(
|
128
|
+
topo.alarm.handleAlarmEvent(data);
|
167
129
|
}
|
168
130
|
});
|
169
131
|
(0, _useTopoEventListener["default"])({
|
170
132
|
type: 'risk',
|
171
133
|
onMessage: function onMessage(data) {
|
172
|
-
handleRiskData(
|
134
|
+
handleRiskData(data);
|
173
135
|
}
|
174
136
|
});
|
175
137
|
(0, _useTopoEventListener["default"])({
|
176
138
|
type: 'relateTopoAlarm',
|
177
139
|
onMessage: function onMessage(data) {
|
178
|
-
handleRelateTopoAlarm(
|
140
|
+
handleRelateTopoAlarm(data);
|
179
141
|
}
|
180
142
|
});
|
181
143
|
}
|
@@ -8,7 +8,8 @@ exports["default"] = useEventData;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9
9
|
|
10
10
|
function useEventData(props) {
|
11
|
-
var topo = props.topo;
|
11
|
+
var topo = props.topo;
|
12
|
+
var topoDatas = topo.dataModel.useDatas();
|
12
13
|
|
13
14
|
var _topo$store$useModelS = topo.store.useModelState('topoAlarm'),
|
14
15
|
risks = _topo$store$useModelS.risks,
|