@riil-frontend/component-topology 5.0.0-alpha.9 → 5.0.2

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 (195) hide show
  1. package/build/1.js +2 -2
  2. package/build/2.js +1 -1
  3. package/build/index.css +1 -1
  4. package/build/index.js +20 -20
  5. package/es/common/components/ColorPicker/ColorPicker.js +5 -3
  6. package/es/components/BatchAttrMetric/setting.js +3 -5
  7. package/es/components/ResourceSelectDrawer/ResourceSelectDrawer.js +2 -1
  8. package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -1
  9. package/es/core/components/DisplaySettingDrawer/LinkTip.js +5 -1
  10. package/es/core/components/DisplaySettingDrawer/demo/Demo.js +63 -0
  11. package/es/core/components/ResourceViewAttributeSetting/Setting.js +9 -48
  12. package/es/core/components/TopoView/TopoView.module.scss +1 -1
  13. package/es/core/components/TopoView/topoView.js +31 -22
  14. package/es/core/editor/components/BackgroundView/index.js +74 -35
  15. package/es/core/editor/components/settings/common/LineType/index.js +7 -1
  16. package/es/core/editor/components/settings/common/text/FontStyleCheckbox.js +3 -3
  17. package/es/core/editor/components/settings/common/text/TextStyle.js +21 -6
  18. package/es/core/editor/components/settings/common/text/fontStyleUtil.js +0 -1
  19. package/es/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +12 -1
  20. package/es/core/editor/components/settings/propertyViews/box/NameInput.js +9 -1
  21. package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +15 -1
  22. package/es/core/editor/components/settings/propertyViews/group/DataTab/GroupNodeList.js +2 -0
  23. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +9 -5
  24. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandStatus.js +10 -2
  25. package/es/core/editor/components/settings/propertyViews/group/SettingTab/Setting.js +12 -1
  26. package/es/core/editor/components/settings/propertyViews/layer/SettingTab/Setting.js +13 -3
  27. package/es/core/editor/components/settings/propertyViews/layer/SettingTab/Setting_bak.js +0 -1
  28. package/es/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeIcon.js +2 -0
  29. package/es/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +2 -0
  30. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +4 -1
  31. package/es/core/editor/components/settings/propertyViews/node/Setting/Setting.js +4 -0
  32. package/es/core/editor/components/settings/propertyViews/node/data/Data.js +34 -6
  33. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +9 -2
  34. package/es/core/editor/components/settings/propertyViews/view/BackgroundSize.js +30 -1
  35. package/es/core/editor/components/settings/propertyViews/view/GlobalLayout.js +2 -0
  36. package/es/core/editor/components/settings/propertyViews/view/GlobalNodeLabelStyle.js +15 -1
  37. package/es/core/editor/components/settings/propertyViews/view/hooks/useBackgroundSizeConfig.js +0 -1
  38. package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +4 -1
  39. package/es/core/editor/components/titlebar/widgets/DebugTools.js +29 -0
  40. package/es/core/hooks/useAlarm.js +18 -0
  41. package/es/core/hooks/useGraphAlarmDisplay.js +25 -3
  42. package/es/core/hooks/useResourceConfig.js +2 -1
  43. package/es/core/hooks/useRouterAdapter.js +7 -1
  44. package/es/core/hooks/useTopoEdit.js +220 -163
  45. package/es/core/models/AttributeMetricDisplay.js +31 -73
  46. package/es/core/models/HistoryManager.js +100 -50
  47. package/es/core/models/TopoApp.js +1 -1
  48. package/es/core/models/cache/CiTypeCache.js +10 -44
  49. package/es/core/models/cache/DictCache.js +2 -1
  50. package/es/core/models/graph/Background.js +31 -14
  51. package/es/core/models/tagstips/ElementTagTipConfig.js +46 -12
  52. package/es/core/models/tagstips/utils.js +1 -1
  53. package/es/core/models/topoData.js +7 -3
  54. package/es/core/models/utils/linkUtils.js +18 -0
  55. package/es/core/store/models/topoAlarm.js +5 -1
  56. package/es/core/store/models/topoMod.js +6 -31
  57. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +51 -249
  58. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +218 -0
  59. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +2 -2
  60. package/es/core/viewer/components/plugins/ResourceDetail/components/ClusterMemberTable.js +1 -1
  61. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfoBlock.js +0 -1
  62. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +79 -43
  63. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +2 -3
  64. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/Configurator/index.js +2 -2
  65. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.js +23 -0
  66. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.module.scss +11 -0
  67. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +34 -0
  68. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/constants.js +6 -0
  69. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +62 -0
  70. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +188 -0
  71. package/es/core/viewer/components/titlebar/BasicTools.js +1 -1
  72. package/es/core/viewer/components/titlebar/widgets/NodesDragSwitchWrapper.js +18 -0
  73. package/es/core/viewer/components/titlebar/widgets/SettingButton.js +11 -1
  74. package/es/networkTopo/components/TopoView.js +2 -1
  75. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +164 -225
  76. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/NetworkLinkForm.js +4 -0
  77. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/editLinkInfo.js +161 -137
  78. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/hooks/useAddLink.js +104 -0
  79. package/es/networkTopo/components/editor/propertyViews/edge/link/BindExitLinkSelect.js +17 -7
  80. package/es/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.js +8 -9
  81. package/es/networkTopo/components/viewer/displaySetting/LinkAttrCustomSettingDrawer.js +59 -0
  82. package/es/networkTopo/components/viewer/displaySetting/LinkTagV2.js +10 -4
  83. package/es/networkTopo/getTopoData.js +11 -14
  84. package/es/networkTopo/hooks/editor/useDeleteEdges.js +11 -8
  85. package/es/networkTopo/hooks/viewer/useRelateTopo.js +1 -1
  86. package/es/networkTopo/models/LinkDynamicStyleExecutor.js +2 -0
  87. package/es/networkTopo/models/TopoCenter.js +1 -1
  88. package/es/networkTopo/services/index.js +6 -4
  89. package/es/networkTopo/services/link.js +2 -2
  90. package/es/networkTopo/store/topoCenter.js +5 -2
  91. package/es/networkTopo/store/topoTreeMod.js +84 -43
  92. package/es/networkTopo/utils/__tests__/resourcePermissionUtil.test.js +135 -0
  93. package/es/networkTopo/utils/resourcePermissionUtil.js +10 -6
  94. package/es/style.js +2 -1
  95. package/es/utils/ResourceConfigUtil.js +79 -39
  96. package/es/utils/clusterUtil.js +1 -1
  97. package/es/utils/htElementUtils.js +0 -1
  98. package/es/utils/topoData.js +24 -63
  99. package/es/utils/tree.js +1 -3
  100. package/lib/common/components/ColorPicker/ColorPicker.js +6 -3
  101. package/lib/components/BatchAttrMetric/setting.js +3 -6
  102. package/lib/components/ResourceSelectDrawer/ResourceSelectDrawer.js +4 -1
  103. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +4 -1
  104. package/lib/core/components/DisplaySettingDrawer/LinkTip.js +6 -1
  105. package/lib/core/components/DisplaySettingDrawer/demo/Demo.js +71 -0
  106. package/lib/core/components/ResourceViewAttributeSetting/Setting.js +8 -48
  107. package/lib/core/components/TopoView/TopoView.module.scss +1 -1
  108. package/lib/core/components/TopoView/topoView.js +26 -17
  109. package/lib/core/editor/components/BackgroundView/index.js +75 -35
  110. package/lib/core/editor/components/settings/common/LineType/index.js +7 -1
  111. package/lib/core/editor/components/settings/common/text/FontStyleCheckbox.js +5 -4
  112. package/lib/core/editor/components/settings/common/text/TextStyle.js +23 -7
  113. package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +0 -1
  114. package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +13 -1
  115. package/lib/core/editor/components/settings/propertyViews/box/NameInput.js +9 -1
  116. package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +15 -1
  117. package/lib/core/editor/components/settings/propertyViews/group/DataTab/GroupNodeList.js +2 -0
  118. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +9 -5
  119. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandStatus.js +10 -2
  120. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/Setting.js +12 -1
  121. package/lib/core/editor/components/settings/propertyViews/layer/SettingTab/Setting.js +17 -3
  122. package/lib/core/editor/components/settings/propertyViews/layer/SettingTab/Setting_bak.js +0 -1
  123. package/lib/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeIcon.js +2 -0
  124. package/lib/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +2 -0
  125. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +4 -1
  126. package/lib/core/editor/components/settings/propertyViews/node/Setting/Setting.js +4 -0
  127. package/lib/core/editor/components/settings/propertyViews/node/data/Data.js +36 -6
  128. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +9 -2
  129. package/lib/core/editor/components/settings/propertyViews/view/BackgroundSize.js +32 -1
  130. package/lib/core/editor/components/settings/propertyViews/view/GlobalLayout.js +2 -0
  131. package/lib/core/editor/components/settings/propertyViews/view/GlobalNodeLabelStyle.js +15 -1
  132. package/lib/core/editor/components/settings/propertyViews/view/hooks/useBackgroundSizeConfig.js +0 -1
  133. package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +5 -1
  134. package/lib/core/editor/components/titlebar/widgets/DebugTools.js +38 -0
  135. package/lib/core/hooks/useAlarm.js +19 -0
  136. package/lib/core/hooks/useGraphAlarmDisplay.js +27 -3
  137. package/lib/core/hooks/useResourceConfig.js +2 -1
  138. package/lib/core/hooks/useRouterAdapter.js +8 -1
  139. package/lib/core/hooks/useTopoEdit.js +219 -162
  140. package/lib/core/models/AttributeMetricDisplay.js +31 -73
  141. package/lib/core/models/HistoryManager.js +105 -51
  142. package/lib/core/models/TopoApp.js +1 -1
  143. package/lib/core/models/cache/CiTypeCache.js +12 -44
  144. package/lib/core/models/cache/DictCache.js +4 -1
  145. package/lib/core/models/graph/Background.js +36 -16
  146. package/lib/core/models/tagstips/ElementTagTipConfig.js +49 -12
  147. package/lib/core/models/tagstips/utils.js +1 -1
  148. package/lib/core/models/topoData.js +7 -3
  149. package/lib/core/models/utils/linkUtils.js +22 -0
  150. package/lib/core/store/models/topoAlarm.js +5 -1
  151. package/lib/core/store/models/topoMod.js +7 -32
  152. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +51 -261
  153. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +245 -0
  154. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +2 -2
  155. package/lib/core/viewer/components/plugins/ResourceDetail/components/ClusterMemberTable.js +1 -1
  156. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfoBlock.js +0 -1
  157. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +79 -42
  158. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +2 -3
  159. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/Configurator/index.js +2 -2
  160. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.js +36 -0
  161. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.module.scss +11 -0
  162. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +45 -0
  163. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/constants.js +11 -0
  164. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +77 -0
  165. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +214 -0
  166. package/lib/core/viewer/components/titlebar/BasicTools.js +2 -2
  167. package/lib/core/viewer/components/titlebar/widgets/NodesDragSwitchWrapper.js +28 -0
  168. package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +10 -0
  169. package/lib/networkTopo/components/TopoView.js +3 -2
  170. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +160 -223
  171. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/NetworkLinkForm.js +12 -0
  172. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/editLinkInfo.js +161 -137
  173. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/hooks/useAddLink.js +120 -0
  174. package/lib/networkTopo/components/editor/propertyViews/edge/link/BindExitLinkSelect.js +19 -7
  175. package/lib/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.js +8 -9
  176. package/lib/networkTopo/components/viewer/displaySetting/LinkAttrCustomSettingDrawer.js +76 -0
  177. package/lib/networkTopo/components/viewer/displaySetting/LinkTagV2.js +10 -4
  178. package/lib/networkTopo/getTopoData.js +10 -13
  179. package/lib/networkTopo/hooks/editor/useDeleteEdges.js +11 -8
  180. package/lib/networkTopo/hooks/viewer/useRelateTopo.js +2 -1
  181. package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +2 -0
  182. package/lib/networkTopo/models/TopoCenter.js +2 -2
  183. package/lib/networkTopo/services/index.js +6 -4
  184. package/lib/networkTopo/services/link.js +2 -2
  185. package/lib/networkTopo/store/topoCenter.js +5 -2
  186. package/lib/networkTopo/store/topoTreeMod.js +84 -43
  187. package/lib/networkTopo/utils/__tests__/resourcePermissionUtil.test.js +137 -0
  188. package/lib/networkTopo/utils/resourcePermissionUtil.js +11 -6
  189. package/lib/style.js +2 -1
  190. package/lib/utils/ResourceConfigUtil.js +78 -37
  191. package/lib/utils/clusterUtil.js +1 -1
  192. package/lib/utils/htElementUtils.js +0 -1
  193. package/lib/utils/topoData.js +25 -64
  194. package/lib/utils/tree.js +1 -3
  195. package/package.json +3 -2
@@ -0,0 +1,245 @@
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
+ return /*#__PURE__*/_react["default"].createElement(_ResourceDetail["default"], (0, _extends2["default"])({}, props, {
213
+ topo: topo,
214
+ userId: _react.useId,
215
+ activeData: activeData,
216
+ resourceData: resourceData
217
+ }));
218
+ };
219
+
220
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_drawer["default"], {
221
+ className: _indexModule["default"].baseInfo,
222
+ closeMode: ['close', 'esc'],
223
+ visible: visible,
224
+ title: /*#__PURE__*/_react["default"].createElement(_DrawerTitle["default"], (0, _extends2["default"])({}, activeData, {
225
+ topo: topo,
226
+ onChange: onChangeActive
227
+ })),
228
+ width: 580,
229
+ hasMask: false,
230
+ onClose: function onClose() {
231
+ return setVisible(false);
232
+ }
233
+ }, visible && resourceData && renderContent()));
234
+ }
235
+
236
+ ResourceDetailDrawer.propTypes = {
237
+ canShow: _propTypes["default"].func
238
+ };
239
+ ResourceDetailDrawer.defaultProps = {
240
+ canShow: function canShow(htElement) {
241
+ return true;
242
+ }
243
+ };
244
+ var _default = ResourceDetailDrawer;
245
+ 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 _ResourceDetail = _interopRequireDefault(require("./ResourceDetail"));
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(_ResourceDetail["default"], (0, _extends2["default"])({}, props, resourceDetailProps));
23
+ return /*#__PURE__*/_react["default"].createElement(_ResourceDetailDrawer["default"], (0, _extends2["default"])({}, props, resourceDetailProps));
24
24
  }
25
25
 
26
26
  var _default = ResourceDetailPlugin;
@@ -76,7 +76,7 @@ function ClusterChildrenTable(props) {
76
76
  });
77
77
  return (0, _extends2["default"])({}, ci, {
78
78
  typeObject: ciTypeMap[ci.typeCode],
79
- memberRole: topo.dictCache.dictObject.member_role[memberRoleMetric.metricValue]
79
+ memberRole: topo.dictCache.dictObject.member_role[memberRoleMetric === null || memberRoleMetric === void 0 ? void 0 : memberRoleMetric.metricValue]
80
80
  });
81
81
  }),
82
82
  total: ciDataResult.totalRecord,
@@ -28,7 +28,6 @@ function BaseInfoBlock(props) {
28
28
  ciType = data.ciType,
29
29
  type = data.type,
30
30
  name = data.name;
31
- console.log('111 data', data);
32
31
  return /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
33
32
  headerTitle: "\u57FA\u672C\u4FE1\u606F",
34
33
  headerExtra: /*#__PURE__*/_react["default"].createElement("div", {
@@ -47,6 +47,8 @@ var _Configurator = _interopRequireDefault(require("./components/Configurator"))
47
47
 
48
48
  var _attributeFormatter = require("../../../../../../models/attributeFormatter");
49
49
 
50
+ var _LinkTopoCard = _interopRequireDefault(require("./components/LinkTopo/LinkTopoCard"));
51
+
50
52
  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); }
51
53
 
52
54
  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; }
@@ -87,7 +89,6 @@ function ResourceOverview(props) {
87
89
  var resourceOverviewProps = (viewerProps === null || viewerProps === void 0 ? void 0 : (_viewerProps$resource = viewerProps.resourceDetailProps) === null || _viewerProps$resource === void 0 ? void 0 : _viewerProps$resource.resourceOverviewProps) || {}; // 是否是业务拓扑
88
90
 
89
91
  var isAppTopo = !!resourceOverviewProps.getData;
90
- console.log('resourceOverviewProps', resourceOverviewProps);
91
92
 
92
93
  var _topo$store$useModelS = topo.store.useModelState('topoMod'),
93
94
  topoId = _topo$store$useModelS.topoId; // 拓扑id
@@ -142,17 +143,7 @@ function ResourceOverview(props) {
142
143
  setInitFlag = _useState7[1];
143
144
 
144
145
  var ciTypeMeta = (0, _react.useMemo)(function () {
145
- var typeMeta;
146
-
147
- if (ciType === 'network_link') {
148
- // 网络链路要按链路类型查询属性、指标
149
- var link = topo.dataModel.getDataById(id);
150
- var linkConnectType = link.attributes['network_link.connect_type'];
151
- typeMeta = topo.ciTyeCache.getNetworkLinkCiType(linkConnectType);
152
- } else {
153
- typeMeta = topo.ciTyeCache.getCiType(ciType);
154
- }
155
-
146
+ var typeMeta = topo.ciTyeCache.getCiType(ciType);
156
147
  return typeMeta;
157
148
  }, [id]);
158
149
 
@@ -568,7 +559,7 @@ function ResourceOverview(props) {
568
559
  _baseInfoColChange = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(col) {
569
560
  var _col;
570
561
 
571
- var infoData, attributeMap, _iterator, _step, item, value, contentTitle, link, node, _data, _ref2, _ref2$, _item, _attributeMap, object, _object, displayName, attr;
562
+ var infoData, attributeMap, _iterator, _step, item, value, contentTitle, link, address, owned_computer_room, owned_cabinet, roomLink, node, _data, _ref2, _ref2$, _item, _attributeMap, object, _object, displayName, attr;
572
563
 
573
564
  return _regenerator["default"].wrap(function _callee5$(_context5) {
574
565
  while (1) {
@@ -598,7 +589,7 @@ function ResourceOverview(props) {
598
589
 
599
590
  case 11:
600
591
  if ((_step = _iterator()).done) {
601
- _context5.next = 46;
592
+ _context5.next = 48;
602
593
  break;
603
594
  }
604
595
 
@@ -606,7 +597,7 @@ function ResourceOverview(props) {
606
597
  value = (0, _attributeFormatter.formatMetric)(attributeMap[item.dataIndex], ciTypeMeta.attributeMap[item.dataIndex]);
607
598
  contentTitle = value;
608
599
  _context5.t0 = item.dataIndex;
609
- _context5.next = _context5.t0 === 'display_name' ? 18 : _context5.t0 === 'ciName' ? 22 : _context5.t0 === 'res_address' ? 25 : _context5.t0 === 'imageName' ? 30 : 34;
600
+ _context5.next = _context5.t0 === 'display_name' ? 18 : _context5.t0 === 'ciName' ? 22 : _context5.t0 === 'res_address' ? 25 : _context5.t0 === 'imageName' ? 32 : 36;
610
601
  break;
611
602
 
612
603
  case 18:
@@ -616,36 +607,53 @@ function ResourceOverview(props) {
616
607
  onClick: onClose
617
608
  }, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
618
609
  className: _indexModule["default"].link,
619
- title: attributeMap.display_name || "",
610
+ title: attributeMap.display_name || '',
620
611
  to: formatUrl(link)
621
- }, attributeMap.display_name || "-"));
622
- contentTitle = attributeMap.display_name || "-";
623
- return _context5.abrupt("break", 35);
612
+ }, attributeMap.display_name || '-'));
613
+ contentTitle = attributeMap.display_name || '-';
614
+ return _context5.abrupt("break", 37);
624
615
 
625
616
  case 22:
626
617
  value = ciTypeMeta.displayName;
627
618
  contentTitle = value;
628
- return _context5.abrupt("break", 35);
619
+ return _context5.abrupt("break", 37);
629
620
 
630
621
  case 25:
631
622
  _context5.next = 27;
632
623
  return getAddressFormat(attributeMap);
633
624
 
634
625
  case 27:
635
- value = _context5.sent;
636
- contentTitle = value;
637
- return _context5.abrupt("break", 35);
626
+ address = _context5.sent;
627
+ owned_computer_room = attributeMap.owned_computer_room, owned_cabinet = attributeMap.owned_cabinet; // 跳转3D机房定位设备
628
+
629
+ if (owned_computer_room && owned_cabinet) {
630
+ // /visual/room/index_runtime.html?type=preview&room_id=00000000383e3381&rack_id=11&device_id=122
631
+ roomLink = "/visual/room/index_runtime.html?type=preview&room_id=" + owned_computer_room + "&rack_id=" + owned_cabinet + "&device_id=" + id;
632
+ value = /*#__PURE__*/_react["default"].createElement("span", {
633
+ onClick: onClose
634
+ }, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
635
+ className: _indexModule["default"].link,
636
+ title: address,
637
+ to: roomLink,
638
+ target: "_blank"
639
+ }, address));
640
+ } else {
641
+ value = address;
642
+ }
643
+
644
+ contentTitle = address;
645
+ return _context5.abrupt("break", 37);
638
646
 
639
- case 30:
647
+ case 32:
640
648
  node = topo.getDataModel().getDataByTag(id);
641
649
  value = (node === null || node === void 0 ? void 0 : node.a('customName')) || (node === null || node === void 0 ? void 0 : node.a('name')) || '-';
642
650
  contentTitle = value;
643
- return _context5.abrupt("break", 35);
651
+ return _context5.abrupt("break", 37);
644
652
 
645
- case 34:
646
- return _context5.abrupt("break", 35);
653
+ case 36:
654
+ return _context5.abrupt("break", 37);
647
655
 
648
- case 35:
656
+ case 37:
649
657
  // 拿翻译字段属性数据
650
658
  if (attributeMap[item.dataIndex] && attributeMap[item.dataIndex + ".name"]) {
651
659
  value = attributeMap[item.dataIndex + ".name"];
@@ -681,15 +689,15 @@ function ResourceOverview(props) {
681
689
  contentTitle: contentTitle
682
690
  }));
683
691
 
684
- case 44:
692
+ case 46:
685
693
  _context5.next = 11;
686
694
  break;
687
695
 
688
- case 46:
696
+ case 48:
689
697
  settBaseInfoInitLoading(false);
690
698
  setBaseInfo(infoData);
691
699
 
692
- case 48:
700
+ case 50:
693
701
  case "end":
694
702
  return _context5.stop();
695
703
  }
@@ -706,7 +714,7 @@ function ResourceOverview(props) {
706
714
 
707
715
  function _getAttribute() {
708
716
  _getAttribute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(id) {
709
- var res, _ref3, attributes;
717
+ var _yield$resourceOvervi2, baseInfos, res, _ref3, attributes;
710
718
 
711
719
  return _regenerator["default"].wrap(function _callee6$(_context6) {
712
720
  while (1) {
@@ -720,25 +728,46 @@ function ResourceOverview(props) {
720
728
  return _context6.abrupt("return");
721
729
 
722
730
  case 2:
723
- _context6.next = 4;
731
+ if (!(resourceOverviewProps !== null && resourceOverviewProps !== void 0 && resourceOverviewProps.getData)) {
732
+ _context6.next = 9;
733
+ break;
734
+ }
735
+
736
+ _context6.next = 5;
737
+ return resourceOverviewProps === null || resourceOverviewProps === void 0 ? void 0 : resourceOverviewProps.getData({
738
+ id: id
739
+ });
740
+
741
+ case 5:
742
+ _yield$resourceOvervi2 = _context6.sent;
743
+ baseInfos = _yield$resourceOvervi2.baseInfos;
744
+
745
+ if (!baseInfos) {
746
+ _context6.next = 9;
747
+ break;
748
+ }
749
+
750
+ return _context6.abrupt("return", baseInfos);
751
+
752
+ case 9:
753
+ _context6.next = 11;
724
754
  return _overview["default"].commonQueryCiData({
725
755
  condition: "id('" + id + "')",
726
756
  refAttribute: true,
727
757
  orders: [{
728
- name: "CREATED_TIME",
729
- type: "asc"
758
+ name: 'CREATED_TIME',
759
+ type: 'asc'
730
760
  }],
731
761
  pageIndex: 1,
732
- pageSize: 100000
762
+ pageSize: 10
733
763
  });
734
764
 
735
- case 4:
765
+ case 11:
736
766
  res = _context6.sent;
737
- console.log('getAttribute res', res);
738
767
  _ref3 = (res === null || res === void 0 ? void 0 : res.data[0]) || {}, attributes = _ref3.attributes;
739
- return _context6.abrupt("return", attributes);
768
+ return _context6.abrupt("return", attributes || {});
740
769
 
741
- case 8:
770
+ case 14:
742
771
  case "end":
743
772
  return _context6.stop();
744
773
  }
@@ -849,7 +878,7 @@ function ResourceOverview(props) {
849
878
  return item.dataIndex;
850
879
  });
851
880
  } else if (type === 'link') {
852
- baseInfo = ['display_name', 'network_link.actual_bandwidth', 'network_link.source_ipv4', 'network_link.destination_ipv4', 'network_link.connect_type'];
881
+ baseInfo = ['display_name', 'network_link.actual_bandwidth', 'network_link.source_ipv4', 'network_link.destination_ipv4'];
853
882
  keyIndicators = metricCol.slice(0, 3).map(function (item) {
854
883
  return item.dataIndex;
855
884
  });
@@ -916,7 +945,15 @@ function ResourceOverview(props) {
916
945
  onChange: baseInfoColChange
917
946
  }));
918
947
  }
919
- })), /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
948
+ })), ciType === 'network_link' ? /*#__PURE__*/_react["default"].createElement(_LinkTopoCard["default"], {
949
+ data: data,
950
+ topoId: topoId,
951
+ metricCol: metricCol,
952
+ metricColChange: metricColChange,
953
+ metricCodes: metric.map(function (item) {
954
+ return item.code;
955
+ })
956
+ }) : /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
920
957
  headerTitle: "\u5173\u952E\u6307\u6807",
921
958
  headerExtra: /*#__PURE__*/_react["default"].createElement(_Configurator["default"], {
922
959
  topoId: topoId,
@@ -86,7 +86,6 @@ function ResourceOverviewMetric(props) {
86
86
  var code = itemData.code,
87
87
  metricItem = itemData.metricItem,
88
88
  list = itemData.list;
89
- console.log('formatValue', itemData);
90
89
  var format = (0, _utils.metricValueFormat)({
91
90
  value: (_list = list[list.length - 1]) === null || _list === void 0 ? void 0 : _list.metricValue,
92
91
  dataType: metricItem.dataType,
@@ -108,9 +107,9 @@ function ResourceOverviewMetric(props) {
108
107
  value: item.metricValue == -2 ? null : Number(item.metricValue)
109
108
  };
110
109
  });
111
- }
110
+ } // console.log('ResourceOverviewMetric', data);
111
+
112
112
 
113
- console.log('ResourceOverviewMetric', data);
114
113
  var content;
115
114
 
116
115
  if (data.length) {
@@ -58,8 +58,8 @@ function Configurator(props) {
58
58
  type = props.type,
59
59
  max = props.max,
60
60
  _props$btnStyle = props.btnStyle,
61
- btnStyle = _props$btnStyle === void 0 ? {} : _props$btnStyle;
62
- console.log('Configurator props', props);
61
+ btnStyle = _props$btnStyle === void 0 ? {} : _props$btnStyle; // console.log('Configurator props', props);
62
+
63
63
  var buttonRef = (0, _react.useRef)(null);
64
64
 
65
65
  var _useState = (0, _react.useState)(false),
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = LinkTopo;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _componentCrucialLinkTopo = _interopRequireDefault(require("@riil-frontend/component-crucial-link-topo"));
13
+
14
+ var _componentTopologyUtils = require("@riil-frontend/component-topology-utils");
15
+
16
+ var _useMetricPolling = _interopRequireDefault(require("./hooks/useMetricPolling"));
17
+
18
+ var _LinkTopoModule = _interopRequireDefault(require("./LinkTopo.module.scss"));
19
+
20
+ function LinkTopo(props) {
21
+ var data = props.data,
22
+ linkMetricCodes = props.linkMetricCodes;
23
+ var metricData = (0, _useMetricPolling["default"])({
24
+ linkCi: data,
25
+ linkMetricCodes: linkMetricCodes
26
+ });
27
+ return /*#__PURE__*/_react["default"].createElement("div", {
28
+ className: _LinkTopoModule["default"].container
29
+ }, /*#__PURE__*/_react["default"].createElement(_componentCrucialLinkTopo["default"], (0, _extends2["default"])({
30
+ request: _componentTopologyUtils.request,
31
+ data: data // 链路ci数据
32
+ ,
33
+ isNarrow: true,
34
+ jumpto: (0, _componentTopologyUtils.getHistory)().push
35
+ }, metricData)));
36
+ }
@@ -0,0 +1,11 @@
1
+ .container {
2
+ width: 100%;
3
+ height: 100%;
4
+ min-height: 250px;
5
+ position: relative;
6
+ .floatBox{
7
+ position: absolute;
8
+ top:50px;
9
+ left: 40px;
10
+ }
11
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = LinkTopoCard;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _BlockBox = _interopRequireDefault(require("../../BlockBox"));
11
+
12
+ var _Configurator = _interopRequireDefault(require("../Configurator"));
13
+
14
+ var _LinkTopo = _interopRequireDefault(require("./LinkTopo"));
15
+
16
+ function LinkTopoCard(props) {
17
+ var _data$attributes;
18
+
19
+ var topoId = props.topoId,
20
+ data = props.data,
21
+ defaultCols = props.defaultCols,
22
+ metricCol = props.metricCol,
23
+ metricColChange = props.metricColChange,
24
+ metricCodes = props.metricCodes; // eslint-disable-next-line camelcase
25
+
26
+ var supportTemplates = (data === null || data === void 0 ? void 0 : (_data$attributes = data.attributes) === null || _data$attributes === void 0 ? void 0 : _data$attributes.support_templates) || ''; // 该资源监控模板
27
+
28
+ var isCrucial = data === null || data === void 0 ? void 0 : data.attributes['network_link.is_crucial'];
29
+ return /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
30
+ headerTitle: "\u8FD0\u884C\u60C5\u51B5",
31
+ headerExtra: /*#__PURE__*/_react["default"].createElement(_Configurator["default"], {
32
+ topoId: topoId,
33
+ templateCode: supportTemplates,
34
+ type: "keyIndicators" // 关键链路默认展示的指标展示【端到端ping时延】和【端到端ping丢包率】
35
+ ,
36
+ defaultCol: isCrucial ? ['remote_ping_delayed', 'remote_ping_discards_rate'] : [],
37
+ max: 5,
38
+ columns: metricCol,
39
+ onChange: metricColChange
40
+ })
41
+ }, /*#__PURE__*/_react["default"].createElement(_LinkTopo["default"], {
42
+ data: data,
43
+ linkMetricCodes: metricCodes
44
+ }));
45
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.INTERFACE_METRIC_CODES = void 0;
5
+ var INTERFACE_METRIC_CODES = ['out_rate', // 发送速率、接收速率发送接收利用率、总错包数
6
+ 'out_bandwidth_utilization', // 发送带宽利用率
7
+ 'in_rate', // 接收速率
8
+ 'in_bandwidth_utilization', // 接收带宽利用率
9
+ 'total_errors_packets' // 总错包数
10
+ ];
11
+ exports.INTERFACE_METRIC_CODES = INTERFACE_METRIC_CODES;