@riil-frontend/component-topology 10.0.18 → 10.0.20

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 (29) 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 +19 -19
  5. package/es/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundSetting.js +2 -2
  6. package/es/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundUtil.js +1 -1
  7. package/es/core/editor/config/themes.js +11 -11
  8. package/es/core/models/TopoApp.js +1 -1
  9. package/es/core/viewer/components/plugins/ElementDetailDrawer/components/DetailDrawer.js +15 -0
  10. package/es/core/viewer/components/plugins/ElementDetailDrawer/components/DetailDrawer.module.scss +16 -0
  11. package/es/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +197 -0
  12. package/es/core/viewer/components/plugins/ResourceDetail/DefaultDetailContent.js +63 -0
  13. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +31 -217
  14. package/es/core/viewer/components/plugins/ResourceDetail/components/DrawerTitle.js +67 -49
  15. package/es/core/viewer/components/plugins/ResourceDetail/hooks/useUserId.js +66 -0
  16. package/es/style.js +1 -1
  17. package/lib/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundSetting.js +2 -2
  18. package/lib/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundUtil.js +1 -1
  19. package/lib/core/editor/config/themes.js +11 -11
  20. package/lib/core/models/TopoApp.js +1 -1
  21. package/lib/core/viewer/components/plugins/ElementDetailDrawer/components/DetailDrawer.js +26 -0
  22. package/lib/core/viewer/components/plugins/ElementDetailDrawer/components/DetailDrawer.module.scss +16 -0
  23. package/lib/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +211 -0
  24. package/lib/core/viewer/components/plugins/ResourceDetail/DefaultDetailContent.js +79 -0
  25. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +31 -223
  26. package/lib/core/viewer/components/plugins/ResourceDetail/components/DrawerTitle.js +69 -51
  27. package/lib/core/viewer/components/plugins/ResourceDetail/hooks/useUserId.js +81 -0
  28. package/lib/style.js +1 -1
  29. package/package.json +2 -2
@@ -184,7 +184,7 @@ function BoxBackgroundSetting(props) {
184
184
  }, /*#__PURE__*/React.createElement("span", null, "\u8FB9\u6846"), /*#__PURE__*/React.createElement("div", {
185
185
  className: styles.borderWidth
186
186
  }, /*#__PURE__*/React.createElement("img", {
187
- src: "/img/topo/editor/toolbar/\u80CC\u666F\u586B\u5145\u53CA\u8FB9\u6846/\u80CC\u666F\u586B\u5145.svg"
187
+ src: "/img/topo/editor/toolbar/\u80CC\u666F\u586B\u5145\u53CA\u8FB9\u6846/\u8FB9\u6846.svg"
188
188
  }), /*#__PURE__*/React.createElement(FontColorRange, {
189
189
  max: 10,
190
190
  min: 1,
@@ -195,7 +195,7 @@ function BoxBackgroundSetting(props) {
195
195
  })), /*#__PURE__*/React.createElement("div", {
196
196
  className: styles.backOpacity
197
197
  }, /*#__PURE__*/React.createElement("img", {
198
- src: "/img/topo/editor/toolbar/\u80CC\u666F\u586B\u5145\u53CA\u8FB9\u6846/\u8FB9\u6846.svg"
198
+ src: "/img/topo/editor/toolbar/\u80CC\u666F\u586B\u5145\u53CA\u8FB9\u6846/\u80CC\u666F\u586B\u5145.svg"
199
199
  }), /*#__PURE__*/React.createElement(FontColorRange, {
200
200
  max: 100,
201
201
  min: 0,
@@ -124,7 +124,7 @@ export function setGroupStyle(element, style, tagStyle) {
124
124
  } else {
125
125
  borderCurrentColor = {
126
126
  background: prevStyle.background,
127
- opacity: style.backgroundOpacity === undefined ? 1 : style.backgroundOpacity
127
+ opacity: style.borderOpacity === undefined ? 1 : style.borderOpacity
128
128
  };
129
129
  }
130
130
 
@@ -1,9 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  var baseLightTheme = {
3
3
  color: '#FFFFFF',
4
- globalNodeLabelColor: '#4d6277',
4
+ globalNodeLabelColor: 'rgba(0, 0, 0, 0.75)',
5
5
  globalNodeLabelStyle: {
6
- color: '#4d6277'
6
+ color: 'rgba(0, 0, 0, 0.75)'
7
7
  },
8
8
  globalEdgeTagStyle: {
9
9
  color: '#777B9A',
@@ -13,16 +13,16 @@ var baseLightTheme = {
13
13
 
14
14
  },
15
15
  text: {
16
- color: '#4d6277'
16
+ color: 'rgba(0, 0, 0, 0.75)'
17
17
  },
18
18
  group: {
19
19
  style: {
20
- 'group.title.background': 'rgba(228, 233, 238, 1)',
20
+ 'group.title.background': '#3E6BB3',
21
21
  // 标题背景颜色 #E4E9EE
22
- 'group.title.color': '#4D6277',
22
+ 'group.title.color': '#FFFFFF',
23
23
  // 标题文字颜色
24
- 'group.background': 'rgba(255, 255, 255, 0.9)',
25
- 'group.border.color': '#E4E9EE',
24
+ 'group.background': 'rgba(255, 255, 255, 0.50)',
25
+ 'group.border.color': 'rgba(255, 255, 255, 0.50)',
26
26
  // 边框颜色
27
27
  'group.splitLine': false // 标题底部边框
28
28
 
@@ -81,12 +81,12 @@ var THEMES = [_extends({}, baseLightTheme, {
81
81
  },
82
82
  group: {
83
83
  style: {
84
- 'group.title.background': 'rgba(8,165,244,1)',
84
+ 'group.title.background': 'rgba(0, 85, 214, 0.60)',
85
85
  // 标题背景颜色 #08A5F4
86
86
  'group.title.color': '#FFFFFF',
87
87
  // 标题文字颜色
88
- 'group.background': 'rgba(29,55,113,0.6)',
89
- 'group.border.color': 'rgba(8,165,244,0.8)',
88
+ 'group.background': 'rgba(0, 0, 0, 0.30)',
89
+ 'group.border.color': 'rgba(0, 0, 0, 0.30)',
90
90
  // 边框颜色
91
91
  'group.splitLine': false // 标题底部边框
92
92
 
@@ -128,7 +128,7 @@ var THEMES = [_extends({}, baseLightTheme, {
128
128
  style: {
129
129
  'group.title.background': 'rgba(0,0,0,0.01)',
130
130
  // 标题背景颜色 #08A5F4
131
- 'group.title.color': '#8FECFF',
131
+ 'group.title.color': 'rgba(143, 236, 255, 1)',
132
132
  // 标题文字颜色
133
133
  'group.title.border.color': '#ffffff',
134
134
  // 边框颜色
@@ -24,7 +24,7 @@ import ElementTagTipConfig from "./tagstips/ElementTagTipConfig";
24
24
  import SelectionModel from "./SelectionModel";
25
25
  import CiCache from "./cache/CiCache"; // eslint-disable-next-line no-undef
26
26
 
27
- var version = typeof "10.0.18" === 'string' ? "10.0.18" : null;
27
+ var version = typeof "10.0.20" === 'string' ? "10.0.20" : null;
28
28
  console.info("\u62D3\u6251\u7248\u672C: " + version);
29
29
  /**
30
30
  * 拓扑显示和编辑
@@ -0,0 +1,15 @@
1
+ import _Drawer from "@alifd/next/es/drawer";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import React from 'react';
4
+ import styles from "./DetailDrawer.module.scss";
5
+
6
+ function DetailDrawer(props) {
7
+ return /*#__PURE__*/React.createElement(_Drawer, _extends({
8
+ className: styles.baseInfo,
9
+ closeMode: ['close', 'esc'],
10
+ width: 580,
11
+ hasMask: false
12
+ }, props));
13
+ }
14
+
15
+ export default DetailDrawer;
@@ -0,0 +1,16 @@
1
+ @import '~@alifd/next/variables.scss';
2
+
3
+ .baseInfo {
4
+ box-shadow: 0px 0px 6px 1px #F2F7FD;
5
+ .drawer-title{
6
+ font-size: 16px;
7
+ font-weight: 500;
8
+ color: #4D6277;
9
+ }
10
+ :global {
11
+ .#{$css-prefix}drawer-body {
12
+ height: calc(100% - 49px);
13
+ padding: 0 24px;
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,197 @@
1
+ import React, { useRef } from 'react';
2
+ import { TopoEvent } from '@riil-frontend/component-topology-graph';
3
+ import DefaultDetailContent from "../../ResourceDetail/DefaultDetailContent";
4
+
5
+ function useElementDetailManager(props) {
6
+ var topo = props.topo,
7
+ canShow = props.canShow,
8
+ resourceDetailProps = props.resourceDetailProps;
9
+
10
+ var _topo$store$useModel = topo.store.useModel('resourceDetail'),
11
+ resourceDetailState = _topo$store$useModel[0],
12
+ resourceDetailDispatchers = _topo$store$useModel[1];
13
+
14
+ var visible = resourceDetailState.visible,
15
+ id = resourceDetailState.id;
16
+ var resourceData = topo.dataModel.useDataById(id);
17
+ var currentHtElementRef = useRef(null);
18
+
19
+ function init() {
20
+ var notifier = topo.view.topoClient.notifier;
21
+ notifier.on('topo_element_double_click', handleDblClick);
22
+ notifier.on('topo_element_click', handleClick);
23
+ }
24
+
25
+ function destroy() {
26
+ var notifier = topo.view.topoClient.notifier;
27
+ notifier.off('topo_element_double_click', handleDblClick);
28
+ notifier.off('topo_element_click', handleClick); // 清除数据
29
+
30
+ currentHtElementRef.current = null;
31
+ resourceDetailDispatchers.reset();
32
+ var topoDispatchers = topo.store.getModelDispatchers('topoBaseInfoOverview');
33
+ topoDispatchers.update({
34
+ id: '',
35
+ metricCodes: []
36
+ });
37
+ } // 打开
38
+
39
+ /**
40
+ *
41
+ * @param {{id: string, htElement?}} data
42
+ * @returns
43
+ */
44
+
45
+
46
+ function open(data) {
47
+ var id = data.id;
48
+ var resourceData = topo.dataModel.getDataById(id);
49
+ var htElement = data.htElement || topo.getDataModel().getDataByTag(id); // 如果是资源/链路,没有权限不显示
50
+
51
+ if (resourceData) {
52
+ var operation = resourceData.operation,
53
+ permission = resourceData.permission;
54
+
55
+ if (!operation && !(permission !== null && permission !== void 0 && permission.readable)) {
56
+ return;
57
+ }
58
+ } // 自定义显示方法
59
+
60
+
61
+ if (!canShow(htElement)) {
62
+ return;
63
+ }
64
+
65
+ var content = getDetailContent({
66
+ id: id
67
+ });
68
+
69
+ if (content) {
70
+ resourceDetailDispatchers.update({
71
+ visible: true,
72
+ id: id
73
+ });
74
+ }
75
+ }
76
+
77
+ function change(data) {
78
+ open(data);
79
+ } // 重置
80
+
81
+
82
+ function reset() {
83
+ currentHtElementRef.current = null;
84
+ resourceDetailDispatchers.reset();
85
+ var topoDispatchers = topo.store.getModelDispatchers('topoBaseInfoOverview');
86
+ topoDispatchers.update({
87
+ id: '',
88
+ metricCodes: []
89
+ });
90
+ } // 关闭
91
+
92
+
93
+ function close() {
94
+ currentHtElementRef.current = null;
95
+ resourceDetailDispatchers.update({
96
+ visible: false
97
+ });
98
+ } // 处理双击元素事件
99
+
100
+
101
+ function handleDblClick(htElement) {
102
+ var _topo$store$getModelS = topo.store.getModelState("lock"),
103
+ lock = _topo$store$getModelS.lock;
104
+
105
+ if (lock) {
106
+ open({
107
+ id: htElement.getTag() || "ht:" + htElement.getId(),
108
+ htElement: htElement
109
+ });
110
+ }
111
+ } // 单击切换
112
+
113
+
114
+ function handleClick(htElement) {
115
+ var resourceDetailState = topo.store.getModelState('resourceDetail');
116
+ var visible = resourceDetailState.visible;
117
+
118
+ if (!visible) {
119
+ return;
120
+ }
121
+
122
+ var data = htElement.getAttrObject();
123
+ open({
124
+ id: data.id,
125
+ htElement: htElement
126
+ });
127
+ }
128
+
129
+ function getDefaultDetailContent(_ref) {
130
+ var resourceData = _ref.resourceData,
131
+ htElement = _ref.htElement;
132
+
133
+ // 仅展示资源和链路的概览
134
+ if (!resourceData) {
135
+ return;
136
+ }
137
+
138
+ var ciType = resourceData.ciType; // 没有citype不显示
139
+
140
+ if (!ciType) return;
141
+ return DefaultDetailContent;
142
+ }
143
+
144
+ function getDetailContent(_ref2) {
145
+ var id = _ref2.id;
146
+
147
+ if (!id) {
148
+ return null;
149
+ }
150
+
151
+ var resourceData = topo.dataModel.getDataById(id);
152
+ var htElement = topo.getDataModel().getDataByTag(id);
153
+ var widget; // 支持自定义概览
154
+
155
+ var _ref3 = resourceDetailProps || {},
156
+ getCustomDetailContent = _ref3.getCustomDetailContent;
157
+
158
+ if (getCustomDetailContent) {
159
+ widget = getCustomDetailContent({
160
+ id: id,
161
+ resourceData: resourceData,
162
+ htElement: htElement
163
+ });
164
+ } // 无自定义使用默认
165
+
166
+
167
+ if (!widget) {
168
+ widget = getDefaultDetailContent({
169
+ resourceData: resourceData,
170
+ htElement: htElement
171
+ });
172
+ }
173
+
174
+ return widget;
175
+ }
176
+
177
+ var Content = visible && id ? getDetailContent({
178
+ id: id
179
+ }) : null;
180
+ var elementDetailManager = {
181
+ visible: visible,
182
+ id: id,
183
+ resourceData: resourceData,
184
+ Content: Content,
185
+ init: init,
186
+ destroy: destroy,
187
+ open: open,
188
+ change: change,
189
+ reset: reset,
190
+ close: close,
191
+ handleDblClick: handleDblClick,
192
+ handleClick: handleClick
193
+ };
194
+ return elementDetailManager;
195
+ }
196
+
197
+ export default useElementDetailManager;
@@ -0,0 +1,63 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import PropTypes from 'prop-types';
3
+ import React, { useEffect, useMemo, useState } from 'react';
4
+ import ResourceDetail from "./ResourceDetail";
5
+ import useUserId from "./hooks/useUserId";
6
+ export default function DefaultDetailContent(props) {
7
+ var topo = props.topo,
8
+ id = props.id,
9
+ viewerProps = props.viewerProps,
10
+ onChangeActive = props.onChangeActive,
11
+ onClose = props.onClose;
12
+
13
+ var _useUserId = useUserId(),
14
+ userId = _useUserId.userId,
15
+ fetchUserId = _useUserId.fetchUserId;
16
+
17
+ var resourceData = topo.dataModel.useDataById(id);
18
+ var activeData = useMemo(function () {
19
+ return resourceData ? {
20
+ id: resourceData.id,
21
+ name: resourceData.name,
22
+ type: resourceData.type === 'node' ? 'node' : 'link',
23
+ // 类型: node、link
24
+ ciType: resourceData.ciType,
25
+ ciName: resourceData.ciName
26
+ } : {
27
+ id: '',
28
+ name: '',
29
+ type: '',
30
+ // 类型: node、link
31
+ ciType: '',
32
+ ciName: ''
33
+ };
34
+ }, [resourceData]);
35
+ useEffect(function () {
36
+ fetchUserId();
37
+ }, []); // 支持自定义概览
38
+
39
+ var _ref = (viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.resourceDetailProps) || {},
40
+ getResourceDetail = _ref.getResourceDetail;
41
+
42
+ var ResourceDetailWidget;
43
+
44
+ if (getResourceDetail) {
45
+ ResourceDetailWidget = getResourceDetail(resourceData);
46
+ }
47
+
48
+ if (!ResourceDetailWidget) {
49
+ ResourceDetailWidget = ResourceDetail;
50
+ }
51
+
52
+ if (!userId) {
53
+ return null;
54
+ }
55
+
56
+ return /*#__PURE__*/React.createElement(ResourceDetailWidget, _extends({}, props, {
57
+ topo: topo,
58
+ userId: userId,
59
+ activeData: activeData,
60
+ resourceData: resourceData,
61
+ onClose: onClose
62
+ }));
63
+ }
@@ -1,240 +1,54 @@
1
- import _Drawer from "@alifd/next/es/drawer";
2
1
  import _extends from "@babel/runtime/helpers/extends";
3
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
- import _regeneratorRuntime from "@babel/runtime/regenerator";
5
- import { TopoEvent } from '@riil-frontend/component-topology-graph';
6
2
  import PropTypes from 'prop-types';
7
3
  import React, { useEffect, useMemo, useState } from 'react';
8
- import service from "../../../../services/overview";
9
4
  import Title from "./components/DrawerTitle";
10
- import styles from "./index.module.scss";
11
- import ResourceDetail from "./ResourceDetail"; // 基本信息
5
+ import DetailDrawer from "../ElementDetailDrawer/components/DetailDrawer";
6
+ import useElementDetailManager from "../ElementDetailDrawer/hooks/useElementDetailManager";
12
7
 
13
8
  function ResourceDetailDrawer(props) {
14
9
  var topo = props.topo,
15
10
  canShow = props.canShow,
16
11
  viewerProps = props.viewerProps;
17
12
 
18
- var _topo$store$useModel = topo.store.useModel('topoBaseInfoOverview'),
19
- topoState = _topo$store$useModel[0],
20
- topoDispatchers = _topo$store$useModel[1];
21
-
22
13
  var _topo$store$useModelS = topo.store.useModelState('topoMod'),
23
- topoId = _topo$store$useModelS.topoId,
24
- topoModData = _topo$store$useModelS.data;
25
-
26
- var _topo$store$useModelS2 = topo.store.useModelState("lock"),
27
- lock = _topo$store$useModelS2.lock;
28
-
29
- var _topo$store$useModel2 = topo.store.useModel('resourceDetail'),
30
- resourceDetailState = _topo$store$useModel2[0],
31
- resourceDetailDispatchers = _topo$store$useModel2[1];
32
-
33
- var visible = resourceDetailState.visible,
34
- id = resourceDetailState.id;
35
- var resourceData = topo.dataModel.useDataById(id);
36
- var activeData = useMemo(function () {
37
- return resourceData ? {
38
- id: resourceData.id,
39
- name: resourceData.name,
40
- type: resourceData.type === 'node' ? 'node' : 'link',
41
- // 类型: node、link
42
- ciType: resourceData.ciType,
43
- ciName: resourceData.ciName
44
- } : {
45
- id: '',
46
- name: '',
47
- type: '',
48
- // 类型: node、link
49
- ciType: '',
50
- ciName: ''
51
- };
52
- }, [resourceData]);
53
-
54
- var _useState = useState(''),
55
- userId = _useState[0],
56
- setUserId = _useState[1];
57
-
58
- useEffect(function () {
59
- var notifier = topo.view.topoClient.notifier;
60
- notifier.on(TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
61
- notifier.on('topo_element_click', changeOverview);
62
- return function () {
63
- notifier.off(TopoEvent.EVENT_DOUBLE_CLICK, openOverview);
64
- notifier.off('topo_element_click', changeOverview); // 清除数据
65
-
66
- topoDispatchers.update({
67
- id: '',
68
- metricCodes: []
69
- });
70
- };
71
- }, [lock]);
14
+ topoId = _topo$store$useModelS.topoId;
15
+
16
+ var elementDetailManager = useElementDetailManager({
17
+ topo: topo,
18
+ canShow: canShow,
19
+ resourceDetailProps: viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.resourceDetailProps
20
+ });
21
+ var visible = elementDetailManager.visible,
22
+ id = elementDetailManager.id,
23
+ resourceData = elementDetailManager.resourceData,
24
+ Content = elementDetailManager.Content;
72
25
  useEffect(function () {
26
+ elementDetailManager.init();
73
27
  return function () {
74
- resourceDetailDispatchers.reset();
28
+ elementDetailManager.destroy();
75
29
  };
76
30
  }, []); // 解决切换拓扑图隐藏概览
77
31
 
78
32
  useEffect(function () {
79
- close(); // TODO 其他数据重置
33
+ elementDetailManager.reset();
80
34
  }, [topoId]);
81
-
82
- function getUser() {
83
- return _getUser.apply(this, arguments);
84
- } // select切换
85
-
86
-
87
- function _getUser() {
88
- _getUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
89
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
90
- while (1) {
91
- switch (_context2.prev = _context2.next) {
92
- case 0:
93
- setUserId(function (prev) {
94
- // console.log('获取用户id', prev);
95
- // 如果已经获取过,就不再重新获取
96
- if (!prev) {
97
- _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
98
- var res;
99
- return _regeneratorRuntime.wrap(function _callee$(_context) {
100
- while (1) {
101
- switch (_context.prev = _context.next) {
102
- case 0:
103
- _context.next = 2;
104
- return service.getUserId();
105
-
106
- case 2:
107
- res = _context.sent;
108
- setUserId((res === null || res === void 0 ? void 0 : res.user_id) || '');
109
-
110
- case 4:
111
- case "end":
112
- return _context.stop();
113
- }
114
- }
115
- }, _callee);
116
- }))();
117
- }
118
-
119
- return prev;
120
- });
121
-
122
- case 1:
123
- case "end":
124
- return _context2.stop();
125
- }
126
- }
127
- }, _callee2);
128
- }));
129
- return _getUser.apply(this, arguments);
130
- }
131
-
132
- function onChangeActive(activeNode) {
133
- activeNode && init(_extends({}, activeNode, {
134
- type: 'node'
135
- }), 'select');
136
- } // 单击切换
137
-
138
-
139
- function changeOverview(node) {
140
- var data = node.getAttrObject();
141
- init(data, 'click');
142
- }
143
-
144
- function openOverviewByHtElement(element) {
145
- openOverview(element.getAttrObject());
146
- } // 双击打开
147
-
148
-
149
- function openOverview(data) {
150
- if (lock) {
151
- init(data, 'doubleClick');
152
- }
153
- }
154
-
155
- function close() {
156
- resourceDetailDispatchers.update({
157
- visible: false
158
- });
159
- }
160
-
161
- function init(data, targetType) {
162
- // console.log('初始化基本信息', data, targetType);
163
- var id = data.id,
164
- name = data.name,
165
- type = data.type,
166
- ciType = data.ciType,
167
- ciName = data.ciName; // 仅展示资源和链路的概览
168
-
169
- var resourceData = topo.dataModel.getDataById(id);
170
-
171
- if (!resourceData) {
172
- return;
173
- }
174
-
175
- var operation = resourceData.operation,
176
- permission = resourceData.permission;
177
- if ( // 没有权限不显示
178
- !operation && !(permission !== null && permission !== void 0 && permission.readable) || // 没有citype不显示
179
- !ciType) return;
180
- var htElement = topo.getDataModel().getDataByTag(id);
181
-
182
- if (!canShow(htElement)) {
183
- return;
184
- } // 显示隐藏
185
-
186
-
187
- if (targetType === 'doubleClick') {
188
- resourceDetailDispatchers.update({
189
- visible: true,
190
- id: id
191
- });
192
- } else {
193
- resourceDetailDispatchers.update({
194
- id: id
195
- });
196
- } // userId
197
-
198
-
199
- getUser();
200
- }
201
-
202
- var renderContent = function renderContent() {
203
- // 支持自定义概览
204
- var _ref = (viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.resourceDetailProps) || {},
205
- getResourceDetail = _ref.getResourceDetail;
206
-
207
- var ResourceDetailWidget;
208
-
209
- if (getResourceDetail) {
210
- ResourceDetailWidget = getResourceDetail(resourceData);
211
- }
212
-
213
- if (!ResourceDetailWidget) {
214
- ResourceDetailWidget = ResourceDetail;
215
- }
216
-
217
- return /*#__PURE__*/React.createElement(ResourceDetailWidget, _extends({}, props, {
218
- topo: topo,
219
- userId: userId,
220
- activeData: activeData,
221
- resourceData: resourceData,
222
- onClose: close
223
- }));
224
- };
225
-
226
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Drawer, {
227
- className: styles.baseInfo,
228
- closeMode: ['close', 'esc'],
35
+ return /*#__PURE__*/React.createElement(DetailDrawer, {
229
36
  visible: visible,
230
- title: /*#__PURE__*/React.createElement(Title, _extends({}, activeData, {
37
+ title: visible && /*#__PURE__*/React.createElement(Title, {
38
+ id: id,
39
+ data: resourceData,
231
40
  topo: topo,
232
- onChange: onChangeActive
233
- })),
234
- width: 580,
235
- hasMask: false,
236
- onClose: close
237
- }, visible && resourceData && renderContent()));
41
+ onChange: elementDetailManager.open
42
+ }),
43
+ onClose: elementDetailManager.close
44
+ }, visible && /*#__PURE__*/React.createElement(Content, _extends({}, props, {
45
+ topo: topo,
46
+ visible: visible,
47
+ id: id,
48
+ viewerProps: viewerProps,
49
+ onClose: elementDetailManager.close,
50
+ onChangeActive: elementDetailManager.open
51
+ })));
238
52
  }
239
53
 
240
54
  ResourceDetailDrawer.propTypes = {