@riil-frontend/component-topology 6.0.0-alpha.31 → 6.0.0-alpha.33

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 (49) hide show
  1. package/build/index.css +1 -1
  2. package/build/index.js +5 -5
  3. package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +0 -4
  4. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +20 -16
  5. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +24 -18
  6. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +46 -45
  7. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +3 -2
  8. package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +4 -2
  9. package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +6 -1
  10. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +41 -0
  11. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +13 -0
  12. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +13 -0
  13. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +12 -0
  14. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +13 -0
  15. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +13 -0
  16. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +25 -0
  17. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +69 -0
  18. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +25 -0
  19. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +36 -0
  20. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +20 -0
  21. package/es/core/editor/components/settings/PropertyView.js +10 -4
  22. package/es/core/editor/components/settings/common/text/fontStyleUtil.js +5 -4
  23. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  24. package/es/core/models/TopoApp.js +1 -1
  25. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +0 -5
  26. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +21 -16
  27. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +25 -18
  28. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +47 -48
  29. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +3 -2
  30. package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +5 -2
  31. package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +5 -1
  32. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +55 -0
  33. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +23 -0
  34. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +23 -0
  35. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +25 -0
  36. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +23 -0
  37. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +23 -0
  38. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +40 -0
  39. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +81 -0
  40. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +39 -0
  41. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +47 -0
  42. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +31 -0
  43. package/lib/core/editor/components/settings/PropertyView.js +11 -5
  44. package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +5 -4
  45. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  46. package/lib/core/models/TopoApp.js +1 -1
  47. package/package.json +2 -2
  48. package/es/core/editor/components/Toolbar/hooks/useFontStyleSetting.js +0 -52
  49. package/lib/core/editor/components/Toolbar/hooks/useFontStyleSetting.js +0 -64
@@ -8,7 +8,8 @@ var fontStyleUtil = {
8
8
  var arr = font.trim().split(' ');
9
9
  var bold = font.indexOf('bold') > -1;
10
10
  var italic = font.indexOf('italic') > -1;
11
- var fontFamily, fontSize;
11
+ var fontFamily;
12
+ var fontSize;
12
13
 
13
14
  if (arr.length) {
14
15
  fontFamily = arr[arr.length - 1];
@@ -29,15 +30,15 @@ var fontStyleUtil = {
29
30
  build: function build(style) {
30
31
  var font = '';
31
32
 
32
- if (style.font.bold) {
33
+ if (style.bold) {
33
34
  font += 'bold ';
34
35
  }
35
36
 
36
- if (style.font.italic) {
37
+ if (style.italic) {
37
38
  font += 'italic ';
38
39
  }
39
40
 
40
- return "" + font + style.font.fontSize + "px " + style.font.fontFamily;
41
+ return "" + font + style.fontSize + "px " + style.fontFamily;
41
42
  },
42
43
  getFontStyleMap: function getFontStyleMap(obj, prefix) {
43
44
  var map = {};
@@ -37,7 +37,7 @@ export default function TextPropertyView(props) {
37
37
 
38
38
  _onChange('styleMap.label.color', value.color, newValues);
39
39
 
40
- var font = fontStyleUtil.build(value);
40
+ var font = fontStyleUtil.build(value.font);
41
41
 
42
42
  _onChange('styleMap.text.font', font, newValues);
43
43
 
@@ -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.31" === 'string' ? "6.0.0-alpha.31" : null;
25
+ var version = typeof "6.0.0-alpha.33" === 'string' ? "6.0.0-alpha.33" : null;
26
26
  console.info("\u62D3\u6251\u7248\u672C: " + version);
27
27
  /**
28
28
  * 拓扑显示和编辑
@@ -17,8 +17,6 @@ var _FontColorRange = _interopRequireDefault(require("../../../../../components/
17
17
 
18
18
  var _FontColorButtonModule = _interopRequireDefault(require("./FontColorButton.module.scss"));
19
19
 
20
- var _useFontStyleSetting = _interopRequireDefault(require("../hooks/useFontStyleSetting"));
21
-
22
20
  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); }
23
21
 
24
22
  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; }
@@ -33,9 +31,6 @@ function FontFamilySelect(props) {
33
31
  disabled = _useState[0],
34
32
  setDisabled = _useState[1];
35
33
 
36
- var fontStyleSetting = (0, _useFontStyleSetting["default"])({
37
- topo: topo
38
- });
39
34
  console.log(topo, 'topo这里需要处理颜色改变的事情');
40
35
 
41
36
  var backOpacityChange = function backOpacityChange(value) {
@@ -7,10 +7,10 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
- var _useFontStyleSetting = _interopRequireDefault(require("../hooks/useFontStyleSetting"));
11
-
12
10
  var _DropdownMenu = _interopRequireDefault(require("./components/DropdownMenu"));
13
11
 
12
+ var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter.js"));
13
+
14
14
  var _WidgetBox = _interopRequireDefault(require("./WidgetBox"));
15
15
 
16
16
  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); }
@@ -22,7 +22,14 @@ function FontFamilySelect(props) {
22
22
  onChange = props.onChange;
23
23
  var items = ['宋体', '微软雅黑', '黑体', 'Arial'];
24
24
  return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
25
- value: value,
25
+ value: value || '',
26
+ valueRender: function valueRender(val) {
27
+ return /*#__PURE__*/_react["default"].createElement("div", {
28
+ style: {
29
+ width: 48
30
+ }
31
+ }, val || '微软雅黑');
32
+ },
26
33
  onChange: onChange
27
34
  }, items.map(function (item) {
28
35
  return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"].Item, {
@@ -37,29 +44,27 @@ function FontFamilySelect(props) {
37
44
 
38
45
  function FontFamilyWidget(props) {
39
46
  var topo = props.topo,
40
- showLabel = props.showLabel;
41
-
42
- var _useState = (0, _react.useState)('微软雅黑'),
43
- value = _useState[0],
44
- setValue = _useState[1];
45
-
46
- var fontStyleSetting = (0, _useFontStyleSetting["default"])({
47
- topo: topo
48
- });
47
+ showLabel = props.showLabel,
48
+ style = props.style,
49
+ setStyle = props.setStyle;
49
50
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
50
51
  label: "\u5B57\u4F53",
51
52
  tooltip: "\u5B57\u4F53",
52
53
  showLabel: showLabel
53
54
  }, /*#__PURE__*/_react["default"].createElement(FontFamilySelect, {
54
- value: value,
55
+ value: style.fontFamily,
55
56
  onChange: function onChange(val) {
56
- setValue(val);
57
- fontStyleSetting.setStyle({
57
+ topo.historyManager.beginTransaction();
58
+ setStyle({
58
59
  fontFamily: val
59
60
  });
61
+ topo.historyManager.endTransaction();
60
62
  }
61
63
  }));
62
64
  }
63
65
 
64
- var _default = FontFamilyWidget;
66
+ var _default = (0, _textStyleSettingRouter["default"])(FontFamilyWidget, {
67
+ names: ['fontFamily']
68
+ });
69
+
65
70
  exports["default"] = _default;
@@ -7,10 +7,10 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
- var _useFontStyleSetting = _interopRequireDefault(require("../hooks/useFontStyleSetting"));
11
-
12
10
  var _DropdownMenu = _interopRequireDefault(require("./components/DropdownMenu"));
13
11
 
12
+ var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter.js"));
13
+
14
14
  var _WidgetBox = _interopRequireDefault(require("./WidgetBox"));
15
15
 
16
16
  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,11 +19,20 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
19
19
 
20
20
  function FontSizeSelect(props) {
21
21
  var value = props.value,
22
- onChange = props.onChange;
22
+ _onChange = props.onChange;
23
23
  var items = [9, 10, 11, 12, 14, 16, 18, 20, 24, 30, 36];
24
24
  return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
25
- value: value,
26
- onChange: onChange
25
+ value: "" + (value || ''),
26
+ valueRender: function valueRender(val) {
27
+ return /*#__PURE__*/_react["default"].createElement("div", {
28
+ style: {
29
+ width: 18
30
+ }
31
+ }, val || 12);
32
+ },
33
+ onChange: function onChange(val) {
34
+ return _onChange(parseInt(val, 10));
35
+ }
27
36
  }, items.map(function (item) {
28
37
  return /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"].Item, {
29
38
  key: item
@@ -33,28 +42,26 @@ function FontSizeSelect(props) {
33
42
 
34
43
  function FontSizeWidget(props) {
35
44
  var topo = props.topo,
36
- showLabel = props.showLabel;
37
- var fontStyleSetting = (0, _useFontStyleSetting["default"])({
38
- topo: topo
39
- });
40
-
41
- var _useState = (0, _react.useState)(12),
42
- fontSize = _useState[0],
43
- setFontSize = _useState[1];
44
-
45
+ showLabel = props.showLabel,
46
+ style = props.style,
47
+ setStyle = props.setStyle;
45
48
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
46
49
  label: "\u5B57\u53F7",
47
50
  showLabel: showLabel
48
51
  }, /*#__PURE__*/_react["default"].createElement(FontSizeSelect, {
49
- value: fontSize,
52
+ value: style.fontSize,
50
53
  onChange: function onChange(val) {
51
- setFontSize(val);
52
- fontStyleSetting.setStyle({
54
+ topo.historyManager.beginTransaction();
55
+ setStyle({
53
56
  fontSize: val
54
57
  });
58
+ topo.historyManager.endTransaction();
55
59
  }
56
60
  }));
57
61
  }
58
62
 
59
- var _default = FontSizeWidget;
63
+ var _default = (0, _textStyleSettingRouter["default"])(FontSizeWidget, {
64
+ names: ['fontSize']
65
+ });
66
+
60
67
  exports["default"] = _default;
@@ -5,16 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _htElementUtils = require("../../../../../utils/htElementUtils");
11
-
12
- var _fontStyleUtil = _interopRequireDefault(require("../../settings/common/text/fontStyleUtil"));
8
+ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
9
 
14
- var _useFontStyleSetting = _interopRequireDefault(require("../hooks/useFontStyleSetting"));
10
+ var _react = _interopRequireWildcard(require("react"));
15
11
 
16
12
  var _DropdownMenu = _interopRequireDefault(require("./components/DropdownMenu"));
17
13
 
14
+ var _textStyleSettingRouter = _interopRequireDefault(require("./components/textStyleSetting/textStyleSettingRouter.js"));
15
+
18
16
  var _WidgetBox = _interopRequireDefault(require("./WidgetBox"));
19
17
 
20
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); }
@@ -35,67 +33,65 @@ var items = [{
35
33
  icon: 'Underline'
36
34
  }];
37
35
 
38
- function getTextFontStyle(textElement) {
39
- var underline = textElement.s('text.decoration') === 'underline';
36
+ function buildValue(obj) {
37
+ return Object.keys(obj).filter(function (key) {
38
+ return !!obj[key];
39
+ });
40
+ }
40
41
 
41
- var fontStyle = _fontStyleUtil["default"].toMap(textElement.s('text.font'));
42
+ function formatStyle(arr) {
43
+ return items.map(function (item) {
44
+ return item.key;
45
+ }).reduce(function (map, name) {
46
+ var _extends2;
42
47
 
43
- return {
44
- underline: underline,
45
- bold: fontStyle.bold,
46
- italic: fontStyle.italic
47
- };
48
+ return (0, _extends3["default"])({}, map, (_extends2 = {}, _extends2[name] = arr.includes(name), _extends2));
49
+ }, {});
48
50
  }
49
51
 
50
52
  function FontStyleButton(props) {
51
53
  var topo = props.topo,
52
- 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];
53
61
 
54
- var _useState = (0, _react.useState)(['bold']),
55
- value = _useState[0],
56
- setValue = _useState[1];
62
+ var bold = style.bold,
63
+ italic = style.italic,
64
+ underline = style.underline;
57
65
 
58
- var _useState2 = (0, _react.useState)(true),
59
- disabled = _useState2[0],
60
- 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]; // 选中的元素
61
73
 
62
74
 
63
75
  var selection = topo.selectionManager.useHtSelection();
64
- var fontStyleSetting = (0, _useFontStyleSetting["default"])({
65
- topo: topo
66
- });
67
76
  (0, _react.useEffect)(function () {
68
77
  setDisabled(false);
69
- var fontObj = {};
70
-
71
- if (selection.length === 1) {
72
- var element = selection[0];
73
-
74
- if ((0, _htElementUtils.isText)(element)) {
75
- fontObj = getTextFontStyle(element);
76
- }
77
- }
78
-
79
- var newValue = Object.keys(fontObj).reduce(function (result, key) {
80
- if (fontObj[key]) {
81
- return [].concat(result, [key]);
82
- }
83
-
84
- return result;
85
- }, []);
86
- setValue(newValue);
87
78
  }, [selection]);
79
+ (0, _react.useEffect)(function () {
80
+ setValue(buildValue({
81
+ bold: bold,
82
+ italic: italic,
83
+ underline: underline
84
+ }));
85
+ }, [bold, italic, underline]);
88
86
  /**
89
87
  *
90
88
  * @param {Array} selectedKeys
91
89
  */
92
90
 
93
91
  var handleChange = function handleChange(selectedKeys) {
94
- setValue(selectedKeys);
95
- var style = {
96
- fontBold: selectedKeys.includes('bold')
97
- };
98
- fontStyleSetting.setStyle(style);
92
+ topo.historyManager.beginTransaction();
93
+ setStyle(formatStyle(selectedKeys));
94
+ topo.historyManager.endTransaction();
99
95
  };
100
96
 
101
97
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
@@ -127,5 +123,8 @@ function FontStyleButton(props) {
127
123
  })));
128
124
  }
129
125
 
130
- var _default = FontStyleButton;
126
+ var _default = (0, _textStyleSettingRouter["default"])(FontStyleButton, {
127
+ names: ['bold', 'italic', 'underline']
128
+ });
129
+
131
130
  exports["default"] = _default;
@@ -62,9 +62,10 @@ function NodeSizeButton(props) {
62
62
  setDisabled(false);
63
63
 
64
64
  if (selection.length === 1) {
65
+ var element = nodes[0];
65
66
  setSize({
66
- width: selection[0].width,
67
- height: selection[0].height
67
+ width: element.getWidth(),
68
+ height: element.getHeight()
68
69
  });
69
70
  }
70
71
  } else {
@@ -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,17 +28,18 @@ 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
35
  visible = _useState[0],
33
36
  setVisible = _useState[1];
34
37
 
35
- var button = /*#__PURE__*/_react["default"].createElement(_ButtonBox["default"], {
38
+ var button = /*#__PURE__*/_react["default"].createElement(_ButtonBox["default"], (0, _extends2["default"])({
36
39
  active: visible,
37
40
  disabled: disabled,
38
41
  showArrow: showArrow
39
- }, trigger);
42
+ }, buttonBoxProps), trigger);
40
43
 
41
44
  var renderContent = function renderContent() {
42
45
  if (!visible) {
@@ -23,10 +23,14 @@ function DropdownMenu(props) {
23
23
  var valueDisplay = valueRender ? valueRender(value) : value;
24
24
  var selectMode = multiple ? 'multiple' : 'single';
25
25
 
26
+ var handleChange = function handleChange(keys) {
27
+ onChange(multiple ? keys : keys[0]);
28
+ };
29
+
26
30
  var menu = /*#__PURE__*/_react["default"].createElement(_menu["default"], {
27
31
  selectMode: selectMode,
28
32
  selectedKeys: selectedKeys,
29
- onSelect: onChange
33
+ onSelect: handleChange
30
34
  }, children);
31
35
 
32
36
  return /*#__PURE__*/_react["default"].createElement(_DropdownButton["default"], {
@@ -0,0 +1,55 @@
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", "styleNames"];
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
+ styleNames = props.styleNames,
26
+ widgetProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded); // 选中的元素
27
+
28
+ var selection = topo.selectionManager.useSelection();
29
+ var htSelection = (0, _react.useMemo)(function () {
30
+ if (!selection.length) {
31
+ return [];
32
+ }
33
+
34
+ return topo.getHtTopo().getGraphView().getSelectionModel().getSelection().toArray();
35
+ }, [selection, topo]);
36
+ var value = (0, _react.useMemo)(function () {
37
+ return (0, _textStyleUtil.getTextStyle)(htSelection, styleNames) || {};
38
+ }, [htSelection, topo]);
39
+ var setStyle = (0, _react.useMemo)(function () {
40
+ return function (style) {
41
+ htSelection.forEach(function (element) {
42
+ (0, _textStyleUtil.setTextStyle)(element, style);
43
+ });
44
+ };
45
+ }, [htSelection]);
46
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
47
+ disabled: false,
48
+ htSelection: htSelection,
49
+ style: value,
50
+ setStyle: setStyle
51
+ }, widgetProps));
52
+ }
53
+
54
+ var _default = ElementTextStyleSetting;
55
+ 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;