@riil-frontend/component-topology 5.0.0-alpha.21 → 5.0.0-alpha.22
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 +12 -12
- package/es/core/hooks/useTopoEdit.js +205 -153
- package/es/core/models/HistoryManager.js +4 -0
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +51 -249
- package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +256 -0
- package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +2 -2
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +37 -21
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.js +40 -2
- package/lib/core/hooks/useTopoEdit.js +204 -152
- package/lib/core/models/HistoryManager.js +4 -0
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +51 -261
- package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +283 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +2 -2
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +37 -21
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.js +41 -2
- package/package.json +2 -2
|
@@ -50,7 +50,7 @@ var _topoFactory = _interopRequireDefault(require("./topoFactory"));
|
|
|
50
50
|
var _ElementTagTipConfig = _interopRequireDefault(require("./tagstips/ElementTagTipConfig"));
|
|
51
51
|
|
|
52
52
|
// eslint-disable-next-line no-undef
|
|
53
|
-
var version = typeof "5.0.0-alpha.
|
|
53
|
+
var version = typeof "5.0.0-alpha.22" === 'string' ? "5.0.0-alpha.22" : null;
|
|
54
54
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
|
55
55
|
/**
|
|
56
56
|
* 拓扑显示和编辑
|
|
@@ -3,283 +3,73 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports["default"] =
|
|
7
|
-
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
|
|
10
|
-
var _drawer = _interopRequireDefault(require("@alifd/next/lib/drawer"));
|
|
6
|
+
exports["default"] = ResourceDetail;
|
|
11
7
|
|
|
12
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
9
|
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
var _componentTopologyGraph = require("@riil-frontend/component-topology-graph");
|
|
17
|
-
|
|
18
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
-
|
|
20
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
21
11
|
|
|
22
12
|
var _FullheightTab = _interopRequireDefault(require("../../../../../components/FullheightTab"));
|
|
23
13
|
|
|
24
|
-
var _overview = _interopRequireDefault(require("../../../../services/overview"));
|
|
25
|
-
|
|
26
14
|
var _ClusterMemberTable = _interopRequireDefault(require("./components/ClusterMemberTable"));
|
|
27
15
|
|
|
28
|
-
var _DrawerTitle = _interopRequireDefault(require("./components/DrawerTitle"));
|
|
29
|
-
|
|
30
16
|
var _ResourceOverview = _interopRequireDefault(require("./components/ResourceOverview"));
|
|
31
17
|
|
|
32
18
|
var _WebConsoleContainer = _interopRequireDefault(require("./components/WebConsole/WebConsoleContainer"));
|
|
33
19
|
|
|
34
20
|
var _indexModule = _interopRequireDefault(require("./index.module.scss"));
|
|
35
21
|
|
|
36
|
-
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); }
|
|
37
|
-
|
|
38
|
-
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; }
|
|
39
|
-
|
|
40
|
-
// 基本信息
|
|
41
22
|
function ResourceDetail(props) {
|
|
42
|
-
var
|
|
43
|
-
canShow = props.canShow;
|
|
44
|
-
|
|
45
|
-
var _topo$store$useModel = topo.store.useModel('topoBaseInfoOverview'),
|
|
46
|
-
topoState = _topo$store$useModel[0],
|
|
47
|
-
topoDispatchers = _topo$store$useModel[1];
|
|
48
|
-
|
|
49
|
-
var _topo$store$useModelS = topo.store.useModelState('topoMod'),
|
|
50
|
-
topoId = _topo$store$useModelS.topoId,
|
|
51
|
-
topoModData = _topo$store$useModelS.data;
|
|
52
|
-
|
|
53
|
-
var _topo$store$useModelS2 = topo.store.useModelState("lock"),
|
|
54
|
-
lock = _topo$store$useModelS2.lock;
|
|
55
|
-
|
|
56
|
-
var _useState = (0, _react.useState)(false),
|
|
57
|
-
visible = _useState[0],
|
|
58
|
-
setVisible = _useState[1];
|
|
59
|
-
|
|
60
|
-
var _useState2 = (0, _react.useState)({
|
|
61
|
-
id: '',
|
|
62
|
-
name: '',
|
|
63
|
-
type: '',
|
|
64
|
-
// 类型: node、link
|
|
65
|
-
ciType: '',
|
|
66
|
-
ciName: ''
|
|
67
|
-
}),
|
|
68
|
-
activeData = _useState2[0],
|
|
69
|
-
setActiveData = _useState2[1];
|
|
70
|
-
|
|
71
|
-
var _useState3 = (0, _react.useState)(''),
|
|
72
|
-
userId = _useState3[0],
|
|
73
|
-
setUserId = _useState3[1];
|
|
74
|
-
|
|
75
|
-
var resourceData = topo.dataModel.useDataById(activeData.id);
|
|
76
|
-
(0, _react.useEffect)(function () {
|
|
77
|
-
var notifier = topo.view.topoClient.notifier;
|
|
78
|
-
notifier.on(_componentTopologyGraph.TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
|
|
79
|
-
notifier.on('topo_element_click', changeOverview);
|
|
80
|
-
return function () {
|
|
81
|
-
notifier.off(_componentTopologyGraph.TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
|
|
82
|
-
notifier.off('topo_element_click', changeOverview); // 清除数据
|
|
83
|
-
|
|
84
|
-
topoDispatchers.update({
|
|
85
|
-
id: '',
|
|
86
|
-
metricCodes: []
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
}, [lock]); // 解决切换拓扑图隐藏概览
|
|
90
|
-
|
|
91
|
-
(0, _react.useEffect)(function () {
|
|
92
|
-
setVisible(false); // TODO 其他数据重置
|
|
93
|
-
}, [topoId]);
|
|
94
|
-
|
|
95
|
-
function getUser() {
|
|
96
|
-
return _getUser.apply(this, arguments);
|
|
97
|
-
} // select切换
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
function _getUser() {
|
|
101
|
-
_getUser = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
102
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
103
|
-
while (1) {
|
|
104
|
-
switch (_context2.prev = _context2.next) {
|
|
105
|
-
case 0:
|
|
106
|
-
setUserId(function (prev) {
|
|
107
|
-
console.log('获取用户id', prev); // 如果已经获取过,就不再重新获取
|
|
108
|
-
|
|
109
|
-
if (!prev) {
|
|
110
|
-
(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
111
|
-
var res;
|
|
112
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
113
|
-
while (1) {
|
|
114
|
-
switch (_context.prev = _context.next) {
|
|
115
|
-
case 0:
|
|
116
|
-
_context.next = 2;
|
|
117
|
-
return _overview["default"].getUserId();
|
|
118
|
-
|
|
119
|
-
case 2:
|
|
120
|
-
res = _context.sent;
|
|
121
|
-
setUserId((res === null || res === void 0 ? void 0 : res.user_id) || '');
|
|
122
|
-
|
|
123
|
-
case 4:
|
|
124
|
-
case "end":
|
|
125
|
-
return _context.stop();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}, _callee);
|
|
129
|
-
}))();
|
|
130
|
-
}
|
|
23
|
+
var _topo$viewProps, _topo$viewProps$viewe, _topo$viewProps$viewe2;
|
|
131
24
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
25
|
+
var topo = props.topo,
|
|
26
|
+
userId = props.userId,
|
|
27
|
+
activeData = props.activeData,
|
|
28
|
+
resourceData = props.resourceData; // {/* <Tab.Item title="操作" key="2">操作</Tab.Item>
|
|
29
|
+
// <Tab.Item title="网络信息表" key="3">网络信息表</Tab.Item>
|
|
30
|
+
// <Tab.Item title="Web工作台" key="4">Web工作台</Tab.Item> */}
|
|
31
|
+
|
|
32
|
+
var tabBodys = [{
|
|
33
|
+
title: '资源概览',
|
|
34
|
+
content: /*#__PURE__*/_react["default"].createElement(_ResourceOverview["default"], (0, _extends2["default"])({}, props, activeData, {
|
|
35
|
+
userId: userId
|
|
36
|
+
}))
|
|
37
|
+
}, {
|
|
38
|
+
title: '集群成员',
|
|
39
|
+
content: /*#__PURE__*/_react["default"].createElement(_ClusterMemberTable["default"], {
|
|
40
|
+
data: resourceData,
|
|
41
|
+
topo: topo
|
|
42
|
+
}),
|
|
43
|
+
visible: !!resourceData.cluster
|
|
44
|
+
}, {
|
|
45
|
+
title: 'Web工作台',
|
|
46
|
+
content: /*#__PURE__*/_react["default"].createElement(_WebConsoleContainer["default"], {
|
|
47
|
+
data: resourceData,
|
|
48
|
+
topo: topo
|
|
49
|
+
}),
|
|
50
|
+
visible: activeData.type === 'node' && ((_topo$viewProps = topo.viewProps) === null || _topo$viewProps === void 0 ? void 0 : (_topo$viewProps$viewe = _topo$viewProps.viewerProps) === null || _topo$viewProps$viewe === void 0 ? void 0 : (_topo$viewProps$viewe2 = _topo$viewProps$viewe.topoContext) === null || _topo$viewProps$viewe2 === void 0 ? void 0 : _topo$viewProps$viewe2.isNetworkTopo)
|
|
51
|
+
}].filter(function (item) {
|
|
52
|
+
return item.visible !== false;
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
if (tabBodys.length === 1) {
|
|
56
|
+
return /*#__PURE__*/_react["default"].createElement(_ResourceOverview["default"], (0, _extends2["default"])({}, props, activeData, {
|
|
57
|
+
userId: userId,
|
|
58
|
+
style: {
|
|
59
|
+
overflowY: 'auto',
|
|
60
|
+
height: '100%'
|
|
61
|
+
}
|
|
141
62
|
}));
|
|
142
|
-
return _getUser.apply(this, arguments);
|
|
143
63
|
}
|
|
144
64
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
function openOverviewByHtElement(element) {
|
|
158
|
-
openOverview(element.getAttrObject());
|
|
159
|
-
} // 双击打开
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
function openOverview(data) {
|
|
163
|
-
if (lock) {
|
|
164
|
-
init(data, 'doubleClick');
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
function init(data, targetType) {
|
|
169
|
-
console.log('初始化基本信息', data, targetType);
|
|
170
|
-
var id = data.id,
|
|
171
|
-
name = data.name,
|
|
172
|
-
type = data.type,
|
|
173
|
-
ciType = data.ciType,
|
|
174
|
-
ciName = data.ciName; // 仅展示资源和链路的概览
|
|
175
|
-
|
|
176
|
-
var resourceData = topo.dataModel.getDataById(id);
|
|
177
|
-
|
|
178
|
-
if (!resourceData) {
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
var operation = resourceData.operation,
|
|
183
|
-
permission = resourceData.permission;
|
|
184
|
-
if ( // 没有权限不显示
|
|
185
|
-
!operation && !(permission !== null && permission !== void 0 && permission.readable) || // 没有citype不显示
|
|
186
|
-
!ciType) return;
|
|
187
|
-
var htElement = topo.getDataModel().getDataByTag(id);
|
|
188
|
-
|
|
189
|
-
if (!canShow(htElement)) {
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
setActiveData({
|
|
194
|
-
id: id,
|
|
195
|
-
name: name,
|
|
196
|
-
type: {
|
|
197
|
-
linkGroup: 'link',
|
|
198
|
-
group: 'node'
|
|
199
|
-
}[type] || type,
|
|
200
|
-
ciType: ciType,
|
|
201
|
-
ciName: ciName
|
|
202
|
-
}); // 显示隐藏
|
|
203
|
-
|
|
204
|
-
targetType === 'doubleClick' && setVisible(true); // userId
|
|
205
|
-
|
|
206
|
-
getUser();
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
var renderContent = function renderContent() {
|
|
210
|
-
var _topo$viewProps, _topo$viewProps$viewe, _topo$viewProps$viewe2;
|
|
211
|
-
|
|
212
|
-
// {/* <Tab.Item title="操作" key="2">操作</Tab.Item>
|
|
213
|
-
// <Tab.Item title="网络信息表" key="3">网络信息表</Tab.Item>
|
|
214
|
-
// <Tab.Item title="Web工作台" key="4">Web工作台</Tab.Item> */}
|
|
215
|
-
var tabBodys = [{
|
|
216
|
-
title: '资源概览',
|
|
217
|
-
content: /*#__PURE__*/_react["default"].createElement(_ResourceOverview["default"], (0, _extends2["default"])({}, props, activeData, {
|
|
218
|
-
userId: userId
|
|
219
|
-
}))
|
|
220
|
-
}, {
|
|
221
|
-
title: '集群成员',
|
|
222
|
-
content: /*#__PURE__*/_react["default"].createElement(_ClusterMemberTable["default"], {
|
|
223
|
-
data: resourceData,
|
|
224
|
-
topo: topo
|
|
225
|
-
}),
|
|
226
|
-
visible: resourceData.cluster
|
|
227
|
-
}, {
|
|
228
|
-
title: 'Web工作台',
|
|
229
|
-
content: /*#__PURE__*/_react["default"].createElement(_WebConsoleContainer["default"], {
|
|
230
|
-
data: resourceData,
|
|
231
|
-
topo: topo
|
|
232
|
-
}),
|
|
233
|
-
visible: activeData.type === 'node' && ((_topo$viewProps = topo.viewProps) === null || _topo$viewProps === void 0 ? void 0 : (_topo$viewProps$viewe = _topo$viewProps.viewerProps) === null || _topo$viewProps$viewe === void 0 ? void 0 : (_topo$viewProps$viewe2 = _topo$viewProps$viewe.topoContext) === null || _topo$viewProps$viewe2 === void 0 ? void 0 : _topo$viewProps$viewe2.isNetworkTopo)
|
|
234
|
-
}].filter(function (item) {
|
|
235
|
-
return item.visible !== false;
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
if (tabBodys.length === 1) {
|
|
239
|
-
return /*#__PURE__*/_react["default"].createElement(_ResourceOverview["default"], (0, _extends2["default"])({}, props, activeData, {
|
|
240
|
-
userId: userId,
|
|
241
|
-
style: {
|
|
242
|
-
overflowY: 'auto',
|
|
243
|
-
height: '100%'
|
|
244
|
-
}
|
|
245
|
-
}));
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
249
|
-
className: _indexModule["default"].tabContainer
|
|
250
|
-
}, /*#__PURE__*/_react["default"].createElement(_FullheightTab["default"], {
|
|
251
|
-
className: _indexModule["default"].tab
|
|
252
|
-
}, tabBodys.map(function (item, key) {
|
|
253
|
-
return /*#__PURE__*/_react["default"].createElement(_FullheightTab["default"].Item, {
|
|
254
|
-
title: item.title,
|
|
255
|
-
key: item.title
|
|
256
|
-
}, item.content);
|
|
257
|
-
})));
|
|
258
|
-
};
|
|
259
|
-
|
|
260
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_drawer["default"], {
|
|
261
|
-
className: _indexModule["default"].baseInfo,
|
|
262
|
-
closeMode: ['close', 'esc'],
|
|
263
|
-
visible: visible,
|
|
264
|
-
title: /*#__PURE__*/_react["default"].createElement(_DrawerTitle["default"], (0, _extends2["default"])({}, activeData, {
|
|
265
|
-
topo: topo,
|
|
266
|
-
onChange: onChangeActive
|
|
267
|
-
})),
|
|
268
|
-
width: 580,
|
|
269
|
-
hasMask: false,
|
|
270
|
-
onClose: function onClose() {
|
|
271
|
-
return setVisible(false);
|
|
272
|
-
}
|
|
273
|
-
}, visible && resourceData && renderContent()));
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
ResourceDetail.propTypes = {
|
|
277
|
-
canShow: _propTypes["default"].func
|
|
278
|
-
};
|
|
279
|
-
ResourceDetail.defaultProps = {
|
|
280
|
-
canShow: function canShow(htElement) {
|
|
281
|
-
return true;
|
|
282
|
-
}
|
|
283
|
-
};
|
|
284
|
-
var _default = ResourceDetail;
|
|
285
|
-
exports["default"] = _default;
|
|
65
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
66
|
+
className: _indexModule["default"].tabContainer
|
|
67
|
+
}, /*#__PURE__*/_react["default"].createElement(_FullheightTab["default"], {
|
|
68
|
+
className: _indexModule["default"].tab
|
|
69
|
+
}, tabBodys.map(function (item, key) {
|
|
70
|
+
return /*#__PURE__*/_react["default"].createElement(_FullheightTab["default"].Item, {
|
|
71
|
+
title: item.title,
|
|
72
|
+
key: item.title
|
|
73
|
+
}, item.content);
|
|
74
|
+
})));
|
|
75
|
+
}
|
|
@@ -0,0 +1,283 @@
|
|
|
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 _drawer = _interopRequireDefault(require("@alifd/next/lib/drawer"));
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _componentTopologyGraph = require("@riil-frontend/component-topology-graph");
|
|
17
|
+
|
|
18
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _FullheightTab = _interopRequireDefault(require("../../../../../components/FullheightTab"));
|
|
23
|
+
|
|
24
|
+
var _overview = _interopRequireDefault(require("../../../../services/overview"));
|
|
25
|
+
|
|
26
|
+
var _ClusterMemberTable = _interopRequireDefault(require("./components/ClusterMemberTable"));
|
|
27
|
+
|
|
28
|
+
var _DrawerTitle = _interopRequireDefault(require("./components/DrawerTitle"));
|
|
29
|
+
|
|
30
|
+
var _ResourceOverview = _interopRequireDefault(require("./components/ResourceOverview"));
|
|
31
|
+
|
|
32
|
+
var _WebConsoleContainer = _interopRequireDefault(require("./components/WebConsole/WebConsoleContainer"));
|
|
33
|
+
|
|
34
|
+
var _indexModule = _interopRequireDefault(require("./index.module.scss"));
|
|
35
|
+
|
|
36
|
+
var _ResourceDetail = _interopRequireDefault(require("./ResourceDetail"));
|
|
37
|
+
|
|
38
|
+
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); }
|
|
39
|
+
|
|
40
|
+
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; }
|
|
41
|
+
|
|
42
|
+
// 基本信息
|
|
43
|
+
function ResourceDetailDrawer(props) {
|
|
44
|
+
var topo = props.topo,
|
|
45
|
+
canShow = props.canShow;
|
|
46
|
+
|
|
47
|
+
var _topo$store$useModel = topo.store.useModel('topoBaseInfoOverview'),
|
|
48
|
+
topoState = _topo$store$useModel[0],
|
|
49
|
+
topoDispatchers = _topo$store$useModel[1];
|
|
50
|
+
|
|
51
|
+
var _topo$store$useModelS = topo.store.useModelState('topoMod'),
|
|
52
|
+
topoId = _topo$store$useModelS.topoId,
|
|
53
|
+
topoModData = _topo$store$useModelS.data;
|
|
54
|
+
|
|
55
|
+
var _topo$store$useModelS2 = topo.store.useModelState("lock"),
|
|
56
|
+
lock = _topo$store$useModelS2.lock;
|
|
57
|
+
|
|
58
|
+
var _useState = (0, _react.useState)(false),
|
|
59
|
+
visible = _useState[0],
|
|
60
|
+
setVisible = _useState[1];
|
|
61
|
+
|
|
62
|
+
var _useState2 = (0, _react.useState)({
|
|
63
|
+
id: '',
|
|
64
|
+
name: '',
|
|
65
|
+
type: '',
|
|
66
|
+
// 类型: node、link
|
|
67
|
+
ciType: '',
|
|
68
|
+
ciName: ''
|
|
69
|
+
}),
|
|
70
|
+
activeData = _useState2[0],
|
|
71
|
+
setActiveData = _useState2[1];
|
|
72
|
+
|
|
73
|
+
var _useState3 = (0, _react.useState)(''),
|
|
74
|
+
userId = _useState3[0],
|
|
75
|
+
setUserId = _useState3[1];
|
|
76
|
+
|
|
77
|
+
var resourceData = topo.dataModel.useDataById(activeData.id);
|
|
78
|
+
(0, _react.useEffect)(function () {
|
|
79
|
+
var notifier = topo.view.topoClient.notifier;
|
|
80
|
+
notifier.on(_componentTopologyGraph.TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
|
|
81
|
+
notifier.on('topo_element_click', changeOverview);
|
|
82
|
+
return function () {
|
|
83
|
+
notifier.off(_componentTopologyGraph.TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
|
|
84
|
+
notifier.off('topo_element_click', changeOverview); // 清除数据
|
|
85
|
+
|
|
86
|
+
topoDispatchers.update({
|
|
87
|
+
id: '',
|
|
88
|
+
metricCodes: []
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
}, [lock]); // 解决切换拓扑图隐藏概览
|
|
92
|
+
|
|
93
|
+
(0, _react.useEffect)(function () {
|
|
94
|
+
setVisible(false); // TODO 其他数据重置
|
|
95
|
+
}, [topoId]);
|
|
96
|
+
|
|
97
|
+
function getUser() {
|
|
98
|
+
return _getUser.apply(this, arguments);
|
|
99
|
+
} // select切换
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
function _getUser() {
|
|
103
|
+
_getUser = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
104
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
105
|
+
while (1) {
|
|
106
|
+
switch (_context2.prev = _context2.next) {
|
|
107
|
+
case 0:
|
|
108
|
+
setUserId(function (prev) {
|
|
109
|
+
console.log('获取用户id', prev); // 如果已经获取过,就不再重新获取
|
|
110
|
+
|
|
111
|
+
if (!prev) {
|
|
112
|
+
(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
113
|
+
var res;
|
|
114
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
115
|
+
while (1) {
|
|
116
|
+
switch (_context.prev = _context.next) {
|
|
117
|
+
case 0:
|
|
118
|
+
_context.next = 2;
|
|
119
|
+
return _overview["default"].getUserId();
|
|
120
|
+
|
|
121
|
+
case 2:
|
|
122
|
+
res = _context.sent;
|
|
123
|
+
setUserId((res === null || res === void 0 ? void 0 : res.user_id) || '');
|
|
124
|
+
|
|
125
|
+
case 4:
|
|
126
|
+
case "end":
|
|
127
|
+
return _context.stop();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}, _callee);
|
|
131
|
+
}))();
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return prev;
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
case 1:
|
|
138
|
+
case "end":
|
|
139
|
+
return _context2.stop();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}, _callee2);
|
|
143
|
+
}));
|
|
144
|
+
return _getUser.apply(this, arguments);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
function onChangeActive(activeNode) {
|
|
148
|
+
activeNode && init((0, _extends2["default"])({}, activeNode, {
|
|
149
|
+
type: 'node'
|
|
150
|
+
}), 'select');
|
|
151
|
+
} // 单击切换
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
function changeOverview(node) {
|
|
155
|
+
var data = node.getAttrObject();
|
|
156
|
+
init(data, 'click');
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function openOverviewByHtElement(element) {
|
|
160
|
+
openOverview(element.getAttrObject());
|
|
161
|
+
} // 双击打开
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
function openOverview(data) {
|
|
165
|
+
if (lock) {
|
|
166
|
+
init(data, 'doubleClick');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function init(data, targetType) {
|
|
171
|
+
console.log('初始化基本信息', data, targetType);
|
|
172
|
+
var id = data.id,
|
|
173
|
+
name = data.name,
|
|
174
|
+
type = data.type,
|
|
175
|
+
ciType = data.ciType,
|
|
176
|
+
ciName = data.ciName; // 仅展示资源和链路的概览
|
|
177
|
+
|
|
178
|
+
var resourceData = topo.dataModel.getDataById(id);
|
|
179
|
+
|
|
180
|
+
if (!resourceData) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
var operation = resourceData.operation,
|
|
185
|
+
permission = resourceData.permission;
|
|
186
|
+
if ( // 没有权限不显示
|
|
187
|
+
!operation && !(permission !== null && permission !== void 0 && permission.readable) || // 没有citype不显示
|
|
188
|
+
!ciType) return;
|
|
189
|
+
var htElement = topo.getDataModel().getDataByTag(id);
|
|
190
|
+
|
|
191
|
+
if (!canShow(htElement)) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
setActiveData({
|
|
196
|
+
id: id,
|
|
197
|
+
name: name,
|
|
198
|
+
type: {
|
|
199
|
+
linkGroup: 'link',
|
|
200
|
+
group: 'node'
|
|
201
|
+
}[type] || type,
|
|
202
|
+
ciType: ciType,
|
|
203
|
+
ciName: ciName
|
|
204
|
+
}); // 显示隐藏
|
|
205
|
+
|
|
206
|
+
targetType === 'doubleClick' && setVisible(true); // userId
|
|
207
|
+
|
|
208
|
+
getUser();
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
var renderContent = function renderContent() {
|
|
212
|
+
var _topo$viewProps, _topo$viewProps$viewe, _topo$viewProps$viewe2;
|
|
213
|
+
|
|
214
|
+
// {/* <Tab.Item title="操作" key="2">操作</Tab.Item>
|
|
215
|
+
// <Tab.Item title="网络信息表" key="3">网络信息表</Tab.Item>
|
|
216
|
+
// <Tab.Item title="Web工作台" key="4">Web工作台</Tab.Item> */}
|
|
217
|
+
var tabBodys = [{
|
|
218
|
+
title: '资源概览',
|
|
219
|
+
content: /*#__PURE__*/_react["default"].createElement(_ResourceOverview["default"], (0, _extends2["default"])({}, props, activeData, {
|
|
220
|
+
userId: userId
|
|
221
|
+
}))
|
|
222
|
+
}, {
|
|
223
|
+
title: '集群成员',
|
|
224
|
+
content: /*#__PURE__*/_react["default"].createElement(_ClusterMemberTable["default"], {
|
|
225
|
+
data: resourceData,
|
|
226
|
+
topo: topo
|
|
227
|
+
}),
|
|
228
|
+
visible: resourceData.cluster
|
|
229
|
+
}, {
|
|
230
|
+
title: 'Web工作台',
|
|
231
|
+
content: /*#__PURE__*/_react["default"].createElement(_WebConsoleContainer["default"], {
|
|
232
|
+
data: resourceData,
|
|
233
|
+
topo: topo
|
|
234
|
+
}),
|
|
235
|
+
visible: activeData.type === 'node' && ((_topo$viewProps = topo.viewProps) === null || _topo$viewProps === void 0 ? void 0 : (_topo$viewProps$viewe = _topo$viewProps.viewerProps) === null || _topo$viewProps$viewe === void 0 ? void 0 : (_topo$viewProps$viewe2 = _topo$viewProps$viewe.topoContext) === null || _topo$viewProps$viewe2 === void 0 ? void 0 : _topo$viewProps$viewe2.isNetworkTopo)
|
|
236
|
+
}].filter(function (item) {
|
|
237
|
+
return item.visible !== false;
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
if (tabBodys.length === 1) {
|
|
241
|
+
return /*#__PURE__*/_react["default"].createElement(_ResourceOverview["default"], (0, _extends2["default"])({}, props, activeData, {
|
|
242
|
+
userId: userId,
|
|
243
|
+
style: {
|
|
244
|
+
overflowY: 'auto',
|
|
245
|
+
height: '100%'
|
|
246
|
+
}
|
|
247
|
+
}));
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return /*#__PURE__*/_react["default"].createElement(_ResourceDetail["default"], (0, _extends2["default"])({}, props, {
|
|
251
|
+
topo: topo,
|
|
252
|
+
userId: _react.useId,
|
|
253
|
+
activeData: activeData,
|
|
254
|
+
resourceData: resourceData
|
|
255
|
+
}));
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_drawer["default"], {
|
|
259
|
+
className: _indexModule["default"].baseInfo,
|
|
260
|
+
closeMode: ['close', 'esc'],
|
|
261
|
+
visible: visible,
|
|
262
|
+
title: /*#__PURE__*/_react["default"].createElement(_DrawerTitle["default"], (0, _extends2["default"])({}, activeData, {
|
|
263
|
+
topo: topo,
|
|
264
|
+
onChange: onChangeActive
|
|
265
|
+
})),
|
|
266
|
+
width: 580,
|
|
267
|
+
hasMask: false,
|
|
268
|
+
onClose: function onClose() {
|
|
269
|
+
return setVisible(false);
|
|
270
|
+
}
|
|
271
|
+
}, visible && resourceData && renderContent()));
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
ResourceDetailDrawer.propTypes = {
|
|
275
|
+
canShow: _propTypes["default"].func
|
|
276
|
+
};
|
|
277
|
+
ResourceDetailDrawer.defaultProps = {
|
|
278
|
+
canShow: function canShow(htElement) {
|
|
279
|
+
return true;
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
var _default = ResourceDetailDrawer;
|
|
283
|
+
exports["default"] = _default;
|
|
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _ResourceDetailDrawer = _interopRequireDefault(require("./ResourceDetailDrawer"));
|
|
13
13
|
|
|
14
14
|
function ResourceDetailPlugin(props) {
|
|
15
15
|
var viewerProps = props.viewerProps;
|
|
@@ -20,7 +20,7 @@ function ResourceDetailPlugin(props) {
|
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
23
|
+
return /*#__PURE__*/_react["default"].createElement(_ResourceDetailDrawer["default"], (0, _extends2["default"])({}, props, resourceDetailProps));
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
var _default = ResourceDetailPlugin;
|