@riil-frontend/component-topology 6.0.0-alpha.5 → 6.0.0-alpha.6
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/index.css +1 -1
- package/build/index.js +6 -6
- package/es/components/VerticalIconTab/VerticalIconTab.module.scss +4 -0
- package/es/core/editor/components/Sidebar/Sidebar.js +9 -1
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +2 -3
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +27 -6
- package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +2 -1
- package/es/core/editor/components/Toolbar/widgets/WidgetBox.js +5 -1
- package/es/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +1 -0
- package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +8 -5
- package/es/core/editor/components/settings/common/LineType/index.js +3 -19
- package/es/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +3 -0
- package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +2 -37
- package/es/core/editor/store/topoEdit.js +3 -0
- package/es/core/editor/utils/edgeTypeStyleUtil.js +73 -0
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/models/TopoGraphView.js +8 -2
- package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +4 -0
- package/lib/core/editor/components/Sidebar/Sidebar.js +8 -0
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +2 -3
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +27 -5
- package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +2 -1
- package/lib/core/editor/components/Toolbar/widgets/WidgetBox.js +5 -1
- package/lib/core/editor/components/Toolbar/widgets/WidgetBox.module.scss +1 -0
- package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +8 -5
- package/lib/core/editor/components/settings/common/LineType/index.js +3 -18
- package/lib/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +3 -0
- package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js +2 -37
- package/lib/core/editor/store/topoEdit.js +3 -0
- package/lib/core/editor/utils/edgeTypeStyleUtil.js +82 -0
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/models/TopoGraphView.js +8 -2
- package/package.json +2 -2
- package/es/core/store/models/topoView.js +0 -36
- package/lib/core/store/models/topoView.js +0 -47
@@ -1,5 +1,5 @@
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
2
|
-
import React, { useState } from 'react';
|
2
|
+
import React, { useEffect, useState } from 'react';
|
3
3
|
import classNames from 'classnames';
|
4
4
|
import Tab from "../../../../components/VerticalIconTab";
|
5
5
|
import panes from "./panes";
|
@@ -15,6 +15,14 @@ function Sidebar(props) {
|
|
15
15
|
topoEditDispatchers = _topo$store$useModel[1];
|
16
16
|
|
17
17
|
var activeKey = topoEditState.resourceTabactiveKey;
|
18
|
+
useEffect(function () {
|
19
|
+
return function () {
|
20
|
+
// 退出编辑模式,关闭资源面板状态
|
21
|
+
topoEditDispatchers.update({
|
22
|
+
resourceTabactiveKey: null
|
23
|
+
});
|
24
|
+
};
|
25
|
+
}, []);
|
18
26
|
|
19
27
|
var renderTabItem = function renderTabItem(pane) {
|
20
28
|
var View = pane.content;
|
@@ -24,8 +24,7 @@ var LINE_TYPE_OPTIONS = [{
|
|
24
24
|
}];
|
25
25
|
|
26
26
|
function LineType(props) {
|
27
|
-
var
|
28
|
-
|
27
|
+
var onChange = props.onChange;
|
29
28
|
return /*#__PURE__*/React.createElement("div", {
|
30
29
|
className: styles.lineType
|
31
30
|
}, LINE_TYPE_OPTIONS.map(function (item, index, array) {
|
@@ -34,7 +33,7 @@ function LineType(props) {
|
|
34
33
|
title: item.label,
|
35
34
|
className: "" + styles.redioBtn,
|
36
35
|
onClick: function onClick() {
|
37
|
-
|
36
|
+
onChange(item.value);
|
38
37
|
}
|
39
38
|
}, /*#__PURE__*/React.createElement("img", {
|
40
39
|
src: "/img/topo/editor/lineType/" + item.icon + ".svg",
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
2
2
|
var _excluded = ["topo", "showLabel"];
|
3
|
-
import React, { useEffect, useState } from 'react';
|
3
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
4
|
+
import { getEdgesBySelection, setEdgesType } from "../../../../utils/edgeTypeStyleUtil";
|
4
5
|
import DropdownButton from "../components/DropdownButton";
|
5
6
|
import WidgetBox from "../WidgetBox";
|
6
7
|
import EdgeType from "./EdgeType";
|
@@ -15,15 +16,32 @@ function EdgeTypeButton(props) {
|
|
15
16
|
showLabel = props.showLabel,
|
16
17
|
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
17
18
|
|
18
|
-
var _useState = useState(
|
19
|
+
var _useState = useState(false),
|
19
20
|
disabled = _useState[0],
|
20
|
-
setDisabled = _useState[1]; //
|
21
|
+
setDisabled = _useState[1]; // 拓扑图是否加载
|
22
|
+
|
23
|
+
|
24
|
+
var _topo$store$useModelS = topo.store.useModelState('topoMod'),
|
25
|
+
graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
|
21
26
|
|
22
27
|
|
23
28
|
var selection = topo.selectionManager.useSelection();
|
24
29
|
useEffect(function () {
|
25
|
-
|
26
|
-
|
30
|
+
if (graphLoaded) {
|
31
|
+
var edges = getEdgesBySelection(topo);
|
32
|
+
console.info('xxxx', edges, selection);
|
33
|
+
setDisabled(!edges.length);
|
34
|
+
}
|
35
|
+
}, [selection, graphLoaded]);
|
36
|
+
|
37
|
+
var handleChange = function handleChange(name, value) {
|
38
|
+
var edges = getEdgesBySelection(topo);
|
39
|
+
|
40
|
+
if (name === 'lineButton') {
|
41
|
+
setEdgesType(edges, value, topo);
|
42
|
+
}
|
43
|
+
};
|
44
|
+
|
27
45
|
var icon = disabled ? /*#__PURE__*/React.createElement("img", {
|
28
46
|
src: "/img/topo/editor/toolbar/\u7EBF\u5F62/Disable.svg",
|
29
47
|
alt: ""
|
@@ -34,11 +52,14 @@ function EdgeTypeButton(props) {
|
|
34
52
|
return /*#__PURE__*/React.createElement(WidgetBox, {
|
35
53
|
label: "\u7EBF\u5F62",
|
36
54
|
tooltip: "\u7EBF\u5F62",
|
55
|
+
disabled: disabled,
|
37
56
|
showLabel: showLabel
|
38
57
|
}, /*#__PURE__*/React.createElement(DropdownButton, {
|
39
58
|
disabled: disabled,
|
40
59
|
trigger: icon
|
41
|
-
}, /*#__PURE__*/React.createElement(EdgeType,
|
60
|
+
}, /*#__PURE__*/React.createElement(EdgeType, {
|
61
|
+
onChange: handleChange
|
62
|
+
})));
|
42
63
|
}
|
43
64
|
|
44
65
|
export default EdgeTypeButton;
|
@@ -6,6 +6,7 @@ import styles from "./DropdownButton.module.scss";
|
|
6
6
|
|
7
7
|
function DropdownButton(props) {
|
8
8
|
var trigger = props.trigger,
|
9
|
+
disabled = props.disabled,
|
9
10
|
_props$showArrow = props.showArrow,
|
10
11
|
showArrow = _props$showArrow === void 0 ? true : _props$showArrow,
|
11
12
|
_props$showContainer = props.showContainer,
|
@@ -13,18 +14,20 @@ function DropdownButton(props) {
|
|
13
14
|
children = props.children;
|
14
15
|
|
15
16
|
var _useState = useState(false),
|
16
|
-
|
17
|
-
|
17
|
+
active = _useState[0],
|
18
|
+
setActive = _useState[1];
|
18
19
|
|
19
20
|
var button = /*#__PURE__*/React.createElement(ButtonBox, {
|
20
|
-
active:
|
21
|
+
active: active,
|
22
|
+
disabled: disabled,
|
21
23
|
showArrow: showArrow
|
22
24
|
}, trigger);
|
23
25
|
return /*#__PURE__*/React.createElement(_Dropdown, {
|
24
|
-
visible:
|
26
|
+
visible: active,
|
27
|
+
disabled: disabled,
|
25
28
|
trigger: button,
|
26
29
|
triggerType: "click",
|
27
|
-
onVisibleChange:
|
30
|
+
onVisibleChange: setActive
|
28
31
|
}, !showContainer ? children : /*#__PURE__*/React.createElement(PopupCard, null, children));
|
29
32
|
}
|
30
33
|
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import _Box from "@alifd/next/es/box";
|
2
2
|
import _Button from "@alifd/next/es/button";
|
3
3
|
import React, { useState } from "react";
|
4
|
-
import styles from "./LineType.module.scss";
|
4
|
+
import styles from "./LineType.module.scss";
|
5
|
+
import { setEdgesType } from "../../../../utils/edgeTypeStyleUtil"; // 直线 2. 直线单向箭头 3. 直线双向箭头 4. 双折线 5. 双折线单向箭头 6. 弧线
|
5
6
|
// 7. 弧线单向箭头 8. 内向双向箭头 9. 纵向折线 10. 纵向折线带箭头 11. 水平折线 12. 水平折线带箭头
|
6
7
|
|
7
8
|
var LINE_TYPE_OPTIONS = [{
|
@@ -66,24 +67,7 @@ var LineType = function LineType(props) {
|
|
66
67
|
|
67
68
|
var setLineType = function setLineType(type) {
|
68
69
|
var edges = getEdges();
|
69
|
-
|
70
|
-
edges.forEach(function (edge) {
|
71
|
-
htTopo.setGraphLinear(edge, {
|
72
|
-
type: type
|
73
|
-
});
|
74
|
-
|
75
|
-
if (edge.isEdgeGroupAgent()) {
|
76
|
-
// 连线组折叠时同时设置子连线
|
77
|
-
var edgeChildren = edge.getEdgeGroup().getEdges().toArray();
|
78
|
-
htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), true);
|
79
|
-
edgeChildren.forEach(function (edgeChild) {
|
80
|
-
htTopo.setGraphLinear(edgeChild, {
|
81
|
-
type: type
|
82
|
-
});
|
83
|
-
});
|
84
|
-
htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), false);
|
85
|
-
}
|
86
|
-
});
|
70
|
+
setEdgesType(edges, type, topo);
|
87
71
|
};
|
88
72
|
|
89
73
|
var handleChange = function handleChange(data) {
|
@@ -26,6 +26,7 @@ function SizeInput(props) {
|
|
26
26
|
onLockChange = props.onLockChange,
|
27
27
|
_props$showLabel = props.showLabel,
|
28
28
|
showLabel = _props$showLabel === void 0 ? true : _props$showLabel,
|
29
|
+
hasTrigger = props.hasTrigger,
|
29
30
|
size = props.size;
|
30
31
|
|
31
32
|
var handleChange = function handleChange(name, attrValue) {
|
@@ -73,6 +74,7 @@ function SizeInput(props) {
|
|
73
74
|
step: step,
|
74
75
|
placeholder: "\u8BF7\u8F93\u5165",
|
75
76
|
size: size,
|
77
|
+
hasTrigger: hasTrigger,
|
76
78
|
style: {
|
77
79
|
width: '100%'
|
78
80
|
},
|
@@ -104,6 +106,7 @@ function SizeInput(props) {
|
|
104
106
|
step: step,
|
105
107
|
placeholder: "\u8BF7\u8F93\u5165",
|
106
108
|
size: size,
|
109
|
+
hasTrigger: hasTrigger,
|
107
110
|
style: {
|
108
111
|
width: '100%'
|
109
112
|
},
|
package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementLineType.js
CHANGED
@@ -1,48 +1,13 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import {
|
2
|
+
import { getEdgesBySelection } from "../../../../utils/edgeTypeStyleUtil";
|
3
3
|
import LineType from "../../common/LineType";
|
4
4
|
export default function MultipleElementLineType(props) {
|
5
5
|
var topo = props.topo;
|
6
6
|
|
7
7
|
var setLineType = function setLineType(type) {};
|
8
8
|
|
9
|
-
var getChildrenNodeIds = function getChildrenNodeIds(nodes) {
|
10
|
-
var nodeIds = nodes.map(function (node) {
|
11
|
-
return node.getId();
|
12
|
-
});
|
13
|
-
nodes.forEach(function (node) {
|
14
|
-
if (node instanceof ht.Group) {
|
15
|
-
var children = node.getChildren().toArray();
|
16
|
-
nodeIds.push.apply(nodeIds, getChildrenNodeIds(children));
|
17
|
-
}
|
18
|
-
});
|
19
|
-
return nodeIds;
|
20
|
-
};
|
21
|
-
|
22
9
|
var getSelectedEdges = function getSelectedEdges() {
|
23
|
-
|
24
|
-
var selection = gv.getSelectionModel().getSelection().toArray();
|
25
|
-
var edges = selection.filter(function (element) {
|
26
|
-
return element instanceof ht.Edge;
|
27
|
-
}); // 查询选中节点间的连线
|
28
|
-
|
29
|
-
var nodes = selection.filter(function (element) {
|
30
|
-
return element instanceof ht.Node;
|
31
|
-
});
|
32
|
-
var nodeIds = getChildrenNodeIds(nodes);
|
33
|
-
var dm = gv.getDataModel();
|
34
|
-
getEdges(dm).forEach(function (edge) {
|
35
|
-
if (nodeIds.find(function (nodeId) {
|
36
|
-
return nodeId === edge.getSource().getId();
|
37
|
-
}) && nodeIds.find(function (nodeId) {
|
38
|
-
return nodeId === edge.getTarget().getId();
|
39
|
-
}) && !edges.find(function (item) {
|
40
|
-
return item === edge;
|
41
|
-
})) {
|
42
|
-
edges.push(edge);
|
43
|
-
}
|
44
|
-
});
|
45
|
-
return edges;
|
10
|
+
return getEdgesBySelection(topo);
|
46
11
|
};
|
47
12
|
|
48
13
|
return /*#__PURE__*/React.createElement(LineType, {
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import { getEdges } from "../../../utils/htElementUtils";
|
2
|
+
var ht = window.ht;
|
3
|
+
export function getEdgesBySelection(topo) {
|
4
|
+
var getChildrenNodeIds = function getChildrenNodeIds(nodes) {
|
5
|
+
var nodeIds = nodes.map(function (node) {
|
6
|
+
return node.getId();
|
7
|
+
});
|
8
|
+
nodes.forEach(function (node) {
|
9
|
+
if (node instanceof ht.Group) {
|
10
|
+
var children = node.getChildren().toArray();
|
11
|
+
nodeIds.push.apply(nodeIds, getChildrenNodeIds(children));
|
12
|
+
}
|
13
|
+
});
|
14
|
+
return nodeIds;
|
15
|
+
};
|
16
|
+
|
17
|
+
var getSelectedEdges = function getSelectedEdges(topo) {
|
18
|
+
var gv = topo.getGraphView();
|
19
|
+
var selection = gv.getSelectionModel().getSelection().toArray(); // 选中的连线
|
20
|
+
|
21
|
+
var edges = selection.filter(function (element) {
|
22
|
+
return element instanceof ht.Edge;
|
23
|
+
}); // 查询选中节点间的连线
|
24
|
+
|
25
|
+
var nodes = selection.filter(function (element) {
|
26
|
+
return element instanceof ht.Node;
|
27
|
+
});
|
28
|
+
var nodeIds = getChildrenNodeIds(nodes);
|
29
|
+
var dm = gv.getDataModel();
|
30
|
+
getEdges(dm).forEach(function (edge) {
|
31
|
+
if (nodeIds.find(function (nodeId) {
|
32
|
+
return nodeId === edge.getSource().getId();
|
33
|
+
}) && nodeIds.find(function (nodeId) {
|
34
|
+
return nodeId === edge.getTarget().getId();
|
35
|
+
}) && !edges.find(function (item) {
|
36
|
+
return item === edge;
|
37
|
+
})) {
|
38
|
+
edges.push(edge);
|
39
|
+
}
|
40
|
+
});
|
41
|
+
return edges;
|
42
|
+
};
|
43
|
+
|
44
|
+
return getSelectedEdges(topo);
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* 批量设置连线线形
|
48
|
+
*
|
49
|
+
* @param {*} edges
|
50
|
+
* @param {*} type
|
51
|
+
* @param {*} topo
|
52
|
+
*/
|
53
|
+
|
54
|
+
export function setEdgesType(edges, type, topo) {
|
55
|
+
var htTopo = topo.getHtTopo();
|
56
|
+
edges.forEach(function (edge) {
|
57
|
+
htTopo.setGraphLinear(edge, {
|
58
|
+
type: type
|
59
|
+
});
|
60
|
+
|
61
|
+
if (edge.isEdgeGroupAgent()) {
|
62
|
+
// 连线组折叠时同时设置子连线
|
63
|
+
var edgeChildren = edge.getEdgeGroup().getEdges().toArray();
|
64
|
+
htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), true);
|
65
|
+
edgeChildren.forEach(function (edgeChild) {
|
66
|
+
htTopo.setGraphLinear(edgeChild, {
|
67
|
+
type: type
|
68
|
+
});
|
69
|
+
});
|
70
|
+
htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), false);
|
71
|
+
}
|
72
|
+
});
|
73
|
+
}
|
@@ -22,7 +22,7 @@ import topoFactory from "./topoFactory";
|
|
22
22
|
import ElementTagTipConfig from "./tagstips/ElementTagTipConfig";
|
23
23
|
import SelectionManager from "./SelectionManager"; // eslint-disable-next-line no-undef
|
24
24
|
|
25
|
-
var version = typeof "6.0.0-alpha.
|
25
|
+
var version = typeof "6.0.0-alpha.6" === 'string' ? "6.0.0-alpha.6" : null;
|
26
26
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
27
27
|
/**
|
28
28
|
* 拓扑显示和编辑
|
@@ -26,10 +26,16 @@ var TopoGraphView = /*#__PURE__*/function () {
|
|
26
26
|
this.contextMenu = new ContextMenu();
|
27
27
|
};
|
28
28
|
|
29
|
-
_proto.
|
29
|
+
_proto.getHtGraphView = function getHtGraphView() {
|
30
30
|
var _this$topoClient;
|
31
31
|
|
32
|
-
return (_this$topoClient = this.topoClient) === null || _this$topoClient === void 0 ? void 0 : _this$topoClient.
|
32
|
+
return (_this$topoClient = this.topoClient) === null || _this$topoClient === void 0 ? void 0 : _this$topoClient.getGraphView();
|
33
|
+
};
|
34
|
+
|
35
|
+
_proto.getHtDataModel = function getHtDataModel() {
|
36
|
+
var _this$topoClient2;
|
37
|
+
|
38
|
+
return (_this$topoClient2 = this.topoClient) === null || _this$topoClient2 === void 0 ? void 0 : _this$topoClient2.getDataModel();
|
33
39
|
}
|
34
40
|
/**
|
35
41
|
* 缩放平移整个拓扑以展示所有的图元
|
@@ -31,6 +31,14 @@ function Sidebar(props) {
|
|
31
31
|
topoEditDispatchers = _topo$store$useModel[1];
|
32
32
|
|
33
33
|
var activeKey = topoEditState.resourceTabactiveKey;
|
34
|
+
(0, _react.useEffect)(function () {
|
35
|
+
return function () {
|
36
|
+
// 退出编辑模式,关闭资源面板状态
|
37
|
+
topoEditDispatchers.update({
|
38
|
+
resourceTabactiveKey: null
|
39
|
+
});
|
40
|
+
};
|
41
|
+
}, []);
|
34
42
|
|
35
43
|
var renderTabItem = function renderTabItem(pane) {
|
36
44
|
var View = pane.content;
|
@@ -38,8 +38,7 @@ var LINE_TYPE_OPTIONS = [{
|
|
38
38
|
}];
|
39
39
|
|
40
40
|
function LineType(props) {
|
41
|
-
var
|
42
|
-
|
41
|
+
var onChange = props.onChange;
|
43
42
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
44
43
|
className: _LineTypeModule["default"].lineType
|
45
44
|
}, LINE_TYPE_OPTIONS.map(function (item, index, array) {
|
@@ -48,7 +47,7 @@ function LineType(props) {
|
|
48
47
|
title: item.label,
|
49
48
|
className: "" + _LineTypeModule["default"].redioBtn,
|
50
49
|
onClick: function onClick() {
|
51
|
-
|
50
|
+
onChange(item.value);
|
52
51
|
}
|
53
52
|
}, /*#__PURE__*/_react["default"].createElement("img", {
|
54
53
|
src: "/img/topo/editor/lineType/" + item.icon + ".svg",
|
@@ -9,6 +9,8 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
9
9
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
11
11
|
|
12
|
+
var _edgeTypeStyleUtil = require("../../../../utils/edgeTypeStyleUtil");
|
13
|
+
|
12
14
|
var _DropdownButton = _interopRequireDefault(require("../components/DropdownButton"));
|
13
15
|
|
14
16
|
var _WidgetBox = _interopRequireDefault(require("../WidgetBox"));
|
@@ -31,15 +33,32 @@ function EdgeTypeButton(props) {
|
|
31
33
|
showLabel = props.showLabel,
|
32
34
|
otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
|
33
35
|
|
34
|
-
var _useState = (0, _react.useState)(
|
36
|
+
var _useState = (0, _react.useState)(false),
|
35
37
|
disabled = _useState[0],
|
36
|
-
setDisabled = _useState[1]; //
|
38
|
+
setDisabled = _useState[1]; // 拓扑图是否加载
|
39
|
+
|
40
|
+
|
41
|
+
var _topo$store$useModelS = topo.store.useModelState('topoMod'),
|
42
|
+
graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
|
37
43
|
|
38
44
|
|
39
45
|
var selection = topo.selectionManager.useSelection();
|
40
46
|
(0, _react.useEffect)(function () {
|
41
|
-
|
42
|
-
|
47
|
+
if (graphLoaded) {
|
48
|
+
var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
|
49
|
+
console.info('xxxx', edges, selection);
|
50
|
+
setDisabled(!edges.length);
|
51
|
+
}
|
52
|
+
}, [selection, graphLoaded]);
|
53
|
+
|
54
|
+
var handleChange = function handleChange(name, value) {
|
55
|
+
var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
|
56
|
+
|
57
|
+
if (name === 'lineButton') {
|
58
|
+
(0, _edgeTypeStyleUtil.setEdgesType)(edges, value, topo);
|
59
|
+
}
|
60
|
+
};
|
61
|
+
|
43
62
|
var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
|
44
63
|
src: "/img/topo/editor/toolbar/\u7EBF\u5F62/Disable.svg",
|
45
64
|
alt: ""
|
@@ -50,11 +69,14 @@ function EdgeTypeButton(props) {
|
|
50
69
|
return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
|
51
70
|
label: "\u7EBF\u5F62",
|
52
71
|
tooltip: "\u7EBF\u5F62",
|
72
|
+
disabled: disabled,
|
53
73
|
showLabel: showLabel
|
54
74
|
}, /*#__PURE__*/_react["default"].createElement(_DropdownButton["default"], {
|
55
75
|
disabled: disabled,
|
56
76
|
trigger: icon
|
57
|
-
}, /*#__PURE__*/_react["default"].createElement(_EdgeType["default"],
|
77
|
+
}, /*#__PURE__*/_react["default"].createElement(_EdgeType["default"], {
|
78
|
+
onChange: handleChange
|
79
|
+
})));
|
58
80
|
}
|
59
81
|
|
60
82
|
var _default = EdgeTypeButton;
|
@@ -21,6 +21,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
21
21
|
|
22
22
|
function DropdownButton(props) {
|
23
23
|
var trigger = props.trigger,
|
24
|
+
disabled = props.disabled,
|
24
25
|
_props$showArrow = props.showArrow,
|
25
26
|
showArrow = _props$showArrow === void 0 ? true : _props$showArrow,
|
26
27
|
_props$showContainer = props.showContainer,
|
@@ -28,19 +29,21 @@ function DropdownButton(props) {
|
|
28
29
|
children = props.children;
|
29
30
|
|
30
31
|
var _useState = (0, _react.useState)(false),
|
31
|
-
|
32
|
-
|
32
|
+
active = _useState[0],
|
33
|
+
setActive = _useState[1];
|
33
34
|
|
34
35
|
var button = /*#__PURE__*/_react["default"].createElement(_ButtonBox["default"], {
|
35
|
-
active:
|
36
|
+
active: active,
|
37
|
+
disabled: disabled,
|
36
38
|
showArrow: showArrow
|
37
39
|
}, trigger);
|
38
40
|
|
39
41
|
return /*#__PURE__*/_react["default"].createElement(_dropdown["default"], {
|
40
|
-
visible:
|
42
|
+
visible: active,
|
43
|
+
disabled: disabled,
|
41
44
|
trigger: button,
|
42
45
|
triggerType: "click",
|
43
|
-
onVisibleChange:
|
46
|
+
onVisibleChange: setActive
|
44
47
|
}, !showContainer ? children : /*#__PURE__*/_react["default"].createElement(PopupCard, null, children));
|
45
48
|
}
|
46
49
|
|
@@ -13,6 +13,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
|
14
14
|
var _LineTypeModule = _interopRequireDefault(require("./LineType.module.scss"));
|
15
15
|
|
16
|
+
var _edgeTypeStyleUtil = require("../../../../utils/edgeTypeStyleUtil");
|
17
|
+
|
16
18
|
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
19
|
|
18
20
|
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; }
|
@@ -81,24 +83,7 @@ var LineType = function LineType(props) {
|
|
81
83
|
|
82
84
|
var setLineType = function setLineType(type) {
|
83
85
|
var edges = getEdges();
|
84
|
-
|
85
|
-
edges.forEach(function (edge) {
|
86
|
-
htTopo.setGraphLinear(edge, {
|
87
|
-
type: type
|
88
|
-
});
|
89
|
-
|
90
|
-
if (edge.isEdgeGroupAgent()) {
|
91
|
-
// 连线组折叠时同时设置子连线
|
92
|
-
var edgeChildren = edge.getEdgeGroup().getEdges().toArray();
|
93
|
-
htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), true);
|
94
|
-
edgeChildren.forEach(function (edgeChild) {
|
95
|
-
htTopo.setGraphLinear(edgeChild, {
|
96
|
-
type: type
|
97
|
-
});
|
98
|
-
});
|
99
|
-
htTopo.toggleEdgeGroup(edge.getSource(), edge.getTarget(), false);
|
100
|
-
}
|
101
|
-
});
|
86
|
+
(0, _edgeTypeStyleUtil.setEdgesType)(edges, type, topo);
|
102
87
|
};
|
103
88
|
|
104
89
|
var handleChange = function handleChange(data) {
|
@@ -46,6 +46,7 @@ function SizeInput(props) {
|
|
46
46
|
onLockChange = props.onLockChange,
|
47
47
|
_props$showLabel = props.showLabel,
|
48
48
|
showLabel = _props$showLabel === void 0 ? true : _props$showLabel,
|
49
|
+
hasTrigger = props.hasTrigger,
|
49
50
|
size = props.size;
|
50
51
|
|
51
52
|
var handleChange = function handleChange(name, attrValue) {
|
@@ -92,6 +93,7 @@ function SizeInput(props) {
|
|
92
93
|
step: step,
|
93
94
|
placeholder: "\u8BF7\u8F93\u5165",
|
94
95
|
size: size,
|
96
|
+
hasTrigger: hasTrigger,
|
95
97
|
style: {
|
96
98
|
width: '100%'
|
97
99
|
},
|
@@ -123,6 +125,7 @@ function SizeInput(props) {
|
|
123
125
|
step: step,
|
124
126
|
placeholder: "\u8BF7\u8F93\u5165",
|
125
127
|
size: size,
|
128
|
+
hasTrigger: hasTrigger,
|
126
129
|
style: {
|
127
130
|
width: '100%'
|
128
131
|
},
|