@riil-frontend/component-topology 2.15.21 → 2.15.24
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.css +1 -1
- package/build/index.js +14 -14
- package/es/core/common/icons/defaultIcons.js +3 -9
- package/es/core/common/icons/icon.js +1 -22
- package/es/core/components/AlarmListPanel/index.js +17 -35
- package/es/core/components/TopoView/topoView.js +2 -0
- package/es/core/components/titlebar/TitleBar.js +3 -3
- package/es/core/editor/components/settings/propertyViews/group/DataTab/hoooks/useGroupRelateResource.js +2 -2
- package/es/core/editor/components/settings/propertyViews/layer/DataTab/NodeList.js +3 -3
- package/es/core/models/Alarm.js +30 -51
- package/es/core/models/AttributeMetricDisplay.js +22 -13
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/models/utils/linkUtils.js +3 -0
- package/es/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.js +1 -1
- package/es/core/viewer/components/plugins/BaseInfo/index.js +58 -79
- package/es/core/viewer/components/titlebar/widgets/AlarmListShowButton.js +31 -29
- package/es/index.js +3 -1
- package/es/style.js +1 -0
- package/es/topoCenter/components/TopoView.js +7 -6
- package/es/topoCenter/components/editor/propertyViews/LayerRelatedResourceList.js +2 -3
- package/es/topoCenter/hooks/editor/useDeleteEdges.js +19 -11
- package/lib/core/common/icons/defaultIcons.js +4 -13
- package/lib/core/common/icons/icon.js +1 -30
- package/lib/core/components/AlarmListPanel/index.js +19 -36
- package/lib/core/components/TopoView/topoView.js +2 -0
- package/lib/core/components/titlebar/TitleBar.js +2 -2
- package/lib/core/editor/components/settings/propertyViews/group/DataTab/hoooks/useGroupRelateResource.js +3 -3
- package/lib/core/editor/components/settings/propertyViews/layer/DataTab/NodeList.js +4 -8
- package/lib/core/models/Alarm.js +30 -51
- package/lib/core/models/AttributeMetricDisplay.js +22 -13
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/models/utils/linkUtils.js +5 -0
- package/lib/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.js +1 -1
- package/lib/core/viewer/components/plugins/BaseInfo/index.js +58 -79
- package/lib/core/viewer/components/titlebar/widgets/AlarmListShowButton.js +33 -28
- package/lib/index.js +17 -2
- package/lib/style.js +1 -0
- package/lib/topoCenter/components/TopoView.js +5 -4
- package/lib/topoCenter/components/editor/propertyViews/LayerRelatedResourceList.js +2 -4
- package/lib/topoCenter/hooks/editor/useDeleteEdges.js +20 -11
- package/package.json +4 -4
|
@@ -100,10 +100,6 @@ function BaseInfo(props) {
|
|
|
100
100
|
userId = _useState4[0],
|
|
101
101
|
setUserId = _useState4[1];
|
|
102
102
|
|
|
103
|
-
var _useState5 = useState(null),
|
|
104
|
-
paramData = _useState5[0],
|
|
105
|
-
setParamData = _useState5[1];
|
|
106
|
-
|
|
107
103
|
useEffect(function () {
|
|
108
104
|
var notifier = topo.view.topoClient.notifier;
|
|
109
105
|
notifier.on(TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
|
|
@@ -120,111 +116,94 @@ function BaseInfo(props) {
|
|
|
120
116
|
}, []); // 解决切换拓扑图隐藏概览
|
|
121
117
|
|
|
122
118
|
useEffect(function () {
|
|
123
|
-
setVisible(false);
|
|
124
|
-
setParamData(null); // TODO 其他数据重置
|
|
119
|
+
setVisible(false); // TODO 其他数据重置
|
|
125
120
|
}, [topoId]);
|
|
126
121
|
|
|
127
122
|
function getUser() {
|
|
128
123
|
return _getUser.apply(this, arguments);
|
|
129
|
-
} //
|
|
130
|
-
// const data = node.getAttrObject()
|
|
131
|
-
// console.log('单击切换基本信息', data);
|
|
132
|
-
// setVisible(prev => {
|
|
133
|
-
// prev && openOverview(data)
|
|
134
|
-
// return prev
|
|
135
|
-
// })
|
|
136
|
-
// }
|
|
137
|
-
// function openOverview (data) {
|
|
138
|
-
// console.log('双击打开基本信息', data);
|
|
139
|
-
// const {
|
|
140
|
-
// id,
|
|
141
|
-
// name,
|
|
142
|
-
// type,
|
|
143
|
-
// ciType,
|
|
144
|
-
// ciName,
|
|
145
|
-
// operation,
|
|
146
|
-
// } = data
|
|
147
|
-
// // 仅展示资源和链路的概览
|
|
148
|
-
// if (!['node', 'link', 'linkGroup'].includes(type)) return
|
|
149
|
-
// // 应用拓扑中没有链路详情
|
|
150
|
-
// if (topo.options.resourceOverviewDrawer?.getData && type === 'link') return
|
|
151
|
-
// // 没有权限不显示
|
|
152
|
-
// if (!operation) return
|
|
153
|
-
// setActiveData({
|
|
154
|
-
// id,
|
|
155
|
-
// name,
|
|
156
|
-
// type: type === 'linkGroup' ? 'link' : type,
|
|
157
|
-
// ciType,
|
|
158
|
-
// ciName
|
|
159
|
-
// })
|
|
160
|
-
// const { metrics } = topo.ciTyeCache.getCiType(ciType)
|
|
161
|
-
// topoDispatchers.update({
|
|
162
|
-
// id,
|
|
163
|
-
// metricCodes: metrics.slice(0, 6).map(item => item.code), // 需要展示的关键指标 code
|
|
164
|
-
// })
|
|
165
|
-
// setVisible(true)
|
|
166
|
-
// }
|
|
124
|
+
} // select切换
|
|
167
125
|
|
|
168
126
|
|
|
169
127
|
function _getUser() {
|
|
170
|
-
_getUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
171
|
-
|
|
172
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
128
|
+
_getUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
129
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
173
130
|
while (1) {
|
|
174
|
-
switch (
|
|
131
|
+
switch (_context2.prev = _context2.next) {
|
|
175
132
|
case 0:
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
133
|
+
setUserId( /*#__PURE__*/function () {
|
|
134
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(prev) {
|
|
135
|
+
var res;
|
|
136
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
137
|
+
while (1) {
|
|
138
|
+
switch (_context.prev = _context.next) {
|
|
139
|
+
case 0:
|
|
140
|
+
console.log('获取用户id', prev); // 如果已经获取过,就不再重新获取
|
|
141
|
+
|
|
142
|
+
if (!prev) {
|
|
143
|
+
_context.next = 3;
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return _context.abrupt("return", prev);
|
|
148
|
+
|
|
149
|
+
case 3:
|
|
150
|
+
_context.next = 5;
|
|
151
|
+
return service.getUserId();
|
|
152
|
+
|
|
153
|
+
case 5:
|
|
154
|
+
res = _context.sent;
|
|
155
|
+
return _context.abrupt("return", (res === null || res === void 0 ? void 0 : res.user_id) || '');
|
|
156
|
+
|
|
157
|
+
case 7:
|
|
158
|
+
case "end":
|
|
159
|
+
return _context.stop();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}, _callee);
|
|
163
|
+
}));
|
|
164
|
+
|
|
165
|
+
return function (_x) {
|
|
166
|
+
return _ref2.apply(this, arguments);
|
|
167
|
+
};
|
|
168
|
+
}());
|
|
169
|
+
|
|
170
|
+
case 1:
|
|
184
171
|
case "end":
|
|
185
|
-
return
|
|
172
|
+
return _context2.stop();
|
|
186
173
|
}
|
|
187
174
|
}
|
|
188
|
-
},
|
|
175
|
+
}, _callee2);
|
|
189
176
|
}));
|
|
190
177
|
return _getUser.apply(this, arguments);
|
|
191
178
|
}
|
|
192
179
|
|
|
193
180
|
function onChangeActive(activeNode) {
|
|
194
|
-
|
|
195
|
-
activeNode && openOverview(_extends({}, activeNode, {
|
|
181
|
+
activeNode && init(_extends({}, activeNode, {
|
|
196
182
|
type: 'node'
|
|
197
|
-
}));
|
|
198
|
-
}
|
|
183
|
+
}), 'select');
|
|
184
|
+
} // 单击切换
|
|
199
185
|
|
|
200
|
-
useEffect(function () {
|
|
201
|
-
(visible || (paramData === null || paramData === void 0 ? void 0 : paramData.isVisible)) && paramData && init(paramData);
|
|
202
|
-
}, [paramData, visible]);
|
|
203
186
|
|
|
204
187
|
function changeOverview(node) {
|
|
205
188
|
var data = node.getAttrObject();
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
189
|
+
init(data, 'click');
|
|
190
|
+
} // 双击打开
|
|
191
|
+
|
|
209
192
|
|
|
210
193
|
function openOverview(data) {
|
|
211
|
-
|
|
212
|
-
setParamData(_extends({}, data, {
|
|
213
|
-
isVisible: true
|
|
214
|
-
}));
|
|
194
|
+
init(data, 'doubleClick');
|
|
215
195
|
}
|
|
216
196
|
|
|
217
|
-
function init(data) {
|
|
197
|
+
function init(data, targetType) {
|
|
218
198
|
var _topo$options$resourc;
|
|
219
199
|
|
|
220
|
-
console.log('初始化基本信息', data);
|
|
200
|
+
console.log('初始化基本信息', data, targetType);
|
|
221
201
|
var id = data.id,
|
|
222
202
|
name = data.name,
|
|
223
203
|
type = data.type,
|
|
224
204
|
ciType = data.ciType,
|
|
225
205
|
ciName = data.ciName,
|
|
226
|
-
operation = data.operation
|
|
227
|
-
isVisible = data.isVisible; // 仅展示资源和链路的概览
|
|
206
|
+
operation = data.operation; // 仅展示资源和链路的概览
|
|
228
207
|
|
|
229
208
|
if (!['node', 'link', 'linkGroup'].includes(type)) return; // 应用拓扑中没有链路详情
|
|
230
209
|
|
|
@@ -250,9 +229,9 @@ function BaseInfo(props) {
|
|
|
250
229
|
|
|
251
230
|
}); // 显示隐藏
|
|
252
231
|
|
|
253
|
-
|
|
232
|
+
targetType === 'doubleClick' && setVisible(true); // userId
|
|
254
233
|
|
|
255
|
-
|
|
234
|
+
getUser();
|
|
256
235
|
}
|
|
257
236
|
|
|
258
237
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Drawer, {
|
|
@@ -273,7 +252,7 @@ function BaseInfo(props) {
|
|
|
273
252
|
}, /*#__PURE__*/React.createElement(_Tab.Item, {
|
|
274
253
|
title: "\u8D44\u6E90\u6982\u89C8",
|
|
275
254
|
key: "1"
|
|
276
|
-
}, /*#__PURE__*/React.createElement(ResourceOverview, _extends({}, props, activeData, {
|
|
255
|
+
}, activeData.id && /*#__PURE__*/React.createElement(ResourceOverview, _extends({}, props, activeData, {
|
|
277
256
|
userId: userId
|
|
278
257
|
}))))));
|
|
279
258
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import _Button from "@alifd/next/es/button";
|
|
2
2
|
import _Icon from "@alifd/next/es/icon";
|
|
3
|
-
import
|
|
3
|
+
import _Overlay from "@alifd/next/es/overlay";
|
|
4
|
+
import React, { useEffect, useRef, useState } from "react";
|
|
4
5
|
import { TopoEvent } from "@riil-frontend/component-topology-graph";
|
|
6
|
+
import rlog from "@riil-frontend/component-topology-utils/es/rlog";
|
|
7
|
+
var Popup = _Overlay.Popup;
|
|
5
8
|
/**
|
|
6
9
|
* 元素拖拽开关
|
|
7
10
|
*
|
|
@@ -10,41 +13,40 @@ import { TopoEvent } from "@riil-frontend/component-topology-graph";
|
|
|
10
13
|
|
|
11
14
|
export default function AlarmListShowButton(props) {
|
|
12
15
|
var topo = props.topo,
|
|
13
|
-
style = props.style
|
|
16
|
+
style = props.style,
|
|
17
|
+
viewerProps = props.viewerProps;
|
|
18
|
+
var AlarmListPanel = viewerProps.AlarmListPanel;
|
|
14
19
|
var store = topo.store;
|
|
15
20
|
|
|
16
21
|
var _store$useModel = store.useModel("topoAlarm"),
|
|
17
22
|
topoState = _store$useModel[0];
|
|
18
23
|
|
|
19
|
-
var alarmPanelIsOpen = topoState.alarmPanelIsOpen;
|
|
20
|
-
|
|
21
|
-
// if (movable) {
|
|
22
|
-
// setVisiable(false);
|
|
23
|
-
// }
|
|
24
|
-
// }, []);
|
|
25
|
-
// 初始化时注册打开设置事件
|
|
26
|
-
// useEffect(() => {
|
|
27
|
-
// const handleRefresh = (e) => {
|
|
28
|
-
// setMovable(false);
|
|
29
|
-
// };
|
|
30
|
-
// notifier && notifier.on(TopoEvent.EVENT_REFRESH, handleRefresh);
|
|
31
|
-
// return () => {
|
|
32
|
-
// notifier && notifier.off(TopoEvent.EVENT_REFRESH, handleRefresh);
|
|
33
|
-
// };
|
|
34
|
-
// }, [notifier]);
|
|
24
|
+
var alarmPanelIsOpen = topoState.alarmPanelIsOpen;
|
|
25
|
+
var alarmBtn = useRef();
|
|
35
26
|
|
|
36
27
|
var showAlarmList = function showAlarmList() {
|
|
37
|
-
|
|
38
|
-
//setVisiable(flag);
|
|
39
|
-
topo.alarm.switchAlarmPopPanel(true); // topo.getGraphView().setMovableFunc((data) => {
|
|
40
|
-
// return flag; // self._graphView.dm().sm().getSelection().size()===1 && !(data instanceof ht.Grid);
|
|
41
|
-
// });
|
|
28
|
+
topo.alarm.switchAlarmPopPanel(true);
|
|
42
29
|
};
|
|
43
30
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
31
|
+
var onVisibleChange = function onVisibleChange(visible) {
|
|
32
|
+
topo.alarm.switchAlarmPopPanel(visible);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
return /*#__PURE__*/React.createElement(Popup, {
|
|
36
|
+
trigger: /*#__PURE__*/React.createElement(_Button, {
|
|
37
|
+
style: style,
|
|
38
|
+
ref: alarmBtn
|
|
39
|
+
}, /*#__PURE__*/React.createElement(_Icon, {
|
|
40
|
+
type: "warning"
|
|
41
|
+
})),
|
|
42
|
+
cache: true,
|
|
43
|
+
defaultVisible: true,
|
|
44
|
+
visible: alarmPanelIsOpen,
|
|
45
|
+
onVisibleChange: onVisibleChange,
|
|
46
|
+
offset: [112, 5],
|
|
47
|
+
triggerType: "click",
|
|
48
|
+
safeNode: function safeNode() {
|
|
49
|
+
return alarmBtn;
|
|
50
|
+
}
|
|
51
|
+
}, /*#__PURE__*/React.createElement(AlarmListPanel, props));
|
|
50
52
|
}
|
package/es/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { iconFactory } from '@riil-frontend/component-topology-graph';
|
|
1
2
|
import Topology from "./core/components/TopoView";
|
|
3
|
+
import * as htElementUtils from "./utils/htElementUtils";
|
|
2
4
|
export * from "./createTopo";
|
|
3
5
|
export * from "./core/components/titlebar";
|
|
4
|
-
export { Topology };
|
|
6
|
+
export { Topology, htElementUtils, iconFactory };
|
package/es/style.js
CHANGED
|
@@ -23,6 +23,7 @@ import '@alifd/next/es/divider/style';
|
|
|
23
23
|
import '@alifd/next/es/box/style';
|
|
24
24
|
import '@alifd/next/es/dropdown/style';
|
|
25
25
|
import '@alifd/next/es/menu/style';
|
|
26
|
+
import '@alifd/next/es/overlay/style';
|
|
26
27
|
import '@alifd/next/es/radio/style';
|
|
27
28
|
import '@alifd/next/es/checkbox/style';
|
|
28
29
|
import '@alifd/next/es/grid/style';
|
|
@@ -2,8 +2,8 @@ import _Loading from "@alifd/next/es/loading";
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
|
4
4
|
var _excluded = ["topo", "titleBar", "onEnterEdit"];
|
|
5
|
-
import React, { useState, useEffect, useRef, useCallback } from
|
|
6
|
-
import NodataPage from
|
|
5
|
+
import React, { useState, useEffect, useRef, useCallback } from "react";
|
|
6
|
+
import NodataPage from "@riil-frontend/component-topology-common/es/components/NoDataPage/index";
|
|
7
7
|
import BasicTopoView from "../../core/components/TopoView";
|
|
8
8
|
import topoPermissonUtil from "../../utils/topoPermissionUtil";
|
|
9
9
|
import Topo404 from "./Topo404";
|
|
@@ -20,7 +20,7 @@ function NetworkTopology(props) {
|
|
|
20
20
|
onEnterEdit = props.onEnterEdit,
|
|
21
21
|
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
|
22
22
|
|
|
23
|
-
var topoState = topo.store.useModelState(
|
|
23
|
+
var topoState = topo.store.useModelState("topoMod");
|
|
24
24
|
var loading = topoState.loading,
|
|
25
25
|
topoId = topoState.topoId,
|
|
26
26
|
topoData = topoState.topoData,
|
|
@@ -30,7 +30,8 @@ function NetworkTopology(props) {
|
|
|
30
30
|
var viewerProps = _extends({}, props.viewerProps, {
|
|
31
31
|
showLinkConfig: true,
|
|
32
32
|
// 是否显示链路相关配置
|
|
33
|
-
|
|
33
|
+
AlarmListPanel: AlarmListPanel,
|
|
34
|
+
plugins: []
|
|
34
35
|
});
|
|
35
36
|
|
|
36
37
|
return /*#__PURE__*/React.createElement(BasicTopoView, _extends({}, otherProps, {
|
|
@@ -69,9 +70,9 @@ function NetworkTopology(props) {
|
|
|
69
70
|
};
|
|
70
71
|
|
|
71
72
|
return /*#__PURE__*/React.createElement("div", {
|
|
72
|
-
className: styles[
|
|
73
|
+
className: styles["topo-center-view"]
|
|
73
74
|
}, /*#__PURE__*/React.createElement(_Loading, {
|
|
74
|
-
className: styles[
|
|
75
|
+
className: styles["topo-center-mask-loading"],
|
|
75
76
|
visible: loading
|
|
76
77
|
}, renderContent()));
|
|
77
78
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef, useCallback } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import { iconFactory } from '@riil-frontend/component-topology-graph';
|
|
3
3
|
import ResourceList from "../../../../core/editor/components/settings/common/GroupNodeList/ResourceList";
|
|
4
4
|
import { getLayerChildrenNodes } from "../../../../utils/htElementUtils";
|
|
5
|
-
import { getIconById } from "../../../../core/common/icons/icon";
|
|
6
5
|
|
|
7
6
|
function getResourceNodes(store, htNodes) {
|
|
8
7
|
var _store$getModelState = store.getModelState('topoMod'),
|
|
@@ -38,7 +37,7 @@ export default function LayerResourceList(props) {
|
|
|
38
37
|
resource = _ref.resource;
|
|
39
38
|
return {
|
|
40
39
|
title: resource.name,
|
|
41
|
-
img:
|
|
40
|
+
img: iconFactory.getIconImageUrl(node.getImage())
|
|
42
41
|
};
|
|
43
42
|
}); // rlog.debug('LayerResourceList', {nodes, resourceNodes, data});
|
|
44
43
|
|
|
@@ -4,6 +4,7 @@ import _Message from "@alifd/next/es/message";
|
|
|
4
4
|
import _Dialog from "@alifd/next/es/dialog";
|
|
5
5
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
6
6
|
import rlog from '@riil-frontend/component-topology-utils/es/rlog';
|
|
7
|
+
import { isAggLink } from "../../../core/models/utils/linkUtils";
|
|
7
8
|
import linkService from "../../services/link";
|
|
8
9
|
import { getLinkPermission } from "../../utils/linPermissionUtil";
|
|
9
10
|
/**
|
|
@@ -43,6 +44,7 @@ export default (function (_ref) {
|
|
|
43
44
|
var deleteLink = function deleteLink(edge) {
|
|
44
45
|
var id = edge.getTag();
|
|
45
46
|
var link = topo.dataModel.getDataById(id);
|
|
47
|
+
var isAgg = isAggLink(link);
|
|
46
48
|
|
|
47
49
|
if (!checkLinkDeleteable(link)) {
|
|
48
50
|
return;
|
|
@@ -50,7 +52,7 @@ export default (function (_ref) {
|
|
|
50
52
|
|
|
51
53
|
var htTopo = topo.getHtTopo();
|
|
52
54
|
confirmDeleteLink( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
53
|
-
var success, edgesInNodes, _topo$store$getModel, topoState, topoDispatchers, _topoState$data, links, linkGroups;
|
|
55
|
+
var success, edgesInNodes, edgeGroupData, edgeData, _topo$store$getModel, topoState, topoDispatchers, _topoState$data, links, linkGroups;
|
|
54
56
|
|
|
55
57
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
56
58
|
while (1) {
|
|
@@ -72,26 +74,32 @@ export default (function (_ref) {
|
|
|
72
74
|
return _context.abrupt("return");
|
|
73
75
|
|
|
74
76
|
case 6:
|
|
75
|
-
_Message.success('删除成功'); //
|
|
77
|
+
_Message.success('删除成功'); // 获取两个节点间的连线数据列表
|
|
76
78
|
|
|
77
79
|
|
|
78
|
-
|
|
79
|
-
// 获取两个节点间的连线数据列表
|
|
80
|
-
edgesInNodes = htTopo.getEdgeDatasInNodes(edge.getSource(), edge.getTarget()); // 如果仅一条连线且有连线数据,则清空连线组数据,此时展示连线的数据
|
|
80
|
+
edgesInNodes = htTopo.getEdgeDatasInNodes(edge.getSource(), edge.getTarget());
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
if (edgesInNodes.length >= 2) {
|
|
83
|
+
htTopo.deleteEdge(edge);
|
|
84
|
+
} else {
|
|
85
|
+
// 一根线时
|
|
86
|
+
edgeGroupData = htTopo.getEdgeGroupData(edge.getSource(), edge.getTarget());
|
|
87
|
+
edgeData = htTopo.getEdgeData(edge);
|
|
88
|
+
|
|
89
|
+
if (isAgg && edgeData) {
|
|
90
|
+
// 当前是连线组代理 且 有连线数据,清空组数据
|
|
83
91
|
htTopo.setEdgeGroupData(edge.getSource(), edge.getTarget(), null);
|
|
92
|
+
} else if (!isAgg && edgeGroupData) {
|
|
93
|
+
htTopo.setEdgeData(edge, null);
|
|
84
94
|
} else {
|
|
85
95
|
htTopo.deleteEdge(edge);
|
|
86
96
|
}
|
|
87
|
-
} else {
|
|
88
|
-
htTopo.deleteEdge(edge);
|
|
89
97
|
} // 更新数据
|
|
90
98
|
|
|
91
99
|
|
|
92
100
|
_topo$store$getModel = topo.store.getModel('topoMod'), topoState = _topo$store$getModel[0], topoDispatchers = _topo$store$getModel[1];
|
|
93
101
|
_topoState$data = topoState.data, links = _topoState$data.links, linkGroups = _topoState$data.linkGroups;
|
|
94
|
-
_context.next =
|
|
102
|
+
_context.next = 13;
|
|
95
103
|
return topoDispatchers.update({
|
|
96
104
|
data: _extends({}, topoState.data, {
|
|
97
105
|
links: links.filter(function (link) {
|
|
@@ -103,11 +111,11 @@ export default (function (_ref) {
|
|
|
103
111
|
})
|
|
104
112
|
});
|
|
105
113
|
|
|
106
|
-
case
|
|
114
|
+
case 13:
|
|
107
115
|
// 刷新链路动态线宽
|
|
108
116
|
topo.linkDynamicStyleExecutor.execute();
|
|
109
117
|
|
|
110
|
-
case
|
|
118
|
+
case 14:
|
|
111
119
|
case "end":
|
|
112
120
|
return _context.stop();
|
|
113
121
|
}
|
|
@@ -3,22 +3,17 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports
|
|
6
|
+
exports.DEFAULT_NODE_ICONS = void 0;
|
|
7
7
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _componentTopologyGraph = require("@riil-frontend/component-topology-graph");
|
|
11
11
|
|
|
12
|
-
function getIconImgUrlById(id) {
|
|
13
|
-
return (0, _ciTypeIcons.getIconMap)()[id];
|
|
14
|
-
}
|
|
15
12
|
/**
|
|
16
13
|
* 资源面板图片-默认节点图标
|
|
17
14
|
*
|
|
18
15
|
* @type {(*|{url: *})[]}
|
|
19
16
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
17
|
var DEFAULT_NODE_ICONS = [{
|
|
23
18
|
id: 'ciType.switch',
|
|
24
19
|
name: '交换机'
|
|
@@ -52,11 +47,7 @@ var DEFAULT_NODE_ICONS = [{
|
|
|
52
47
|
name: '互联网'
|
|
53
48
|
}].map(function (item) {
|
|
54
49
|
return (0, _extends2["default"])({}, item, {
|
|
55
|
-
url:
|
|
50
|
+
url: _componentTopologyGraph.iconFactory.getIconImageUrl(item.id)
|
|
56
51
|
});
|
|
57
52
|
});
|
|
58
|
-
exports.DEFAULT_NODE_ICONS = DEFAULT_NODE_ICONS;
|
|
59
|
-
|
|
60
|
-
var _default = (0, _extends2["default"])({}, (0, _ciTypeIcons.getIconMap)());
|
|
61
|
-
|
|
62
|
-
exports["default"] = _default;
|
|
53
|
+
exports.DEFAULT_NODE_ICONS = DEFAULT_NODE_ICONS;
|
|
@@ -8,8 +8,6 @@ exports.getCustomIconIdFromHtId = getCustomIconIdFromHtId;
|
|
|
8
8
|
exports.getEditorIcons = getEditorIcons;
|
|
9
9
|
exports.getGroupDefaultIcons = getGroupDefaultIcons;
|
|
10
10
|
exports.getGroupIconGroups = getGroupIconGroups;
|
|
11
|
-
exports.getIconById = getIconById;
|
|
12
|
-
exports.getIconMap = getIconMap;
|
|
13
11
|
exports.getNodeDefaultIcons = getNodeDefaultIcons;
|
|
14
12
|
exports.getNodeIconGroups = getNodeIconGroups;
|
|
15
13
|
exports.getUserCustomIcons = getUserCustomIcons;
|
|
@@ -18,14 +16,10 @@ exports.transformCustomIcons2HtIcons = transformCustomIcons2HtIcons;
|
|
|
18
16
|
|
|
19
17
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
20
18
|
|
|
21
|
-
var _defaultIcons =
|
|
19
|
+
var _defaultIcons = require("./defaultIcons");
|
|
22
20
|
|
|
23
21
|
var _networkTopoCiTypeIcons = _interopRequireDefault(require("./networkTopoCiTypeIcons"));
|
|
24
22
|
|
|
25
|
-
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); }
|
|
26
|
-
|
|
27
|
-
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; }
|
|
28
|
-
|
|
29
23
|
var groupDefaultIcons = [{
|
|
30
24
|
id: 'editor.icon.cloud.medium',
|
|
31
25
|
name: '区域',
|
|
@@ -101,14 +95,6 @@ function transformCustomIcons2HtIcons(icons) {
|
|
|
101
95
|
function getUserCustomIcons(topo) {
|
|
102
96
|
var uploadIcons = topo.store.getModelState('iconManage').icons;
|
|
103
97
|
return [].concat(transformCustomIcons2HtIcons(uploadIcons.node));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function getIconMap(topo) {
|
|
107
|
-
var bizIconMap = {};
|
|
108
|
-
[].concat(groupDefaultIcons, getNodeDefaultIcons(topo), getUserCustomIcons(topo)).forEach(function (icon) {
|
|
109
|
-
bizIconMap[icon.id] = icon;
|
|
110
|
-
});
|
|
111
|
-
return (0, _extends2["default"])({}, _defaultIcons["default"], bizIconMap);
|
|
112
98
|
} // 获得节点图标列表
|
|
113
99
|
|
|
114
100
|
|
|
@@ -130,19 +116,4 @@ function getGroupIconGroups(topo) {
|
|
|
130
116
|
name: '自定义',
|
|
131
117
|
icons: getUserCustomIcons(topo)
|
|
132
118
|
}];
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
function getIconById(id, topo) {
|
|
136
|
-
var iconMap = getIconMap(topo);
|
|
137
|
-
var icon = iconMap[id];
|
|
138
|
-
|
|
139
|
-
if (typeof icon === 'string') {
|
|
140
|
-
return icon.replace('.json', '.png');
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
if (!icon) {
|
|
144
|
-
console.warn('图标不存在', id, iconMap);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
return icon === null || icon === void 0 ? void 0 : icon.url;
|
|
148
119
|
}
|
|
@@ -5,8 +5,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
|
|
8
|
-
var _dialog = _interopRequireDefault(require("@alifd/next/lib/dialog"));
|
|
9
|
-
|
|
10
8
|
var _list = _interopRequireDefault(require("@alifd/next/lib/list"));
|
|
11
9
|
|
|
12
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -21,6 +19,8 @@ var _indexModule = _interopRequireDefault(require("./index.module.scss"));
|
|
|
21
19
|
|
|
22
20
|
var _mocks = require("./mocks");
|
|
23
21
|
|
|
22
|
+
var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
|
|
23
|
+
|
|
24
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
25
|
|
|
26
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; }
|
|
@@ -29,18 +29,16 @@ function AlarmListPanel(props, ref) {
|
|
|
29
29
|
// 传入参数
|
|
30
30
|
var topo = props.topo,
|
|
31
31
|
target = props.toolBarRef,
|
|
32
|
+
titleBarRef = props.titleBarRef,
|
|
32
33
|
visible = props.visible;
|
|
33
|
-
var alarm = topo.alarm;
|
|
34
34
|
|
|
35
35
|
var _useState = (0, _react.useState)([]),
|
|
36
36
|
alarmList = _useState[0],
|
|
37
37
|
setAlarmList = _useState[1];
|
|
38
38
|
|
|
39
|
-
var _topo$store$useModel = topo.store.useModel(
|
|
39
|
+
var _topo$store$useModel = topo.store.useModel("topoAlarm"),
|
|
40
40
|
alarmState = _topo$store$useModel[0],
|
|
41
|
-
alarmDispatchers = _topo$store$useModel[1];
|
|
42
|
-
// const{ alarmPanelIsOpen } = store.getState().topoMod;
|
|
43
|
-
|
|
41
|
+
alarmDispatchers = _topo$store$useModel[1];
|
|
44
42
|
|
|
45
43
|
var alarmData = alarmState.alarmData,
|
|
46
44
|
alarmPanelIsOpen = alarmState.alarmPanelIsOpen,
|
|
@@ -52,42 +50,20 @@ function AlarmListPanel(props, ref) {
|
|
|
52
50
|
};
|
|
53
51
|
|
|
54
52
|
(0, _react.useEffect)(function () {
|
|
55
|
-
// console.log(
|
|
56
|
-
// "AlarmListPanel-useEffect",
|
|
57
|
-
// topo,
|
|
58
|
-
// alarmPanelIsOpen,
|
|
59
|
-
// alarmIsOpened,
|
|
60
|
-
// alarmData,
|
|
61
|
-
// alarmList
|
|
62
|
-
// );
|
|
63
53
|
if (alarmData) {
|
|
64
54
|
var _alarmData$slice;
|
|
65
55
|
|
|
66
|
-
topo.alarm.switchAlarmPopPanel(alarmIsOpened &&
|
|
67
|
-
|
|
56
|
+
_rlog["default"].debug("AlarmListPanel-useEffect", alarmIsOpened); // topo.alarm.switchAlarmPopPanel(alarmIsOpened && alarmData?.length > 0);
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
setAlarmList((_alarmData$slice = alarmData === null || alarmData === void 0 ? void 0 : alarmData.slice(0, 10)) !== null && _alarmData$slice !== void 0 ? _alarmData$slice : []);
|
|
68
60
|
} else {
|
|
69
61
|
setAlarmList([]);
|
|
70
62
|
}
|
|
71
63
|
}, [alarmData]);
|
|
72
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
64
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
73
65
|
className: _indexModule["default"].AlarmListPanel,
|
|
74
|
-
id: "AlarmListPanel"
|
|
75
|
-
align: false,
|
|
76
|
-
top: 100,
|
|
77
|
-
overlayProps: {
|
|
78
|
-
style: {
|
|
79
|
-
right: 15,
|
|
80
|
-
top: 100
|
|
81
|
-
},
|
|
82
|
-
target: {
|
|
83
|
-
target: target
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
onClose: onClose,
|
|
87
|
-
hasMask: false,
|
|
88
|
-
closeMode: "close",
|
|
89
|
-
visible: alarmPanelIsOpen,
|
|
90
|
-
footer: false
|
|
66
|
+
id: "AlarmListPanel"
|
|
91
67
|
}, /*#__PURE__*/_react["default"].createElement(_list["default"], {
|
|
92
68
|
header: /*#__PURE__*/_react["default"].createElement("div", {
|
|
93
69
|
style: {
|
|
@@ -98,7 +74,14 @@ function AlarmListPanel(props, ref) {
|
|
|
98
74
|
}, "\u5173\u8054\u544A\u8B66\u4FE1\u606F"), /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
|
|
99
75
|
className: _indexModule["default"].listTitleLink,
|
|
100
76
|
to: "/default/alarmCenter/alarmList"
|
|
101
|
-
}, "\u67E5\u770B\u6240\u6709\u544A\u8B66")
|
|
77
|
+
}, "\u67E5\u770B\u6240\u6709\u544A\u8B66"), /*#__PURE__*/_react["default"].createElement("a", {
|
|
78
|
+
role: "button",
|
|
79
|
+
"aria-label": "\u5173\u95ED",
|
|
80
|
+
className: "next-dialog-close",
|
|
81
|
+
onClick: onClose
|
|
82
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
83
|
+
className: "next-icon next-icon-close next-medium next-dialog-close-icon"
|
|
84
|
+
}))),
|
|
102
85
|
dataSource: alarmList,
|
|
103
86
|
emptyContent: /*#__PURE__*/_react["default"].createElement(_componentNoDataPage["default"], {
|
|
104
87
|
className: _indexModule["default"].emptyContent,
|
|
@@ -93,6 +93,7 @@ var TopoView = function TopoView(props) {
|
|
|
93
93
|
tData = _useState[0],
|
|
94
94
|
setTData = _useState[1];
|
|
95
95
|
|
|
96
|
+
var titleBarRef = (0, _react.useRef)();
|
|
96
97
|
var topoEdit = (0, _useTopoEdit["default"])({
|
|
97
98
|
topo: topo,
|
|
98
99
|
topoId: topoId,
|
|
@@ -300,6 +301,7 @@ var TopoView = function TopoView(props) {
|
|
|
300
301
|
}), isEditMode && /*#__PURE__*/_react["default"].createElement(_EditorPlugin["default"], {
|
|
301
302
|
topo: topo,
|
|
302
303
|
topoEdit: topoEdit,
|
|
304
|
+
titleBarRef: titleBarRef,
|
|
303
305
|
topoContext: {
|
|
304
306
|
urlParams: urlParams
|
|
305
307
|
},
|