@riil-frontend/component-topology 6.0.0-alpha.31 → 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 (57) hide show
  1. package/build/index.css +1 -1
  2. package/build/index.js +2 -2
  3. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/EmptySetting.js +8 -0
  4. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/edgeTagSetting.js +8 -0
  5. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/globalTag.js +36 -0
  6. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/nodeTagSetting.js +8 -0
  7. package/es/core/editor/components/Toolbar/hooks/textStyleSetting/text.js +8 -0
  8. package/es/core/editor/components/Toolbar/hooks/useFontStyleSetting.js +47 -24
  9. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +16 -16
  10. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +20 -18
  11. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +42 -45
  12. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +3 -2
  13. package/es/core/editor/components/Toolbar/widgets/components/DropdownButton.js +4 -2
  14. package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +6 -1
  15. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +40 -0
  16. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +13 -0
  17. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +13 -0
  18. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +12 -0
  19. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +13 -0
  20. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +13 -0
  21. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +25 -0
  22. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +46 -0
  23. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +25 -0
  24. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +36 -0
  25. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +17 -0
  26. package/es/core/editor/components/settings/PropertyView.js +10 -4
  27. package/es/core/editor/components/settings/common/text/fontStyleUtil.js +5 -4
  28. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  29. package/es/core/models/TopoApp.js +1 -1
  30. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/EmptySetting.js +13 -0
  31. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/edgeTagSetting.js +13 -0
  32. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/globalTag.js +47 -0
  33. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/nodeTagSetting.js +13 -0
  34. package/lib/core/editor/components/Toolbar/hooks/textStyleSetting/text.js +13 -0
  35. package/lib/core/editor/components/Toolbar/hooks/useFontStyleSetting.js +54 -28
  36. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +17 -16
  37. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +21 -18
  38. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +43 -48
  39. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +3 -2
  40. package/lib/core/editor/components/Toolbar/widgets/components/DropdownButton.js +5 -2
  41. package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +5 -1
  42. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +54 -0
  43. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +23 -0
  44. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +23 -0
  45. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/index.js +25 -0
  46. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +23 -0
  47. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +23 -0
  48. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +40 -0
  49. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +58 -0
  50. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +39 -0
  51. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/globalTag.js +47 -0
  52. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +28 -0
  53. package/lib/core/editor/components/settings/PropertyView.js +11 -5
  54. package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +5 -4
  55. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +1 -1
  56. package/lib/core/models/TopoApp.js +1 -1
  57. package/package.json +2 -2
@@ -0,0 +1,25 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["Component"];
4
+ import React, { useMemo } from 'react';
5
+ import { setGlobalTagStyle, useValues } from "./globalTag";
6
+
7
+ function GlobalTagStyleSetting(props) {
8
+ var topo = props.topo;
9
+
10
+ var Component = props.Component,
11
+ widgetProps = _objectWithoutPropertiesLoose(props, _excluded);
12
+
13
+ var values = useValues(topo);
14
+ var setStyle = useMemo(function () {
15
+ return function (style) {
16
+ return setGlobalTagStyle(topo, style);
17
+ };
18
+ }, []);
19
+ return /*#__PURE__*/React.createElement(Component, _extends({
20
+ style: values,
21
+ setStyle: setStyle
22
+ }, widgetProps));
23
+ }
24
+
25
+ export default GlobalTagStyleSetting;
@@ -0,0 +1,36 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ var defaultStyle = {
3
+ color: '#AFB9C2',
4
+ fontFamily: '微软雅黑'
5
+ };
6
+ export function useValues(topo) {
7
+ var displayConfigState = topo.store.useModelState('displayConfig');
8
+ var nodeLabelStyle = displayConfigState.nodeLabelStyle,
9
+ defaultEdgeLabelStyle = displayConfigState.defaultEdgeLabelStyle;
10
+ return {
11
+ color: (nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.color) || defaultStyle.color,
12
+ fontFamily: (nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.fontFamily) || defaultStyle.fontFamily,
13
+ fontSize: nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.fontSize
14
+ };
15
+ }
16
+ export var setGlobalTagStyle = function setGlobalTagStyle(topo, styleData) {
17
+ var _topo$store$getModel = topo.store.getModel('displayConfig'),
18
+ displayConfigState = _topo$store$getModel[0],
19
+ displayConfigDispatchers = _topo$store$getModel[1];
20
+
21
+ var nodeLabelStyle = displayConfigState.nodeLabelStyle,
22
+ defaultEdgeLabelStyle = displayConfigState.defaultEdgeLabelStyle;
23
+
24
+ var globalNodeLabelStyle = _extends({}, nodeLabelStyle, styleData);
25
+
26
+ topo.getHtTopo().setGlobalNodeLabelStyle(globalNodeLabelStyle);
27
+
28
+ var globalEdgeTagStyle = _extends({}, defaultEdgeLabelStyle, styleData);
29
+
30
+ topo.getHtTopo().setGlobalEdgeTagStyle(globalEdgeTagStyle);
31
+ displayConfigDispatchers.update({
32
+ nodeLabelStyle: globalNodeLabelStyle,
33
+ defaultEdgeLabelStyle: globalEdgeTagStyle
34
+ });
35
+ };
36
+ export function setStyle() {}
@@ -0,0 +1,17 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import ElementTextStyleSetting from "./ElementTextStyleSetting/ElementTextStyleSetting";
4
+ import GlobalTagStyleSetting from "./GlobalTagStyleSetting/GlobalTagStyleSetting";
5
+
6
+ function textStyleSettingRouter(Component, options) {
7
+ return function TextStyleSettingButton(props) {
8
+ var topo = props.topo;
9
+ var selection = topo.selectionManager.useHtSelection();
10
+ var Widget = !selection.length ? GlobalTagStyleSetting : ElementTextStyleSetting;
11
+ return /*#__PURE__*/React.createElement(Widget, _extends({
12
+ Component: Component
13
+ }, props));
14
+ };
15
+ }
16
+
17
+ export default textStyleSettingRouter;
@@ -1,8 +1,8 @@
1
- import React from 'react';
2
1
  import classNames from 'classnames';
3
- import Settings from "./Settings";
4
- import OpenPropertyPanelListener from "./OpenPropertyPanelListener";
2
+ import React from 'react';
5
3
  import CloseablePanel from "./CloseablePanel";
4
+ import OpenPropertyPanelListener from "./OpenPropertyPanelListener";
5
+ import Settings from "./Settings";
6
6
  import styles from "./Settings.module.scss";
7
7
  export default function PropertyView(props) {
8
8
  var _classNames;
@@ -28,6 +28,10 @@ export default function PropertyView(props) {
28
28
  }
29
29
 
30
30
  var renderContent = function renderContent() {
31
+ if (!propertyPanelVisible) {
32
+ return null;
33
+ }
34
+
31
35
  return /*#__PURE__*/React.createElement(OpenPropertyPanelListener, {
32
36
  topo: topo
33
37
  }, /*#__PURE__*/React.createElement(Settings, {
@@ -48,5 +52,7 @@ export default function PropertyView(props) {
48
52
  propertyPanelVisible: false
49
53
  });
50
54
  }
51
- }, renderContent()));
55
+ }, /*#__PURE__*/React.createElement(OpenPropertyPanelListener, {
56
+ topo: topo
57
+ }, renderContent())));
52
58
  }
@@ -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.32" === 'string' ? "6.0.0-alpha.32" : null;
26
26
  console.info("\u62D3\u6251\u7248\u672C: " + version);
27
27
  /**
28
28
  * 拓扑显示和编辑
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useValues = useValues;
5
+
6
+ function useValues(topo) {
7
+ return {
8
+ color: null,
9
+ fontFamily: null,
10
+ fontSize: null,
11
+ fontStyle: []
12
+ };
13
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useValues = useValues;
5
+
6
+ function useValues(topo) {
7
+ return {
8
+ color: null,
9
+ fontFamily: null,
10
+ fontSize: null,
11
+ fontStyle: []
12
+ };
13
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.setGlobalTagStyle = void 0;
7
+ exports.setStyle = setStyle;
8
+ exports.useValues = useValues;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var defaultStyle = {
13
+ color: '#AFB9C2',
14
+ fontFamily: '微软雅黑'
15
+ };
16
+
17
+ function useValues(topo) {
18
+ var displayConfigState = topo.store.useModelState('displayConfig');
19
+ var nodeLabelStyle = displayConfigState.nodeLabelStyle,
20
+ defaultEdgeLabelStyle = displayConfigState.defaultEdgeLabelStyle;
21
+ return {
22
+ color: (nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.color) || defaultStyle.color,
23
+ fontFamily: (nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.fontFamily) || defaultStyle.fontFamily,
24
+ fontSize: nodeLabelStyle === null || nodeLabelStyle === void 0 ? void 0 : nodeLabelStyle.fontSize
25
+ };
26
+ }
27
+
28
+ var setGlobalTagStyle = function setGlobalTagStyle(topo, styleData) {
29
+ var _topo$store$getModel = topo.store.getModel('displayConfig'),
30
+ displayConfigState = _topo$store$getModel[0],
31
+ displayConfigDispatchers = _topo$store$getModel[1];
32
+
33
+ var nodeLabelStyle = displayConfigState.nodeLabelStyle,
34
+ defaultEdgeLabelStyle = displayConfigState.defaultEdgeLabelStyle;
35
+ var globalNodeLabelStyle = (0, _extends2["default"])({}, nodeLabelStyle, styleData);
36
+ topo.getHtTopo().setGlobalNodeLabelStyle(globalNodeLabelStyle);
37
+ var globalEdgeTagStyle = (0, _extends2["default"])({}, defaultEdgeLabelStyle, styleData);
38
+ topo.getHtTopo().setGlobalEdgeTagStyle(globalEdgeTagStyle);
39
+ displayConfigDispatchers.update({
40
+ nodeLabelStyle: globalNodeLabelStyle,
41
+ defaultEdgeLabelStyle: globalEdgeTagStyle
42
+ });
43
+ };
44
+
45
+ exports.setGlobalTagStyle = setGlobalTagStyle;
46
+
47
+ function setStyle() {}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useValues = useValues;
5
+
6
+ function useValues(topo) {
7
+ return {
8
+ color: null,
9
+ fontFamily: null,
10
+ fontSize: null,
11
+ fontStyle: []
12
+ };
13
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useValues = useValues;
5
+
6
+ function useValues(topo) {
7
+ return {
8
+ color: null,
9
+ fontFamily: null,
10
+ fontSize: null,
11
+ fontStyle: []
12
+ };
13
+ }
@@ -1,53 +1,77 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  exports.__esModule = true;
6
4
  exports["default"] = void 0;
7
5
 
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
-
10
6
  var _react = _interopRequireWildcard(require("react"));
11
7
 
12
8
  var _htElementDataUtil = require("../../../../../utils/htElementDataUtil");
13
9
 
14
10
  var _htElementUtils = require("../../../../../utils/htElementUtils");
15
11
 
12
+ var globalTagSetting = _interopRequireWildcard(require("./textStyleSetting/globalTag"));
13
+
14
+ var EmptySetting = _interopRequireWildcard(require("./textStyleSetting/EmptySetting"));
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); }
17
17
 
18
18
  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; }
19
19
 
20
+ // 文本
21
+ function getElementType(element) {
22
+ if ((0, _htElementUtils.isNode)(element)) {
23
+ return 'nodeTag';
24
+ } else if ((0, _htElementUtils.isGroup)(element)) {
25
+ return 'group';
26
+ } else if ((0, _htElementDataUtil.isText)(element)) {
27
+ return 'text';
28
+ } else if ((0, _htElementUtils.isLayer)(element)) {
29
+ return 'layer';
30
+ }
31
+
32
+ return null;
33
+ }
34
+
35
+ function getType(selectionElements) {
36
+ if (!selectionElements.length) {
37
+ return 'globalTag';
38
+ } else if (selectionElements.length === 1) {
39
+ var element = selectionElements[0];
40
+ return getElementType(element);
41
+ }
42
+
43
+ return null;
44
+ }
45
+
46
+ var useValuesHookMap = {
47
+ globalTag: globalTagSetting.useValues,
48
+ empty: EmptySetting.useValues
49
+ };
50
+
51
+ function useValues(topo, selection) {
52
+ var type = getType(selection);
53
+ var useValuesHandle = useValuesHookMap[type] || useValuesHookMap.empty;
54
+ var values = useValuesHandle(topo, selection);
55
+ return values;
56
+ }
57
+
58
+ var elementSetStyleMap = {};
59
+
20
60
  function useFontStyleSetting(props) {
21
61
  var topo = props.topo;
22
- var selectionElements = topo.selectionManager.useHtSelection();
23
- var buttonEnabled = true; // 全局配置
24
-
25
- var _topo$store$useModel = topo.store.useModel('displayConfig'),
26
- displayConfigState = _topo$store$useModel[0],
27
- displayConfigDispatchers = _topo$store$useModel[1];
28
-
29
- var nodeLabelStyle = displayConfigState.nodeLabelStyle,
30
- defaultEdgeLabelStyle = displayConfigState.defaultEdgeLabelStyle;
31
-
32
- var setGlobalTagStyle = function setGlobalTagStyle(styleData) {
33
- var globalNodeLabelStyle = (0, _extends2["default"])({}, nodeLabelStyle, styleData);
34
- topo.getHtTopo().setGlobalNodeLabelStyle(globalNodeLabelStyle);
35
- var globalEdgeTagStyle = (0, _extends2["default"])({}, defaultEdgeLabelStyle, styleData);
36
- topo.getHtTopo().setGlobalEdgeTagStyle(globalEdgeTagStyle);
37
- displayConfigDispatchers.update({
38
- nodeLabelStyle: globalNodeLabelStyle,
39
- defaultEdgeLabelStyle: globalEdgeTagStyle
40
- });
41
- };
62
+ var selection = topo.selectionManager.useHtSelection();
63
+ var buttonEnabled = true; // const values = useValues(topo, selection)
64
+
65
+ var values = {};
42
66
 
43
67
  var setStyle = function setStyle(styleData) {
44
68
  topo.historyManager.beginTransaction(); // 全局调整(资源和链路):无选择时,按钮亮起,即可修改全局资源和链路的标注,不影响“文本”、框名称、区域名称、分层名称的格式。
45
69
 
46
- if (!selectionElements.length) {
47
- setGlobalTagStyle(styleData);
70
+ if (!selection.length) {
71
+ globalTagSetting.setGlobalTagStyle(topo, styleData);
48
72
  } else {
49
- selectionElements.forEach(function (element) {
50
- if ((0, _htElementUtils.isNode)(element)) {} else if ((0, _htElementUtils.isGroup)(element)) {} else if ((0, _htElementDataUtil.isText)(element)) {} else if ((0, _htElementUtils.isLayer)(element)) {}
73
+ selection.forEach(function (element) {
74
+ var elementType = getElementType(element);
51
75
  });
52
76
  }
53
77
 
@@ -55,7 +79,9 @@ function useFontStyleSetting(props) {
55
79
  };
56
80
 
57
81
  return {
82
+ selection: selection,
58
83
  buttonEnabled: buttonEnabled,
84
+ values: values,
59
85
  setStyle: setStyle
60
86
  };
61
87
  }
@@ -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,23 @@ 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
+ setStyle({
58
58
  fontFamily: val
59
59
  });
60
60
  }
61
61
  }));
62
62
  }
63
63
 
64
- var _default = FontFamilyWidget;
64
+ var _default = (0, _textStyleSettingRouter["default"])(FontFamilyWidget);
65
+
65
66
  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,22 @@ 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
+ setStyle({
53
55
  fontSize: val
54
56
  });
55
57
  }
56
58
  }));
57
59
  }
58
60
 
59
- var _default = FontSizeWidget;
61
+ var _default = (0, _textStyleSettingRouter["default"])(FontSizeWidget);
62
+
60
63
  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,63 @@ 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
+ setStyle(formatStyle(selectedKeys));
99
93
  };
100
94
 
101
95
  return /*#__PURE__*/_react["default"].createElement(_WidgetBox["default"], {
@@ -127,5 +121,6 @@ function FontStyleButton(props) {
127
121
  })));
128
122
  }
129
123
 
130
- var _default = FontStyleButton;
124
+ var _default = (0, _textStyleSettingRouter["default"])(FontStyleButton);
125
+
131
126
  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 {