@riil-frontend/component-topology 6.0.0-alpha.42 → 6.0.0-alpha.44

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 (124) 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 +21 -21
  5. package/demo/CHANGELOG/CHANGELOG.md +5 -0
  6. package/es/components/VerticalIconTab/VerticalIconTab.js +11 -1
  7. package/es/components/VerticalIconTab/VerticalIconTab.module.scss +1 -0
  8. package/es/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +8 -3
  9. package/es/core/components/TopoView/topoView.js +3 -3
  10. package/es/core/editor/components/Sidebar/panes.js +6 -1
  11. package/es/core/editor/components/Toolbar/widgets/AddResourceButton.js +1 -1
  12. package/es/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +1 -1
  13. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +1 -1
  14. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +1 -1
  15. package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +38 -12
  16. package/es/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +4 -5
  17. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +1 -1
  18. package/es/core/editor/components/Toolbar/widgets/Layout/index.js +2 -2
  19. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +8 -1
  20. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +1 -1
  21. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +1 -1
  22. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +1 -1
  23. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +1 -1
  24. package/es/core/editor/components/settings/CloseablePanel.module.scss +12 -0
  25. package/es/core/editor/components/settings/PropertyView.js +21 -18
  26. package/es/core/editor/components/settings/Settings.js +39 -77
  27. package/es/core/editor/components/settings/Settings.module.scss +2 -10
  28. package/es/core/editor/components/settings/core/PropertyViewManager.js +61 -0
  29. package/es/core/editor/components/settings/core/getPropertyViewType.js +34 -0
  30. package/es/core/editor/components/settings/core/updateElementProperty.js +21 -0
  31. package/es/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +6 -13
  32. package/es/core/editor/components/settings/propertyViews/box/BoxPropertyViewV1.js +58 -0
  33. package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +5 -2
  34. package/es/core/editor/components/settings/propertyViews/edge/EdgeGroupPropertyView.js +7 -8
  35. package/es/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +9 -23
  36. package/es/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +10 -0
  37. package/es/core/editor/components/settings/propertyViews/edge/edgeGroup/EdgeGroupSetting.js +1 -6
  38. package/es/core/editor/components/settings/propertyViews/group/GroupPropertyView.js +13 -21
  39. package/es/core/editor/components/settings/propertyViews/group/GroupPropertyView.module.scss +8 -1
  40. package/es/core/editor/components/settings/propertyViews/group/GroupPropertyViewV1.js +28 -0
  41. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupBasicSetting.js +74 -0
  42. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +9 -7
  43. package/es/core/editor/components/settings/propertyViews/group/cluster/ClusterGroupRelateData.js +2 -1
  44. package/es/core/editor/components/settings/propertyViews/index.js +4 -2
  45. package/es/core/editor/components/settings/propertyViews/layer/BasicSetting.js +57 -0
  46. package/es/core/editor/components/settings/propertyViews/layer/LayerPropertyView.js +11 -17
  47. package/es/core/editor/components/settings/propertyViews/layer/LayerPropertyView.module.scss +10 -0
  48. package/es/core/editor/components/settings/propertyViews/layer/LayerPropertyViewV1.js +27 -0
  49. package/es/core/editor/components/settings/propertyViews/node/NodePropertyView.js +8 -32
  50. package/es/core/editor/components/settings/propertyViews/node/NodePropertyViewV1.js +53 -0
  51. package/es/core/editor/components/settings/propertyViews/node/Setting/BasicSetting.js +49 -0
  52. package/es/core/editor/components/settings/propertyViews/node/data/Data.js +2 -1
  53. package/es/core/editor/components/settings/propertyViews/node/data/NodeRelateResourceButton.js +1 -0
  54. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +4 -19
  55. package/es/core/models/HistoryManager.js +11 -14
  56. package/es/core/models/{SelectionManager.js → SelectionModel.js} +27 -18
  57. package/es/core/models/TopoApp.js +3 -3
  58. package/es/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +39 -6
  59. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +10 -16
  60. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +37 -0
  61. package/es/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +1 -1
  62. package/es/networkTopo/models/LinkDynamicStyleExecutor.js +2 -2
  63. package/es/style.js +1 -1
  64. package/lib/components/VerticalIconTab/VerticalIconTab.js +14 -1
  65. package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +1 -0
  66. package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +8 -3
  67. package/lib/core/components/TopoView/topoView.js +3 -3
  68. package/lib/core/editor/components/Sidebar/panes.js +6 -1
  69. package/lib/core/editor/components/Toolbar/widgets/AddResourceButton.js +1 -1
  70. package/lib/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +1 -1
  71. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +1 -1
  72. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +1 -1
  73. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +38 -12
  74. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +4 -5
  75. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +1 -1
  76. package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +2 -2
  77. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +8 -1
  78. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +1 -1
  79. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +1 -1
  80. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +1 -1
  81. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +1 -1
  82. package/lib/core/editor/components/settings/CloseablePanel.module.scss +12 -0
  83. package/lib/core/editor/components/settings/PropertyView.js +26 -19
  84. package/lib/core/editor/components/settings/Settings.js +44 -79
  85. package/lib/core/editor/components/settings/Settings.module.scss +2 -10
  86. package/lib/core/editor/components/settings/core/PropertyViewManager.js +70 -0
  87. package/lib/core/editor/components/settings/core/getPropertyViewType.js +40 -0
  88. package/lib/core/editor/components/settings/core/updateElementProperty.js +27 -0
  89. package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +6 -13
  90. package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyViewV1.js +76 -0
  91. package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +8 -2
  92. package/lib/core/editor/components/settings/propertyViews/edge/EdgeGroupPropertyView.js +9 -12
  93. package/lib/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +7 -23
  94. package/lib/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +19 -0
  95. package/lib/core/editor/components/settings/propertyViews/edge/edgeGroup/EdgeGroupSetting.js +1 -6
  96. package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyView.js +14 -25
  97. package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyView.module.scss +8 -1
  98. package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyViewV1.js +43 -0
  99. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupBasicSetting.js +97 -0
  100. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +8 -6
  101. package/lib/core/editor/components/settings/propertyViews/group/cluster/ClusterGroupRelateData.js +2 -1
  102. package/lib/core/editor/components/settings/propertyViews/index.js +5 -2
  103. package/lib/core/editor/components/settings/propertyViews/layer/BasicSetting.js +76 -0
  104. package/lib/core/editor/components/settings/propertyViews/layer/LayerPropertyView.js +12 -20
  105. package/lib/core/editor/components/settings/propertyViews/layer/LayerPropertyView.module.scss +10 -0
  106. package/lib/core/editor/components/settings/propertyViews/layer/LayerPropertyViewV1.js +40 -0
  107. package/lib/core/editor/components/settings/propertyViews/node/NodePropertyView.js +8 -35
  108. package/lib/core/editor/components/settings/propertyViews/node/NodePropertyViewV1.js +68 -0
  109. package/lib/core/editor/components/settings/propertyViews/node/Setting/BasicSetting.js +64 -0
  110. package/lib/core/editor/components/settings/propertyViews/node/data/Data.js +2 -1
  111. package/lib/core/editor/components/settings/propertyViews/node/data/NodeRelateResourceButton.js +1 -0
  112. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +4 -19
  113. package/lib/core/models/HistoryManager.js +11 -14
  114. package/lib/core/models/{SelectionManager.js → SelectionModel.js} +27 -18
  115. package/lib/core/models/TopoApp.js +3 -3
  116. package/lib/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +45 -7
  117. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +10 -18
  118. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +50 -0
  119. package/lib/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +1 -1
  120. package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +2 -2
  121. package/lib/style.js +1 -1
  122. package/package.json +2 -2
  123. package/es/core/editor/components/settings/OpenPropertyPanelListener.js +0 -33
  124. package/lib/core/editor/components/settings/OpenPropertyPanelListener.js +0 -43
@@ -9,6 +9,8 @@ var _tab = _interopRequireDefault(require("@alifd/next/lib/tab"));
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
+ var _balloon = _interopRequireDefault(require("@alifd/next/lib/balloon"));
13
+
12
14
  var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -26,8 +28,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
26
28
  */
27
29
  function CustomTabItem(_ref) {
28
30
  var title = _ref.title,
31
+ titleTootip = _ref.titleTootip,
29
32
  icon = _ref.icon;
30
- return /*#__PURE__*/_react["default"].createElement("div", {
33
+
34
+ var tabItem = /*#__PURE__*/_react["default"].createElement("div", {
31
35
  className: "v-icon-tab-item"
32
36
  }, /*#__PURE__*/_react["default"].createElement("img", {
33
37
  src: icon,
@@ -35,6 +39,15 @@ function CustomTabItem(_ref) {
35
39
  }), /*#__PURE__*/_react["default"].createElement("div", {
36
40
  className: "tab-title"
37
41
  }, title));
42
+
43
+ return /*#__PURE__*/_react["default"].createElement(_balloon["default"].Tooltip, {
44
+ trigger: tabItem,
45
+ align: "r" // 解决遮挡下拉浮层问题
46
+ ,
47
+ popupStyle: {
48
+ zIndex: 1000
49
+ }
50
+ }, titleTootip);
38
51
  }
39
52
  /**
40
53
  * 竖向
@@ -33,6 +33,7 @@
33
33
  justify-content: center;
34
34
  margin: 0 4px;
35
35
  border-radius: 4px;
36
+ user-select: none;
36
37
 
37
38
  &:hover {
38
39
  background-color: rgba(76, 137, 255, 0.1);
@@ -87,13 +87,18 @@ var _default = function _default(props) {
87
87
  case 7:
88
88
  extraOnOk = displaySettingProps === null || displaySettingProps === void 0 ? void 0 : displaySettingProps.onOk;
89
89
 
90
- if (extraOnOk) {
91
- extraOnOk(displayConfig);
90
+ if (!extraOnOk) {
91
+ _context2.next = 11;
92
+ break;
92
93
  }
93
94
 
95
+ _context2.next = 11;
96
+ return extraOnOk(displayConfig);
97
+
98
+ case 11:
94
99
  topo.historyManager.endTransaction();
95
100
 
96
- case 10:
101
+ case 12:
97
102
  case "end":
98
103
  return _context2.stop();
99
104
  }
@@ -147,7 +147,7 @@ var Topology = function Topology(props) {
147
147
  return function () {
148
148
  _rlog["default"].info('TopoView 退出');
149
149
 
150
- topo.selectionManager.destroy();
150
+ topo.selectionModel.destroy();
151
151
  topoDispatchers.reset();
152
152
  };
153
153
  }, []);
@@ -177,7 +177,7 @@ var Topology = function Topology(props) {
177
177
  topo.historyManager = new _HistoryManager["default"](topo, htHistoryManager);
178
178
  }
179
179
 
180
- topo.selectionManager.init();
180
+ topo.selectionModel.init();
181
181
  topoDispatchers.update({
182
182
  graphLoaded2: true
183
183
  });
@@ -197,7 +197,7 @@ var Topology = function Topology(props) {
197
197
  (0, _graphLinkUtil.fixLink)(topo);
198
198
  (0, _clusterUtil.handleClusterNoPermission)(topo);
199
199
  (0, _edgeUtil.updateEdgeExpanded)(topo);
200
- topo.selectionManager.init();
200
+ topo.selectionModel.init();
201
201
  topoDispatchers.update({
202
202
  graphLoaded: true
203
203
  });
@@ -16,28 +16,33 @@ var _ImagePanel = _interopRequireDefault(require("./views/ImagePanel"));
16
16
  var _LinkPanel = _interopRequireDefault(require("./views/LinkPanel"));
17
17
 
18
18
  var panes = [{
19
- title: '链路',
20
19
  key: '1',
20
+ title: '链路',
21
+ titleTootip: '在两个节点之间添加链路&线',
21
22
  icon: '/img/topo/editor/sidebar/icon/链路.svg',
22
23
  content: _LinkPanel["default"]
23
24
  }, {
24
25
  title: '组件',
25
26
  key: '2',
27
+ titleTootip: '基础组件',
26
28
  icon: '/img/topo/editor/sidebar/icon/组件.svg',
27
29
  content: _ComponentPanel["default"]
28
30
  }, {
29
31
  title: '图片',
30
32
  key: '3',
33
+ titleTootip: '图片素材',
31
34
  icon: '/img/topo/editor/sidebar/icon/图片.svg',
32
35
  content: _ImagePanel["default"]
33
36
  }, {
34
37
  title: '背景',
35
38
  key: '4',
39
+ titleTootip: '背景素材',
36
40
  icon: '/img/topo/editor/sidebar/icon/背景.svg',
37
41
  content: _BackgroundPanel["default"]
38
42
  }, {
39
43
  title: '画布',
40
44
  key: '5',
45
+ titleTootip: '拓扑图画布底图',
41
46
  icon: '/img/topo/editor/sidebar/icon/画布.svg',
42
47
  content: _CanvasPanel["default"]
43
48
  }];
@@ -39,7 +39,7 @@ function AddResourceButton(props) {
39
39
  topoEdit = props.topoEdit,
40
40
  editorProps = props.editorProps; // 选中的元素
41
41
 
42
- var selection = topo.selectionManager.useSelection();
42
+ var selection = topo.selectionModel.useSelection();
43
43
 
44
44
  var _useState = (0, _react.useState)(getAddType(selection)),
45
45
  addType = _useState[0],
@@ -36,7 +36,7 @@ function BoxBackgroundButton(props) {
36
36
  setDisabled = _useState[1]; // 选中的元素
37
37
 
38
38
 
39
- var selection = topo.selectionManager.useSelection();
39
+ var selection = topo.selectionModel.useSelection();
40
40
  (0, _react.useEffect)(function () {// setDisabled(false)
41
41
  }, [selection]);
42
42
  var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
@@ -48,7 +48,7 @@ function EdgeColorButton(props) {
48
48
  graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
49
49
 
50
50
 
51
- var selection = topo.selectionManager.useHtSelection();
51
+ var selection = topo.selectionModel.useHtSelection();
52
52
 
53
53
  var loopEdges = function loopEdges(edges, operateEdgeFn) {
54
54
  edges.forEach(function (edge) {
@@ -46,7 +46,7 @@ function EdgeTypeButton(props) {
46
46
  graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
47
47
 
48
48
 
49
- var selection = topo.selectionManager.useHtSelection();
49
+ var selection = topo.selectionModel.useHtSelection();
50
50
  (0, _react.useEffect)(function () {
51
51
  if (graphLoaded) {
52
52
  var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
@@ -27,30 +27,42 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
27
27
  function FontColorDropdown(props) {
28
28
  var onChange = props.onChange,
29
29
  topo = props.topo,
30
- color = props.color,
31
- background = props.background,
32
30
  opacity = props.opacity;
33
31
 
34
32
  var _useState = (0, _react.useState)(false),
35
33
  disabled = _useState[0],
36
34
  setDisabled = _useState[1];
37
35
 
38
- var backOpacityChange = function backOpacityChange(value) {
36
+ var onPickerFocus = function onPickerFocus() {
37
+ topo.historyManager.beginTransaction();
38
+ };
39
+
40
+ var onPickerBlur = function onPickerBlur() {
41
+ topo.historyManager.endTransaction();
42
+ };
43
+
44
+ var backOpacityChange = function backOpacityChange(value, type) {
45
+ if (type === 'select') onPickerFocus();
39
46
  onChange({
40
47
  opacity: value / 100
41
48
  });
49
+ if (type === 'select') onPickerBlur();
42
50
  };
43
51
 
44
- var colorChang = function colorChang(value) {
52
+ var colorChang = function colorChang(value, type) {
53
+ if (type === 'select') onPickerFocus();
45
54
  onChange({
46
55
  color: value
47
56
  });
57
+ if (type === 'select') onPickerBlur();
48
58
  };
49
59
 
50
60
  var backgroundChang = function backgroundChang(value) {
61
+ onPickerFocus();
51
62
  onChange({
52
63
  background: value
53
64
  });
65
+ onPickerBlur();
54
66
  };
55
67
 
56
68
  var icon = disabled ? /*#__PURE__*/_react["default"].createElement("img", {
@@ -67,9 +79,16 @@ function FontColorDropdown(props) {
67
79
  className: _FontColorButtonModule["default"].content
68
80
  }, /*#__PURE__*/_react["default"].createElement("div", {
69
81
  className: _FontColorButtonModule["default"].fontColor
70
- }, /*#__PURE__*/_react["default"].createElement("span", null, "\u5B57\u4F53\u989C\u8272"), /*#__PURE__*/_react["default"].createElement(_ColorPanel["default"], {
71
- onChange: colorChang
72
- })), /*#__PURE__*/_react["default"].createElement("div", {
82
+ }, /*#__PURE__*/_react["default"].createElement("span", null, "\u5B57\u4F53\u989C\u8272"), /*#__PURE__*/_react["default"].createElement("div", {
83
+ style: {
84
+ marginTop: '10px',
85
+ marginLeft: '-4px'
86
+ }
87
+ }, /*#__PURE__*/_react["default"].createElement(_ColorPanel["default"], {
88
+ onChange: colorChang,
89
+ onPickerFocus: onPickerFocus,
90
+ onPickerBlur: onPickerBlur
91
+ }))), /*#__PURE__*/_react["default"].createElement("div", {
73
92
  className: _FontColorButtonModule["default"].backgroundColor
74
93
  }, /*#__PURE__*/_react["default"].createElement("span", null, "\u80CC\u666F\u586B\u5145"), /*#__PURE__*/_react["default"].createElement("div", {
75
94
  className: _FontColorButtonModule["default"].backOpacity
@@ -81,11 +100,19 @@ function FontColorDropdown(props) {
81
100
  unit: "%",
82
101
  list: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
83
102
  onChange: backOpacityChange,
84
- defaultValue: opacity
85
- })), /*#__PURE__*/_react["default"].createElement(_ColorPanel["default"], {
103
+ defaultValue: opacity * 100
104
+ })), /*#__PURE__*/_react["default"].createElement("div", {
105
+ style: {
106
+ marginTop: '10px',
107
+ marginLeft: '-4px',
108
+ marginBottom: '3px'
109
+ }
110
+ }, /*#__PURE__*/_react["default"].createElement(_ColorPanel["default"], {
86
111
  showClear: true,
87
- onChange: backgroundChang
88
- }))));
112
+ onChange: backgroundChang,
113
+ onPickerFocus: onPickerFocus,
114
+ onPickerBlur: onPickerBlur
115
+ })))));
89
116
  }
90
117
 
91
118
  function FontColorButton(props) {
@@ -102,7 +129,6 @@ function FontColorButton(props) {
102
129
  background: style.background,
103
130
  opacity: style.opacity,
104
131
  onChange: function onChange(val) {
105
- topo.historyManager.beginTransaction();
106
132
  setStyle(val);
107
133
  topo.historyManager.endTransaction();
108
134
  },
@@ -1,20 +1,20 @@
1
1
  .content {
2
- height: 296px;
2
+ margin: 4px 0px 0px 6px;
3
3
  .fontColor{
4
4
  width: 100%;
5
- height: 143px;//159px
5
+ margin-bottom: 16px;
6
6
  .colorPanelBox{
7
7
  padding: 9px;
8
8
  padding-top: 8px;
9
9
  }
10
10
  &>span{
11
11
  font-size: 12px;
12
- color: black;
13
12
  font-family: PingFangSC-Regular, PingFang SC;
14
13
  font-weight: 400;
15
14
  color: #4D6277;
16
15
  line-height: 17px;
17
16
  }
17
+
18
18
  }
19
19
  .backgroundColor{
20
20
  width: 100%;
@@ -32,9 +32,8 @@
32
32
  line-height: 17px;
33
33
  }
34
34
  .backOpacity{
35
- margin-top: 2px;
35
+ margin-top: 5px;
36
36
  margin-bottom: 5px;
37
- margin-left: 11px;
38
37
  line-height: 8px;
39
38
  display: flex;
40
39
  flex-direction: row;
@@ -74,7 +74,7 @@ function FontStyleButton(props) {
74
74
  setValue = _useState2[1]; // 选中的元素
75
75
 
76
76
 
77
- var selection = topo.selectionManager.useHtSelection();
77
+ var selection = topo.selectionModel.useHtSelection();
78
78
  (0, _react.useEffect)(function () {
79
79
  var isAllText = !selection.filter(function (ele) {
80
80
  return !(0, _htElementUtils.isText)(ele);
@@ -34,7 +34,7 @@ function Layout(props) {
34
34
  setLayout = _useState[1]; // 选中的元素
35
35
 
36
36
 
37
- var selectionElements = topo.selectionManager.useHtSelection();
37
+ var selectionElements = topo.selectionModel.useHtSelection();
38
38
 
39
39
  var _topo$store$useModelS = topo.store.useModelState('selection'),
40
40
  selection = _topo$store$useModelS.selection;
@@ -102,7 +102,7 @@ function LayoutWidget(props) {
102
102
  // type为partition且selection.length>=0时可以点击布局, selection[0].className != 'ht.Node'
103
103
  // type为auto且selection.length==0时可以点击布局
104
104
 
105
- var selectionElements = topo.selectionManager.useHtSelection();
105
+ var selectionElements = topo.selectionModel.useHtSelection();
106
106
  var topoShowType = topoState.type; // 获取ID以及拓扑类型 // 拓扑类型:auto自由布局,layers分层,partition分区
107
107
 
108
108
  var disabled = (0, _react.useMemo)(function () {
@@ -53,7 +53,7 @@ function NodeAlignWidget(props) {
53
53
  graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
54
54
 
55
55
 
56
- var selection = topo.selectionManager.useHtSelection();
56
+ var selection = topo.selectionModel.useHtSelection();
57
57
 
58
58
  var setSpace = function setSpace(type, num) {
59
59
  topo.historyManager.beginTransaction(); // eslint-disable-next-line no-shadow
@@ -87,6 +87,13 @@ function NodeAlignWidget(props) {
87
87
  setLeftInputVal();
88
88
  setRightInputVal();
89
89
  setDistributionDisabled(nodes.length <= 2);
90
+
91
+ if (nodes.length === 2) {
92
+ var h = topo.view.topoClient.htTopoClient.getElementsSpace(nodes, 'h')[0];
93
+ var v = topo.view.topoClient.htTopoClient.getElementsSpace(nodes, 'v')[0];
94
+ setLeftInputVal(h * 1 > 0 ? h : 0);
95
+ setRightInputVal(v * 1 > 0 ? v : 0);
96
+ }
90
97
  } // eslint-disable-next-line react-hooks/exhaustive-deps
91
98
 
92
99
  }, [graphLoaded, selection]);
@@ -42,7 +42,7 @@ function NodeImageButton(props) {
42
42
  setImgVal = _useState2[1]; // 选中的元素
43
43
 
44
44
 
45
- var selection = topo.selectionManager.useHtSelection();
45
+ var selection = topo.selectionModel.useHtSelection();
46
46
  (0, _react.useEffect)(function () {
47
47
  var nodes = selection.filter(function (ele) {
48
48
  return (0, _htElementUtils.isGroup)(ele) || (0, _htElementUtils.isNode)(ele);
@@ -46,7 +46,7 @@ function NodeSizeButton(props) {
46
46
  setSize = _useState2[1]; // 选中的元素
47
47
 
48
48
 
49
- var selection = topo.selectionManager.useSelection();
49
+ var selection = topo.selectionModel.useSelection();
50
50
  var settingRuntimeState = (0, _useSettingRuntimeState["default"])();
51
51
  (0, _react.useEffect)(function () {
52
52
  var elements = selection.map(function (item) {
@@ -29,7 +29,7 @@ function ElementTextStyleSetting(props) {
29
29
  graphLoaded = _topo$store$useModelS.graphLoaded; // 选中的元素
30
30
 
31
31
 
32
- var selection = topo.selectionManager.useSelection();
32
+ var selection = topo.selectionModel.useSelection();
33
33
  var htSelection = (0, _react.useMemo)(function () {
34
34
  if (!selection.length) {
35
35
  return [];
@@ -17,7 +17,7 @@ function textStyleSettingRouter(Component, options) {
17
17
  var names = (options === null || options === void 0 ? void 0 : options.names) || [];
18
18
  return function TextStyleSettingButton(props) {
19
19
  var topo = props.topo;
20
- var selection = topo.selectionManager.useHtSelection();
20
+ var selection = topo.selectionModel.useHtSelection();
21
21
  var Widget = !selection.length ? _GlobalTagStyleSetting["default"] : _ElementTextStyleSetting["default"];
22
22
  return /*#__PURE__*/_react["default"].createElement(Widget, (0, _extends2["default"])({
23
23
  Component: Component
@@ -1,9 +1,21 @@
1
+ @import '~@alifd/next/variables.scss';
2
+
3
+
1
4
  .panel {
2
5
  height: 100%;
3
6
  display: flex;
4
7
  flex-direction: column;
5
8
  background: #FFFFFF;
9
+
10
+
11
+ :global {
12
+ .#{$css-prefix}drawer-header {
13
+ padding-left: 16px;
14
+ padding-right: 16px;
15
+ }
16
+ }
6
17
  }
7
18
  .body {
8
19
  flex: 1;
20
+ overflow: auto;
9
21
  }
@@ -3,21 +3,25 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
- exports["default"] = PropertyView;
6
+ exports["default"] = PropertyPanel;
7
7
 
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
9
 
10
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _CloseablePanel = _interopRequireDefault(require("./CloseablePanel"));
13
13
 
14
- var _OpenPropertyPanelListener = _interopRequireDefault(require("./OpenPropertyPanelListener"));
14
+ var _PropertyViewManager = _interopRequireDefault(require("./core/PropertyViewManager"));
15
15
 
16
16
  var _Settings = _interopRequireDefault(require("./Settings"));
17
17
 
18
18
  var _SettingsModule = _interopRequireDefault(require("./Settings.module.scss"));
19
19
 
20
- function PropertyView(props) {
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); }
21
+
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; }
23
+
24
+ function PropertyPanel(props) {
21
25
  var _classNames;
22
26
 
23
27
  var topo = props.topo,
@@ -35,37 +39,40 @@ function PropertyView(props) {
35
39
  topoEditDispatchers = _topo$store$useModel[1];
36
40
 
37
41
  var propertyPanelVisible = topoEditState.propertyPanelVisible;
42
+ var propertyViewManager = (0, _react.useMemo)(function () {
43
+ return new _PropertyViewManager["default"](topo);
44
+ }, []);
45
+ (0, _react.useEffect)(function () {
46
+ if (graphLoaded) {
47
+ propertyViewManager.init();
48
+ }
38
49
 
39
- if (!graphLoaded) {
40
- return null;
41
- }
50
+ return function () {
51
+ propertyViewManager.destroy();
52
+ };
53
+ }, [graphLoaded, propertyViewManager]);
42
54
 
43
55
  var renderContent = function renderContent() {
44
56
  if (!propertyPanelVisible) {
45
57
  return null;
46
58
  }
47
59
 
48
- return /*#__PURE__*/_react["default"].createElement(_OpenPropertyPanelListener["default"], {
49
- topo: topo
50
- }, /*#__PURE__*/_react["default"].createElement(_Settings["default"], {
60
+ return /*#__PURE__*/_react["default"].createElement(_Settings["default"], {
51
61
  topo: topo,
62
+ selection: selection,
63
+ propertyViewManager: propertyViewManager,
52
64
  topoShowType: topoShowType,
53
65
  topoEditApi: topo.topoEdit,
54
- selection: selection,
55
66
  editorProps: editorProps
56
- }));
67
+ });
57
68
  };
58
69
 
59
70
  return /*#__PURE__*/_react["default"].createElement("div", {
60
- className: (0, _classnames["default"])(_SettingsModule["default"].settingsPanel, (_classNames = {}, _classNames[_SettingsModule["default"].settingsPanelHide] = !propertyPanelVisible, _classNames))
71
+ className: (0, _classnames["default"])(_SettingsModule["default"].propertyPanel, (_classNames = {}, _classNames[_SettingsModule["default"].hide] = !propertyPanelVisible, _classNames))
61
72
  }, /*#__PURE__*/_react["default"].createElement(_CloseablePanel["default"], {
62
73
  title: "\u6570\u636E\u5C5E\u6027",
63
74
  onClose: function onClose() {
64
- topoEditDispatchers.update({
65
- propertyPanelVisible: false
66
- });
75
+ propertyViewManager.close();
67
76
  }
68
- }, /*#__PURE__*/_react["default"].createElement(_OpenPropertyPanelListener["default"], {
69
- topo: topo
70
- }, renderContent())));
77
+ }, renderContent()));
71
78
  }