@riil-frontend/component-topology 10.0.1 → 10.0.3
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 +12 -12
- package/es/core/editor/components/BackgroundView/index.js +4 -2
- package/es/core/editor/components/BackgroundView/index.module.scss +12 -3
- package/es/core/editor/components/Sidebar/panes.js +1 -1
- package/es/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +2 -5
- package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +7 -0
- package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +123 -34
- package/es/core/editor/components/Toolbar/components/Tooltip.js +0 -1
- package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +1 -1
- package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +1 -1
- package/es/core/models/AttributeMetricDisplay.js +10 -8
- package/es/core/models/TopoApp.js +6 -3
- package/lib/core/editor/components/BackgroundView/index.js +4 -2
- package/lib/core/editor/components/BackgroundView/index.module.scss +12 -3
- package/lib/core/editor/components/Sidebar/panes.js +1 -1
- package/lib/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +2 -6
- package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +7 -0
- package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +123 -32
- package/lib/core/editor/components/Toolbar/components/Tooltip.js +0 -1
- package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +1 -1
- package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +1 -1
- package/lib/core/models/AttributeMetricDisplay.js +10 -8
- package/lib/core/models/TopoApp.js +6 -3
- package/package.json +2 -2
@@ -286,7 +286,7 @@ export default function BackgroundView(props) {
|
|
286
286
|
return /*#__PURE__*/React.createElement("div", {
|
287
287
|
className: styles['background-view']
|
288
288
|
}, /*#__PURE__*/React.createElement("div", {
|
289
|
-
className: styles.
|
289
|
+
className: styles.header
|
290
290
|
}, /*#__PURE__*/React.createElement(_Button, {
|
291
291
|
title: "\u6062\u590D\u9ED8\u8BA4",
|
292
292
|
onClick: resetDefault
|
@@ -299,6 +299,8 @@ export default function BackgroundView(props) {
|
|
299
299
|
}, /*#__PURE__*/React.createElement(_Icon, {
|
300
300
|
type: "topo_button_icon_export"
|
301
301
|
})))), /*#__PURE__*/React.createElement("div", {
|
302
|
+
className: styles.content
|
303
|
+
}, /*#__PURE__*/React.createElement("div", {
|
302
304
|
className: styles.list
|
303
305
|
}, /*#__PURE__*/React.createElement(List, {
|
304
306
|
selected: (current === null || current === void 0 ? void 0 : current.id) || '',
|
@@ -328,7 +330,7 @@ export default function BackgroundView(props) {
|
|
328
330
|
setUploadDialogVisible(false);
|
329
331
|
getBackground();
|
330
332
|
}
|
331
|
-
}), /*#__PURE__*/React.createElement(_Loading, {
|
333
|
+
})), /*#__PURE__*/React.createElement(_Loading, {
|
332
334
|
visible: loadingBackground,
|
333
335
|
fullScreen: true
|
334
336
|
}));
|
@@ -2,18 +2,27 @@
|
|
2
2
|
|
3
3
|
.background-view {
|
4
4
|
width: 260px;
|
5
|
-
padding: 16px;
|
6
5
|
background: #fff;
|
7
6
|
height: 100%;
|
8
7
|
overflow: auto;
|
9
|
-
|
8
|
+
display: flex;
|
9
|
+
flex-direction: column;
|
10
|
+
|
11
|
+
.header {
|
12
|
+
padding: 16px 16px 12px 16px;
|
10
13
|
text-align: right;
|
11
14
|
button {
|
12
15
|
margin-left: 8px;
|
13
16
|
}
|
14
17
|
}
|
18
|
+
|
19
|
+
.content {
|
20
|
+
flex: 1;
|
21
|
+
overflow: auto;
|
22
|
+
padding: 0 16px 16px 16px;
|
23
|
+
}
|
24
|
+
|
15
25
|
.list {
|
16
|
-
margin-top: 8px;
|
17
26
|
.tag {
|
18
27
|
width: 100%;
|
19
28
|
height: 129px;
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import React, { useMemo } from 'react';
|
2
2
|
import rlog from '@riil-frontend/component-topology-utils/es/rlog';
|
3
3
|
import ImagePalette from "./HtImagePalette";
|
4
|
-
import { getResourceIcons } from "../../../../../common/icons/icon";
|
5
4
|
/**
|
6
5
|
* 组件面板
|
7
6
|
* @param {*} props
|
@@ -9,10 +8,8 @@ import { getResourceIcons } from "../../../../../common/icons/icon";
|
|
9
8
|
*/
|
10
9
|
|
11
10
|
export default function CiTypeImagePanel(props) {
|
12
|
-
var topo = props.topo
|
13
|
-
|
14
|
-
return getResourceIcons(topo);
|
15
|
-
}, []);
|
11
|
+
var topo = props.topo,
|
12
|
+
icons = props.icons;
|
16
13
|
return /*#__PURE__*/React.createElement(ImagePalette, {
|
17
14
|
icons: icons,
|
18
15
|
topo: topo
|
@@ -46,6 +46,13 @@ export default function HtImagePalette(props) {
|
|
46
46
|
}
|
47
47
|
};
|
48
48
|
}, []);
|
49
|
+
useEffect(function () {
|
50
|
+
var view = viewRef.current;
|
51
|
+
|
52
|
+
if (view && view.setIcons) {
|
53
|
+
view.setIcons(icons);
|
54
|
+
}
|
55
|
+
}, [icons]);
|
49
56
|
return /*#__PURE__*/React.createElement("div", {
|
50
57
|
ref: divRef,
|
51
58
|
className: styles.container
|
@@ -1,54 +1,143 @@
|
|
1
|
+
import _Box from "@alifd/next/es/box";
|
2
|
+
import _Search from "@alifd/next/es/search";
|
1
3
|
import _extends from "@babel/runtime/helpers/extends";
|
2
4
|
import _Button from "@alifd/next/es/button";
|
3
5
|
import _Icon from "@alifd/next/es/icon";
|
4
|
-
import React, { useMemo } from 'react';
|
6
|
+
import React, { useMemo, useState } from 'react';
|
5
7
|
import Collapse from "../../../../../../components/collapse/Collapse";
|
6
8
|
import CiTypeImagePanel from "./CiTypeImagePanel";
|
7
9
|
import CustomImagePanel from "./CustomImagePanel";
|
8
|
-
import { getBasicIcons } from "../../../../../common/icons/icon";
|
10
|
+
import { getResourceIcons, getBasicIcons } from "../../../../../common/icons/icon";
|
9
11
|
import ImagePalette from "./HtImagePalette";
|
10
12
|
import { useCustomIcons } from "../../../../../common/icons/useIcons";
|
11
13
|
var CollapsePanel = Collapse.Panel;
|
12
14
|
export default function ImagePanel(props) {
|
13
15
|
var topo = props.topo;
|
16
|
+
|
17
|
+
var _useState = useState(''),
|
18
|
+
searchValue = _useState[0],
|
19
|
+
setSearchValue = _useState[1];
|
20
|
+
|
21
|
+
var resourceIcons = useMemo(function () {
|
22
|
+
return getResourceIcons(topo).filter(function (icon) {
|
23
|
+
if (!searchValue) {
|
24
|
+
return true;
|
25
|
+
}
|
26
|
+
|
27
|
+
return icon.name.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase());
|
28
|
+
});
|
29
|
+
}, [searchValue]);
|
14
30
|
var basicIcons = useMemo(function () {
|
15
|
-
return getBasicIcons(topo, false)
|
16
|
-
|
31
|
+
return getBasicIcons(topo, false).filter(function (icon) {
|
32
|
+
if (!searchValue) {
|
33
|
+
return true;
|
34
|
+
}
|
35
|
+
|
36
|
+
return icon.name.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase());
|
37
|
+
});
|
38
|
+
}, [searchValue]);
|
17
39
|
var customIcons = useCustomIcons(topo);
|
40
|
+
var searchCustomIcons = useMemo(function () {
|
41
|
+
return customIcons.filter(function (icon) {
|
42
|
+
if (!searchValue) {
|
43
|
+
return true;
|
44
|
+
}
|
45
|
+
|
46
|
+
return icon.name.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase());
|
47
|
+
});
|
48
|
+
}, [customIcons, searchValue]);
|
18
49
|
|
19
50
|
var handleDownloadCustomImages = function handleDownloadCustomImages() {
|
20
51
|
window.open('/topo/v1/api/shape/download/all');
|
21
52
|
};
|
22
53
|
|
23
|
-
|
24
|
-
|
25
|
-
|
54
|
+
var handleSearch = function handleSearch(v) {
|
55
|
+
setSearchValue(v);
|
56
|
+
};
|
57
|
+
|
58
|
+
var handleSearchChange = function handleSearchChange(value) {
|
59
|
+
setSearchValue(value); // if (!value) {
|
60
|
+
// }
|
61
|
+
};
|
62
|
+
|
63
|
+
var renderImageContent = function renderImageContent() {
|
64
|
+
var panels = [{
|
65
|
+
key: '资源图片',
|
66
|
+
render: function render() {
|
67
|
+
return /*#__PURE__*/React.createElement(CollapsePanel, {
|
68
|
+
key: "\u8D44\u6E90\u56FE\u7247",
|
69
|
+
title: "\u8D44\u6E90\u56FE\u7247"
|
70
|
+
}, /*#__PURE__*/React.createElement(CiTypeImagePanel, {
|
71
|
+
topo: topo,
|
72
|
+
icons: resourceIcons
|
73
|
+
}));
|
74
|
+
}
|
75
|
+
}, {
|
76
|
+
key: '基础图片',
|
77
|
+
render: function render() {
|
78
|
+
return /*#__PURE__*/React.createElement(CollapsePanel, {
|
79
|
+
key: "\u57FA\u7840\u56FE\u7247",
|
80
|
+
title: "\u57FA\u7840\u56FE\u7247"
|
81
|
+
}, /*#__PURE__*/React.createElement(ImagePalette, {
|
82
|
+
icons: basicIcons,
|
83
|
+
topo: topo
|
84
|
+
}));
|
85
|
+
}
|
86
|
+
}, {
|
87
|
+
key: '自定义图片',
|
88
|
+
hidden: searchValue && !searchCustomIcons.length,
|
89
|
+
render: function render() {
|
90
|
+
return /*#__PURE__*/React.createElement(CollapsePanel, {
|
91
|
+
key: "\u81EA\u5B9A\u4E49\u56FE\u7247",
|
92
|
+
title: "\u81EA\u5B9A\u4E49\u56FE\u7247",
|
93
|
+
extra: /*#__PURE__*/React.createElement(_Button, {
|
94
|
+
title: "\u5BFC\u51FA",
|
95
|
+
onClick: handleDownloadCustomImages,
|
96
|
+
disabled: !customIcons.length
|
97
|
+
}, /*#__PURE__*/React.createElement(_Icon, {
|
98
|
+
type: "topo_button_icon_export"
|
99
|
+
}))
|
100
|
+
}, /*#__PURE__*/React.createElement(CustomImagePanel, _extends({}, props, {
|
101
|
+
icons: searchCustomIcons
|
102
|
+
})));
|
103
|
+
}
|
104
|
+
}].filter(function (panel) {
|
105
|
+
return !panel.hidden;
|
106
|
+
});
|
107
|
+
return /*#__PURE__*/React.createElement(Collapse, {
|
108
|
+
accordion: true,
|
109
|
+
defaultExpandedKeys: ['资源图片'],
|
110
|
+
style: {
|
111
|
+
border: 'none',
|
112
|
+
minWidth: '300px'
|
113
|
+
},
|
114
|
+
fullheight: true,
|
115
|
+
noContentPadding: true
|
116
|
+
}, panels.map(function (panel) {
|
117
|
+
return panel.render();
|
118
|
+
}));
|
119
|
+
};
|
120
|
+
|
121
|
+
return /*#__PURE__*/React.createElement(_Box, {
|
122
|
+
direction: "column",
|
123
|
+
style: {
|
124
|
+
height: '100%'
|
125
|
+
}
|
126
|
+
}, /*#__PURE__*/React.createElement("div", {
|
127
|
+
style: {
|
128
|
+
margin: '16px 16px 0px 16px'
|
129
|
+
}
|
130
|
+
}, /*#__PURE__*/React.createElement(_Search, {
|
131
|
+
value: searchValue,
|
132
|
+
onChange: handleSearchChange,
|
133
|
+
onSearch: handleSearch,
|
134
|
+
placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD",
|
135
|
+
shape: "simple",
|
136
|
+
hasClear: true,
|
26
137
|
style: {
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
}, /*#__PURE__*/React.createElement(CollapsePanel, {
|
33
|
-
key: "\u8D44\u6E90\u56FE\u7247",
|
34
|
-
title: "\u8D44\u6E90\u56FE\u7247"
|
35
|
-
}, /*#__PURE__*/React.createElement(CiTypeImagePanel, props)), /*#__PURE__*/React.createElement(CollapsePanel, {
|
36
|
-
key: "\u57FA\u7840\u56FE\u7247",
|
37
|
-
title: "\u57FA\u7840\u56FE\u7247"
|
38
|
-
}, /*#__PURE__*/React.createElement(ImagePalette, {
|
39
|
-
icons: basicIcons,
|
40
|
-
topo: topo
|
41
|
-
})), /*#__PURE__*/React.createElement(CollapsePanel, {
|
42
|
-
key: "\u81EA\u5B9A\u4E49\u56FE\u7247",
|
43
|
-
title: "\u81EA\u5B9A\u4E49\u56FE\u7247",
|
44
|
-
extra: /*#__PURE__*/React.createElement(_Button, {
|
45
|
-
title: "\u5BFC\u51FA",
|
46
|
-
onClick: handleDownloadCustomImages,
|
47
|
-
disabled: !customIcons.length
|
48
|
-
}, /*#__PURE__*/React.createElement(_Icon, {
|
49
|
-
type: "topo_button_icon_export"
|
50
|
-
}))
|
51
|
-
}, /*#__PURE__*/React.createElement(CustomImagePanel, _extends({}, props, {
|
52
|
-
icons: customIcons
|
53
|
-
}))));
|
138
|
+
width: '100%'
|
139
|
+
}
|
140
|
+
})), /*#__PURE__*/React.createElement(_Box, {
|
141
|
+
flex: 1
|
142
|
+
}, renderImageContent()));
|
54
143
|
}
|
@@ -40,7 +40,7 @@ function FontSizeWidget(props) {
|
|
40
40
|
useEffect(function () {}, [selection]);
|
41
41
|
return /*#__PURE__*/React.createElement(WidgetBox, {
|
42
42
|
label: "\u5B57\u53F7",
|
43
|
-
tooltip: "\
|
43
|
+
tooltip: "\u66F4\u6539\u6587\u5B57\u5927\u5C0F",
|
44
44
|
showLabel: showLabel,
|
45
45
|
disabled: disabled
|
46
46
|
}, /*#__PURE__*/React.createElement(FontSizeSelect, {
|
@@ -74,7 +74,7 @@ function NodeSizeButton(props) {
|
|
74
74
|
return /*#__PURE__*/React.createElement(WidgetBox, {
|
75
75
|
label: "\u56FE\u7247\u5C3A\u5BF8",
|
76
76
|
disabled: disabled,
|
77
|
-
tooltip: "\
|
77
|
+
tooltip: "\u5C3A\u5BF8\u8BBE\u7F6E",
|
78
78
|
showLabel: showLabel
|
79
79
|
}, /*#__PURE__*/React.createElement("div", {
|
80
80
|
className: styles.toolbarNodeSizeSetting
|
@@ -612,12 +612,11 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
612
612
|
;
|
613
613
|
|
614
614
|
_proto.buildTagsTips = function buildTagsTips() {
|
615
|
-
var _this6 = this;
|
616
|
-
|
617
615
|
var data = this.getData(); // 获取标注、悬浮框配置
|
618
616
|
|
619
617
|
var ciConfigs = this.getResourceTagTipConfig(); // console.log("buildTagsTips---ciConfigs", ciConfigs);
|
620
618
|
|
619
|
+
var formatter = new AttributeFormatter(this.topo);
|
621
620
|
var ciTagsAndTips = ciConfigs.map(function (ciConfig) {
|
622
621
|
var ciDataItem = findItem(data, "id", ciConfig.id); // console.log("buildTagsTips-ciDataItem", ciDataItem);
|
623
622
|
|
@@ -630,13 +629,17 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
630
629
|
} // 获取ci数据
|
631
630
|
|
632
631
|
|
633
|
-
var ciData = _extends({},
|
632
|
+
var ciData = _extends({}, ciDataItem, {
|
634
633
|
ciType: ciConfig.ciType
|
635
|
-
});
|
634
|
+
}); // console.log("AttributeFormatter-----", ciData, ciConfig);
|
636
635
|
|
637
|
-
var formatter = new AttributeFormatter(_this6.topo); // console.log("AttributeFormatter-----", ciData, ciConfig);
|
638
636
|
|
639
|
-
var tags = formatter.formatAttrs(ciConfig.tags, ciData)
|
637
|
+
var tags = formatter.formatAttrs(ciConfig.tags, ciData) // 展示的所有标注不带对应的名字(包括属性和指标)
|
638
|
+
.map(function (item) {
|
639
|
+
return _extends({}, item, {
|
640
|
+
name: ''
|
641
|
+
});
|
642
|
+
}); // 链路标注箭头
|
640
643
|
|
641
644
|
if (ciConfig.type === "edge") {
|
642
645
|
tags = {
|
@@ -653,8 +656,7 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
653
656
|
};
|
654
657
|
}); // console.log("ciTagsAndTips", ciTagsAndTips);
|
655
658
|
|
656
|
-
var elementTagsAndTips = [].concat(ciTagsAndTips, this.extElementTagTipBuilder ? this.extElementTagTipBuilder.getExtElementTagsAndTips() : []);
|
657
|
-
console.log("ciTagsAndTips", elementTagsAndTips); // 刷新标注、浮层
|
659
|
+
var elementTagsAndTips = [].concat(ciTagsAndTips, this.extElementTagTipBuilder ? this.extElementTagTipBuilder.getExtElementTagsAndTips() : []); // 刷新标注、浮层
|
658
660
|
// rlog.debug('AttributeMetricDisplay.buildTagsTips', {tagsAndTips: elementTagsAndTips, ciConfigs});
|
659
661
|
|
660
662
|
return elementTagsAndTips;
|
@@ -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.3" === 'string' ? "10.0.3" : null;
|
28
28
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
29
29
|
/**
|
30
30
|
* 拓扑显示和编辑
|
@@ -570,8 +570,11 @@ var Topo = /*#__PURE__*/function () {
|
|
570
570
|
return this.options.onSwitchToEditMode(this);
|
571
571
|
|
572
572
|
case 13:
|
573
|
-
|
574
|
-
|
573
|
+
if (this.getDataModel()) {
|
574
|
+
// 更新节点名称显示隐藏
|
575
|
+
this.attributeMetricDisplay.updateNodesNameVisible();
|
576
|
+
} // 加载自定义上传的图标
|
577
|
+
|
575
578
|
|
576
579
|
iconManageDispatchers = this.store.getModelDispatchers('customIcon');
|
577
580
|
iconManageDispatchers.loadEditorIcons();
|
@@ -315,7 +315,7 @@ function BackgroundView(props) {
|
|
315
315
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
316
316
|
className: _indexModule["default"]['background-view']
|
317
317
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
318
|
-
className: _indexModule["default"].
|
318
|
+
className: _indexModule["default"].header
|
319
319
|
}, /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
320
320
|
title: "\u6062\u590D\u9ED8\u8BA4",
|
321
321
|
onClick: resetDefault
|
@@ -328,6 +328,8 @@ function BackgroundView(props) {
|
|
328
328
|
}, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
|
329
329
|
type: "topo_button_icon_export"
|
330
330
|
})))), /*#__PURE__*/_react["default"].createElement("div", {
|
331
|
+
className: _indexModule["default"].content
|
332
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
331
333
|
className: _indexModule["default"].list
|
332
334
|
}, /*#__PURE__*/_react["default"].createElement(List, {
|
333
335
|
selected: (current === null || current === void 0 ? void 0 : current.id) || '',
|
@@ -357,7 +359,7 @@ function BackgroundView(props) {
|
|
357
359
|
setUploadDialogVisible(false);
|
358
360
|
getBackground();
|
359
361
|
}
|
360
|
-
}), /*#__PURE__*/_react["default"].createElement(_loading["default"], {
|
362
|
+
})), /*#__PURE__*/_react["default"].createElement(_loading["default"], {
|
361
363
|
visible: loadingBackground,
|
362
364
|
fullScreen: true
|
363
365
|
}));
|
@@ -2,18 +2,27 @@
|
|
2
2
|
|
3
3
|
.background-view {
|
4
4
|
width: 260px;
|
5
|
-
padding: 16px;
|
6
5
|
background: #fff;
|
7
6
|
height: 100%;
|
8
7
|
overflow: auto;
|
9
|
-
|
8
|
+
display: flex;
|
9
|
+
flex-direction: column;
|
10
|
+
|
11
|
+
.header {
|
12
|
+
padding: 16px 16px 12px 16px;
|
10
13
|
text-align: right;
|
11
14
|
button {
|
12
15
|
margin-left: 8px;
|
13
16
|
}
|
14
17
|
}
|
18
|
+
|
19
|
+
.content {
|
20
|
+
flex: 1;
|
21
|
+
overflow: auto;
|
22
|
+
padding: 0 16px 16px 16px;
|
23
|
+
}
|
24
|
+
|
15
25
|
.list {
|
16
|
-
margin-top: 8px;
|
17
26
|
.tag {
|
18
27
|
width: 100%;
|
19
28
|
height: 129px;
|
@@ -11,8 +11,6 @@ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-ut
|
|
11
11
|
|
12
12
|
var _HtImagePalette = _interopRequireDefault(require("./HtImagePalette"));
|
13
13
|
|
14
|
-
var _icon = require("../../../../../common/icons/icon");
|
15
|
-
|
16
14
|
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); }
|
17
15
|
|
18
16
|
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; }
|
@@ -23,10 +21,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
23
21
|
* @returns
|
24
22
|
*/
|
25
23
|
function CiTypeImagePanel(props) {
|
26
|
-
var topo = props.topo
|
27
|
-
|
28
|
-
return (0, _icon.getResourceIcons)(topo);
|
29
|
-
}, []);
|
24
|
+
var topo = props.topo,
|
25
|
+
icons = props.icons;
|
30
26
|
return /*#__PURE__*/_react["default"].createElement(_HtImagePalette["default"], {
|
31
27
|
icons: icons,
|
32
28
|
topo: topo
|
@@ -60,6 +60,13 @@ function HtImagePalette(props) {
|
|
60
60
|
}
|
61
61
|
};
|
62
62
|
}, []);
|
63
|
+
(0, _react.useEffect)(function () {
|
64
|
+
var view = viewRef.current;
|
65
|
+
|
66
|
+
if (view && view.setIcons) {
|
67
|
+
view.setIcons(icons);
|
68
|
+
}
|
69
|
+
}, [icons]);
|
63
70
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
64
71
|
ref: divRef,
|
65
72
|
className: _HtImagePaletteModule["default"].container
|
@@ -5,6 +5,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
5
5
|
exports.__esModule = true;
|
6
6
|
exports["default"] = ImagePanel;
|
7
7
|
|
8
|
+
var _box = _interopRequireDefault(require("@alifd/next/lib/box"));
|
9
|
+
|
10
|
+
var _search = _interopRequireDefault(require("@alifd/next/lib/search"));
|
11
|
+
|
8
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9
13
|
|
10
14
|
var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
|
@@ -33,44 +37,131 @@ var CollapsePanel = _Collapse["default"].Panel;
|
|
33
37
|
|
34
38
|
function ImagePanel(props) {
|
35
39
|
var topo = props.topo;
|
40
|
+
|
41
|
+
var _useState = (0, _react.useState)(''),
|
42
|
+
searchValue = _useState[0],
|
43
|
+
setSearchValue = _useState[1];
|
44
|
+
|
45
|
+
var resourceIcons = (0, _react.useMemo)(function () {
|
46
|
+
return (0, _icon2.getResourceIcons)(topo).filter(function (icon) {
|
47
|
+
if (!searchValue) {
|
48
|
+
return true;
|
49
|
+
}
|
50
|
+
|
51
|
+
return icon.name.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase());
|
52
|
+
});
|
53
|
+
}, [searchValue]);
|
36
54
|
var basicIcons = (0, _react.useMemo)(function () {
|
37
|
-
return (0, _icon2.getBasicIcons)(topo, false)
|
38
|
-
|
55
|
+
return (0, _icon2.getBasicIcons)(topo, false).filter(function (icon) {
|
56
|
+
if (!searchValue) {
|
57
|
+
return true;
|
58
|
+
}
|
59
|
+
|
60
|
+
return icon.name.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase());
|
61
|
+
});
|
62
|
+
}, [searchValue]);
|
39
63
|
var customIcons = (0, _useIcons.useCustomIcons)(topo);
|
64
|
+
var searchCustomIcons = (0, _react.useMemo)(function () {
|
65
|
+
return customIcons.filter(function (icon) {
|
66
|
+
if (!searchValue) {
|
67
|
+
return true;
|
68
|
+
}
|
69
|
+
|
70
|
+
return icon.name.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase());
|
71
|
+
});
|
72
|
+
}, [customIcons, searchValue]);
|
40
73
|
|
41
74
|
var handleDownloadCustomImages = function handleDownloadCustomImages() {
|
42
75
|
window.open('/topo/v1/api/shape/download/all');
|
43
76
|
};
|
44
77
|
|
45
|
-
|
46
|
-
|
47
|
-
|
78
|
+
var handleSearch = function handleSearch(v) {
|
79
|
+
setSearchValue(v);
|
80
|
+
};
|
81
|
+
|
82
|
+
var handleSearchChange = function handleSearchChange(value) {
|
83
|
+
setSearchValue(value); // if (!value) {
|
84
|
+
// }
|
85
|
+
};
|
86
|
+
|
87
|
+
var renderImageContent = function renderImageContent() {
|
88
|
+
var panels = [{
|
89
|
+
key: '资源图片',
|
90
|
+
render: function render() {
|
91
|
+
return /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
|
92
|
+
key: "\u8D44\u6E90\u56FE\u7247",
|
93
|
+
title: "\u8D44\u6E90\u56FE\u7247"
|
94
|
+
}, /*#__PURE__*/_react["default"].createElement(_CiTypeImagePanel["default"], {
|
95
|
+
topo: topo,
|
96
|
+
icons: resourceIcons
|
97
|
+
}));
|
98
|
+
}
|
99
|
+
}, {
|
100
|
+
key: '基础图片',
|
101
|
+
render: function render() {
|
102
|
+
return /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
|
103
|
+
key: "\u57FA\u7840\u56FE\u7247",
|
104
|
+
title: "\u57FA\u7840\u56FE\u7247"
|
105
|
+
}, /*#__PURE__*/_react["default"].createElement(_HtImagePalette["default"], {
|
106
|
+
icons: basicIcons,
|
107
|
+
topo: topo
|
108
|
+
}));
|
109
|
+
}
|
110
|
+
}, {
|
111
|
+
key: '自定义图片',
|
112
|
+
hidden: searchValue && !searchCustomIcons.length,
|
113
|
+
render: function render() {
|
114
|
+
return /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
|
115
|
+
key: "\u81EA\u5B9A\u4E49\u56FE\u7247",
|
116
|
+
title: "\u81EA\u5B9A\u4E49\u56FE\u7247",
|
117
|
+
extra: /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
118
|
+
title: "\u5BFC\u51FA",
|
119
|
+
onClick: handleDownloadCustomImages,
|
120
|
+
disabled: !customIcons.length
|
121
|
+
}, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
|
122
|
+
type: "topo_button_icon_export"
|
123
|
+
}))
|
124
|
+
}, /*#__PURE__*/_react["default"].createElement(_CustomImagePanel["default"], (0, _extends2["default"])({}, props, {
|
125
|
+
icons: searchCustomIcons
|
126
|
+
})));
|
127
|
+
}
|
128
|
+
}].filter(function (panel) {
|
129
|
+
return !panel.hidden;
|
130
|
+
});
|
131
|
+
return /*#__PURE__*/_react["default"].createElement(_Collapse["default"], {
|
132
|
+
accordion: true,
|
133
|
+
defaultExpandedKeys: ['资源图片'],
|
134
|
+
style: {
|
135
|
+
border: 'none',
|
136
|
+
minWidth: '300px'
|
137
|
+
},
|
138
|
+
fullheight: true,
|
139
|
+
noContentPadding: true
|
140
|
+
}, panels.map(function (panel) {
|
141
|
+
return panel.render();
|
142
|
+
}));
|
143
|
+
};
|
144
|
+
|
145
|
+
return /*#__PURE__*/_react["default"].createElement(_box["default"], {
|
146
|
+
direction: "column",
|
147
|
+
style: {
|
148
|
+
height: '100%'
|
149
|
+
}
|
150
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
151
|
+
style: {
|
152
|
+
margin: '16px 16px 0px 16px'
|
153
|
+
}
|
154
|
+
}, /*#__PURE__*/_react["default"].createElement(_search["default"], {
|
155
|
+
value: searchValue,
|
156
|
+
onChange: handleSearchChange,
|
157
|
+
onSearch: handleSearch,
|
158
|
+
placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD",
|
159
|
+
shape: "simple",
|
160
|
+
hasClear: true,
|
48
161
|
style: {
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
}, /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
|
55
|
-
key: "\u8D44\u6E90\u56FE\u7247",
|
56
|
-
title: "\u8D44\u6E90\u56FE\u7247"
|
57
|
-
}, /*#__PURE__*/_react["default"].createElement(_CiTypeImagePanel["default"], props)), /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
|
58
|
-
key: "\u57FA\u7840\u56FE\u7247",
|
59
|
-
title: "\u57FA\u7840\u56FE\u7247"
|
60
|
-
}, /*#__PURE__*/_react["default"].createElement(_HtImagePalette["default"], {
|
61
|
-
icons: basicIcons,
|
62
|
-
topo: topo
|
63
|
-
})), /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
|
64
|
-
key: "\u81EA\u5B9A\u4E49\u56FE\u7247",
|
65
|
-
title: "\u81EA\u5B9A\u4E49\u56FE\u7247",
|
66
|
-
extra: /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
67
|
-
title: "\u5BFC\u51FA",
|
68
|
-
onClick: handleDownloadCustomImages,
|
69
|
-
disabled: !customIcons.length
|
70
|
-
}, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
|
71
|
-
type: "topo_button_icon_export"
|
72
|
-
}))
|
73
|
-
}, /*#__PURE__*/_react["default"].createElement(_CustomImagePanel["default"], (0, _extends2["default"])({}, props, {
|
74
|
-
icons: customIcons
|
75
|
-
}))));
|
162
|
+
width: '100%'
|
163
|
+
}
|
164
|
+
})), /*#__PURE__*/_react["default"].createElement(_box["default"], {
|
165
|
+
flex: 1
|
166
|
+
}, renderImageContent()));
|
76
167
|
}
|