@riil-frontend/component-topology 2.14.2-alpha.2 → 2.14.2-alpha.6
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 +2 -2
- package/build/2.js +1 -1
- package/build/index.css +1 -1
- package/build/index.js +22 -22
- package/demo/1/345/237/272/346/234/254//350/207/252/345/256/232/344/271/211/345/261/236/346/200/247/345/222/214/346/214/207/346/240/207.md +1 -1
- package/demo/API//346/250/241/345/236/213.md +29 -0
- package/es/components/BatchAttrMetric/constant.js +4 -0
- package/es/components/BatchAttrMetric/index.js +8 -10
- package/es/components/BatchAttrMetric/setting.js +6 -4
- package/es/components/BatchAttrMetric/utils.js +39 -32
- package/es/constants/ResourceTypeLimit.js +1 -1
- package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +6 -5
- package/es/core/components/DisplaySettingDrawer/LinkTag.js +8 -6
- package/es/core/components/DisplaySettingDrawer/LinkTip.js +9 -7
- package/es/core/components/DisplaySettingDrawer/NodeTag.js +2 -0
- package/es/core/components/DisplaySettingDrawer/NodeTip.js +2 -0
- package/es/core/components/DisplaySettingDrawer/ResourceDisplay/BasicConfig.js +30 -9
- package/es/core/components/ResourceViewAttributeSetting/Setting.js +123 -0
- package/es/core/editor/components/EditorPlugin.js +4 -3
- package/es/core/editor/components/settings/propertyViews/view/GlobalTootipSetting.js +3 -1
- package/es/core/editor/components/settings/propertyViews/view/ViewPropertyView.js +0 -5
- package/es/core/models/AttributeMetricDisplay.js +181 -66
- package/es/core/models/TopoApp.js +18 -16
- package/es/core/models/attributeFormatter/index.js +33 -8
- package/es/core/models/common/Alarm.js +45 -31
- package/es/core/models/utils/linkUtils.js +14 -2
- package/es/core/utils/exportData.js +33 -0
- package/es/core/utils/linkPollingAttributesAdapter.js +3 -0
- package/es/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.js +264 -0
- package/es/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.module.scss +73 -0
- package/es/core/viewer/components/plugins/BaseInfo/index.js +127 -0
- package/es/core/viewer/components/plugins/BaseInfo/index.module.scss +24 -0
- package/es/core/viewer/components/plugins/ViewerPlugin.js +2 -1
- package/es/core/viewer/components/titlebar/widgets/MoreButtonMenu.js +5 -0
- package/es/getStoreModels.js +3 -1
- package/es/hooks/useAlarm.js +1 -1
- package/es/hooks/usePolling.js +2 -1
- package/es/models/topoAlarm.js +43 -17
- package/es/models/topoBaseInfoOverview.js +43 -0
- package/es/models/topoBizMod.js +0 -70
- package/es/style.js +8 -7
- package/es/utils/topoData.js +266 -155
- package/lib/components/BatchAttrMetric/constant.js +4 -0
- package/lib/components/BatchAttrMetric/index.js +8 -10
- package/lib/components/BatchAttrMetric/setting.js +8 -5
- package/lib/components/BatchAttrMetric/utils.js +39 -35
- package/lib/constants/ResourceTypeLimit.js +1 -1
- package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +6 -5
- package/lib/core/components/DisplaySettingDrawer/LinkTag.js +8 -6
- package/lib/core/components/DisplaySettingDrawer/LinkTip.js +9 -7
- package/lib/core/components/DisplaySettingDrawer/NodeTag.js +2 -0
- package/lib/core/components/DisplaySettingDrawer/NodeTip.js +2 -0
- package/lib/core/components/DisplaySettingDrawer/ResourceDisplay/BasicConfig.js +32 -8
- package/lib/core/{editor/components → components}/ResourceViewAttributeSetting/Setting.js +77 -71
- package/lib/core/editor/components/EditorPlugin.js +3 -3
- package/lib/core/editor/components/settings/propertyViews/view/GlobalTootipSetting.js +3 -1
- package/lib/core/editor/components/settings/propertyViews/view/ViewPropertyView.js +0 -5
- package/lib/core/models/AttributeMetricDisplay.js +181 -66
- package/lib/core/models/TopoApp.js +18 -17
- package/lib/core/models/attributeFormatter/index.js +34 -8
- package/lib/core/models/common/Alarm.js +46 -33
- package/lib/core/models/utils/linkUtils.js +12 -2
- package/lib/core/utils/exportData.js +44 -0
- package/lib/core/utils/linkPollingAttributesAdapter.js +10 -0
- package/lib/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.js +284 -0
- package/lib/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.module.scss +73 -0
- package/lib/core/viewer/components/plugins/BaseInfo/index.js +146 -0
- package/lib/core/viewer/components/plugins/BaseInfo/index.module.scss +24 -0
- package/lib/core/viewer/components/plugins/ViewerPlugin.js +3 -1
- package/lib/core/viewer/components/titlebar/widgets/MoreButtonMenu.js +6 -0
- package/lib/getStoreModels.js +4 -1
- package/lib/hooks/useAlarm.js +1 -1
- package/lib/hooks/usePolling.js +2 -1
- package/lib/models/topoAlarm.js +43 -17
- package/lib/models/topoBaseInfoOverview.js +55 -0
- package/lib/models/topoBizMod.js +0 -70
- package/lib/style.js +8 -7
- package/lib/utils/topoData.js +267 -151
- package/package.json +2 -2
- package/es/core/editor/components/ResourceViewAttributeSetting/ResourceViewAttributeSettingPlugin.js +0 -57
- package/es/core/editor/components/ResourceViewAttributeSetting/Setting.js +0 -114
- package/es/core/models/attrAndMetric.js +0 -131
- package/lib/core/editor/components/ResourceViewAttributeSetting/ResourceViewAttributeSettingPlugin.js +0 -73
- package/lib/core/models/attrAndMetric.js +0 -148
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import _Drawer from "@alifd/next/es/drawer";
|
|
2
|
+
import _Tab from "@alifd/next/es/tab";
|
|
3
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
4
|
+
import _MenuButton from "@alifd/next/es/menu-button";
|
|
5
|
+
import React, { useState, useEffect, useRef, useCallback } from 'react';
|
|
6
|
+
import { TopoEvent } from '@riil-frontend/component-topology-graph'; // import ResourceDiplayInfoSetting from './Setting';
|
|
7
|
+
// bimport '@riil-frontend/css/lib/index.scss';
|
|
8
|
+
|
|
9
|
+
import styles from "./index.module.scss";
|
|
10
|
+
import ResourceOverview from "./components/ResourceOverview";
|
|
11
|
+
|
|
12
|
+
function Title(_ref) {
|
|
13
|
+
var id = _ref.id,
|
|
14
|
+
name = _ref.name,
|
|
15
|
+
type = _ref.type,
|
|
16
|
+
onChange = _ref.onChange;
|
|
17
|
+
|
|
18
|
+
if (type === 'node') {
|
|
19
|
+
// 查询资源列表
|
|
20
|
+
var nodes = topo.store.getModelState('topoMod').data.nodes;
|
|
21
|
+
console.log('查询资源列表', nodes);
|
|
22
|
+
return /*#__PURE__*/React.createElement(_MenuButton, {
|
|
23
|
+
text: true,
|
|
24
|
+
label: name,
|
|
25
|
+
onItemClick: function onItemClick(key) {
|
|
26
|
+
return onChange(nodes.find(function (item) {
|
|
27
|
+
return item.id === key;
|
|
28
|
+
}) || '');
|
|
29
|
+
}
|
|
30
|
+
}, nodes.filter(function (item) {
|
|
31
|
+
return item.id !== id;
|
|
32
|
+
}).map(function (item) {
|
|
33
|
+
return /*#__PURE__*/React.createElement(_MenuButton.Item, {
|
|
34
|
+
key: item.id
|
|
35
|
+
}, item.name);
|
|
36
|
+
}));
|
|
37
|
+
} else {
|
|
38
|
+
return name;
|
|
39
|
+
}
|
|
40
|
+
} // 基本信息
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
function BaseInfo(props) {
|
|
44
|
+
var topo = props.topo;
|
|
45
|
+
|
|
46
|
+
var _topo$store$useModel = topo.store.useModel('topoBaseInfoOverview'),
|
|
47
|
+
topoState = _topo$store$useModel[0],
|
|
48
|
+
topoDispatchers = _topo$store$useModel[1];
|
|
49
|
+
|
|
50
|
+
var _useState = useState(false),
|
|
51
|
+
visible = _useState[0],
|
|
52
|
+
setVisible = _useState[1];
|
|
53
|
+
|
|
54
|
+
var _useState2 = useState({
|
|
55
|
+
id: '',
|
|
56
|
+
name: '',
|
|
57
|
+
type: '',
|
|
58
|
+
// 类型: node、link
|
|
59
|
+
ciType: ''
|
|
60
|
+
}),
|
|
61
|
+
activeData = _useState2[0],
|
|
62
|
+
setActiveData = _useState2[1];
|
|
63
|
+
|
|
64
|
+
useEffect(function () {
|
|
65
|
+
var notifier = topo.view.topoClient.notifier;
|
|
66
|
+
notifier.on(TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
|
|
67
|
+
return function () {
|
|
68
|
+
notifier.off(TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
|
|
69
|
+
};
|
|
70
|
+
}, []);
|
|
71
|
+
|
|
72
|
+
function openOverview(data) {
|
|
73
|
+
console.log('openOverview data', data);
|
|
74
|
+
var id = data.id,
|
|
75
|
+
name = data.name,
|
|
76
|
+
type = data.type,
|
|
77
|
+
ciType = data.ciType;
|
|
78
|
+
setActiveData({
|
|
79
|
+
id: id,
|
|
80
|
+
name: name,
|
|
81
|
+
type: type,
|
|
82
|
+
ciType: ciType
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
var _topo$ciTyeCache$getC = topo.ciTyeCache.getCiType(ciType),
|
|
86
|
+
metrics = _topo$ciTyeCache$getC.metrics;
|
|
87
|
+
|
|
88
|
+
console.log('openOverview metrics', metrics);
|
|
89
|
+
topoDispatchers.update({
|
|
90
|
+
id: id,
|
|
91
|
+
metricCodes: metrics.slice(0, 6).map(function (item) {
|
|
92
|
+
return item.code;
|
|
93
|
+
}) // 需要展示的关键指标 code
|
|
94
|
+
|
|
95
|
+
});
|
|
96
|
+
setVisible(true);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function onChangeActive(activeNode) {
|
|
100
|
+
console.log('activeNode', activeNode);
|
|
101
|
+
activeNode && openOverview(_extends({}, activeNode, {
|
|
102
|
+
type: 'node'
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Drawer, {
|
|
107
|
+
className: styles.baseInfo,
|
|
108
|
+
closeMode: ['close', 'esc'],
|
|
109
|
+
visible: visible,
|
|
110
|
+
title: /*#__PURE__*/React.createElement(Title, _extends({}, activeData, {
|
|
111
|
+
onChange: onChangeActive
|
|
112
|
+
})),
|
|
113
|
+
width: 580,
|
|
114
|
+
hasMask: false,
|
|
115
|
+
onClose: function onClose() {
|
|
116
|
+
return setVisible(false);
|
|
117
|
+
}
|
|
118
|
+
}, visible && /*#__PURE__*/React.createElement(_Tab, {
|
|
119
|
+
className: styles.tab
|
|
120
|
+
}, /*#__PURE__*/React.createElement(_Tab.Item, {
|
|
121
|
+
title: "\u8D44\u6E90\u6982\u89C8",
|
|
122
|
+
key: "1"
|
|
123
|
+
}, /*#__PURE__*/React.createElement(ResourceOverview, _extends({}, props, activeData))))));
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
;
|
|
127
|
+
export default BaseInfo;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@import '~@alifd/next/variables.scss';
|
|
2
|
+
|
|
3
|
+
.baseInfo {
|
|
4
|
+
z-index: 1009;
|
|
5
|
+
:global {
|
|
6
|
+
.#{$css-prefix}drawer-body {
|
|
7
|
+
height: calc(100% - 46px);
|
|
8
|
+
padding: 16px 24px;
|
|
9
|
+
.#{$css-prefix}tabs-content{
|
|
10
|
+
height: calc(100% - 31px);
|
|
11
|
+
overflow: auto;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
.tab{
|
|
16
|
+
height: 100%;
|
|
17
|
+
:global {
|
|
18
|
+
.#{$css-prefix}tabs-content{
|
|
19
|
+
height: calc(100% - 31px);
|
|
20
|
+
overflow: auto;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -3,11 +3,12 @@ import React from 'react';
|
|
|
3
3
|
import ResourceWebControllUrlSettingDialog from "./ResourceWebControllUrlSettingDialog";
|
|
4
4
|
import ResourceDetailDrawerPlugin from "./ResourceDetail/ResourceDetailDrawerPlugin";
|
|
5
5
|
import MetricPollingPlugin from "./MetricPollingPlugin";
|
|
6
|
+
import BaseInfo from "./BaseInfo";
|
|
6
7
|
export default function ViewerPlugin(props) {
|
|
7
8
|
var topo = props.topo,
|
|
8
9
|
viewerProps = props.viewerProps;
|
|
9
10
|
var store = topo.store;
|
|
10
|
-
var plugins = [MetricPollingPlugin, ResourceDetailDrawerPlugin, ResourceWebControllUrlSettingDialog].concat((viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.plugins) || []);
|
|
11
|
+
var plugins = [MetricPollingPlugin, ResourceDetailDrawerPlugin, ResourceWebControllUrlSettingDialog, BaseInfo].concat((viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.plugins) || []);
|
|
11
12
|
return /*#__PURE__*/React.createElement(React.Fragment, null, plugins.map(function (Plugin, index) {
|
|
12
13
|
return /*#__PURE__*/React.createElement(Plugin, _extends({
|
|
13
14
|
key: index,
|
|
@@ -4,6 +4,7 @@ import _Button from "@alifd/next/es/button";
|
|
|
4
4
|
import _Icon from "@alifd/next/es/icon";
|
|
5
5
|
import React, { useState, useEffect, useRef, useCallback } from 'react';
|
|
6
6
|
import useSetDefaultTopo from "../useSetDefaultTopo";
|
|
7
|
+
import exportData from "../../../../utils/exportData";
|
|
7
8
|
export default function MoreButtonMenu(props) {
|
|
8
9
|
var topo = props.topo,
|
|
9
10
|
style = props.style;
|
|
@@ -18,6 +19,10 @@ export default function MoreButtonMenu(props) {
|
|
|
18
19
|
})),
|
|
19
20
|
triggerType: "click"
|
|
20
21
|
}, /*#__PURE__*/React.createElement(_Menu, null, setDefaultTopo.renderMenuItem(), /*#__PURE__*/React.createElement(_Menu.Item, {
|
|
22
|
+
onClick: function onClick() {
|
|
23
|
+
exportData(topo);
|
|
24
|
+
}
|
|
25
|
+
}, "\u5BFC\u51FA\u6570\u636E"), /*#__PURE__*/React.createElement(_Menu.Item, {
|
|
21
26
|
onClick: function onClick() {
|
|
22
27
|
topo.exportImage();
|
|
23
28
|
}
|
package/es/getStoreModels.js
CHANGED
|
@@ -15,6 +15,7 @@ import topoAlarm from "./models/topoAlarm";
|
|
|
15
15
|
import topoGraphView from "./models/topoGraphView";
|
|
16
16
|
import linkManager from "./models/linkManager";
|
|
17
17
|
import displayConfig from "./models/displayConfig";
|
|
18
|
+
import topoBaseInfoOverview from "./models/topoBaseInfoOverview";
|
|
18
19
|
export default {
|
|
19
20
|
topoMod: topoMod,
|
|
20
21
|
iconManage: iconManage,
|
|
@@ -32,5 +33,6 @@ export default {
|
|
|
32
33
|
topoView: topoView,
|
|
33
34
|
topoGraphView: topoGraphView,
|
|
34
35
|
topoAlarm: topoAlarm,
|
|
35
|
-
displayConfig: displayConfig
|
|
36
|
+
displayConfig: displayConfig,
|
|
37
|
+
topoBaseInfoOverview: topoBaseInfoOverview
|
|
36
38
|
};
|
package/es/hooks/useAlarm.js
CHANGED
|
@@ -78,7 +78,7 @@ export default function useAlarm(options) {
|
|
|
78
78
|
_store$getModelState = store.getModelState("topoMod"), viewState = _store$getModelState.viewState; // 添加事件
|
|
79
79
|
|
|
80
80
|
type = data.type, alertData = data.data;
|
|
81
|
-
console.log("getAlarmByEE", type, alertData);
|
|
81
|
+
console.log("getAlarmByEE-type, alertData", type, alertData);
|
|
82
82
|
|
|
83
83
|
if (!(viewState === "view" && type === "alarm" && isAvailableArray(alertData))) {
|
|
84
84
|
_context.next = 12;
|
package/es/hooks/usePolling.js
CHANGED
|
@@ -21,6 +21,7 @@ var usePolling = function usePolling(props) {
|
|
|
21
21
|
var resAndMetrics = bizState.resAndMetrics,
|
|
22
22
|
pollingSwitch = bizState.pollingSwitch;
|
|
23
23
|
var displayConfig = topo.store.useModelState('displayConfig');
|
|
24
|
+
var resourceOverviewState = topo.store.useModelState('topoBaseInfoOverview');
|
|
24
25
|
var linkDynamicStyleDispatcher = store.useModelDispatchers('linkDynamicStyle');
|
|
25
26
|
var resIdsList = resAndMetrics === null || resAndMetrics === void 0 ? void 0 : resAndMetrics.resIdsList; // 轮询hooks
|
|
26
27
|
|
|
@@ -71,7 +72,7 @@ var usePolling = function usePolling(props) {
|
|
|
71
72
|
rlog.debug('usePolling.useEffect: 结束轮询', resAndMetrics);
|
|
72
73
|
stopPoll();
|
|
73
74
|
};
|
|
74
|
-
}, [pollingSwitch, resIdsList, displayConfig]);
|
|
75
|
+
}, [pollingSwitch, resIdsList, displayConfig, resourceOverviewState.id, resourceOverviewState.metricCodes]);
|
|
75
76
|
/**
|
|
76
77
|
*
|
|
77
78
|
* @returns {{id, attributes: object[], metrics: object[]}[]} 属性和指标
|
package/es/models/topoAlarm.js
CHANGED
|
@@ -18,6 +18,7 @@ export default {
|
|
|
18
18
|
alarmOpening: false,
|
|
19
19
|
alarmIsOpened: true,
|
|
20
20
|
alarmRecord: [],
|
|
21
|
+
alarmDoc: {},
|
|
21
22
|
alarmDatas: [],
|
|
22
23
|
alarmPanelIsOpen: false
|
|
23
24
|
},
|
|
@@ -30,31 +31,54 @@ export default {
|
|
|
30
31
|
// 定义处理该模型副作用的函数
|
|
31
32
|
effects: function effects(dispatch) {
|
|
32
33
|
return {
|
|
33
|
-
|
|
34
|
-
combAlarmData: function combAlarmData(conditions, state) {
|
|
34
|
+
resetAlarmDoc: function resetAlarmDoc(conditions, state) {
|
|
35
35
|
var _this = this;
|
|
36
36
|
|
|
37
37
|
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
38
|
-
var alarmdata, _state$topoAlarm, alarmDoc, alarmRecord, _state$topoMod, resAndMetrics, topoData, resIdsList, alarmCiDoc, doc, record, i, item, rid, obj, sliceTag, alarmList;
|
|
39
|
-
|
|
40
38
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
41
39
|
while (1) {
|
|
42
40
|
switch (_context.prev = _context.next) {
|
|
41
|
+
case 0:
|
|
42
|
+
_this.update({
|
|
43
|
+
alarmDoc: {},
|
|
44
|
+
alarmRecord: []
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
return _context.abrupt("return", 'resetAlarmDoc Over');
|
|
48
|
+
|
|
49
|
+
case 2:
|
|
50
|
+
case "end":
|
|
51
|
+
return _context.stop();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}, _callee);
|
|
55
|
+
}))();
|
|
56
|
+
},
|
|
57
|
+
// 归档处理告警信息
|
|
58
|
+
combAlarmData: function combAlarmData(conditions, state) {
|
|
59
|
+
var _this2 = this;
|
|
60
|
+
|
|
61
|
+
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
62
|
+
var alarmdata, _state$topoAlarm, alarmDoc, alarmRecord, _state$topoMod, resAndMetrics, topoData, resIdsList, alarmCiDoc, doc, record, i, item, rid, obj, sliceTag, alarmList;
|
|
63
|
+
|
|
64
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
65
|
+
while (1) {
|
|
66
|
+
switch (_context2.prev = _context2.next) {
|
|
43
67
|
case 0:
|
|
44
68
|
alarmdata = conditions.alarmdata;
|
|
45
69
|
_state$topoAlarm = state.topoAlarm, alarmDoc = _state$topoAlarm.alarmDoc, alarmRecord = _state$topoAlarm.alarmRecord;
|
|
46
70
|
_state$topoMod = state.topoMod, resAndMetrics = _state$topoMod.resAndMetrics, topoData = _state$topoMod.topoData;
|
|
47
71
|
resIdsList = resAndMetrics.resIdsList, alarmCiDoc = resAndMetrics.alarmCiDoc;
|
|
48
72
|
doc = _extends({}, alarmDoc);
|
|
49
|
-
rlog.debug("topoAlarmMod.combAlarmData--
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
73
|
+
rlog.debug("topoAlarmMod.combAlarmData--alarmdata-resIdsList", alarmdata, resIdsList); // rlog.debug("topoAlarmMod.combAlarmData-alarmDoc, alarmRecord ", alarmDoc, alarmRecord );
|
|
74
|
+
|
|
75
|
+
record = _.uniq(alarmRecord);
|
|
76
|
+
rlog.debug('告警归档-doc, record, alarmRecord', doc, record, alarmRecord);
|
|
53
77
|
|
|
54
78
|
for (i = 0; i < alarmdata.length; i++) {
|
|
55
79
|
item = _extends({}, alarmdata[i]);
|
|
56
80
|
rid = alarmCiDoc[item.id];
|
|
57
|
-
rlog.debug('
|
|
81
|
+
rlog.debug('处理一条告警', item, rid, item.id, item.alertId, item.status);
|
|
58
82
|
|
|
59
83
|
if ((resIdsList || []).indexOf(rid) >= 0) {
|
|
60
84
|
obj = item.obj;
|
|
@@ -79,8 +103,9 @@ export default {
|
|
|
79
103
|
|
|
80
104
|
if (sliceTag >= 0) {
|
|
81
105
|
doc[rid].splice(sliceTag, 1);
|
|
82
|
-
}
|
|
106
|
+
}
|
|
83
107
|
|
|
108
|
+
rlog.debug('该告警移除状态', sliceTag, doc[rid], doc);
|
|
84
109
|
|
|
85
110
|
if (doc[rid].length === 0) {
|
|
86
111
|
delete doc[rid];
|
|
@@ -88,9 +113,9 @@ export default {
|
|
|
88
113
|
}
|
|
89
114
|
|
|
90
115
|
record.splice(record.indexOf(obj.alertId), 1);
|
|
91
|
-
} else {
|
|
116
|
+
} else {
|
|
117
|
+
rlog.debug('重复告警', item);
|
|
92
118
|
}
|
|
93
|
-
} else {// rlog.debug('这条告警不属于当前拓扑', resIdsList, item.id);
|
|
94
119
|
}
|
|
95
120
|
}
|
|
96
121
|
|
|
@@ -107,21 +132,22 @@ export default {
|
|
|
107
132
|
} else {
|
|
108
133
|
return null;
|
|
109
134
|
}
|
|
110
|
-
});
|
|
135
|
+
});
|
|
136
|
+
rlog.debug('告警归档结束', alarmList, doc, record);
|
|
111
137
|
|
|
112
|
-
|
|
138
|
+
_this2.update({
|
|
113
139
|
alarmDoc: doc,
|
|
114
140
|
alarmRecord: record
|
|
115
141
|
});
|
|
116
142
|
|
|
117
|
-
return
|
|
143
|
+
return _context2.abrupt("return", _.compact(alarmList));
|
|
118
144
|
|
|
119
145
|
case 14:
|
|
120
146
|
case "end":
|
|
121
|
-
return
|
|
147
|
+
return _context2.stop();
|
|
122
148
|
}
|
|
123
149
|
}
|
|
124
|
-
},
|
|
150
|
+
}, _callee2);
|
|
125
151
|
}))();
|
|
126
152
|
}
|
|
127
153
|
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 拓扑图 基本信息-概览
|
|
7
|
+
*/
|
|
8
|
+
import rlog from '@riil-frontend/component-topology-utils/es/rlog';
|
|
9
|
+
import topoService from '@riil-frontend/component-topology-common/es/services/topo';
|
|
10
|
+
export default {
|
|
11
|
+
// 定义 model 的初始 state
|
|
12
|
+
state: {
|
|
13
|
+
id: '',
|
|
14
|
+
// 当前 id
|
|
15
|
+
metricCodes: [] // 当前资源/链路需要的关键指标(模型前6个)
|
|
16
|
+
|
|
17
|
+
},
|
|
18
|
+
// 定义改变该模型状态的纯函数
|
|
19
|
+
reducers: {
|
|
20
|
+
update: function update(prevState, payload) {
|
|
21
|
+
console.log('payload', payload);
|
|
22
|
+
return _extends({}, prevState, payload);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
// 定义处理该模型副作用的函数
|
|
26
|
+
effects: function effects(dispatch) {
|
|
27
|
+
return {
|
|
28
|
+
init: function init(payload, rootState) {
|
|
29
|
+
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
30
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
31
|
+
while (1) {
|
|
32
|
+
switch (_context.prev = _context.next) {
|
|
33
|
+
case 0:
|
|
34
|
+
case "end":
|
|
35
|
+
return _context.stop();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}, _callee);
|
|
39
|
+
}))();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
};
|
package/es/models/topoBizMod.js
CHANGED
|
@@ -173,76 +173,6 @@ export default function (engine) {
|
|
|
173
173
|
},
|
|
174
174
|
|
|
175
175
|
/**
|
|
176
|
-
* 以下内容转移至topoAlarm
|
|
177
|
-
** /
|
|
178
|
-
// async combAlarmData(conditions, state) {
|
|
179
|
-
// const { alarmdata } = conditions;
|
|
180
|
-
// const { alarmDoc, alarmRecord } = state.topoBizMod;
|
|
181
|
-
// const { resIdsList } = state.topoBizMod.resAndMetrics;
|
|
182
|
-
// const doc = { ...alarmDoc };
|
|
183
|
-
// rlog.debug('topoBizMod.combAlarmData', conditions.alarmdata, resIdsList);
|
|
184
|
-
// const record = _.uniq(alarmRecord);
|
|
185
|
-
// // rlog.debug('告警归档', doc, record, alarmRecord);
|
|
186
|
-
// for (let i = 0; i < alarmdata.length; i++) {
|
|
187
|
-
// const item = { ...alarmdata[i] };
|
|
188
|
-
// // rlog.debug('接到一条告警', item.id, item.alertId, item.status);
|
|
189
|
-
// if ((resIdsList || []).indexOf(item.id) >= 0) {
|
|
190
|
-
// const { obj } = item;
|
|
191
|
-
// if (record.indexOf(item.alertId) < 0 && item.status === 'toDeal') {
|
|
192
|
-
// // rlog.debug('这是一条新告警');
|
|
193
|
-
// record.push(item.alertId);
|
|
194
|
-
// if (doc.hasOwnProperty(item.id)) {
|
|
195
|
-
// if (
|
|
196
|
-
// findItem(doc[item.id], 'alertId', item.alertId) === undefined
|
|
197
|
-
// ) {
|
|
198
|
-
// doc[item.id].push(item);
|
|
199
|
-
// }
|
|
200
|
-
// doc[item.id] = doc[item.id].sort(sortList);
|
|
201
|
-
// } else {
|
|
202
|
-
// doc[item.id] = [item];
|
|
203
|
-
// }
|
|
204
|
-
// } else if (item.status !== 'toDeal') {
|
|
205
|
-
// // rlog.debug('该告警移除', item.status, doc[item.id]);
|
|
206
|
-
// if (doc.hasOwnProperty(item.id)) {
|
|
207
|
-
// const sliceTag = findItemIndex(
|
|
208
|
-
// doc[item.id],
|
|
209
|
-
// 'alertId',
|
|
210
|
-
// item.alertId
|
|
211
|
-
// );
|
|
212
|
-
// if (sliceTag >= 0) {
|
|
213
|
-
// doc[item.id].splice(sliceTag, 1);
|
|
214
|
-
// }
|
|
215
|
-
// // rlog.debug('该告警移除状态', sliceTag, doc[item.id]);
|
|
216
|
-
// if (doc[item.id].length === 0) {
|
|
217
|
-
// delete doc[item.id];
|
|
218
|
-
// }
|
|
219
|
-
// }
|
|
220
|
-
// record.splice(record.indexOf(obj.alertId), 1);
|
|
221
|
-
// } else {
|
|
222
|
-
// // rlog.debug('重复告警', item);
|
|
223
|
-
// }
|
|
224
|
-
// } else {
|
|
225
|
-
// // rlog.debug('这条告警不属于当前拓扑', resIdsList, item.id);
|
|
226
|
-
// }
|
|
227
|
-
// }
|
|
228
|
-
// // rlog.debug('准备发送的告警', doc, record);
|
|
229
|
-
// const alarmList = Object.keys(doc).map((id) => {
|
|
230
|
-
// if (doc[id].length > 0) {
|
|
231
|
-
// const alarmObj = doc[id][0];
|
|
232
|
-
// // rlog.debug('xxxxxxxxxxxxxxxxxxxx', doc[id][0], alarmObj.status);
|
|
233
|
-
// return alarmObj.status === 'toDeal' ? alarmObj : null;
|
|
234
|
-
// } else {
|
|
235
|
-
// return null;
|
|
236
|
-
// }
|
|
237
|
-
// });
|
|
238
|
-
// // rlog.debug('告警归档结束', alarmList, doc, record);
|
|
239
|
-
// this.update({
|
|
240
|
-
// alarmDoc: doc,
|
|
241
|
-
// alarmRecord: record,
|
|
242
|
-
// });
|
|
243
|
-
// return _.compact(alarmList);
|
|
244
|
-
// },
|
|
245
|
-
/**
|
|
246
176
|
* 设置属性和指标
|
|
247
177
|
* @param attrsAndMetrics
|
|
248
178
|
*/
|
package/es/style.js
CHANGED
|
@@ -14,29 +14,30 @@ import '@alifd/next/es/select/style';
|
|
|
14
14
|
import '@riil-frontend/component-riil-rule-tree/es/style';
|
|
15
15
|
import '@alifd/next/es/balloon/style';
|
|
16
16
|
import '@alifd/next/es/drawer/style';
|
|
17
|
-
import '@alifd/next/es/table/style';
|
|
18
|
-
import '@alifd/next/es/grid/style';
|
|
19
|
-
import '@riil-frontend/component-action-tree/es/style';
|
|
20
|
-
import '@riil-frontend/component-table-layout/es/style';
|
|
21
|
-
import '@riil-frontend/hooks/es/style';
|
|
22
17
|
import '@alifd/next/es/loading/style';
|
|
23
18
|
import '@riil-frontend/component-extra-title/es/style';
|
|
24
19
|
import '@riil-frontend/next-collapse/es/style';
|
|
25
20
|
import '@riil-frontend/component-more-buttons-menu/es/style';
|
|
26
21
|
import '@riil-frontend/component-row-delete-ballon/es/style';
|
|
22
|
+
import '@alifd/next/es/grid/style';
|
|
27
23
|
import '@riil-frontend/component-topology-common/es/style';
|
|
28
24
|
import '@riil-frontend/component-common-res-list/es/style';
|
|
29
25
|
import '@riil-frontend/component-no-data-page/es/style';
|
|
30
26
|
import '@alifd/next/es/box/style';
|
|
27
|
+
import '@alifd/next/es/tab/style';
|
|
28
|
+
import '@alifd/next/es/menu-button/style';
|
|
29
|
+
import '@alifd/next/es/table/style';
|
|
30
|
+
import '@alifd/next/es/divider/style';
|
|
31
31
|
import '@alifd/next/es/dropdown/style';
|
|
32
32
|
import '@alifd/next/es/menu/style';
|
|
33
33
|
import '@alifd/next/es/radio/style';
|
|
34
34
|
import '@alifd/next/es/checkbox/style';
|
|
35
|
+
import '@riil-frontend/component-action-tree/es/style';
|
|
36
|
+
import '@riil-frontend/component-table-layout/es/style';
|
|
37
|
+
import '@riil-frontend/hooks/es/style';
|
|
35
38
|
import '@alifd/next/es/search/style';
|
|
36
|
-
import '@alifd/next/es/tab/style';
|
|
37
39
|
import '@alifd/next/es/collapse/style';
|
|
38
40
|
|
|
39
|
-
import '@alifd/next/es/divider/style';
|
|
40
41
|
import '@alifd/next/es/list/style';
|
|
41
42
|
import '@alifd/next/es/tag/style';
|
|
42
43
|
import '@riil-frontend/component-topology-utils/es/style';
|