@riil-frontend/component-topology 12.0.0-dev.25 → 12.0.0-dev.27
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 +10 -10
- package/es/core/editor/components/Toolbar/widgets/Layout/index.js +2 -2
- package/es/core/editor/utils/edgeTypeStyleUtil.js +0 -23
- package/es/core/hooks/useAlarm.js +131 -81
- package/es/core/hooks/useCmpLinkAlarm.js +153 -0
- package/es/core/hooks/useEventData.js +1 -2
- package/es/core/hooks/useGraphAlarmDisplay.js +36 -23
- package/es/core/hooks/useTopoEdit.js +0 -4
- package/es/core/models/Alarm.js +60 -145
- package/es/core/models/AttributeMetricDisplay.js +1 -1
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/models/utils/linkUtils.js +20 -13
- package/es/core/utils/metricUtil.js +8 -4
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +11 -5
- package/es/core/viewer/components/titlebar/widgets/AlarmButton.js +1 -5
- package/es/networkTopo/store/topoCenter.js +260 -223
- package/es/style.js +1 -1
- package/es/utils/ciRefAttributeTranslateUtil.js +1 -1
- package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +1 -1
- package/lib/core/editor/utils/edgeTypeStyleUtil.js +0 -25
- package/lib/core/hooks/useAlarm.js +130 -79
- package/lib/core/hooks/useCmpLinkAlarm.js +166 -0
- package/lib/core/hooks/useEventData.js +1 -2
- package/lib/core/hooks/useGraphAlarmDisplay.js +36 -22
- package/lib/core/hooks/useTopoEdit.js +0 -4
- package/lib/core/models/Alarm.js +60 -147
- package/lib/core/models/AttributeMetricDisplay.js +1 -1
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/models/utils/linkUtils.js +21 -13
- package/lib/core/utils/metricUtil.js +8 -4
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +13 -5
- package/lib/core/viewer/components/titlebar/widgets/AlarmButton.js +1 -5
- package/lib/networkTopo/store/topoCenter.js +262 -225
- package/lib/style.js +1 -1
- package/lib/utils/ciRefAttributeTranslateUtil.js +1 -1
- package/package.json +2 -2
@@ -8,243 +8,280 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
8
|
*
|
9
9
|
*/
|
10
10
|
import { rlog } from '@riil-frontend/component-topology-utils';
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
return _regeneratorRuntime.
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
11
|
+
import { parseTopoData } from "../../utils/topoData";
|
12
|
+
export default function (topo) {
|
13
|
+
return {
|
14
|
+
// 定义 model 的初始 state
|
15
|
+
state: {
|
16
|
+
loading: true,
|
17
|
+
id: undefined,
|
18
|
+
viewState: 'view' // view, create, 2种模式
|
19
|
+
|
20
|
+
},
|
21
|
+
// 定义改变该模型状态的纯函数
|
22
|
+
reducers: {
|
23
|
+
update: function update(prevState, payload) {
|
24
|
+
return _extends({}, prevState, payload);
|
25
|
+
}
|
26
|
+
},
|
27
|
+
// 定义处理该模型副作用的函数
|
28
|
+
effects: function effects(dispatch) {
|
29
|
+
return {
|
30
|
+
/**
|
31
|
+
* 初始化。
|
32
|
+
*/
|
33
|
+
initData: function initData(params, rootState) {
|
34
|
+
var _this = this;
|
35
|
+
|
36
|
+
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
37
|
+
var topoModState, viewType, id, topoTreeModState;
|
38
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
39
|
+
while (1) switch (_context.prev = _context.next) {
|
40
|
+
case 0:
|
41
|
+
if (params === void 0) {
|
42
|
+
params = {};
|
43
|
+
}
|
44
|
+
|
45
|
+
topoModState = rootState.topoMod;
|
46
|
+
viewType = params.type || 'view';
|
47
|
+
id = params.id || topoModState.topoId || '';
|
48
|
+
|
49
|
+
_this.update({
|
50
|
+
loading: true,
|
51
|
+
viewState: viewType
|
52
|
+
}); // 加载功能操作权限
|
53
|
+
|
54
|
+
|
55
|
+
_context.next = 7;
|
56
|
+
return dispatch.functionAuth.init();
|
57
|
+
|
58
|
+
case 7:
|
59
|
+
// 加载拓扑树数据
|
60
|
+
topoTreeModState = rootState.topoTreeMod;
|
61
|
+
|
62
|
+
if (topoTreeModState.loaded) {
|
63
|
+
_context.next = 16;
|
64
|
+
break;
|
65
|
+
}
|
66
|
+
|
67
|
+
_context.next = 11;
|
68
|
+
return dispatch.topoTreeMod.fetchTopoTree({
|
69
|
+
id: id
|
70
|
+
});
|
71
|
+
|
72
|
+
case 11:
|
73
|
+
_context.next = 13;
|
74
|
+
return dispatch.topoTreeMod.getSelectedTopoId();
|
75
|
+
|
76
|
+
case 13:
|
77
|
+
id = _context.sent;
|
78
|
+
_context.next = 18;
|
62
79
|
break;
|
63
|
-
}
|
64
80
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
});
|
81
|
+
case 16:
|
82
|
+
_context.next = 18;
|
83
|
+
return _this.refreshTopoTree();
|
69
84
|
|
70
|
-
|
71
|
-
|
72
|
-
|
85
|
+
case 18:
|
86
|
+
if (id) {
|
87
|
+
// 左侧树切换选中
|
88
|
+
dispatch.topoTreeMod.selectNode(id);
|
89
|
+
}
|
73
90
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
91
|
+
if (!(viewType === 'create')) {
|
92
|
+
_context.next = 24;
|
93
|
+
break;
|
94
|
+
}
|
78
95
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
case 18:
|
84
|
-
if (id) {
|
85
|
-
// 左侧树切换选中
|
86
|
-
dispatch.topoTreeMod.selectNode(id);
|
87
|
-
}
|
96
|
+
_context.next = 22;
|
97
|
+
return _this.openCreateTopoPage({
|
98
|
+
id: id
|
99
|
+
});
|
88
100
|
|
89
|
-
|
90
|
-
_context.next =
|
101
|
+
case 22:
|
102
|
+
_context.next = 29;
|
91
103
|
break;
|
92
|
-
}
|
93
104
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
105
|
+
case 24:
|
106
|
+
if (!params.selectedElementTag) {
|
107
|
+
_context.next = 27;
|
108
|
+
break;
|
109
|
+
}
|
98
110
|
|
99
|
-
case 22:
|
100
|
-
_context.next = 29;
|
101
|
-
break;
|
102
|
-
|
103
|
-
case 24:
|
104
|
-
if (!params.selectedElementTag) {
|
105
111
|
_context.next = 27;
|
106
|
-
|
107
|
-
|
112
|
+
return dispatch.selection.update({
|
113
|
+
initSelectionId: params.selectedElementTag
|
114
|
+
});
|
108
115
|
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
116
|
+
case 27:
|
117
|
+
_context.next = 29;
|
118
|
+
return dispatch.topoMod.initData(_extends({}, params, {
|
119
|
+
type: params.type,
|
120
|
+
id: id
|
121
|
+
}));
|
113
122
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
id: id
|
119
|
-
}));
|
123
|
+
case 29:
|
124
|
+
_this.update({
|
125
|
+
loading: false
|
126
|
+
}); // 是否打开概览
|
120
127
|
|
121
|
-
case 29:
|
122
|
-
_this.update({
|
123
|
-
loading: false
|
124
|
-
}); // 是否打开概览
|
125
128
|
|
129
|
+
if (!params.openResourceOverview) {
|
130
|
+
_context.next = 33;
|
131
|
+
break;
|
132
|
+
}
|
126
133
|
|
127
|
-
if (!params.openResourceOverview) {
|
128
134
|
_context.next = 33;
|
135
|
+
return dispatch.resourceDetail.update({
|
136
|
+
visible: true,
|
137
|
+
id: params.openResourceOverview
|
138
|
+
});
|
139
|
+
|
140
|
+
case 33:
|
141
|
+
case "end":
|
142
|
+
return _context.stop();
|
143
|
+
}
|
144
|
+
}, _callee);
|
145
|
+
}))();
|
146
|
+
},
|
147
|
+
|
148
|
+
/**
|
149
|
+
* 退出。
|
150
|
+
*/
|
151
|
+
exit: function exit(playload, rootState) {
|
152
|
+
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
153
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
154
|
+
while (1) switch (_context2.prev = _context2.next) {
|
155
|
+
case 0:
|
156
|
+
_context2.next = 2;
|
157
|
+
return dispatch.topoMod.exit(playload);
|
158
|
+
|
159
|
+
case 2:
|
160
|
+
case "end":
|
161
|
+
return _context2.stop();
|
162
|
+
}
|
163
|
+
}, _callee2);
|
164
|
+
}))();
|
165
|
+
},
|
166
|
+
openCreateTopoPage: function openCreateTopoPage(playload, state) {
|
167
|
+
var _this2 = this;
|
168
|
+
|
169
|
+
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
170
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
171
|
+
while (1) switch (_context3.prev = _context3.next) {
|
172
|
+
case 0:
|
173
|
+
if (playload === void 0) {
|
174
|
+
playload = {};
|
175
|
+
}
|
176
|
+
|
177
|
+
_this2.update({
|
178
|
+
viewState: 'create',
|
179
|
+
id: playload.id
|
180
|
+
});
|
181
|
+
|
182
|
+
dispatch.topoCreate.init(playload); // history.replace(`/default/topoCenter?type=create&id=${playload.id}`);
|
183
|
+
|
184
|
+
case 3:
|
185
|
+
case "end":
|
186
|
+
return _context3.stop();
|
187
|
+
}
|
188
|
+
}, _callee3);
|
189
|
+
}))();
|
190
|
+
},
|
191
|
+
|
192
|
+
/**
|
193
|
+
*
|
194
|
+
* @param playload {{id: string, linkTo:?object}}
|
195
|
+
*/
|
196
|
+
openTopoPage: function openTopoPage(playload, rootState) {
|
197
|
+
var _this3 = this;
|
198
|
+
|
199
|
+
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
200
|
+
var id, viewState;
|
201
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
202
|
+
while (1) switch (_context4.prev = _context4.next) {
|
203
|
+
case 0:
|
204
|
+
id = playload.id, viewState = playload.viewState; // 左侧树切换选中
|
205
|
+
|
206
|
+
dispatch.topoTreeMod.selectNode(id);
|
207
|
+
|
208
|
+
_this3.update({
|
209
|
+
viewState: viewState || 'view'
|
210
|
+
});
|
211
|
+
|
212
|
+
if (!id) {
|
213
|
+
_context4.next = 8;
|
214
|
+
break;
|
215
|
+
}
|
216
|
+
|
217
|
+
_context4.next = 6;
|
218
|
+
return dispatch.topoMod.openTopoPage(playload);
|
219
|
+
|
220
|
+
case 6:
|
221
|
+
_context4.next = 10;
|
129
222
|
break;
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
var _this3 = this;
|
196
|
-
|
197
|
-
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
198
|
-
var id, viewState;
|
199
|
-
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
200
|
-
while (1) switch (_context4.prev = _context4.next) {
|
201
|
-
case 0:
|
202
|
-
id = playload.id, viewState = playload.viewState; // 左侧树切换选中
|
203
|
-
|
204
|
-
dispatch.topoTreeMod.selectNode(id);
|
205
|
-
|
206
|
-
_this3.update({
|
207
|
-
viewState: viewState || 'view'
|
208
|
-
});
|
209
|
-
|
210
|
-
if (!id) {
|
211
|
-
_context4.next = 8;
|
212
|
-
break;
|
213
|
-
}
|
214
|
-
|
215
|
-
_context4.next = 6;
|
216
|
-
return dispatch.topoMod.openTopoPage(playload);
|
217
|
-
|
218
|
-
case 6:
|
219
|
-
_context4.next = 10;
|
220
|
-
break;
|
221
|
-
|
222
|
-
case 8:
|
223
|
-
_context4.next = 10;
|
224
|
-
return dispatch.topoMod.clearData();
|
225
|
-
|
226
|
-
case 10:
|
227
|
-
case "end":
|
228
|
-
return _context4.stop();
|
229
|
-
}
|
230
|
-
}, _callee4);
|
231
|
-
}))();
|
232
|
-
},
|
233
|
-
refreshTopoTree: function refreshTopoTree() {
|
234
|
-
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
235
|
-
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
236
|
-
while (1) switch (_context5.prev = _context5.next) {
|
237
|
-
case 0:
|
238
|
-
_context5.next = 2;
|
239
|
-
return dispatch.topoTreeMod.refreshTree();
|
240
|
-
|
241
|
-
case 2:
|
242
|
-
case "end":
|
243
|
-
return _context5.stop();
|
244
|
-
}
|
245
|
-
}, _callee5);
|
246
|
-
}))();
|
247
|
-
}
|
248
|
-
};
|
249
|
-
}
|
250
|
-
};
|
223
|
+
|
224
|
+
case 8:
|
225
|
+
_context4.next = 10;
|
226
|
+
return dispatch.topoMod.clearData();
|
227
|
+
|
228
|
+
case 10:
|
229
|
+
case "end":
|
230
|
+
return _context4.stop();
|
231
|
+
}
|
232
|
+
}, _callee4);
|
233
|
+
}))();
|
234
|
+
},
|
235
|
+
refreshTopoTree: function refreshTopoTree() {
|
236
|
+
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
237
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
238
|
+
while (1) switch (_context5.prev = _context5.next) {
|
239
|
+
case 0:
|
240
|
+
_context5.next = 2;
|
241
|
+
return dispatch.topoTreeMod.refreshTree();
|
242
|
+
|
243
|
+
case 2:
|
244
|
+
case "end":
|
245
|
+
return _context5.stop();
|
246
|
+
}
|
247
|
+
}, _callee5);
|
248
|
+
}))();
|
249
|
+
},
|
250
|
+
refreshGlobalConfig: function refreshGlobalConfig() {
|
251
|
+
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
|
252
|
+
var result, extraConfig;
|
253
|
+
return _regeneratorRuntime.wrap(function _callee6$(_context6) {
|
254
|
+
while (1) switch (_context6.prev = _context6.next) {
|
255
|
+
case 0:
|
256
|
+
if (topo.id) {
|
257
|
+
_context6.next = 2;
|
258
|
+
break;
|
259
|
+
}
|
260
|
+
|
261
|
+
return _context6.abrupt("return");
|
262
|
+
|
263
|
+
case 2:
|
264
|
+
_context6.next = 4;
|
265
|
+
return topo.options.loadData(topo.id, topo.serverApi);
|
266
|
+
|
267
|
+
case 4:
|
268
|
+
result = _context6.sent;
|
269
|
+
result = parseTopoData(result);
|
270
|
+
extraConfig = result.global.extraConfig;
|
271
|
+
_context6.next = 9;
|
272
|
+
return dispatch.displayConfig.setConfig(_extends({}, extraConfig, {
|
273
|
+
alarmSwitch: result.global.alarmSwitch,
|
274
|
+
alarmListDefaultOpen: result.global.alarmListDefaultOpen
|
275
|
+
}));
|
276
|
+
|
277
|
+
case 9:
|
278
|
+
case "end":
|
279
|
+
return _context6.stop();
|
280
|
+
}
|
281
|
+
}, _callee6);
|
282
|
+
}))();
|
283
|
+
}
|
284
|
+
};
|
285
|
+
}
|
286
|
+
};
|
287
|
+
}
|
package/es/style.js
CHANGED
@@ -2,8 +2,8 @@ import '@riil-frontend/component-topology-graph/es/style';
|
|
2
2
|
import '@alifd/next/es/box/style';
|
3
3
|
import '@riil-frontend/component-topology-utils/es/style';
|
4
4
|
import '@alifd/next/es/message/style';
|
5
|
-
import '@riil-frontend/component-riil-event-emitter/es/style';
|
6
5
|
import '@riil-frontend/utils/es/style';
|
6
|
+
import '@riil-frontend/component-riil-event-emitter/es/style';
|
7
7
|
import '@alifd/next/es/menu-button/style';
|
8
8
|
import '@alifd/next/es/search/style';
|
9
9
|
import '@alifd/next/es/drawer/style';
|
@@ -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.ciType || ciData.typeCode;
|
20
20
|
var ciTypeMeta = ciTypeMap[typeCode];
|
21
21
|
|
22
22
|
if (ciTypeMeta) {
|
@@ -162,7 +162,7 @@ function isLayoutEnabled(props) {
|
|
162
162
|
} //中心节点布局,选中一个节点不是分层的情况下,按钮亮起
|
163
163
|
|
164
164
|
|
165
|
-
if (topoShowType !== 'layers' && selection.length === 1) {
|
165
|
+
if (topoShowType !== 'layers' && selection.length === 1 && ((0, _htElementDataUtil.isNode)(selection[0]) || (0, _htElementDataUtil.isGroup)(selection[0]))) {
|
166
166
|
return true;
|
167
167
|
}
|
168
168
|
|
@@ -3,7 +3,6 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.getEdgesBySelection = getEdgesBySelection;
|
5
5
|
exports.isNodeAllEdges = isNodeAllEdges;
|
6
|
-
exports.loopEdgesAndChildren = loopEdgesAndChildren;
|
7
6
|
exports.setEdgesType = setEdgesType;
|
8
7
|
exports.updateEdgesData = updateEdgesData;
|
9
8
|
|
@@ -89,30 +88,6 @@ function isNodeAllEdges(topo) {
|
|
89
88
|
});
|
90
89
|
return inEdges;
|
91
90
|
}
|
92
|
-
/**
|
93
|
-
* 遍历连线及子连线
|
94
|
-
* @param {*} topo
|
95
|
-
* @param {*} edges
|
96
|
-
* @param {*} operateEdgeFn
|
97
|
-
*/
|
98
|
-
|
99
|
-
|
100
|
-
function loopEdgesAndChildren(topo, edges, operateEdgeFn) {
|
101
|
-
var htTopo = topo.getHtTopo();
|
102
|
-
edges.forEach(function (edge) {
|
103
|
-
operateEdgeFn(edge);
|
104
|
-
|
105
|
-
if (edge.isEdgeGroupAgent()) {
|
106
|
-
// 连线组折叠时同时设置子连线
|
107
|
-
var edgeChildren = edge.getEdgeGroup().getEdges().toArray();
|
108
|
-
htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), true);
|
109
|
-
edgeChildren.forEach(function (edgeChild) {
|
110
|
-
operateEdgeFn(edgeChild);
|
111
|
-
});
|
112
|
-
htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), false);
|
113
|
-
}
|
114
|
-
});
|
115
|
-
}
|
116
91
|
/**
|
117
92
|
* 设置连线及子连线。带回退事务控制
|
118
93
|
* @param {*} topo
|