@riil-frontend/component-topology 3.1.6 → 3.1.7

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.
Files changed (41) hide show
  1. package/build/1.js +1 -1
  2. package/build/index.css +1 -1
  3. package/build/index.js +11 -11
  4. package/demo//346/240/207/346/263/250/345/222/214/346/202/254/346/265/256/346/241/206//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
  5. package/demo-mock/basic/topo/v1/api/attributes/once +152 -0
  6. package/demo-mock/basic/topo/v1/api/attributes/once.json +152 -0
  7. package/es/core/components/DisplaySettingDrawer/DisplaySetting.js +4 -5
  8. package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -2
  9. package/es/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +4 -4
  10. package/es/core/models/AttributeMetricDisplay.js +9 -5
  11. package/es/core/models/TopoApp.js +1 -1
  12. package/es/core/viewer/components/plugins/BaseInfo/ResourceDetail.js +288 -0
  13. package/es/core/viewer/components/plugins/BaseInfo/ResourceDetailPlugin.js +11 -0
  14. package/es/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/BaseInfo.js +129 -0
  15. package/es/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/ResourceOverviewMetric.js +46 -0
  16. package/es/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.js +64 -172
  17. package/es/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/useCiAttrAndMetricData.js +12 -0
  18. package/es/core/viewer/components/plugins/BaseInfo/index.js +2 -276
  19. package/es/core/viewer/components/titlebar/BasicTools.js +1 -1
  20. package/es/core/viewer/components/titlebar/widgets/SettingButton.js +3 -4
  21. package/es/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +19 -0
  22. package/es/topoCenter/components/TopoView.js +3 -4
  23. package/es/topoCenter/models/TopoCenter.js +9 -5
  24. package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +4 -5
  25. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -2
  26. package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +4 -4
  27. package/lib/core/models/AttributeMetricDisplay.js +8 -4
  28. package/lib/core/models/TopoApp.js +1 -1
  29. package/lib/core/viewer/components/plugins/BaseInfo/ResourceDetail.js +313 -0
  30. package/lib/core/viewer/components/plugins/BaseInfo/ResourceDetailPlugin.js +21 -0
  31. package/lib/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/BaseInfo.js +139 -0
  32. package/lib/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/ResourceOverviewMetric.js +56 -0
  33. package/lib/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/index.js +65 -173
  34. package/lib/core/viewer/components/plugins/BaseInfo/components/ResourceOverview/useCiAttrAndMetricData.js +17 -0
  35. package/lib/core/viewer/components/plugins/BaseInfo/index.js +2 -291
  36. package/lib/core/viewer/components/titlebar/BasicTools.js +2 -2
  37. package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +2 -3
  38. package/lib/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +28 -0
  39. package/lib/topoCenter/components/TopoView.js +3 -4
  40. package/lib/topoCenter/models/TopoCenter.js +9 -5
  41. package/package.json +2 -2
@@ -5,296 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
8
+ var _ResourceDetailPlugin = _interopRequireDefault(require("./ResourceDetailPlugin"));
9
9
 
10
- var _drawer = _interopRequireDefault(require("@alifd/next/lib/drawer"));
11
-
12
- var _tab = _interopRequireDefault(require("@alifd/next/lib/tab"));
13
-
14
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
-
16
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
- var _menuButton = _interopRequireDefault(require("@alifd/next/lib/menu-button"));
19
-
20
- var _search = _interopRequireDefault(require("@alifd/next/lib/search"));
21
-
22
- var _react = _interopRequireWildcard(require("react"));
23
-
24
- var _utils = require("@riil-frontend/utils");
25
-
26
- var _componentTopologyGraph = require("@riil-frontend/component-topology-graph");
27
-
28
- var _overview = _interopRequireDefault(require("../../../../services/overview"));
29
-
30
- var _indexModule = _interopRequireDefault(require("./index.module.scss"));
31
-
32
- var _ResourceOverview = _interopRequireDefault(require("./components/ResourceOverview"));
33
-
34
- 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); }
35
-
36
- 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; }
37
-
38
- function Title(_ref) {
39
- var id = _ref.id,
40
- name = _ref.name,
41
- type = _ref.type,
42
- onChange = _ref.onChange,
43
- topo = _ref.topo;
44
-
45
- if (type === 'node') {
46
- var _useState = (0, _react.useState)(''),
47
- keyword = _useState[0],
48
- setKeyword = _useState[1];
49
-
50
- var nodes = topo.store.getModelState('topoMod').data.nodes; // 查询资源列表
51
-
52
- nodes = nodes.filter(function (item) {
53
- return item.id !== id;
54
- });
55
- if (!nodes.length) return name;
56
- var filterNodes = (0, _utils.dataSearch)(nodes, ['name'], keyword);
57
- return /*#__PURE__*/_react["default"].createElement(_menuButton["default"], {
58
- text: true,
59
- autoWidth: false,
60
- size: "large",
61
- popupClassName: _indexModule["default"]['title-popup'],
62
- menuProps: {
63
- header: /*#__PURE__*/_react["default"].createElement(_search["default"], {
64
- shape: "simple",
65
- placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u5B57",
66
- className: _indexModule["default"].search,
67
- hasClear: true,
68
- onChange: function onChange(val) {
69
- return !val && setKeyword(val);
70
- },
71
- onSearch: setKeyword
72
- })
73
- },
74
- label: /*#__PURE__*/_react["default"].createElement("div", {
75
- className: _indexModule["default"]['drawer-title']
76
- }, name),
77
- onItemClick: function onItemClick(key) {
78
- return onChange(nodes.find(function (item) {
79
- return item.id === key;
80
- }) || '');
81
- }
82
- }, (0, _utils.isAvailableArray)(filterNodes) && filterNodes.length ? filterNodes.map(function (item) {
83
- return /*#__PURE__*/_react["default"].createElement(_menuButton["default"].Item, {
84
- key: item.id,
85
- disabled: !item.operation
86
- }, item.name);
87
- }) : /*#__PURE__*/_react["default"].createElement("div", {
88
- className: _indexModule["default"]['not-data']
89
- }, "\u6682\u65E0\u6570\u636E"));
90
- } else {
91
- return /*#__PURE__*/_react["default"].createElement("div", {
92
- className: _indexModule["default"]['drawer-title']
93
- }, "\u94FE\u8DEF\u8BE6\u60C5");
94
- }
95
- } // 基本信息
96
-
97
-
98
- function BaseInfo(props) {
99
- var topo = props.topo;
100
-
101
- var _topo$store$useModel = topo.store.useModel('topoBaseInfoOverview'),
102
- topoState = _topo$store$useModel[0],
103
- topoDispatchers = _topo$store$useModel[1];
104
-
105
- var _topo$store$useModelS = topo.store.useModelState('topoMod'),
106
- topoId = _topo$store$useModelS.topoId,
107
- topoModData = _topo$store$useModelS.data;
108
-
109
- var _useState2 = (0, _react.useState)(false),
110
- visible = _useState2[0],
111
- setVisible = _useState2[1];
112
-
113
- var _useState3 = (0, _react.useState)({
114
- id: '',
115
- name: '',
116
- type: '',
117
- // 类型: node、link
118
- ciType: '',
119
- ciName: ''
120
- }),
121
- activeData = _useState3[0],
122
- setActiveData = _useState3[1];
123
-
124
- var _useState4 = (0, _react.useState)(''),
125
- userId = _useState4[0],
126
- setUserId = _useState4[1];
127
-
128
- (0, _react.useEffect)(function () {
129
- var notifier = topo.view.topoClient.notifier;
130
- notifier.on(_componentTopologyGraph.TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
131
- notifier.on('topo_element_click', changeOverview);
132
- return function () {
133
- notifier.off(_componentTopologyGraph.TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
134
- notifier.off('topo_element_click', changeOverview); // 清除数据
135
-
136
- topoDispatchers.update({
137
- id: '',
138
- metricCodes: []
139
- });
140
- };
141
- }, []); // 解决切换拓扑图隐藏概览
142
-
143
- (0, _react.useEffect)(function () {
144
- setVisible(false); // TODO 其他数据重置
145
- }, [topoId]);
146
-
147
- function getUser() {
148
- return _getUser.apply(this, arguments);
149
- } // select切换
150
-
151
-
152
- function _getUser() {
153
- _getUser = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
154
- return _regenerator["default"].wrap(function _callee2$(_context2) {
155
- while (1) {
156
- switch (_context2.prev = _context2.next) {
157
- case 0:
158
- setUserId(function (prev) {
159
- console.log('获取用户id', prev); // 如果已经获取过,就不再重新获取
160
-
161
- if (!prev) {
162
- (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
163
- var res;
164
- return _regenerator["default"].wrap(function _callee$(_context) {
165
- while (1) {
166
- switch (_context.prev = _context.next) {
167
- case 0:
168
- _context.next = 2;
169
- return _overview["default"].getUserId();
170
-
171
- case 2:
172
- res = _context.sent;
173
- setUserId((res === null || res === void 0 ? void 0 : res.user_id) || '');
174
-
175
- case 4:
176
- case "end":
177
- return _context.stop();
178
- }
179
- }
180
- }, _callee);
181
- }))();
182
- }
183
-
184
- return prev;
185
- });
186
-
187
- case 1:
188
- case "end":
189
- return _context2.stop();
190
- }
191
- }
192
- }, _callee2);
193
- }));
194
- return _getUser.apply(this, arguments);
195
- }
196
-
197
- function onChangeActive(activeNode) {
198
- activeNode && init((0, _extends2["default"])({}, activeNode, {
199
- type: 'node'
200
- }), 'select');
201
- } // 单击切换
202
-
203
-
204
- function changeOverview(node) {
205
- var data = node.getAttrObject();
206
- init(data, 'click');
207
- } // 双击打开
208
-
209
-
210
- function openOverview(data) {
211
- init(data, 'doubleClick');
212
- }
213
-
214
- function init(data, targetType) {
215
- var _topo$options$resourc;
216
-
217
- console.log('初始化基本信息', data, targetType);
218
- var id = data.id,
219
- name = data.name,
220
- type = data.type,
221
- ciType = data.ciType,
222
- ciName = data.ciName,
223
- operation = data.operation; // 仅展示资源和链路的概览
224
-
225
- if (!['node', 'link', 'linkGroup'].includes(type)) return; // 应用拓扑中没有链路详情
226
-
227
- if ((_topo$options$resourc = topo.options.resourceOverviewDrawer) !== null && _topo$options$resourc !== void 0 && _topo$options$resourc.getData && type === 'link') return; // 没有权限不显示
228
-
229
- if (!operation) return;
230
- setActiveData({
231
- id: id,
232
- name: name,
233
- type: type === 'linkGroup' ? 'link' : type,
234
- ciType: ciType,
235
- ciName: ciName
236
- }); // 显示隐藏
237
-
238
- targetType === 'doubleClick' && setVisible(true); // userId
239
-
240
- getUser();
241
- }
242
-
243
- (0, _react.useEffect)(function () {
244
- console.log('topoData', activeData.ciType, topoModData);
245
-
246
- if (topoModData && activeData !== null && activeData !== void 0 && activeData.id) {
247
- var id = activeData.id,
248
- ciType = activeData.ciType;
249
- var ciTypeMeta;
250
-
251
- if (ciType === 'network_link') {
252
- // 网络链路要按链路类型查询属性、指标
253
- var linkGroups = topoModData.linkGroups,
254
- links = topoModData.links;
255
- var link = [].concat(linkGroups, links).find(function (item) {
256
- return item.id === id;
257
- });
258
- var linkConnectType = link.attributes['network_link.connect_type'];
259
- ciTypeMeta = topo.ciTyeCache.getNetworkLinkCiType(linkConnectType);
260
- } else {
261
- ciTypeMeta = topo.ciTyeCache.getCiType(ciType);
262
- }
263
-
264
- var _ciTypeMeta = ciTypeMeta,
265
- metrics = _ciTypeMeta.metrics; // 同步需要实时展示的指标
266
-
267
- topoDispatchers.update({
268
- id: id,
269
- metricCodes: metrics.slice(0, 6).map(function (item) {
270
- return item.code;
271
- }) // 需要展示的关键指标 code
272
-
273
- });
274
- }
275
- }, [topoModData, activeData]);
276
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_drawer["default"], {
277
- className: _indexModule["default"].baseInfo,
278
- closeMode: ['close', 'esc'],
279
- visible: visible,
280
- title: /*#__PURE__*/_react["default"].createElement(Title, (0, _extends2["default"])({}, activeData, {
281
- topo: topo,
282
- onChange: onChangeActive
283
- })),
284
- width: 580,
285
- hasMask: false,
286
- onClose: function onClose() {
287
- return setVisible(false);
288
- }
289
- }, visible && /*#__PURE__*/_react["default"].createElement(_tab["default"], {
290
- className: _indexModule["default"].tab
291
- }, /*#__PURE__*/_react["default"].createElement(_tab["default"].Item, {
292
- title: "\u8D44\u6E90\u6982\u89C8",
293
- key: "1"
294
- }, activeData.id && /*#__PURE__*/_react["default"].createElement(_ResourceOverview["default"], (0, _extends2["default"])({}, props, activeData, {
295
- userId: userId
296
- }))))));
297
- }
298
-
299
- var _default = BaseInfo;
10
+ var _default = _ResourceDetailPlugin["default"];
300
11
  exports["default"] = _default;
@@ -17,7 +17,7 @@ var _NodesDragSwitch = _interopRequireDefault(require("./widgets/NodesDragSwitch
17
17
 
18
18
  var _AlarmListShowButton = _interopRequireDefault(require("./widgets/AlarmListShowButton"));
19
19
 
20
- var _SettingButton = _interopRequireDefault(require("./widgets/SettingButton"));
20
+ var _SettingButtonWidget = _interopRequireDefault(require("./widgets/SettingButtonWidget"));
21
21
 
22
22
  function BasicTools(props) {
23
23
  var topo = props.topo,
@@ -31,7 +31,7 @@ function BasicTools(props) {
31
31
  topo: topo
32
32
  }, props)), /*#__PURE__*/_react["default"].createElement(_AlarmListShowButton["default"], (0, _extends2["default"])({
33
33
  topo: topo
34
- }, props)), /*#__PURE__*/_react["default"].createElement(_SettingButton["default"], props), /*#__PURE__*/_react["default"].createElement(_NodesDragSwitch["default"], (0, _extends2["default"])({
34
+ }, props)), /*#__PURE__*/_react["default"].createElement(_SettingButtonWidget["default"], props), /*#__PURE__*/_react["default"].createElement(_NodesDragSwitch["default"], (0, _extends2["default"])({
35
35
  topo: topo
36
36
  }, props)), children);
37
37
  }
@@ -24,9 +24,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
24
24
  */
25
25
  function SettingButton(props) {
26
26
  var topo = props.topo,
27
- viewerProps = props.viewerProps,
27
+ displaySettingProps = props.displaySettingProps,
28
28
  style = props.style;
29
- var id = topo.id;
30
29
 
31
30
  var _useState = (0, _react.useState)(false),
32
31
  visible = _useState[0],
@@ -44,7 +43,7 @@ function SettingButton(props) {
44
43
  })), /*#__PURE__*/_react["default"].createElement(_DisplaySettingDrawer["default"], {
45
44
  visible: visible,
46
45
  topo: topo,
47
- viewerProps: viewerProps,
46
+ displaySettingProps: displaySettingProps,
48
47
  onClose: function onClose() {
49
48
  setVisible(false);
50
49
  }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = SettingButtonWidget;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _SettingButton = _interopRequireDefault(require("./SettingButton"));
11
+
12
+ /**
13
+ * 设置按钮
14
+ *
15
+ * @return {any}
16
+ */
17
+ function SettingButtonWidget(props) {
18
+ var topo = props.topo,
19
+ viewerProps = props.viewerProps,
20
+ style = props.style;
21
+ return /*#__PURE__*/_react["default"].createElement(_SettingButton["default"], {
22
+ topo: topo,
23
+ displaySettingProps: viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.displaySettingProps,
24
+ style: style
25
+ });
26
+ }
27
+
28
+ ;
@@ -70,10 +70,9 @@ function NetworkTopologyCore(props) {
70
70
  plugins: [],
71
71
  // 右侧工具栏按钮
72
72
  ViewerTitlebarRightTools: _ViewerTools["default"],
73
- showLinkConfig: true,
74
- // 是否显示链路相关配置
75
- onDisplaySettingDrawerOk: function onDisplaySettingDrawerOk() {},
76
- displaySettingDrawerProps: {
73
+ displaySettingProps: {
74
+ showLinkConfig: true,
75
+ // 是否显示链路相关配置
77
76
  linkTagConfig: function linkTagConfig(params) {
78
77
  return /*#__PURE__*/_react["default"].createElement(_LinkTag["default"], params);
79
78
  },
@@ -42,12 +42,16 @@ var TopoCenter = /*#__PURE__*/function (_TopoApp) {
42
42
  }, options, {
43
43
  usePermission: true,
44
44
  storeModels: (0, _extends2["default"])({}, _store["default"], options.storeModels),
45
- // 默认链路标注/悬浮框显示配置
46
- defaultLinkTagTipConfig: {
47
- tag: _ResourceInfoDisplay.DEFAULT_LINK_TAG_COMMON_CONFIG,
48
- tip: _ResourceInfoDisplay.DEFAULT_TIP_COMMON_CONFIG
45
+ tagTip: {
46
+ // 默认链路标注/悬浮框显示配置
47
+ getDefaultLinkTagConfig: function getDefaultLinkTagConfig() {
48
+ return _ResourceInfoDisplay.DEFAULT_LINK_TAG_COMMON_CONFIG;
49
+ },
50
+ getDefaultLinkTipConfig: function getDefaultLinkTipConfig() {
51
+ return _ResourceInfoDisplay.DEFAULT_TIP_COMMON_CONFIG;
52
+ },
53
+ ExtElementTagTipBuilder: _LinkTagsTipsBuilder["default"]
49
54
  },
50
- ExtElementTagTipBuilder: _LinkTagsTipsBuilder["default"],
51
55
  onSwitchToEditModeBegin: function () {
52
56
  var _onSwitchToEditModeBegin = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(topo) {
53
57
  var topoDispatchers;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "3.1.6",
3
+ "version": "3.1.7",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -110,6 +110,6 @@
110
110
  "access": "public"
111
111
  },
112
112
  "license": "MIT",
113
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@3.1.6/build/index.html",
113
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@3.1.7/build/index.html",
114
114
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
115
115
  }