@riil-frontend/component-topology 6.0.0-alpha.30 → 6.0.0-alpha.32

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 (95) hide show
  1. package/build/1.js +2 -2
  2. package/build/2.js +1 -1
  3. package/build/index.css +1 -1
  4. package/build/index.js +20 -20
  5. package/es/core/editor/components/EditorPlugin.js +2 -1
  6. package/es/core/editor/components/Sidebar/Sidebar.js +2 -1
  7. package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +2 -3
  8. package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +1 -0
  9. package/es/core/editor/components/Toolbar/buttons.js +5 -4
  10. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/EmptySetting.js +8 -0
  11. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/edgeTagSetting.js +8 -0
  12. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/globalTag.js +36 -0
  13. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/nodeTagSetting.js +8 -0
  14. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/text.js +8 -0
  15. package/es/core/editor/components/Toolbar/hooks/useFontStyleSetting.js +54 -14
  16. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +29 -9
  17. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +15 -0
  18. package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +4 -0
  19. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +16 -16
  20. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +20 -18
  21. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +85 -39
  22. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +20 -25
  23. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +22 -6
  24. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +15 -11
  25. package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +23 -8
  26. package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +13 -5
  27. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +40 -0
  28. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +13 -0
  29. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +13 -0
  30. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +12 -0
  31. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +13 -0
  32. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +13 -0
  33. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +25 -0
  34. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +46 -0
  35. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +25 -0
  36. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +36 -0
  37. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +17 -0
  38. package/es/core/editor/components/settings/CloseablePanel.js +7 -2
  39. package/es/core/editor/components/settings/CloseablePanel.module.scss +9 -0
  40. package/es/core/editor/components/settings/PropertyView.js +7 -5
  41. package/es/core/editor/components/settings/common/AlignSetting/index.js +1 -2
  42. package/es/core/editor/components/settings/common/text/fontStyleUtil.js +5 -4
  43. package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -1
  44. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  45. package/es/core/editor/utils/textStyleUtil.js +0 -0
  46. package/es/core/hooks/usePolling.js +2 -5
  47. package/es/core/models/AttributeMetricDisplay.js +4 -0
  48. package/es/core/models/TopoApp.js +1 -1
  49. package/es/utils/htElementUtils.js +3 -0
  50. package/lib/core/editor/components/EditorPlugin.js +3 -1
  51. package/lib/core/editor/components/Sidebar/Sidebar.js +2 -1
  52. package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.js +2 -3
  53. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +1 -0
  54. package/lib/core/editor/components/Toolbar/buttons.js +5 -4
  55. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/EmptySetting.js +13 -0
  56. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/edgeTagSetting.js +13 -0
  57. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/globalTag.js +47 -0
  58. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/nodeTagSetting.js +13 -0
  59. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/text.js +13 -0
  60. package/lib/core/editor/components/Toolbar/hooks/useFontStyleSetting.js +57 -17
  61. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +29 -8
  62. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +15 -0
  63. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +5 -0
  64. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +17 -16
  65. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +21 -18
  66. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +89 -39
  67. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +20 -25
  68. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.module.scss +22 -6
  69. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +14 -11
  70. package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +23 -8
  71. package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +14 -5
  72. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +54 -0
  73. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +23 -0
  74. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +23 -0
  75. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +25 -0
  76. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +23 -0
  77. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +23 -0
  78. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +40 -0
  79. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +58 -0
  80. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +39 -0
  81. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +47 -0
  82. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +28 -0
  83. package/lib/core/editor/components/settings/CloseablePanel.js +8 -2
  84. package/lib/core/editor/components/settings/CloseablePanel.module.scss +9 -0
  85. package/lib/core/editor/components/settings/PropertyView.js +9 -7
  86. package/lib/core/editor/components/settings/common/AlignSetting/index.js +1 -2
  87. package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +5 -4
  88. package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -1
  89. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  90. package/lib/core/editor/utils/textStyleUtil.js +1 -0
  91. package/lib/core/hooks/usePolling.js +2 -5
  92. package/lib/core/models/AttributeMetricDisplay.js +4 -0
  93. package/lib/core/models/TopoApp.js +1 -1
  94. package/lib/utils/htElementUtils.js +5 -0
  95. package/package.json +2 -2
@@ -5,72 +5,122 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _DropdownMenu = _interopRequireDefault(require("./components/DropdownMenu"));
11
13
 
14
+ var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter.js"));
15
+
12
16
  var _WidgetBox = _interopRequireDefault(require("./WidgetBox"));
13
17
 
14
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); }
15
19
 
16
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; }
17
21
 
18
- function FontFamilySelect(props) {
19
- var value = props.value,
20
- disabled = props.disabled,
21
- onChange = props.onChange;
22
- var items = ['宋体', '微软雅黑', '黑体', 'Arial'];
23
- var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
24
- src: "/img/topo/editor/toolbar/bold/Disable.svg",
25
- alt: ""
26
- }) : /*#__PURE__*/_react["default"].createElement("img", {
27
- src: "/img/topo/editor/toolbar/bold/Normal.svg",
28
- alt: ""
22
+ var items = [{
23
+ key: 'bold',
24
+ label: '加粗',
25
+ icon: 'bold'
26
+ }, {
27
+ key: 'italic',
28
+ label: '斜体',
29
+ icon: 'Italics'
30
+ }, {
31
+ key: 'underline',
32
+ label: '下划线',
33
+ icon: 'Underline'
34
+ }];
35
+
36
+ function buildValue(obj) {
37
+ return Object.keys(obj).filter(function (key) {
38
+ return !!obj[key];
29
39
  });
30
- return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
31
- value: value,
32
- valueRender: function valueRender() {
33
- return icon;
34
- },
35
- onChange: onChange
36
- }, items.map(function (item) {
37
- return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"].Item, {
38
- key: item
39
- }, /*#__PURE__*/_react["default"].createElement("div", {
40
- style: {
41
- fontFamily: item
42
- }
43
- }, item));
44
- }));
40
+ }
41
+
42
+ function formatStyle(arr) {
43
+ return items.map(function (item) {
44
+ return item.key;
45
+ }).reduce(function (map, name) {
46
+ var _extends2;
47
+
48
+ return (0, _extends3["default"])({}, map, (_extends2 = {}, _extends2[name] = arr.includes(name), _extends2));
49
+ }, {});
45
50
  }
46
51
 
47
52
  function FontStyleButton(props) {
48
53
  var topo = props.topo,
49
- showLabel = props.showLabel;
54
+ showLabel = props.showLabel,
55
+ style = props.style,
56
+ setStyle = props.setStyle;
57
+
58
+ var _useState = (0, _react.useState)(false),
59
+ disabled = _useState[0],
60
+ setDisabled = _useState[1];
50
61
 
51
- var _useState = (0, _react.useState)('微软雅黑'),
52
- value = _useState[0],
53
- setValue = _useState[1];
62
+ var bold = style.bold,
63
+ italic = style.italic,
64
+ underline = style.underline;
54
65
 
55
- var _useState2 = (0, _react.useState)(true),
56
- disabled = _useState2[0],
57
- setDisabled = _useState2[1]; // 选中的元素
66
+ var _useState2 = (0, _react.useState)(buildValue({
67
+ bold: bold,
68
+ italic: italic,
69
+ underline: underline
70
+ })),
71
+ value = _useState2[0],
72
+ setValue = _useState2[1]; // 选中的元素
58
73
 
59
74
 
60
- var selection = topo.selectionManager.useSelection();
75
+ var selection = topo.selectionManager.useHtSelection();
61
76
  (0, _react.useEffect)(function () {
62
77
  setDisabled(false);
63
78
  }, [selection]);
79
+ (0, _react.useEffect)(function () {
80
+ setValue(buildValue({
81
+ bold: bold,
82
+ italic: italic,
83
+ underline: underline
84
+ }));
85
+ }, [bold, italic, underline]);
86
+ /**
87
+ *
88
+ * @param {Array} selectedKeys
89
+ */
90
+
91
+ var handleChange = function handleChange(selectedKeys) {
92
+ setStyle(formatStyle(selectedKeys));
93
+ };
94
+
64
95
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
65
96
  label: "\u6587\u5B57\u6837\u5F0F",
66
97
  tooltip: "\u6587\u5B57\u6837\u5F0F",
67
98
  showLabel: showLabel
68
- }, /*#__PURE__*/_react["default"].createElement(FontFamilySelect, {
99
+ }, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
69
100
  value: value,
70
- disabled: disabled,
71
- onChange: setValue
72
- }));
101
+ valueRender: function valueRender() {
102
+ return /*#__PURE__*/_react["default"].createElement("img", {
103
+ src: "/img/topo/editor/toolbar/bold/" + (disabled ? 'Disable' : 'Normal') + ".svg",
104
+ alt: ""
105
+ });
106
+ },
107
+ multiple: true,
108
+ onChange: handleChange
109
+ }, items.map(function (item) {
110
+ return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"].Item, {
111
+ key: item.key
112
+ }, /*#__PURE__*/_react["default"].createElement("div", {
113
+ style: {
114
+ display: 'flex',
115
+ alignItems: 'center'
116
+ }
117
+ }, /*#__PURE__*/_react["default"].createElement("img", {
118
+ src: "/img/topo/editor/toolbar/" + item.icon + "/Normal.svg",
119
+ alt: ""
120
+ }), /*#__PURE__*/_react["default"].createElement("span", null, item.label)));
121
+ })));
73
122
  }
74
123
 
75
- var _default = FontStyleButton;
124
+ var _default = (0, _textStyleSettingRouter["default"])(FontStyleButton);
125
+
76
126
  exports["default"] = _default;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
- var _input = _interopRequireDefault(require("@alifd/next/lib/input"));
8
+ var _numberPicker = _interopRequireDefault(require("@alifd/next/lib/number-picker"));
9
9
 
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
 
@@ -70,27 +70,13 @@ function NodeAlignWidget(props) {
70
70
  };
71
71
 
72
72
  var leftInputChange = function leftInputChange(v) {
73
- if (v * 1 < 0) {
74
- setLeftInputVal(0);
75
- } else if (v * 1 > 10000) {
76
- setLeftInputVal(10000);
77
- } else {
78
- setLeftInputVal(v);
79
- }
80
-
81
- setSpace('v', leftInputVal);
73
+ setLeftInputVal(v);
74
+ setSpace('h', v);
82
75
  };
83
76
 
84
77
  var rightInputChange = function rightInputChange(v) {
85
- if (v * 1 < 0) {
86
- setRightInputVal(0);
87
- } else if (v * 1 > 10000) {
88
- setRightInputVal(10000);
89
- } else {
90
- setRightInputVal(v);
91
- }
92
-
93
- setSpace('h', rightInputVal);
78
+ setRightInputVal(v);
79
+ setSpace('v', v);
94
80
  };
95
81
 
96
82
  (0, _react.useEffect)(function () {
@@ -101,10 +87,17 @@ function NodeAlignWidget(props) {
101
87
  });
102
88
  setDisabled(nodes.length <= 1);
103
89
  getClickType('none');
90
+ setLeftInputVal();
91
+ setRightInputVal();
104
92
  }
105
93
  }, [graphLoaded, selection]);
106
94
 
107
95
  var getClickType = function getClickType(type) {
96
+ if (leftInputVal || rightInputVal) {
97
+ setLeftInputVal();
98
+ setRightInputVal();
99
+ }
100
+
108
101
  setLeftDisable(true);
109
102
  setRightDisable(true);
110
103
 
@@ -135,23 +128,25 @@ function NodeAlignWidget(props) {
135
128
  }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_AlignSetting["default"], {
136
129
  topo: topo,
137
130
  getClickType: getClickType
138
- }), /*#__PURE__*/_react["default"].createElement(_input["default"], {
131
+ }), /*#__PURE__*/_react["default"].createElement(_numberPicker["default"], {
139
132
  disabled: leftDisable,
140
133
  size: "small",
134
+ hasTrigger: false,
141
135
  placeholder: "\u591A\u4E2A\u503C",
142
136
  className: _NodeAlignWidgetModule["default"].leftInput,
143
137
  value: leftInputVal,
144
- htmlType: "number",
145
- maxLength: 5,
138
+ min: 0,
139
+ max: 10000,
146
140
  onChange: leftInputChange
147
- }), /*#__PURE__*/_react["default"].createElement(_input["default"], {
141
+ }), /*#__PURE__*/_react["default"].createElement(_numberPicker["default"], {
148
142
  disabled: rightDisable,
149
143
  size: "small",
144
+ hasTrigger: false,
150
145
  placeholder: "\u591A\u4E2A\u503C",
151
146
  className: _NodeAlignWidgetModule["default"].rightInput,
152
147
  value: rightInputVal,
153
- htmlType: "number",
154
- maxLength: 5,
148
+ min: 0,
149
+ max: 10000,
155
150
  onChange: rightInputChange
156
151
  }))));
157
152
  }
@@ -1,12 +1,28 @@
1
1
  .leftInput{
2
- background: url('/img/topo/editor/toolbar/对齐/Disable.svg')no-repeat 5px center;
3
- background-position: right center;
4
- width: 100px;
2
+ width: 100px !important;
5
3
  margin-right: 10px;
6
4
  margin-left: 5px;
5
+ :global{
6
+ input{
7
+ background: url('/img/topo/editor/toolbar/对齐/水平间距_normal.svg')no-repeat 5px center !important;
8
+ background-position: right center !important;
9
+ }
10
+ .next-disabled input{
11
+ background: url('/img/topo/editor/toolbar/对齐/水平间距_disable.svg')no-repeat 5px center !important;
12
+ background-position: right center !important;
13
+ }
14
+ }
7
15
  }
8
16
  .rightInput{
9
- width: 100px;
10
- background: url('/img/topo/editor/toolbar/对齐/Disable.svg')no-repeat 5px center;
11
- background-position: right center;
17
+ width: 100px !important;
18
+ :global{
19
+ input{
20
+ background: url('/img/topo/editor/toolbar/对齐/垂直间距 _normal.svg')no-repeat 5px center !important;
21
+ background-position: right center !important;
22
+ }
23
+ .next-disabled input{
24
+ background: url('/img/topo/editor/toolbar/对齐/垂直间距_disable.svg')no-repeat 5px center !important;
25
+ background-position: right center !important;
26
+ }
27
+ }
12
28
  }
@@ -17,8 +17,6 @@ var _useSettingRuntimeState = _interopRequireDefault(require("../../../settings/
17
17
 
18
18
  var _WidgetBox = _interopRequireDefault(require("../WidgetBox"));
19
19
 
20
- var _BoxBackgroundSetting = _interopRequireDefault(require("./BoxBackgroundSetting"));
21
-
22
20
  var _NodeSizeButtonModule = _interopRequireDefault(require("./NodeSizeButton.module.scss"));
23
21
 
24
22
  var _htElementUtils = require("../../../../../../utils/htElementUtils");
@@ -48,10 +46,15 @@ function NodeSizeButton(props) {
48
46
  setSize = _useState2[1]; // 选中的元素
49
47
 
50
48
 
51
- var selection = topo.selectionManager.useHtSelection();
49
+ var selection = topo.selectionManager.useSelection();
52
50
  var settingRuntimeState = (0, _useSettingRuntimeState["default"])();
53
51
  (0, _react.useEffect)(function () {
54
- var nodes = selection.filter(function (ele) {
52
+ var elements = selection.map(function (item) {
53
+ return item.id;
54
+ }).map(function (id) {
55
+ return topo.getDataModel().getDataById(id);
56
+ });
57
+ var nodes = elements.filter(function (ele) {
55
58
  return (0, _htElementUtils.isGroup)(ele) || (0, _htElementUtils.isNode)(ele);
56
59
  });
57
60
 
@@ -59,9 +62,10 @@ function NodeSizeButton(props) {
59
62
  setDisabled(false);
60
63
 
61
64
  if (selection.length === 1) {
65
+ var element = nodes[0];
62
66
  setSize({
63
- width: selection[0].width,
64
- height: selection[0].height
67
+ width: element.getWidth(),
68
+ height: element.getHeight()
65
69
  });
66
70
  }
67
71
  } else {
@@ -76,12 +80,11 @@ function NodeSizeButton(props) {
76
80
  var _onChange = function onChange(prop) {
77
81
  var name = prop.name,
78
82
  value = prop.value;
79
- var gv = topo.view.topoClient.getGraphView();
80
83
  var element = topo.getSelectionModel().getFirstData();
81
84
 
82
- if (name === "width") {
85
+ if (name === 'width') {
83
86
  element.setWidth(value);
84
- } else if (name === "height") {
87
+ } else if (name === 'height') {
85
88
  element.setHeight(value);
86
89
  }
87
90
  };
@@ -125,12 +128,12 @@ function NodeSizeButton(props) {
125
128
  topo.historyManager.beginTransaction();
126
129
 
127
130
  _onChange({
128
- name: "width",
131
+ name: 'width',
129
132
  value: size.width
130
133
  });
131
134
 
132
135
  _onChange({
133
- name: "height",
136
+ name: 'height',
134
137
  value: size.height
135
138
  });
136
139
 
@@ -7,6 +7,8 @@ exports["default"] = void 0;
7
7
 
8
8
  var _dropdown = _interopRequireDefault(require("@alifd/next/lib/dropdown"));
9
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
10
12
  var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -26,25 +28,38 @@ function DropdownButton(props) {
26
28
  showArrow = _props$showArrow === void 0 ? true : _props$showArrow,
27
29
  _props$showContainer = props.showContainer,
28
30
  showContainer = _props$showContainer === void 0 ? true : _props$showContainer,
31
+ buttonBoxProps = props.buttonBoxProps,
29
32
  children = props.children;
30
33
 
31
34
  var _useState = (0, _react.useState)(false),
32
- active = _useState[0],
33
- setActive = _useState[1];
35
+ visible = _useState[0],
36
+ setVisible = _useState[1];
34
37
 
35
- var button = /*#__PURE__*/_react["default"].createElement(_ButtonBox["default"], {
36
- active: active,
38
+ var button = /*#__PURE__*/_react["default"].createElement(_ButtonBox["default"], (0, _extends2["default"])({
39
+ active: visible,
37
40
  disabled: disabled,
38
41
  showArrow: showArrow
39
- }, trigger);
42
+ }, buttonBoxProps), trigger);
43
+
44
+ var renderContent = function renderContent() {
45
+ if (!visible) {
46
+ return /*#__PURE__*/_react["default"].createElement("div", null);
47
+ }
48
+
49
+ if (showContainer) {
50
+ return /*#__PURE__*/_react["default"].createElement(PopupCard, null, children);
51
+ }
52
+
53
+ return children;
54
+ };
40
55
 
41
56
  return /*#__PURE__*/_react["default"].createElement(_dropdown["default"], {
42
- visible: active,
57
+ visible: visible,
43
58
  disabled: disabled,
44
59
  trigger: button,
45
60
  triggerType: "click",
46
- onVisibleChange: setActive
47
- }, !showContainer ? children : /*#__PURE__*/_react["default"].createElement(PopupCard, null, children));
61
+ onVisibleChange: setVisible
62
+ }, renderContent());
48
63
  }
49
64
 
50
65
  DropdownButton.propTypes = {
@@ -16,18 +16,27 @@ var _DropdownButton = _interopRequireDefault(require("./DropdownButton"));
16
16
  function DropdownMenu(props) {
17
17
  var value = props.value,
18
18
  children = props.children,
19
+ multiple = props.multiple,
19
20
  onChange = props.onChange,
20
21
  valueRender = props.valueRender;
21
22
  var selectedKeys = Array.isArray(value) ? value : [value];
22
23
  var valueDisplay = valueRender ? valueRender(value) : value;
24
+ var selectMode = multiple ? 'multiple' : 'single';
25
+
26
+ var handleChange = function handleChange(keys) {
27
+ onChange(multiple ? keys : keys[0]);
28
+ };
29
+
30
+ var menu = /*#__PURE__*/_react["default"].createElement(_menu["default"], {
31
+ selectMode: selectMode,
32
+ selectedKeys: selectedKeys,
33
+ onSelect: handleChange
34
+ }, children);
35
+
23
36
  return /*#__PURE__*/_react["default"].createElement(_DropdownButton["default"], {
24
37
  trigger: valueDisplay,
25
38
  showContainer: false
26
- }, /*#__PURE__*/_react["default"].createElement(_menu["default"], {
27
- selectMode: "single",
28
- selectedKeys: selectedKeys,
29
- onSelect: onChange
30
- }, children));
39
+ }, multiple ? /*#__PURE__*/_react["default"].createElement("div", null, menu) : menu);
31
40
  }
32
41
 
33
42
  _DropdownButton["default"].propTypes = {
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _textStyleUtil = require("./textStyleUtil");
15
+
16
+ var _excluded = ["Component"];
17
+
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); }
19
+
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; }
21
+
22
+ function ElementTextStyleSetting(props) {
23
+ var topo = props.topo;
24
+ var Component = props.Component,
25
+ widgetProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded); // 选中的元素
26
+
27
+ var selection = topo.selectionManager.useSelection();
28
+ var htSelection = (0, _react.useMemo)(function () {
29
+ if (!selection.length) {
30
+ return [];
31
+ }
32
+
33
+ return topo.getHtTopo().getGraphView().getSelectionModel().getSelection().toArray();
34
+ }, [selection, topo]);
35
+ var value = (0, _react.useMemo)(function () {
36
+ return (0, _textStyleUtil.getTextStyle)(htSelection) || {};
37
+ }, [htSelection, topo]);
38
+ var setStyle = (0, _react.useMemo)(function () {
39
+ return function (style) {
40
+ htSelection.forEach(function (element) {
41
+ (0, _textStyleUtil.setTextStyle)(element, style);
42
+ });
43
+ };
44
+ }, [htSelection]);
45
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
46
+ disabled: false,
47
+ htSelection: htSelection,
48
+ style: value,
49
+ setStyle: setStyle
50
+ }, widgetProps));
51
+ }
52
+
53
+ var _default = ElementTextStyleSetting;
54
+ exports["default"] = _default;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+ exports.getTextStyle = getTextStyle;
6
+ exports.setTextStyle = setTextStyle;
7
+
8
+ function getTextStyle(element) {
9
+ return {
10
+ color: null,
11
+ fontFamily: null,
12
+ fontSize: null,
13
+ fontStyle: []
14
+ };
15
+ }
16
+
17
+ function setTextStyle(element, style) {}
18
+
19
+ var _default = {
20
+ getTextStyle: getTextStyle,
21
+ setTextStyle: setTextStyle
22
+ };
23
+ exports["default"] = _default;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+ exports.getTextStyle = getTextStyle;
6
+ exports.setTextStyle = setTextStyle;
7
+
8
+ function getTextStyle(element) {
9
+ return {
10
+ color: null,
11
+ fontFamily: null,
12
+ fontSize: null,
13
+ fontStyle: []
14
+ };
15
+ }
16
+
17
+ function setTextStyle(element, style) {}
18
+
19
+ var _default = {
20
+ getTextStyle: getTextStyle,
21
+ setTextStyle: setTextStyle
22
+ };
23
+ exports["default"] = _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = void 0;
7
+
8
+ var _text = _interopRequireDefault(require("./text"));
9
+
10
+ var _nodeTag = _interopRequireDefault(require("./nodeTag"));
11
+
12
+ var _edgeTag = _interopRequireDefault(require("./edgeTag"));
13
+
14
+ var _groupTitle = _interopRequireDefault(require("./groupTitle"));
15
+
16
+ var _layerTitle = _interopRequireDefault(require("./layerTitle"));
17
+
18
+ var _default = {
19
+ nodeTag: _nodeTag["default"],
20
+ edgeTag: _edgeTag["default"],
21
+ text: _text["default"],
22
+ groupTitle: _groupTitle["default"],
23
+ layerTitle: _layerTitle["default"]
24
+ };
25
+ exports["default"] = _default;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+ exports.getTextStyle = getTextStyle;
6
+ exports.setTextStyle = setTextStyle;
7
+
8
+ function getTextStyle(element) {
9
+ return {
10
+ color: null,
11
+ fontFamily: null,
12
+ fontSize: null,
13
+ fontStyle: []
14
+ };
15
+ }
16
+
17
+ function setTextStyle(element, style) {}
18
+
19
+ var _default = {
20
+ getTextStyle: getTextStyle,
21
+ setTextStyle: setTextStyle
22
+ };
23
+ exports["default"] = _default;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+ exports.getTextStyle = getTextStyle;
6
+ exports.setTextStyle = setTextStyle;
7
+
8
+ function getTextStyle(element) {
9
+ return {
10
+ color: null,
11
+ fontFamily: null,
12
+ fontSize: null,
13
+ fontStyle: []
14
+ };
15
+ }
16
+
17
+ function setTextStyle(element, style) {}
18
+
19
+ var _default = {
20
+ getTextStyle: getTextStyle,
21
+ setTextStyle: setTextStyle
22
+ };
23
+ exports["default"] = _default;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = void 0;
7
+ exports.getTextStyle = getTextStyle;
8
+ exports.setTextStyle = setTextStyle;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _fontStyleUtil = _interopRequireDefault(require("../../../../../../settings/common/text/fontStyleUtil"));
13
+
14
+ function getTextStyle(element) {
15
+ var underline = element.s('text.decoration') === 'underline';
16
+ return (0, _extends2["default"])({
17
+ color: null,
18
+ underline: underline
19
+ }, _fontStyleUtil["default"].toMap(element.s('text.font')));
20
+ }
21
+
22
+ function setTextStyle(element, style) {
23
+ var underline = style.underline;
24
+
25
+ if ('underline' in style) {
26
+ element.s('text.decoration', underline ? 'underline' : null);
27
+ }
28
+
29
+ var fontStyle = (0, _extends2["default"])({}, getTextStyle(element), style);
30
+
31
+ var fontStr = _fontStyleUtil["default"].build(fontStyle);
32
+
33
+ element.s('text.font', fontStr);
34
+ }
35
+
36
+ var _default = {
37
+ getTextStyle: getTextStyle,
38
+ setTextStyle: setTextStyle
39
+ };
40
+ exports["default"] = _default;