@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,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _drawer = _interopRequireDefault(require("@alifd/next/lib/drawer"));
|
|
9
|
+
|
|
10
|
+
var _tab = _interopRequireDefault(require("@alifd/next/lib/tab"));
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _menuButton = _interopRequireDefault(require("@alifd/next/lib/menu-button"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _componentTopologyGraph = require("@riil-frontend/component-topology-graph");
|
|
19
|
+
|
|
20
|
+
var _indexModule = _interopRequireDefault(require("./index.module.scss"));
|
|
21
|
+
|
|
22
|
+
var _ResourceOverview = _interopRequireDefault(require("./components/ResourceOverview"));
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
// import ResourceDiplayInfoSetting from './Setting';
|
|
29
|
+
// bimport '@riil-frontend/css/lib/index.scss';
|
|
30
|
+
function Title(_ref) {
|
|
31
|
+
var id = _ref.id,
|
|
32
|
+
name = _ref.name,
|
|
33
|
+
type = _ref.type,
|
|
34
|
+
onChange = _ref.onChange;
|
|
35
|
+
|
|
36
|
+
if (type === 'node') {
|
|
37
|
+
// 查询资源列表
|
|
38
|
+
var nodes = topo.store.getModelState('topoMod').data.nodes;
|
|
39
|
+
console.log('查询资源列表', nodes);
|
|
40
|
+
return /*#__PURE__*/_react["default"].createElement(_menuButton["default"], {
|
|
41
|
+
text: true,
|
|
42
|
+
label: name,
|
|
43
|
+
onItemClick: function onItemClick(key) {
|
|
44
|
+
return onChange(nodes.find(function (item) {
|
|
45
|
+
return item.id === key;
|
|
46
|
+
}) || '');
|
|
47
|
+
}
|
|
48
|
+
}, nodes.filter(function (item) {
|
|
49
|
+
return item.id !== id;
|
|
50
|
+
}).map(function (item) {
|
|
51
|
+
return /*#__PURE__*/_react["default"].createElement(_menuButton["default"].Item, {
|
|
52
|
+
key: item.id
|
|
53
|
+
}, item.name);
|
|
54
|
+
}));
|
|
55
|
+
} else {
|
|
56
|
+
return name;
|
|
57
|
+
}
|
|
58
|
+
} // 基本信息
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
function BaseInfo(props) {
|
|
62
|
+
var topo = props.topo;
|
|
63
|
+
|
|
64
|
+
var _topo$store$useModel = topo.store.useModel('topoBaseInfoOverview'),
|
|
65
|
+
topoState = _topo$store$useModel[0],
|
|
66
|
+
topoDispatchers = _topo$store$useModel[1];
|
|
67
|
+
|
|
68
|
+
var _useState = (0, _react.useState)(false),
|
|
69
|
+
visible = _useState[0],
|
|
70
|
+
setVisible = _useState[1];
|
|
71
|
+
|
|
72
|
+
var _useState2 = (0, _react.useState)({
|
|
73
|
+
id: '',
|
|
74
|
+
name: '',
|
|
75
|
+
type: '',
|
|
76
|
+
// 类型: node、link
|
|
77
|
+
ciType: ''
|
|
78
|
+
}),
|
|
79
|
+
activeData = _useState2[0],
|
|
80
|
+
setActiveData = _useState2[1];
|
|
81
|
+
|
|
82
|
+
(0, _react.useEffect)(function () {
|
|
83
|
+
var notifier = topo.view.topoClient.notifier;
|
|
84
|
+
notifier.on(_componentTopologyGraph.TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
|
|
85
|
+
return function () {
|
|
86
|
+
notifier.off(_componentTopologyGraph.TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
|
|
87
|
+
};
|
|
88
|
+
}, []);
|
|
89
|
+
|
|
90
|
+
function openOverview(data) {
|
|
91
|
+
console.log('openOverview data', data);
|
|
92
|
+
var id = data.id,
|
|
93
|
+
name = data.name,
|
|
94
|
+
type = data.type,
|
|
95
|
+
ciType = data.ciType;
|
|
96
|
+
setActiveData({
|
|
97
|
+
id: id,
|
|
98
|
+
name: name,
|
|
99
|
+
type: type,
|
|
100
|
+
ciType: ciType
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
var _topo$ciTyeCache$getC = topo.ciTyeCache.getCiType(ciType),
|
|
104
|
+
metrics = _topo$ciTyeCache$getC.metrics;
|
|
105
|
+
|
|
106
|
+
console.log('openOverview metrics', metrics);
|
|
107
|
+
topoDispatchers.update({
|
|
108
|
+
id: id,
|
|
109
|
+
metricCodes: metrics.slice(0, 6).map(function (item) {
|
|
110
|
+
return item.code;
|
|
111
|
+
}) // 需要展示的关键指标 code
|
|
112
|
+
|
|
113
|
+
});
|
|
114
|
+
setVisible(true);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function onChangeActive(activeNode) {
|
|
118
|
+
console.log('activeNode', activeNode);
|
|
119
|
+
activeNode && openOverview((0, _extends2["default"])({}, activeNode, {
|
|
120
|
+
type: 'node'
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_drawer["default"], {
|
|
125
|
+
className: _indexModule["default"].baseInfo,
|
|
126
|
+
closeMode: ['close', 'esc'],
|
|
127
|
+
visible: visible,
|
|
128
|
+
title: /*#__PURE__*/_react["default"].createElement(Title, (0, _extends2["default"])({}, activeData, {
|
|
129
|
+
onChange: onChangeActive
|
|
130
|
+
})),
|
|
131
|
+
width: 580,
|
|
132
|
+
hasMask: false,
|
|
133
|
+
onClose: function onClose() {
|
|
134
|
+
return setVisible(false);
|
|
135
|
+
}
|
|
136
|
+
}, visible && /*#__PURE__*/_react["default"].createElement(_tab["default"], {
|
|
137
|
+
className: _indexModule["default"].tab
|
|
138
|
+
}, /*#__PURE__*/_react["default"].createElement(_tab["default"].Item, {
|
|
139
|
+
title: "\u8D44\u6E90\u6982\u89C8",
|
|
140
|
+
key: "1"
|
|
141
|
+
}, /*#__PURE__*/_react["default"].createElement(_ResourceOverview["default"], (0, _extends2["default"])({}, props, activeData))))));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
;
|
|
145
|
+
var _default = BaseInfo;
|
|
146
|
+
exports["default"] = _default;
|
|
@@ -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
|
+
}
|
|
@@ -15,11 +15,13 @@ var _ResourceDetailDrawerPlugin = _interopRequireDefault(require("./ResourceDeta
|
|
|
15
15
|
|
|
16
16
|
var _MetricPollingPlugin = _interopRequireDefault(require("./MetricPollingPlugin"));
|
|
17
17
|
|
|
18
|
+
var _BaseInfo = _interopRequireDefault(require("./BaseInfo"));
|
|
19
|
+
|
|
18
20
|
function ViewerPlugin(props) {
|
|
19
21
|
var topo = props.topo,
|
|
20
22
|
viewerProps = props.viewerProps;
|
|
21
23
|
var store = topo.store;
|
|
22
|
-
var plugins = [_MetricPollingPlugin["default"], _ResourceDetailDrawerPlugin["default"], _ResourceWebControllUrlSettingDialog["default"]].concat((viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.plugins) || []);
|
|
24
|
+
var plugins = [_MetricPollingPlugin["default"], _ResourceDetailDrawerPlugin["default"], _ResourceWebControllUrlSettingDialog["default"], _BaseInfo["default"]].concat((viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.plugins) || []);
|
|
23
25
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, plugins.map(function (Plugin, index) {
|
|
24
26
|
return /*#__PURE__*/_react["default"].createElement(Plugin, (0, _extends2["default"])({
|
|
25
27
|
key: index,
|
|
@@ -17,6 +17,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _useSetDefaultTopo = _interopRequireDefault(require("../useSetDefaultTopo"));
|
|
19
19
|
|
|
20
|
+
var _exportData = _interopRequireDefault(require("../../../../utils/exportData"));
|
|
21
|
+
|
|
20
22
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
23
|
|
|
22
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -35,6 +37,10 @@ function MoreButtonMenu(props) {
|
|
|
35
37
|
})),
|
|
36
38
|
triggerType: "click"
|
|
37
39
|
}, /*#__PURE__*/_react["default"].createElement(_menu["default"], null, setDefaultTopo.renderMenuItem(), /*#__PURE__*/_react["default"].createElement(_menu["default"].Item, {
|
|
40
|
+
onClick: function onClick() {
|
|
41
|
+
(0, _exportData["default"])(topo);
|
|
42
|
+
}
|
|
43
|
+
}, "\u5BFC\u51FA\u6570\u636E"), /*#__PURE__*/_react["default"].createElement(_menu["default"].Item, {
|
|
38
44
|
onClick: function onClick() {
|
|
39
45
|
topo.exportImage();
|
|
40
46
|
}
|
package/lib/getStoreModels.js
CHANGED
|
@@ -39,6 +39,8 @@ var _linkManager = _interopRequireDefault(require("./models/linkManager"));
|
|
|
39
39
|
|
|
40
40
|
var _displayConfig = _interopRequireDefault(require("./models/displayConfig"));
|
|
41
41
|
|
|
42
|
+
var _topoBaseInfoOverview = _interopRequireDefault(require("./models/topoBaseInfoOverview"));
|
|
43
|
+
|
|
42
44
|
var _default = {
|
|
43
45
|
topoMod: _topoMod["default"],
|
|
44
46
|
iconManage: _iconManage["default"],
|
|
@@ -56,6 +58,7 @@ var _default = {
|
|
|
56
58
|
topoView: _topoView["default"],
|
|
57
59
|
topoGraphView: _topoGraphView["default"],
|
|
58
60
|
topoAlarm: _topoAlarm["default"],
|
|
59
|
-
displayConfig: _displayConfig["default"]
|
|
61
|
+
displayConfig: _displayConfig["default"],
|
|
62
|
+
topoBaseInfoOverview: _topoBaseInfoOverview["default"]
|
|
60
63
|
};
|
|
61
64
|
exports["default"] = _default;
|
package/lib/hooks/useAlarm.js
CHANGED
|
@@ -91,7 +91,7 @@ function useAlarm(options) {
|
|
|
91
91
|
_store$getModelState = store.getModelState("topoMod"), viewState = _store$getModelState.viewState; // 添加事件
|
|
92
92
|
|
|
93
93
|
type = data.type, alertData = data.data;
|
|
94
|
-
console.log("getAlarmByEE", type, alertData);
|
|
94
|
+
console.log("getAlarmByEE-type, alertData", type, alertData);
|
|
95
95
|
|
|
96
96
|
if (!(viewState === "view" && type === "alarm" && (0, _utils.isAvailableArray)(alertData))) {
|
|
97
97
|
_context.next = 12;
|
package/lib/hooks/usePolling.js
CHANGED
|
@@ -34,6 +34,7 @@ var usePolling = function usePolling(props) {
|
|
|
34
34
|
var resAndMetrics = bizState.resAndMetrics,
|
|
35
35
|
pollingSwitch = bizState.pollingSwitch;
|
|
36
36
|
var displayConfig = topo.store.useModelState('displayConfig');
|
|
37
|
+
var resourceOverviewState = topo.store.useModelState('topoBaseInfoOverview');
|
|
37
38
|
var linkDynamicStyleDispatcher = store.useModelDispatchers('linkDynamicStyle');
|
|
38
39
|
var resIdsList = resAndMetrics === null || resAndMetrics === void 0 ? void 0 : resAndMetrics.resIdsList; // 轮询hooks
|
|
39
40
|
|
|
@@ -86,7 +87,7 @@ var usePolling = function usePolling(props) {
|
|
|
86
87
|
|
|
87
88
|
stopPoll();
|
|
88
89
|
};
|
|
89
|
-
}, [pollingSwitch, resIdsList, displayConfig]);
|
|
90
|
+
}, [pollingSwitch, resIdsList, displayConfig, resourceOverviewState.id, resourceOverviewState.metricCodes]);
|
|
90
91
|
/**
|
|
91
92
|
*
|
|
92
93
|
* @returns {{id, attributes: object[], metrics: object[]}[]} 属性和指标
|
package/lib/models/topoAlarm.js
CHANGED
|
@@ -33,6 +33,7 @@ var _default = {
|
|
|
33
33
|
alarmOpening: false,
|
|
34
34
|
alarmIsOpened: true,
|
|
35
35
|
alarmRecord: [],
|
|
36
|
+
alarmDoc: {},
|
|
36
37
|
alarmDatas: [],
|
|
37
38
|
alarmPanelIsOpen: false
|
|
38
39
|
},
|
|
@@ -45,16 +46,39 @@ var _default = {
|
|
|
45
46
|
// 定义处理该模型副作用的函数
|
|
46
47
|
effects: function effects(dispatch) {
|
|
47
48
|
return {
|
|
48
|
-
|
|
49
|
-
combAlarmData: function combAlarmData(conditions, state) {
|
|
49
|
+
resetAlarmDoc: function resetAlarmDoc(conditions, state) {
|
|
50
50
|
var _this = this;
|
|
51
51
|
|
|
52
52
|
return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
53
|
-
var alarmdata, _state$topoAlarm, alarmDoc, alarmRecord, _state$topoMod, resAndMetrics, topoData, resIdsList, alarmCiDoc, doc, record, i, item, rid, obj, sliceTag, alarmList;
|
|
54
|
-
|
|
55
53
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
56
54
|
while (1) {
|
|
57
55
|
switch (_context.prev = _context.next) {
|
|
56
|
+
case 0:
|
|
57
|
+
_this.update({
|
|
58
|
+
alarmDoc: {},
|
|
59
|
+
alarmRecord: []
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
return _context.abrupt("return", 'resetAlarmDoc Over');
|
|
63
|
+
|
|
64
|
+
case 2:
|
|
65
|
+
case "end":
|
|
66
|
+
return _context.stop();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}, _callee);
|
|
70
|
+
}))();
|
|
71
|
+
},
|
|
72
|
+
// 归档处理告警信息
|
|
73
|
+
combAlarmData: function combAlarmData(conditions, state) {
|
|
74
|
+
var _this2 = this;
|
|
75
|
+
|
|
76
|
+
return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
77
|
+
var alarmdata, _state$topoAlarm, alarmDoc, alarmRecord, _state$topoMod, resAndMetrics, topoData, resIdsList, alarmCiDoc, doc, record, i, item, rid, obj, sliceTag, alarmList;
|
|
78
|
+
|
|
79
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
80
|
+
while (1) {
|
|
81
|
+
switch (_context2.prev = _context2.next) {
|
|
58
82
|
case 0:
|
|
59
83
|
alarmdata = conditions.alarmdata;
|
|
60
84
|
_state$topoAlarm = state.topoAlarm, alarmDoc = _state$topoAlarm.alarmDoc, alarmRecord = _state$topoAlarm.alarmRecord;
|
|
@@ -62,19 +86,18 @@ var _default = {
|
|
|
62
86
|
resIdsList = resAndMetrics.resIdsList, alarmCiDoc = resAndMetrics.alarmCiDoc;
|
|
63
87
|
doc = (0, _extends2["default"])({}, alarmDoc);
|
|
64
88
|
|
|
65
|
-
_rlog["default"].debug("topoAlarmMod.combAlarmData--
|
|
89
|
+
_rlog["default"].debug("topoAlarmMod.combAlarmData--alarmdata-resIdsList", alarmdata, resIdsList); // rlog.debug("topoAlarmMod.combAlarmData-alarmDoc, alarmRecord ", alarmDoc, alarmRecord );
|
|
66
90
|
|
|
67
|
-
_rlog["default"].debug("topoAlarmMod.combAlarmData--alarmdata-resIdsList", conditions.alarmdata, resAndMetrics, resIdsList);
|
|
68
91
|
|
|
69
|
-
|
|
92
|
+
record = _lodash["default"].uniq(alarmRecord);
|
|
70
93
|
|
|
71
|
-
|
|
94
|
+
_rlog["default"].debug('告警归档-doc, record, alarmRecord', doc, record, alarmRecord);
|
|
72
95
|
|
|
73
96
|
for (i = 0; i < alarmdata.length; i++) {
|
|
74
97
|
item = (0, _extends2["default"])({}, alarmdata[i]);
|
|
75
98
|
rid = alarmCiDoc[item.id];
|
|
76
99
|
|
|
77
|
-
_rlog["default"].debug('
|
|
100
|
+
_rlog["default"].debug('处理一条告警', item, rid, item.id, item.alertId, item.status);
|
|
78
101
|
|
|
79
102
|
if ((resIdsList || []).indexOf(rid) >= 0) {
|
|
80
103
|
obj = item.obj;
|
|
@@ -99,8 +122,9 @@ var _default = {
|
|
|
99
122
|
|
|
100
123
|
if (sliceTag >= 0) {
|
|
101
124
|
doc[rid].splice(sliceTag, 1);
|
|
102
|
-
}
|
|
125
|
+
}
|
|
103
126
|
|
|
127
|
+
_rlog["default"].debug('该告警移除状态', sliceTag, doc[rid], doc);
|
|
104
128
|
|
|
105
129
|
if (doc[rid].length === 0) {
|
|
106
130
|
delete doc[rid];
|
|
@@ -108,9 +132,9 @@ var _default = {
|
|
|
108
132
|
}
|
|
109
133
|
|
|
110
134
|
record.splice(record.indexOf(obj.alertId), 1);
|
|
111
|
-
} else {
|
|
135
|
+
} else {
|
|
136
|
+
_rlog["default"].debug('重复告警', item);
|
|
112
137
|
}
|
|
113
|
-
} else {// rlog.debug('这条告警不属于当前拓扑', resIdsList, item.id);
|
|
114
138
|
}
|
|
115
139
|
}
|
|
116
140
|
|
|
@@ -127,21 +151,23 @@ var _default = {
|
|
|
127
151
|
} else {
|
|
128
152
|
return null;
|
|
129
153
|
}
|
|
130
|
-
});
|
|
154
|
+
});
|
|
131
155
|
|
|
132
|
-
|
|
156
|
+
_rlog["default"].debug('告警归档结束', alarmList, doc, record);
|
|
157
|
+
|
|
158
|
+
_this2.update({
|
|
133
159
|
alarmDoc: doc,
|
|
134
160
|
alarmRecord: record
|
|
135
161
|
});
|
|
136
162
|
|
|
137
|
-
return
|
|
163
|
+
return _context2.abrupt("return", _lodash["default"].compact(alarmList));
|
|
138
164
|
|
|
139
165
|
case 14:
|
|
140
166
|
case "end":
|
|
141
|
-
return
|
|
167
|
+
return _context2.stop();
|
|
142
168
|
}
|
|
143
169
|
}
|
|
144
|
-
},
|
|
170
|
+
}, _callee2);
|
|
145
171
|
}))();
|
|
146
172
|
}
|
|
147
173
|
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports["default"] = void 0;
|
|
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 _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
|
|
15
|
+
|
|
16
|
+
var _topo = _interopRequireDefault(require("@riil-frontend/component-topology-common/es/services/topo"));
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 拓扑图 基本信息-概览
|
|
20
|
+
*/
|
|
21
|
+
var _default = {
|
|
22
|
+
// 定义 model 的初始 state
|
|
23
|
+
state: {
|
|
24
|
+
id: '',
|
|
25
|
+
// 当前 id
|
|
26
|
+
metricCodes: [] // 当前资源/链路需要的关键指标(模型前6个)
|
|
27
|
+
|
|
28
|
+
},
|
|
29
|
+
// 定义改变该模型状态的纯函数
|
|
30
|
+
reducers: {
|
|
31
|
+
update: function update(prevState, payload) {
|
|
32
|
+
console.log('payload', payload);
|
|
33
|
+
return (0, _extends2["default"])({}, prevState, payload);
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
// 定义处理该模型副作用的函数
|
|
37
|
+
effects: function effects(dispatch) {
|
|
38
|
+
return {
|
|
39
|
+
init: function init(payload, rootState) {
|
|
40
|
+
return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
41
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
42
|
+
while (1) {
|
|
43
|
+
switch (_context.prev = _context.next) {
|
|
44
|
+
case 0:
|
|
45
|
+
case "end":
|
|
46
|
+
return _context.stop();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}, _callee);
|
|
50
|
+
}))();
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
exports["default"] = _default;
|
package/lib/models/topoBizMod.js
CHANGED
|
@@ -190,76 +190,6 @@ function _default(engine) {
|
|
|
190
190
|
},
|
|
191
191
|
|
|
192
192
|
/**
|
|
193
|
-
* 以下内容转移至topoAlarm
|
|
194
|
-
** /
|
|
195
|
-
// async combAlarmData(conditions, state) {
|
|
196
|
-
// const { alarmdata } = conditions;
|
|
197
|
-
// const { alarmDoc, alarmRecord } = state.topoBizMod;
|
|
198
|
-
// const { resIdsList } = state.topoBizMod.resAndMetrics;
|
|
199
|
-
// const doc = { ...alarmDoc };
|
|
200
|
-
// rlog.debug('topoBizMod.combAlarmData', conditions.alarmdata, resIdsList);
|
|
201
|
-
// const record = _.uniq(alarmRecord);
|
|
202
|
-
// // rlog.debug('告警归档', doc, record, alarmRecord);
|
|
203
|
-
// for (let i = 0; i < alarmdata.length; i++) {
|
|
204
|
-
// const item = { ...alarmdata[i] };
|
|
205
|
-
// // rlog.debug('接到一条告警', item.id, item.alertId, item.status);
|
|
206
|
-
// if ((resIdsList || []).indexOf(item.id) >= 0) {
|
|
207
|
-
// const { obj } = item;
|
|
208
|
-
// if (record.indexOf(item.alertId) < 0 && item.status === 'toDeal') {
|
|
209
|
-
// // rlog.debug('这是一条新告警');
|
|
210
|
-
// record.push(item.alertId);
|
|
211
|
-
// if (doc.hasOwnProperty(item.id)) {
|
|
212
|
-
// if (
|
|
213
|
-
// findItem(doc[item.id], 'alertId', item.alertId) === undefined
|
|
214
|
-
// ) {
|
|
215
|
-
// doc[item.id].push(item);
|
|
216
|
-
// }
|
|
217
|
-
// doc[item.id] = doc[item.id].sort(sortList);
|
|
218
|
-
// } else {
|
|
219
|
-
// doc[item.id] = [item];
|
|
220
|
-
// }
|
|
221
|
-
// } else if (item.status !== 'toDeal') {
|
|
222
|
-
// // rlog.debug('该告警移除', item.status, doc[item.id]);
|
|
223
|
-
// if (doc.hasOwnProperty(item.id)) {
|
|
224
|
-
// const sliceTag = findItemIndex(
|
|
225
|
-
// doc[item.id],
|
|
226
|
-
// 'alertId',
|
|
227
|
-
// item.alertId
|
|
228
|
-
// );
|
|
229
|
-
// if (sliceTag >= 0) {
|
|
230
|
-
// doc[item.id].splice(sliceTag, 1);
|
|
231
|
-
// }
|
|
232
|
-
// // rlog.debug('该告警移除状态', sliceTag, doc[item.id]);
|
|
233
|
-
// if (doc[item.id].length === 0) {
|
|
234
|
-
// delete doc[item.id];
|
|
235
|
-
// }
|
|
236
|
-
// }
|
|
237
|
-
// record.splice(record.indexOf(obj.alertId), 1);
|
|
238
|
-
// } else {
|
|
239
|
-
// // rlog.debug('重复告警', item);
|
|
240
|
-
// }
|
|
241
|
-
// } else {
|
|
242
|
-
// // rlog.debug('这条告警不属于当前拓扑', resIdsList, item.id);
|
|
243
|
-
// }
|
|
244
|
-
// }
|
|
245
|
-
// // rlog.debug('准备发送的告警', doc, record);
|
|
246
|
-
// const alarmList = Object.keys(doc).map((id) => {
|
|
247
|
-
// if (doc[id].length > 0) {
|
|
248
|
-
// const alarmObj = doc[id][0];
|
|
249
|
-
// // rlog.debug('xxxxxxxxxxxxxxxxxxxx', doc[id][0], alarmObj.status);
|
|
250
|
-
// return alarmObj.status === 'toDeal' ? alarmObj : null;
|
|
251
|
-
// } else {
|
|
252
|
-
// return null;
|
|
253
|
-
// }
|
|
254
|
-
// });
|
|
255
|
-
// // rlog.debug('告警归档结束', alarmList, doc, record);
|
|
256
|
-
// this.update({
|
|
257
|
-
// alarmDoc: doc,
|
|
258
|
-
// alarmRecord: record,
|
|
259
|
-
// });
|
|
260
|
-
// return _.compact(alarmList);
|
|
261
|
-
// },
|
|
262
|
-
/**
|
|
263
193
|
* 设置属性和指标
|
|
264
194
|
* @param attrsAndMetrics
|
|
265
195
|
*/
|
package/lib/style.js
CHANGED
|
@@ -14,29 +14,30 @@ require('@alifd/next/lib/select/style');
|
|
|
14
14
|
require('@riil-frontend/component-riil-rule-tree/lib/style');
|
|
15
15
|
require('@alifd/next/lib/balloon/style');
|
|
16
16
|
require('@alifd/next/lib/drawer/style');
|
|
17
|
-
require('@alifd/next/lib/table/style');
|
|
18
|
-
require('@alifd/next/lib/grid/style');
|
|
19
|
-
require('@riil-frontend/component-action-tree/lib/style');
|
|
20
|
-
require('@riil-frontend/component-table-layout/lib/style');
|
|
21
|
-
require('@riil-frontend/hooks/lib/style');
|
|
22
17
|
require('@alifd/next/lib/loading/style');
|
|
23
18
|
require('@riil-frontend/component-extra-title/lib/style');
|
|
24
19
|
require('@riil-frontend/next-collapse/lib/style');
|
|
25
20
|
require('@riil-frontend/component-more-buttons-menu/lib/style');
|
|
26
21
|
require('@riil-frontend/component-row-delete-ballon/lib/style');
|
|
22
|
+
require('@alifd/next/lib/grid/style');
|
|
27
23
|
require('@riil-frontend/component-topology-common/lib/style');
|
|
28
24
|
require('@riil-frontend/component-common-res-list/lib/style');
|
|
29
25
|
require('@riil-frontend/component-no-data-page/lib/style');
|
|
30
26
|
require('@alifd/next/lib/box/style');
|
|
27
|
+
require('@alifd/next/lib/tab/style');
|
|
28
|
+
require('@alifd/next/lib/menu-button/style');
|
|
29
|
+
require('@alifd/next/lib/table/style');
|
|
30
|
+
require('@alifd/next/lib/divider/style');
|
|
31
31
|
require('@alifd/next/lib/dropdown/style');
|
|
32
32
|
require('@alifd/next/lib/menu/style');
|
|
33
33
|
require('@alifd/next/lib/radio/style');
|
|
34
34
|
require('@alifd/next/lib/checkbox/style');
|
|
35
|
+
require('@riil-frontend/component-action-tree/lib/style');
|
|
36
|
+
require('@riil-frontend/component-table-layout/lib/style');
|
|
37
|
+
require('@riil-frontend/hooks/lib/style');
|
|
35
38
|
require('@alifd/next/lib/search/style');
|
|
36
|
-
require('@alifd/next/lib/tab/style');
|
|
37
39
|
require('@alifd/next/lib/collapse/style');
|
|
38
40
|
|
|
39
|
-
require('@alifd/next/lib/divider/style');
|
|
40
41
|
require('@alifd/next/lib/list/style');
|
|
41
42
|
require('@alifd/next/lib/tag/style');
|
|
42
43
|
require('@riil-frontend/component-topology-utils/lib/style');
|