@riil-frontend/component-topology 10.0.17 → 10.0.19
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/1.js +1 -1
- package/build/index.css +1 -1
- package/build/index.js +18 -18
- package/es/core/editor/config/themes.js +11 -11
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/viewer/components/plugins/ElementDetailDrawer/components/DetailDrawer.js +15 -0
- package/es/core/viewer/components/plugins/ElementDetailDrawer/components/DetailDrawer.module.scss +16 -0
- package/es/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +197 -0
- package/es/core/viewer/components/plugins/ResourceDetail/DefaultDetailContent.js +63 -0
- package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +31 -217
- package/es/core/viewer/components/plugins/ResourceDetail/components/DrawerTitle.js +67 -49
- package/es/core/viewer/components/plugins/ResourceDetail/hooks/useUserId.js +66 -0
- package/es/style.js +1 -1
- package/lib/core/editor/config/themes.js +11 -11
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/viewer/components/plugins/ElementDetailDrawer/components/DetailDrawer.js +26 -0
- package/lib/core/viewer/components/plugins/ElementDetailDrawer/components/DetailDrawer.module.scss +16 -0
- package/lib/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +211 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/DefaultDetailContent.js +79 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +31 -223
- package/lib/core/viewer/components/plugins/ResourceDetail/components/DrawerTitle.js +69 -51
- package/lib/core/viewer/components/plugins/ResourceDetail/hooks/useUserId.js +81 -0
- package/lib/style.js +1 -1
- package/package.json +2 -2
@@ -1,9 +1,9 @@
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
2
2
|
var baseLightTheme = {
|
3
3
|
color: '#FFFFFF',
|
4
|
-
globalNodeLabelColor: '
|
4
|
+
globalNodeLabelColor: 'rgba(0, 0, 0, 0.75)',
|
5
5
|
globalNodeLabelStyle: {
|
6
|
-
color: '
|
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: '
|
16
|
+
color: 'rgba(0, 0, 0, 0.75)'
|
17
17
|
},
|
18
18
|
group: {
|
19
19
|
style: {
|
20
|
-
'group.title.background': '
|
20
|
+
'group.title.background': '#3E6BB3',
|
21
21
|
// 标题背景颜色 #E4E9EE
|
22
|
-
'group.title.color': '#
|
22
|
+
'group.title.color': '#FFFFFF',
|
23
23
|
// 标题文字颜色
|
24
|
-
'group.background': 'rgba(255, 255, 255, 0.
|
25
|
-
'group.border.color': '
|
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(
|
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(
|
89
|
-
'group.border.color': 'rgba(
|
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': '
|
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.
|
27
|
+
var version = typeof "10.0.19" === 'string' ? "10.0.19" : 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;
|
package/es/core/viewer/components/plugins/ElementDetailDrawer/components/DetailDrawer.module.scss
ADDED
@@ -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
|
+
}
|
package/es/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js
ADDED
@@ -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
|
11
|
-
import
|
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
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
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
|
-
|
28
|
+
elementDetailManager.destroy();
|
75
29
|
};
|
76
30
|
}, []); // 解决切换拓扑图隐藏概览
|
77
31
|
|
78
32
|
useEffect(function () {
|
79
|
-
|
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,
|
37
|
+
title: visible && /*#__PURE__*/React.createElement(Title, {
|
38
|
+
id: id,
|
39
|
+
data: resourceData,
|
231
40
|
topo: topo,
|
232
|
-
onChange:
|
233
|
-
})
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
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 = {
|