@riil-frontend/component-topology 12.0.0-dev.3 → 12.0.0-dev.31
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/1.js +1 -1
- package/build/index.css +1 -1
- package/build/index.js +13 -13
- package/es/components/BatchAttrMetric/setting.js +1 -1
- package/es/components/ModelAttrSelectDrawer/components/MultipleTypeAttributeSelectDrawer.js +1 -1
- package/es/components/ResourceSelectDrawer/ResourceSelectDrawer.js +1 -1
- package/es/components/TemplateButton/index.module.scss +1 -1
- package/es/core/components/AlarmListPanel/components/AlarmListItem.js +58 -3
- package/es/core/components/AlarmListPanel/index.js +1 -1
- package/es/core/components/DisplaySettingDrawer/DisplaySetting.js +1 -1
- package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -2
- package/es/core/components/DisplaySettingDrawer/ResourceDisplay/BasicConfig.js +1 -1
- package/es/core/components/DisplaySettingDrawer/components/NodeAttrSettingDrawer.js +1 -1
- package/es/core/components/ResourceViewAttributeSetting/Setting.js +1 -1
- package/es/core/components/TopoView/topoView.js +6 -2
- package/es/core/editor/components/BackgroundView/index.js +1 -1
- package/es/core/editor/components/CustomIconPlugin/UploadIconDialog.js +1 -1
- package/es/core/editor/components/EditorPlugin.js +1 -1
- package/es/core/editor/components/Sidebar/views/ComponentPanel.js +1 -1
- package/es/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
- package/es/core/editor/components/Sidebar/views/ImagePanel/CustomImagePanel.js +1 -1
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +1 -1
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +1 -1
- package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePalette.js +1 -1
- package/es/core/editor/components/Sidebar/views/LinkPanel.js +1 -1
- package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +5 -12
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +27 -10
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +21 -1
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +9 -0
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +2 -2
- package/es/core/editor/components/Toolbar/widgets/Layout/index.js +16 -2
- package/es/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +1 -1
- package/es/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +1 -1
- package/es/core/editor/components/settings/propertyViews/layer/BasicSetting.js +1 -1
- package/es/core/editor/components/settings/propertyViews/layer/SettingTab/Setting.js +1 -1
- package/es/core/editor/components/settings/propertyViews/view/hooks/useBackgroundSizeConfig.js +1 -1
- package/es/core/editor/hooks/useKeyboardShortcut.js +3 -1
- package/es/core/editor/store/background.js +1 -1
- package/es/core/editor/store/historyManager.js +1 -1
- package/es/core/editor/store/topoEdit.js +1 -1
- package/es/core/editor/utils/copyElementUtil.js +12 -0
- package/es/core/editor/utils/edgeTypeStyleUtil.js +8 -7
- package/es/core/hooks/__tests__/useCiAttributeChange.test.js +0 -0
- package/es/core/hooks/ht/useHtDataPropertyChangeListener.js +1 -1
- package/es/core/hooks/useAlarm.js +119 -82
- package/es/core/hooks/useCiAttributeChange.js +31 -15
- package/es/core/hooks/useCmpLinkAlarm.js +153 -0
- package/es/core/hooks/useEventData.js +1 -2
- package/es/core/hooks/useGraphAlarmDisplay.js +91 -56
- package/es/core/hooks/useManageStatus.js +1 -1
- package/es/core/hooks/usePolling.js +1 -1
- package/es/core/hooks/useResourceConfig.js +1 -3
- package/es/core/hooks/useTopoEdit.js +51 -54
- package/es/core/models/Alarm.js +70 -143
- package/es/core/models/AttributeMetricDisplay.js +15 -6
- package/es/core/models/HistoryManager.js +1 -1
- package/es/core/models/SelectionModel.js +1 -1
- package/es/core/models/TopoApp.js +2 -2
- package/es/core/models/attributeFormatter/formatter/graphTransform.js +1 -1
- package/es/core/models/attributeFormatter/index.js +1 -1
- package/es/core/models/cache/CiCache.d.ts +1 -1
- package/es/core/models/cache/CiCache.js +3 -3
- package/es/core/models/cache/CiTypeCache.js +5 -1
- package/es/core/models/cache/DictCache.js +1 -1
- package/es/core/models/plugins/resourceWebControllUrl.js +1 -1
- package/es/core/models/tagstips/ElementTagTipConfig.js +1 -1
- package/es/core/models/topoData.js +0 -1
- package/es/core/services/alarm.js +1 -1
- package/es/core/services/index.js +1 -1
- package/es/core/services/topo/basic.js +2 -2
- package/es/core/store/models/customIcon.js +1 -1
- package/es/core/store/models/displayConfig.js +1 -1
- package/es/core/store/models/selection.js +1 -1
- package/es/core/store/models/topoBaseInfoOverview.js +1 -1
- package/es/core/store/models/topoBizMod.js +1 -1
- package/es/core/store/models/topoConfig.js +7 -10
- package/es/core/store/models/topoGraphView.js +1 -1
- package/es/core/store/models/topoMod.js +82 -135
- package/es/core/store/models/viewer/lock.js +1 -1
- package/es/core/store/models/viewer/resourceDetail.js +1 -1
- package/es/core/store/models/viewer/resourceWebControllUrlSetting.js +1 -1
- package/es/core/utils/edgeUtil.js +10 -1
- package/es/core/utils/metricUtil.js +8 -4
- package/es/core/utils/showGraphManageStatusUtil.js +3 -2
- package/es/core/utils/showMessage.js +1 -1
- package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +1 -0
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +12 -13
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +3 -1
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +4 -2
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +1 -1
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +1 -1
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useAlarmAndRiskData.js +20 -18
- package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +1 -1
- package/es/core/viewer/components/plugins/ViewerPlugin.js +3 -1
- package/es/core/viewer/components/titlebar/widgets/AlarmButton.js +1 -5
- package/es/networkTopo/components/Link/index.js +1 -1
- package/es/networkTopo/components/TopoView.js +6 -11
- package/es/networkTopo/hooks/useEdgeExpand.js +2 -3
- package/es/networkTopo/hooks/viewer/useRelateTopo.js +1 -1
- package/es/networkTopo/models/LinkDynamicStyleExecutor.js +1 -1
- package/es/networkTopo/models/LinkTagsTipsBuilder.js +1 -1
- package/es/networkTopo/models/TopoCenter.js +1 -1
- package/es/networkTopo/services/model.js +1 -1
- package/es/networkTopo/services/topo/basic.js +4 -4
- package/es/networkTopo/services/topo/ciInfo.js +1 -1
- package/es/networkTopo/store/functionAuth.js +1 -1
- package/es/networkTopo/store/topoCenter.js +261 -224
- package/es/networkTopo/store/topoTreeMod.js +1 -1
- package/es/networkTopo/utils/exportData.js +1 -1
- package/es/style.js +2 -2
- package/es/utils/ResourceConfigUtil.js +4 -37
- package/es/utils/ciRefAttributeTranslateUtil.d.ts +19 -0
- package/es/utils/ciRefAttributeTranslateUtil.js +155 -0
- package/es/utils/format.js +1 -1
- package/es/utils/topoData.js +4 -2
- package/lib/components/BatchAttrMetric/setting.js +2 -2
- package/lib/components/ModelAttrSelectDrawer/components/MultipleTypeAttributeSelectDrawer.js +2 -2
- package/lib/components/ResourceSelectDrawer/ResourceSelectDrawer.js +2 -2
- package/lib/components/TemplateButton/index.module.scss +1 -1
- package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +60 -3
- package/lib/core/components/AlarmListPanel/index.js +1 -1
- package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -2
- package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -2
- package/lib/core/components/DisplaySettingDrawer/ResourceDisplay/BasicConfig.js +3 -3
- package/lib/core/components/DisplaySettingDrawer/components/NodeAttrSettingDrawer.js +2 -2
- package/lib/core/components/ResourceViewAttributeSetting/Setting.js +2 -2
- package/lib/core/components/TopoView/topoView.js +14 -10
- package/lib/core/editor/components/BackgroundView/index.js +3 -3
- package/lib/core/editor/components/CustomIconPlugin/UploadIconDialog.js +2 -2
- package/lib/core/editor/components/EditorPlugin.js +3 -3
- package/lib/core/editor/components/Sidebar/views/ComponentPanel.js +2 -4
- package/lib/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
- package/lib/core/editor/components/Sidebar/views/ImagePanel/CustomImagePanel.js +1 -1
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +2 -2
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +2 -2
- package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePalette.js +2 -4
- package/lib/core/editor/components/Sidebar/views/LinkPanel.js +2 -4
- package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +6 -12
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +27 -9
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +21 -1
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +8 -0
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +1 -1
- package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +16 -2
- package/lib/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +5 -5
- package/lib/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +1 -1
- package/lib/core/editor/components/settings/propertyViews/layer/BasicSetting.js +1 -1
- package/lib/core/editor/components/settings/propertyViews/layer/SettingTab/Setting.js +3 -3
- package/lib/core/editor/components/settings/propertyViews/view/hooks/useBackgroundSizeConfig.js +2 -2
- package/lib/core/editor/hooks/useKeyboardShortcut.js +2 -0
- package/lib/core/editor/store/background.js +1 -1
- package/lib/core/editor/store/historyManager.js +1 -1
- package/lib/core/editor/store/topoEdit.js +1 -1
- package/lib/core/editor/utils/copyElementUtil.js +15 -0
- package/lib/core/editor/utils/edgeTypeStyleUtil.js +8 -6
- package/lib/core/hooks/__tests__/useCiAttributeChange.test.js +1 -0
- package/lib/core/hooks/ht/useHtDataPropertyChangeListener.js +1 -3
- package/lib/core/hooks/useAlarm.js +118 -80
- package/lib/core/hooks/useCiAttributeChange.js +30 -14
- package/lib/core/hooks/useCmpLinkAlarm.js +166 -0
- package/lib/core/hooks/useEventData.js +1 -2
- package/lib/core/hooks/useGraphAlarmDisplay.js +91 -55
- package/lib/core/hooks/useManageStatus.js +1 -1
- package/lib/core/hooks/usePolling.js +3 -3
- package/lib/core/hooks/useResourceConfig.js +1 -3
- package/lib/core/hooks/useTopoEdit.js +50 -53
- package/lib/core/models/Alarm.js +77 -152
- package/lib/core/models/AttributeMetricDisplay.js +18 -6
- package/lib/core/models/HistoryManager.js +8 -8
- package/lib/core/models/SelectionModel.js +5 -5
- package/lib/core/models/TopoApp.js +4 -6
- package/lib/core/models/attributeFormatter/formatter/graphTransform.js +2 -4
- package/lib/core/models/attributeFormatter/index.js +1 -1
- package/lib/core/models/cache/CiCache.d.ts +1 -1
- package/lib/core/models/cache/CiCache.js +3 -3
- package/lib/core/models/cache/CiTypeCache.js +6 -2
- package/lib/core/models/cache/DictCache.js +2 -2
- package/lib/core/models/plugins/resourceWebControllUrl.js +2 -2
- package/lib/core/models/tagstips/ElementTagTipConfig.js +2 -2
- package/lib/core/models/topoData.js +0 -1
- package/lib/core/services/alarm.js +2 -2
- package/lib/core/services/index.js +1 -1
- package/lib/core/services/topo/basic.js +2 -2
- package/lib/core/store/models/customIcon.js +3 -3
- package/lib/core/store/models/displayConfig.js +1 -1
- package/lib/core/store/models/selection.js +1 -1
- package/lib/core/store/models/topoBaseInfoOverview.js +1 -1
- package/lib/core/store/models/topoBizMod.js +1 -1
- package/lib/core/store/models/topoConfig.js +7 -10
- package/lib/core/store/models/topoGraphView.js +1 -1
- package/lib/core/store/models/topoMod.js +89 -142
- package/lib/core/store/models/viewer/lock.js +1 -1
- package/lib/core/store/models/viewer/resourceDetail.js +1 -1
- package/lib/core/store/models/viewer/resourceWebControllUrlSetting.js +1 -1
- package/lib/core/utils/edgeUtil.js +12 -1
- package/lib/core/utils/metricUtil.js +8 -4
- package/lib/core/utils/showGraphManageStatusUtil.js +3 -2
- package/lib/core/utils/showMessage.js +2 -2
- package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +1 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +12 -13
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +3 -1
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +4 -2
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +6 -6
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +3 -5
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useAlarmAndRiskData.js +20 -18
- package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +2 -2
- package/lib/core/viewer/components/plugins/ViewerPlugin.js +3 -1
- package/lib/core/viewer/components/titlebar/widgets/AlarmButton.js +1 -5
- package/lib/networkTopo/components/Link/index.js +2 -2
- package/lib/networkTopo/components/TopoView.js +5 -14
- package/lib/networkTopo/hooks/useEdgeExpand.js +2 -3
- package/lib/networkTopo/hooks/viewer/useRelateTopo.js +4 -4
- package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +3 -5
- package/lib/networkTopo/models/LinkTagsTipsBuilder.js +3 -3
- package/lib/networkTopo/models/TopoCenter.js +1 -1
- package/lib/networkTopo/services/model.js +1 -3
- package/lib/networkTopo/services/topo/basic.js +4 -6
- package/lib/networkTopo/services/topo/ciInfo.js +0 -2
- package/lib/networkTopo/store/functionAuth.js +1 -1
- package/lib/networkTopo/store/topoCenter.js +263 -226
- package/lib/networkTopo/store/topoTreeMod.js +5 -5
- package/lib/networkTopo/utils/exportData.js +1 -3
- package/lib/style.js +2 -2
- package/lib/utils/ResourceConfigUtil.js +4 -39
- package/lib/utils/ciRefAttributeTranslateUtil.d.ts +19 -0
- package/lib/utils/ciRefAttributeTranslateUtil.js +168 -0
- package/lib/utils/format.js +1 -1
- package/lib/utils/topoData.js +4 -2
- package/package.json +4 -4
@@ -15,129 +15,167 @@ var _useGraphAlarmDisplay = _interopRequireDefault(require("./useGraphAlarmDispl
|
|
15
15
|
|
16
16
|
var _useTopoEventListener = _interopRequireDefault(require("./useTopoEventListener"));
|
17
17
|
|
18
|
+
// 告警在活状态
|
19
|
+
var showAlarmStatus = ["toDeal", "dealing", "change", "woDealing"];
|
18
20
|
/**
|
19
|
-
*
|
20
|
-
*
|
21
|
-
* @
|
21
|
+
* 告警是否在活
|
22
|
+
* @param {*} alarm
|
23
|
+
* @returns
|
22
24
|
*/
|
23
|
-
function useAlarm(options) {
|
24
|
-
var topo = options.topo;
|
25
|
-
var store = topo.store;
|
26
25
|
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
var isAlarmAlive = function isAlarmAlive(alarm) {
|
27
|
+
return showAlarmStatus.indexOf(alarm.status) >= 0;
|
28
|
+
};
|
30
29
|
|
31
|
-
|
32
|
-
|
33
|
-
alarmSwitch: alarmSwitch
|
34
|
-
});
|
30
|
+
var handleRiskData = function handleRiskData(topo, receivedData) {
|
31
|
+
var _risks, _topo$viewProps, _topo$viewProps2;
|
35
32
|
|
36
|
-
|
37
|
-
|
33
|
+
// 非在活状态:
|
34
|
+
// 已修复 recovered
|
35
|
+
// 已关闭 closed
|
36
|
+
var prevRisks = topo.store.getModelState('topoAlarm').risks;
|
38
37
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
var prevRisks = topo.store.getModelState('topoAlarm').risks;
|
38
|
+
var isLiveRisk = function isLiveRisk(data) {
|
39
|
+
return ['recovered', 'closed'].indexOf(data.status) === -1;
|
40
|
+
};
|
43
41
|
|
44
|
-
|
45
|
-
|
46
|
-
};
|
42
|
+
var hasCiPermission = function hasCiPermission(data) {
|
43
|
+
var _data$resourceId;
|
47
44
|
|
48
|
-
var
|
49
|
-
|
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
|
+
}; // 合并
|
50
49
|
|
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
|
-
}; // 合并
|
55
50
|
|
51
|
+
var risks = prevRisks.map(function (risk) {
|
52
|
+
var newRisk = receivedData.find(function (item) {
|
53
|
+
return item.id === risk.id;
|
54
|
+
});
|
55
|
+
return newRisk || risk;
|
56
|
+
}); // 新的
|
56
57
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
}); // 新的
|
58
|
+
var addRisks = receivedData.filter(function (risk) {
|
59
|
+
return !prevRisks.find(function (item) {
|
60
|
+
return item.id === risk.id;
|
61
|
+
});
|
62
|
+
}).filter(hasCiPermission);
|
63
63
|
|
64
|
-
|
65
|
-
return !prevRisks.find(function (item) {
|
66
|
-
return item.id === risk.id;
|
67
|
-
});
|
68
|
-
}).filter(hasCiPermission);
|
64
|
+
(_risks = risks).push.apply(_risks, addRisks); // 过滤掉无权限、非在活的
|
69
65
|
|
70
|
-
(_risks = risks).push.apply(_risks, addRisks); // 过滤掉无权限、非在活的
|
71
66
|
|
67
|
+
risks = risks.filter(isLiveRisk).filter(hasCiPermission).sort(function (a, b) {
|
68
|
+
return a.executeTime - b.executeTime;
|
69
|
+
});
|
72
70
|
|
73
|
-
|
74
|
-
|
75
|
-
|
71
|
+
_rlog["default"].debug('更新风险', {
|
72
|
+
prevRisks: prevRisks,
|
73
|
+
receivedData: receivedData,
|
74
|
+
risks: risks
|
75
|
+
});
|
76
|
+
|
77
|
+
topo.store.getModelDispatchers('topoAlarm').update({
|
78
|
+
risks: risks
|
79
|
+
}); // 获取配置
|
80
|
+
|
81
|
+
var _topo$store$getModelS = topo.store.getModelState('displayConfig'),
|
82
|
+
alarmSwitch = _topo$store$getModelS.alarmSwitch,
|
83
|
+
alarmListDefaultOpen = _topo$store$getModelS.alarmListDefaultOpen; // 告警静默
|
76
84
|
|
77
|
-
_rlog["default"].debug('更新风险', {
|
78
|
-
prevRisks: prevRisks,
|
79
|
-
receivedData: receivedData,
|
80
|
-
risks: risks
|
81
|
-
});
|
82
85
|
|
83
|
-
|
84
|
-
|
86
|
+
if (alarmSwitch === false) {
|
87
|
+
return;
|
88
|
+
} // 告警列表
|
89
|
+
|
90
|
+
|
91
|
+
if (addRisks.length && alarmListDefaultOpen) {
|
92
|
+
topo.alarm.updateState({
|
93
|
+
alarmPanelIsOpen: true
|
85
94
|
});
|
95
|
+
}
|
86
96
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
}
|
97
|
+
if ((_topo$viewProps = topo.viewProps) !== null && _topo$viewProps !== void 0 && _topo$viewProps.onRisk) {
|
98
|
+
topo.viewProps.onRisk(risks);
|
99
|
+
}
|
91
100
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
101
|
+
if ((_topo$viewProps2 = topo.viewProps) !== null && _topo$viewProps2 !== void 0 && _topo$viewProps2.onResourceEvent) {
|
102
|
+
topo.viewProps.onResourceEvent(topo.alarm.getEvents());
|
103
|
+
}
|
104
|
+
};
|
105
|
+
|
106
|
+
var handleRelateTopoAlarm = function handleRelateTopoAlarm(topo, data) {
|
107
|
+
var relateTopoAlarm = (0, _extends2["default"])({}, topo.store.getModelState('topoAlarm').relateTopoAlarm);
|
108
|
+
data.forEach(function (item) {
|
109
|
+
relateTopoAlarm[item.topoId] = item.alertLevel;
|
110
|
+
});
|
111
|
+
topo.store.getModelDispatchers('topoAlarm').update({
|
112
|
+
relateTopoAlarm: relateTopoAlarm
|
113
|
+
});
|
114
|
+
|
115
|
+
_rlog["default"].debug("\u5173\u8054\u62D3\u6251\u544A\u8B66\uFF1A\u6536\u5230 " + data.length, {
|
116
|
+
received: data,
|
117
|
+
all: relateTopoAlarm
|
118
|
+
});
|
119
|
+
};
|
120
|
+
/**
|
121
|
+
* 处理分级告警
|
122
|
+
* @param {*} alarms
|
123
|
+
* @returns
|
124
|
+
*/
|
97
125
|
|
98
|
-
if ((_topo$viewProps = topo.viewProps) !== null && _topo$viewProps !== void 0 && _topo$viewProps.onRisk) {
|
99
|
-
topo.viewProps.onRisk(risks);
|
100
|
-
}
|
101
126
|
|
102
|
-
|
103
|
-
|
127
|
+
function convertAlarmData(alarms) {
|
128
|
+
return alarms.map(function (alarm) {
|
129
|
+
var resourceId = alarm.resourceId; // 分级资源id转换
|
130
|
+
|
131
|
+
if (alarm.cmpAlertId) {
|
132
|
+
resourceId = "sub:" + alarm.mainCiId;
|
104
133
|
}
|
105
|
-
};
|
106
134
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
topo.store.getModelDispatchers('topoAlarm').update({
|
113
|
-
relateTopoAlarm: relateTopoAlarm
|
135
|
+
return (0, _extends2["default"])({}, alarm, {
|
136
|
+
// 数据id
|
137
|
+
resourceId: resourceId,
|
138
|
+
// 是否在活
|
139
|
+
alive: isAlarmAlive(alarm)
|
114
140
|
});
|
141
|
+
});
|
142
|
+
}
|
143
|
+
/**
|
144
|
+
*
|
145
|
+
*
|
146
|
+
* @param {*} options
|
147
|
+
*/
|
115
148
|
|
116
|
-
_rlog["default"].debug("\u5173\u8054\u62D3\u6251\u544A\u8B66\uFF1A\u6536\u5230 " + data.length, {
|
117
|
-
received: data,
|
118
|
-
all: relateTopoAlarm
|
119
|
-
});
|
120
|
-
}; // 订阅消息
|
121
149
|
|
150
|
+
function useAlarm(options) {
|
151
|
+
var topo = options.topo;
|
152
|
+
|
153
|
+
var _topo$store$useModelS = topo.store.useModelState('displayConfig'),
|
154
|
+
alarmSwitch = _topo$store$useModelS.alarmSwitch;
|
155
|
+
|
156
|
+
(0, _useGraphAlarmDisplay["default"])({
|
157
|
+
topo: topo,
|
158
|
+
alarmSwitch: alarmSwitch
|
159
|
+
}); // 订阅消息
|
122
160
|
|
123
161
|
(0, _useTopoEventListener["default"])({
|
124
162
|
type: 'alarm',
|
125
163
|
onMessage: function onMessage(data) {
|
126
164
|
_rlog["default"].debug("Topoget--AlertMesage------------", topo, data);
|
127
165
|
|
128
|
-
topo.alarm.handleAlarmEvent(data);
|
166
|
+
topo.alarm.handleAlarmEvent(convertAlarmData(data));
|
129
167
|
}
|
130
168
|
});
|
131
169
|
(0, _useTopoEventListener["default"])({
|
132
170
|
type: 'risk',
|
133
171
|
onMessage: function onMessage(data) {
|
134
|
-
handleRiskData(data);
|
172
|
+
handleRiskData(topo, data);
|
135
173
|
}
|
136
174
|
});
|
137
175
|
(0, _useTopoEventListener["default"])({
|
138
176
|
type: 'relateTopoAlarm',
|
139
177
|
onMessage: function onMessage(data) {
|
140
|
-
handleRelateTopoAlarm(data);
|
178
|
+
handleRelateTopoAlarm(topo, data);
|
141
179
|
}
|
142
180
|
});
|
143
181
|
}
|
@@ -7,15 +7,26 @@ exports["default"] = useCiAttributeChange;
|
|
7
7
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9
9
|
|
10
|
-
var
|
10
|
+
var _componentTopologyUtils = require("@riil-frontend/component-topology-utils");
|
11
11
|
|
12
12
|
var _CiCache = _interopRequireDefault(require("../models/cache/CiCache"));
|
13
13
|
|
14
14
|
var _useTopoEventListener = _interopRequireDefault(require("./useTopoEventListener"));
|
15
15
|
|
16
|
+
function ciExistTopo(topoData, ciChangeData) {
|
17
|
+
if (!topoData) {
|
18
|
+
return false;
|
19
|
+
}
|
20
|
+
|
21
|
+
var ciIds = [].concat(topoData.nodes, topoData.links, topoData.linkGroups).map(function (data) {
|
22
|
+
return data.ciId || data.id;
|
23
|
+
});
|
24
|
+
return ciIds.includes(ciChangeData.id);
|
25
|
+
}
|
26
|
+
|
16
27
|
function mergeData(cis, ciChangeData) {
|
17
28
|
var matchData = function matchData(item) {
|
18
|
-
return item.
|
29
|
+
return (item.ciId || item.id) === ciChangeData.id;
|
19
30
|
};
|
20
31
|
|
21
32
|
if (!cis.find(matchData)) {
|
@@ -23,16 +34,25 @@ function mergeData(cis, ciChangeData) {
|
|
23
34
|
}
|
24
35
|
|
25
36
|
return cis.map(function (ci) {
|
26
|
-
if (matchData(ci)) {
|
27
|
-
return
|
28
|
-
id: ci.id,
|
29
|
-
attributes: (0, _extends2["default"])({}, ci.attributes, ciChangeData.attributes)
|
30
|
-
});
|
37
|
+
if (!matchData(ci)) {
|
38
|
+
return ci;
|
31
39
|
}
|
32
40
|
|
33
|
-
return ci
|
41
|
+
return (0, _extends2["default"])({}, ci, {
|
42
|
+
id: ci.id,
|
43
|
+
attributes: (0, _extends2["default"])({}, ci.attributes, ciChangeData.attributes)
|
44
|
+
});
|
34
45
|
});
|
35
46
|
}
|
47
|
+
|
48
|
+
function mergeTopoData(topoData, ciChangeData) {
|
49
|
+
var newData = (0, _extends2["default"])({}, topoData, {
|
50
|
+
nodes: mergeData(topoData.nodes, ciChangeData),
|
51
|
+
links: mergeData(topoData.links, ciChangeData),
|
52
|
+
linkGroups: mergeData(topoData.linkGroups, ciChangeData)
|
53
|
+
});
|
54
|
+
return newData;
|
55
|
+
}
|
36
56
|
/**
|
37
57
|
* 监听ci属性变更
|
38
58
|
*
|
@@ -48,12 +68,8 @@ function useCiAttributeChange(props) {
|
|
48
68
|
// 更新拓扑数据
|
49
69
|
var topoData = topo.store.getModelState('topoMod').data;
|
50
70
|
|
51
|
-
if (topoData) {
|
52
|
-
var newData = (
|
53
|
-
nodes: mergeData(topoData.nodes, ciChangeData),
|
54
|
-
links: mergeData(topoData.links, ciChangeData),
|
55
|
-
linkGroups: mergeData(topoData.linkGroups, ciChangeData)
|
56
|
-
});
|
71
|
+
if (ciExistTopo(topoData, ciChangeData)) {
|
72
|
+
var newData = mergeTopoData(topoData, ciChangeData);
|
57
73
|
var topoDispatchers = topo.store.getModelDispatchers('topoMod');
|
58
74
|
topoDispatchers.update({
|
59
75
|
data: newData
|
@@ -0,0 +1,166 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports["default"] = useCmpLinkAlarm;
|
7
|
+
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
9
|
+
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
11
|
+
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
13
|
+
|
14
|
+
var _react = require("react");
|
15
|
+
|
16
|
+
var _ahooks = require("ahooks");
|
17
|
+
|
18
|
+
var _DictCache = _interopRequireDefault(require("../models/cache/DictCache"));
|
19
|
+
|
20
|
+
function addCmpLinkOfflineStatusForDisplayLineColor(cis, cmpLinkRunStatusList) {
|
21
|
+
return cis.map(function (ci) {
|
22
|
+
var cmpLinkRunStatusData = cmpLinkRunStatusList.find(function (item) {
|
23
|
+
return item.id === ci.id;
|
24
|
+
});
|
25
|
+
|
26
|
+
if (cmpLinkRunStatusData) {
|
27
|
+
return (0, _extends2["default"])({}, ci, {
|
28
|
+
manageStatus: cmpLinkRunStatusData.runStatus === '2' ? 0 : 3
|
29
|
+
});
|
30
|
+
}
|
31
|
+
|
32
|
+
return ci;
|
33
|
+
});
|
34
|
+
}
|
35
|
+
|
36
|
+
function getCmpLinIds(datas) {
|
37
|
+
var linkIds = datas.filter(function (item) {
|
38
|
+
return item.isSubResource && item.typeCode === 'network_link';
|
39
|
+
}).map(function (item) {
|
40
|
+
return item.ciId;
|
41
|
+
});
|
42
|
+
return linkIds;
|
43
|
+
}
|
44
|
+
/**
|
45
|
+
* 分级链路下級鏈路
|
46
|
+
* @param {*} props
|
47
|
+
* @returns
|
48
|
+
*/
|
49
|
+
|
50
|
+
|
51
|
+
function useCmpLinkAlarm(props) {
|
52
|
+
var topo = props.topo,
|
53
|
+
resources = props.resources,
|
54
|
+
graphLoaded = props.graphLoaded;
|
55
|
+
|
56
|
+
var _useState = (0, _react.useState)(getCmpLinIds(resources)),
|
57
|
+
cmpLinkIds = _useState[0],
|
58
|
+
setCmpLinkIds = _useState[1];
|
59
|
+
|
60
|
+
var _useState2 = (0, _react.useState)([]),
|
61
|
+
cmpLinkRunStatus = _useState2[0],
|
62
|
+
setCmpLinkRunStatus = _useState2[1];
|
63
|
+
|
64
|
+
var cmpLinkAlarmLevels = (0, _react.useMemo)(function () {
|
65
|
+
return cmpLinkRunStatus // 3:fault:重要故障; 4:urgently:紧急故障 』为红色
|
66
|
+
.filter(function (item) {
|
67
|
+
return ['3', '4'].includes(item.runStatus);
|
68
|
+
}).map(function (item) {
|
69
|
+
return {
|
70
|
+
id: item.id,
|
71
|
+
level: 1
|
72
|
+
};
|
73
|
+
});
|
74
|
+
}, [cmpLinkRunStatus]);
|
75
|
+
(0, _react.useEffect)(function () {
|
76
|
+
var ids = getCmpLinIds(resources);
|
77
|
+
|
78
|
+
if (cmpLinkIds.join(',') !== ids.join(',')) {
|
79
|
+
setCmpLinkIds(ids);
|
80
|
+
}
|
81
|
+
}, [resources]);
|
82
|
+
|
83
|
+
function getCmpLinkRunStatus(_x) {
|
84
|
+
return _getCmpLinkRunStatus.apply(this, arguments);
|
85
|
+
} // 轮询hooks
|
86
|
+
|
87
|
+
|
88
|
+
function _getCmpLinkRunStatus() {
|
89
|
+
_getCmpLinkRunStatus = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(ids) {
|
90
|
+
var _yield$Promise$all, ciMetricsResult;
|
91
|
+
|
92
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
93
|
+
while (1) switch (_context.prev = _context.next) {
|
94
|
+
case 0:
|
95
|
+
if (ids.length) {
|
96
|
+
_context.next = 2;
|
97
|
+
break;
|
98
|
+
}
|
99
|
+
|
100
|
+
return _context.abrupt("return", []);
|
101
|
+
|
102
|
+
case 2:
|
103
|
+
_context.t0 = Promise;
|
104
|
+
_context.t1 = // 查询指标值
|
105
|
+
topo.serverApi.ciInfo.batchQueryCiInfo({
|
106
|
+
ciId: [],
|
107
|
+
codes: ['run_status'],
|
108
|
+
relationId: ids.map(function (id) {
|
109
|
+
return {
|
110
|
+
ciId: id,
|
111
|
+
operation: "delete"
|
112
|
+
};
|
113
|
+
})
|
114
|
+
});
|
115
|
+
_context.next = 6;
|
116
|
+
return _DictCache["default"].init();
|
117
|
+
|
118
|
+
case 6:
|
119
|
+
_context.t2 = _context.sent;
|
120
|
+
_context.t3 = [_context.t1, _context.t2];
|
121
|
+
_context.next = 10;
|
122
|
+
return _context.t0.all.call(_context.t0, _context.t3);
|
123
|
+
|
124
|
+
case 10:
|
125
|
+
_yield$Promise$all = _context.sent;
|
126
|
+
ciMetricsResult = _yield$Promise$all[0];
|
127
|
+
return _context.abrupt("return", ciMetricsResult);
|
128
|
+
|
129
|
+
case 13:
|
130
|
+
case "end":
|
131
|
+
return _context.stop();
|
132
|
+
}
|
133
|
+
}, _callee);
|
134
|
+
}));
|
135
|
+
return _getCmpLinkRunStatus.apply(this, arguments);
|
136
|
+
}
|
137
|
+
|
138
|
+
var _useRequest = (0, _ahooks.useRequest)(getCmpLinkRunStatus, {
|
139
|
+
pollingInterval: 60 * 1000,
|
140
|
+
pollingWhenHidden: false,
|
141
|
+
// debounceInterval: 200,
|
142
|
+
manual: true,
|
143
|
+
onSuccess: function onSuccess(result) {
|
144
|
+
setCmpLinkRunStatus(result.map(function (item) {
|
145
|
+
return {
|
146
|
+
id: "sub:" + item.id,
|
147
|
+
runStatus: item.metrics.run_status
|
148
|
+
};
|
149
|
+
}));
|
150
|
+
}
|
151
|
+
}),
|
152
|
+
run = _useRequest.run;
|
153
|
+
|
154
|
+
(0, _react.useEffect)(function () {
|
155
|
+
if (graphLoaded) {
|
156
|
+
run(cmpLinkIds);
|
157
|
+
}
|
158
|
+
}, [graphLoaded, cmpLinkIds]);
|
159
|
+
return {
|
160
|
+
cmpLinkRunStatus: cmpLinkRunStatus,
|
161
|
+
cmpLinkAlarmLevels: cmpLinkAlarmLevels,
|
162
|
+
addCmpLinkOfflineStatusForDisplayLineColor: addCmpLinkOfflineStatusForDisplayLineColor
|
163
|
+
};
|
164
|
+
}
|
165
|
+
|
166
|
+
;
|
@@ -8,8 +8,7 @@ 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;
|
12
|
-
var topoDatas = topo.dataModel.useDatas();
|
11
|
+
var topo = props.topo; // const topoDatas = topo.dataModel.useDatas()
|
13
12
|
|
14
13
|
var _topo$store$useModelS = topo.store.useModelState('topoAlarm'),
|
15
14
|
risks = _topo$store$useModelS.risks,
|