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

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 (108) hide show
  1. package/build/index.css +1 -1
  2. package/build/index.js +20 -20
  3. package/demo/CHANGELOG/CHANGELOG.md +5 -0
  4. package/es/components/VerticalIconTab/VerticalIconTab.js +11 -1
  5. package/es/components/VerticalIconTab/VerticalIconTab.module.scss +1 -0
  6. package/es/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +8 -3
  7. package/es/core/components/TopoView/topoView.js +3 -3
  8. package/es/core/editor/components/Sidebar/panes.js +6 -1
  9. package/es/core/editor/components/Toolbar/widgets/AddResourceButton.js +1 -1
  10. package/es/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +1 -1
  11. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +1 -1
  12. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +1 -1
  13. package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +38 -12
  14. package/es/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +4 -5
  15. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +1 -1
  16. package/es/core/editor/components/Toolbar/widgets/Layout/index.js +2 -2
  17. package/es/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +8 -1
  18. package/es/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +1 -1
  19. package/es/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +1 -1
  20. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +1 -1
  21. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +1 -1
  22. package/es/core/editor/components/settings/CloseablePanel.module.scss +12 -0
  23. package/es/core/editor/components/settings/PropertyView.js +21 -18
  24. package/es/core/editor/components/settings/Settings.js +39 -77
  25. package/es/core/editor/components/settings/Settings.module.scss +2 -10
  26. package/es/core/editor/components/settings/core/PropertyViewManager.js +61 -0
  27. package/es/core/editor/components/settings/core/getPropertyViewType.js +34 -0
  28. package/es/core/editor/components/settings/core/updateElementProperty.js +21 -0
  29. package/es/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +3 -8
  30. package/es/core/editor/components/settings/propertyViews/box/BoxPropertyViewV1.js +58 -0
  31. package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +5 -2
  32. package/es/core/editor/components/settings/propertyViews/edge/EdgeGroupPropertyView.js +7 -8
  33. package/es/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +9 -23
  34. package/es/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +10 -0
  35. package/es/core/editor/components/settings/propertyViews/edge/edgeGroup/EdgeGroupSetting.js +1 -6
  36. package/es/core/editor/components/settings/propertyViews/group/GroupPropertyView.js +13 -21
  37. package/es/core/editor/components/settings/propertyViews/group/GroupPropertyView.module.scss +8 -1
  38. package/es/core/editor/components/settings/propertyViews/group/GroupPropertyViewV1.js +28 -0
  39. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupBasicSetting.js +74 -0
  40. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +9 -7
  41. package/es/core/editor/components/settings/propertyViews/index.js +4 -2
  42. package/es/core/editor/components/settings/propertyViews/node/NodePropertyView.js +8 -32
  43. package/es/core/editor/components/settings/propertyViews/node/NodePropertyViewV1.js +53 -0
  44. package/es/core/editor/components/settings/propertyViews/node/Setting/BasicSetting.js +49 -0
  45. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +4 -19
  46. package/es/core/models/HistoryManager.js +11 -14
  47. package/es/core/models/{SelectionManager.js → SelectionModel.js} +27 -18
  48. package/es/core/models/TopoApp.js +3 -3
  49. package/es/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +39 -6
  50. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +10 -16
  51. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +37 -0
  52. package/es/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +1 -1
  53. package/es/networkTopo/models/LinkDynamicStyleExecutor.js +2 -2
  54. package/es/style.js +1 -1
  55. package/lib/components/VerticalIconTab/VerticalIconTab.js +14 -1
  56. package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +1 -0
  57. package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +8 -3
  58. package/lib/core/components/TopoView/topoView.js +3 -3
  59. package/lib/core/editor/components/Sidebar/panes.js +6 -1
  60. package/lib/core/editor/components/Toolbar/widgets/AddResourceButton.js +1 -1
  61. package/lib/core/editor/components/Toolbar/widgets/BoxBackgroundButton/BoxBackgroundButton.js +1 -1
  62. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +1 -1
  63. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +1 -1
  64. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +38 -12
  65. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.module.scss +4 -5
  66. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +1 -1
  67. package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +2 -2
  68. package/lib/core/editor/components/Toolbar/widgets/NodeAlignWidget.js +8 -1
  69. package/lib/core/editor/components/Toolbar/widgets/NodeImageButton/NodeImageButton.js +1 -1
  70. package/lib/core/editor/components/Toolbar/widgets/NodeSizeButton/NodeSizeButton.js +1 -1
  71. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +1 -1
  72. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/textStyleSettingRouter.js +1 -1
  73. package/lib/core/editor/components/settings/CloseablePanel.module.scss +12 -0
  74. package/lib/core/editor/components/settings/PropertyView.js +26 -19
  75. package/lib/core/editor/components/settings/Settings.js +44 -79
  76. package/lib/core/editor/components/settings/Settings.module.scss +2 -10
  77. package/lib/core/editor/components/settings/core/PropertyViewManager.js +70 -0
  78. package/lib/core/editor/components/settings/core/getPropertyViewType.js +40 -0
  79. package/lib/core/editor/components/settings/core/updateElementProperty.js +27 -0
  80. package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +3 -8
  81. package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyViewV1.js +76 -0
  82. package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +8 -2
  83. package/lib/core/editor/components/settings/propertyViews/edge/EdgeGroupPropertyView.js +9 -12
  84. package/lib/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +7 -23
  85. package/lib/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +19 -0
  86. package/lib/core/editor/components/settings/propertyViews/edge/edgeGroup/EdgeGroupSetting.js +1 -6
  87. package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyView.js +14 -25
  88. package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyView.module.scss +8 -1
  89. package/lib/core/editor/components/settings/propertyViews/group/GroupPropertyViewV1.js +43 -0
  90. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupBasicSetting.js +97 -0
  91. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +8 -6
  92. package/lib/core/editor/components/settings/propertyViews/index.js +5 -2
  93. package/lib/core/editor/components/settings/propertyViews/node/NodePropertyView.js +8 -35
  94. package/lib/core/editor/components/settings/propertyViews/node/NodePropertyViewV1.js +68 -0
  95. package/lib/core/editor/components/settings/propertyViews/node/Setting/BasicSetting.js +64 -0
  96. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +4 -19
  97. package/lib/core/models/HistoryManager.js +11 -14
  98. package/lib/core/models/{SelectionManager.js → SelectionModel.js} +27 -18
  99. package/lib/core/models/TopoApp.js +3 -3
  100. package/lib/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +45 -7
  101. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +10 -18
  102. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +50 -0
  103. package/lib/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +1 -1
  104. package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +2 -2
  105. package/lib/style.js +1 -1
  106. package/package.json +2 -2
  107. package/es/core/editor/components/settings/OpenPropertyPanelListener.js +0 -33
  108. package/lib/core/editor/components/settings/OpenPropertyPanelListener.js +0 -43
@@ -0,0 +1,61 @@
1
+ import propertyViews from "../propertyViews";
2
+ import getPropertyViewType from "./getPropertyViewType";
3
+
4
+ var PropertyViewManager = /*#__PURE__*/function () {
5
+ function PropertyViewManager(topo) {
6
+ this.viewMap = propertyViews;
7
+ this.topo = void 0;
8
+ this.getPropertyViewType = getPropertyViewType;
9
+ this.topo = topo;
10
+ this.open = this.open.bind(this);
11
+ }
12
+
13
+ var _proto = PropertyViewManager.prototype;
14
+
15
+ _proto.updateViews = function updateViews(viewMap) {
16
+ Object.assign(this.viewMap, viewMap);
17
+ };
18
+
19
+ _proto.init = function init() {
20
+ var notifier = this.topo.getHtTopo().getNotifier();
21
+ notifier.on('topo_element_double_click', this.open);
22
+ };
23
+
24
+ _proto.destroy = function destroy() {
25
+ var notifier = this.topo.getHtTopo().getNotifier();
26
+ notifier.off('topo_element_double_click', this.open);
27
+ };
28
+
29
+ _proto.open = function open() {
30
+ var view = this.getPropertyView();
31
+
32
+ if (!view) {
33
+ return;
34
+ }
35
+
36
+ var topoEditDispatchers = this.topo.store.getModelDispatchers('topoEdit');
37
+ topoEditDispatchers.update({
38
+ propertyPanelVisible: true
39
+ });
40
+ };
41
+
42
+ _proto.close = function close() {
43
+ var topoEditDispatchers = this.topo.store.getModelDispatchers('topoEdit');
44
+ topoEditDispatchers.update({
45
+ propertyPanelVisible: false
46
+ });
47
+ };
48
+
49
+ _proto.getPropertyView = function
50
+ /* selection */
51
+ getPropertyView() {
52
+ var selection = this.topo.selectionModel.getSelection();
53
+ var elementType = getPropertyViewType(selection);
54
+ var PropertyView = this.viewMap[elementType];
55
+ return PropertyView;
56
+ };
57
+
58
+ return PropertyViewManager;
59
+ }();
60
+
61
+ export default PropertyViewManager;
@@ -0,0 +1,34 @@
1
+ import { isEdge, isEdgeGroupAgent, isGroup, isLayer, isNode, isText } from "../../../../../utils/htElementUtils";
2
+
3
+ function getPropertyViewType(selection) {
4
+ var selectionElement = selection[0];
5
+ var selectionSize = selection.length;
6
+ var viewType;
7
+
8
+ if (!selectionSize) {
9
+ // 未选
10
+ viewType = 'view';
11
+ } else if (selectionSize >= 2) {
12
+ // 多选
13
+ viewType = 'multiple';
14
+ } else if (isText(selectionElement)) {
15
+ viewType = 'text';
16
+ } else if (isGroup(selectionElement)) {
17
+ viewType = 'group';
18
+ } else if (selectionElement.a('type') === 'box') {
19
+ viewType = 'box';
20
+ } else if (isNode(selectionElement)) {
21
+ viewType = 'node';
22
+ } else if (isEdgeGroupAgent(selectionElement)) {
23
+ viewType = 'edgeGroup';
24
+ } else if (isEdge(selectionElement)) {
25
+ viewType = 'edge';
26
+ } else if (isLayer(selectionElement)) {
27
+ // 分层
28
+ viewType = 'layer';
29
+ }
30
+
31
+ return viewType;
32
+ }
33
+
34
+ export default getPropertyViewType;
@@ -0,0 +1,21 @@
1
+ export default function updateElementProperty(topo, name, value) {
2
+ // const element = topo.getDataModel().getDataById(selection[0].id);
3
+ var element = topo.getSelectionModel().getFirstData(); // console.info("updateElementProperty",topo.getSelectionModel().getSelection(), { selection, element, name, value });
4
+
5
+ if (name.startsWith('attrObject.')) {
6
+ element.setAttr(name.replace('attrObject.', ''), value);
7
+ } else if (name.startsWith('position.')) {
8
+ element.setPosition(name.replace('position.', ''), value);
9
+ } else if (name.startsWith('styleMap.')) {
10
+ element.setStyle(name.replace('styleMap.', ''), value);
11
+ } else if (name === 'name') {
12
+ element.setName(value);
13
+ } else if (name === 'width') {
14
+ element.setWidth(value);
15
+ } else if (name === 'height') {
16
+ element.setHeight(value);
17
+ } else if (name === 'image') {
18
+ element.setImage(value);
19
+ }
20
+ }
21
+ ;
@@ -40,19 +40,14 @@ export default function BoxPropertyView(props) {
40
40
  }, [values]);
41
41
  return /*#__PURE__*/React.createElement(_Form, {
42
42
  field: field,
43
- labelAlign: "top"
44
- }, /*#__PURE__*/React.createElement(_Form.Item, null, /*#__PURE__*/React.createElement(_Collapse, {
45
- defaultExpandedKeys: ['标题区'],
43
+ labelAlign: "top",
46
44
  style: {
47
- border: 'none'
45
+ margin: '12px 0 0 32px'
48
46
  }
49
- }, /*#__PURE__*/React.createElement(CollapsePanel, {
50
- key: "\u6807\u9898\u533A",
51
- title: "\u6807\u9898\u533A"
52
47
  }, /*#__PURE__*/React.createElement(_Form.Item, {
53
48
  label: "\u6807\u9898\u540D\u79F0"
54
49
  }, /*#__PURE__*/React.createElement(NameInput, {
55
50
  name: "attrObject.topLeftText",
56
51
  topo: topo
57
- }))))));
52
+ })));
58
53
  }
@@ -0,0 +1,58 @@
1
+ import _Form from "@alifd/next/es/form";
2
+ import _Field from "@alifd/next/es/field";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ import _Collapse from "@alifd/next/es/collapse";
5
+ import React, { useEffect } from 'react';
6
+ import useHtElement from "../../../../../common/hooks/useHtElement";
7
+ import NameInput from "./NameInput";
8
+ var CollapsePanel = _Collapse.Panel;
9
+
10
+ function parseValues(values) {
11
+ return _extends({}, values);
12
+ }
13
+
14
+ export default function BoxPropertyView(props) {
15
+ var topo = props.topo,
16
+ values = props.values,
17
+ _onChange = props.onChange;
18
+ var boxNode = useHtElement({
19
+ topo: topo,
20
+ id: values.id
21
+ });
22
+
23
+ var field = _Field.useField({
24
+ autoUnmount: false,
25
+ values: parseValues(values),
26
+ onChange: function onChange(name, value) {
27
+ var newValues = field.getValues();
28
+
29
+ _onChange(name, value, newValues);
30
+
31
+ if (name === 'attrObject.topLeftText') {
32
+ // 修改框名称改变名称背景块大小
33
+ topo.getHtTopo().setRectangleText(boxNode);
34
+ }
35
+ }
36
+ });
37
+
38
+ useEffect(function () {
39
+ field.setValues(parseValues(values));
40
+ }, [values]);
41
+ return /*#__PURE__*/React.createElement(_Form, {
42
+ field: field,
43
+ labelAlign: "top"
44
+ }, /*#__PURE__*/React.createElement(_Form.Item, null, /*#__PURE__*/React.createElement(_Collapse, {
45
+ defaultExpandedKeys: ['标题区'],
46
+ style: {
47
+ border: 'none'
48
+ }
49
+ }, /*#__PURE__*/React.createElement(CollapsePanel, {
50
+ key: "\u6807\u9898\u533A",
51
+ title: "\u6807\u9898\u533A"
52
+ }, /*#__PURE__*/React.createElement(_Form.Item, {
53
+ label: "\u6807\u9898\u540D\u79F0"
54
+ }, /*#__PURE__*/React.createElement(NameInput, {
55
+ name: "attrObject.topLeftText",
56
+ topo: topo
57
+ }))))));
58
+ }
@@ -7,6 +7,7 @@ import rlog from "@riil-frontend/component-topology-utils/es/rlog";
7
7
  import React, { useEffect, useState } from "react";
8
8
  import ColorPicker from "../../../../../../common/components/ColorPicker";
9
9
  import LineType from "../../common/LineType";
10
+ import addEdgeProps from "./addEdgeProps";
10
11
  var CollapsePanel = _Collapse.Panel;
11
12
 
12
13
  function parseValues(values, edge) {
@@ -16,7 +17,7 @@ function parseValues(values, edge) {
16
17
  });
17
18
  }
18
19
 
19
- export default function CommonEdgePropertyView(props) {
20
+ function CommonEdgePropertyView(props) {
20
21
  var topo = props.topo,
21
22
  edge = props.edge,
22
23
  values = props.values,
@@ -127,4 +128,6 @@ export default function CommonEdgePropertyView(props) {
127
128
  }
128
129
  }
129
130
  })))), extraDisplaySetting))));
130
- }
131
+ }
132
+
133
+ export default addEdgeProps(CommonEdgePropertyView);
@@ -1,10 +1,9 @@
1
- import React, { useState, useEffect } from 'react';
1
+ import React from 'react';
2
+ import addEdgeProps from "./addEdgeProps";
2
3
  import EdgeGroupSetting from "./edgeGroup/EdgeGroupSetting";
3
- export default function EdgeGroupPropertyView(props) {
4
- var topo = props.topo,
5
- edge = props.edge,
6
- values = props.values,
7
- onChange = props.onChange,
8
- editorProps = props.editorProps;
4
+
5
+ function EdgeGroupPropertyView(props) {
9
6
  return /*#__PURE__*/React.createElement(EdgeGroupSetting, props);
10
- }
7
+ }
8
+
9
+ export default addEdgeProps(EdgeGroupPropertyView);
@@ -1,10 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useState, useEffect, useRef, useCallback } from "react";
2
+ import React, { useState, useEffect, useRef, useCallback } from 'react';
3
3
  import useHtElement from "../../../../../common/hooks/useHtElement";
4
- import CommonEdgePropertyView from "./CommonEdgePropertyView";
5
4
  import EdgeGroupPropertyView from "./EdgeGroupPropertyView";
6
5
  var commonViews = {
7
- edge: CommonEdgePropertyView,
8
6
  edgeGroup: EdgeGroupPropertyView
9
7
  };
10
8
  /**
@@ -14,31 +12,19 @@ var commonViews = {
14
12
  export default function EdgePropertyViewRoute(props) {
15
13
  var topo = props.topo,
16
14
  values = props.values,
15
+ selectionElement = props.selectionElement,
17
16
  editorProps = props.editorProps;
18
- var edge = useHtElement({
19
- topo: topo,
20
- id: values.id
21
- });
17
+ var edge = selectionElement;
22
18
  var type;
23
19
 
24
- if (edge.isEdgeGroupAgent()) {
25
- if (editorProps.getEdgeGroupPropertyViewType) {
26
- type = editorProps.getEdgeGroupPropertyViewType(_extends({}, props, {
27
- edge: edge
28
- }));
29
- }
30
-
31
- type = type || "edgeGroup";
32
- } else {
33
- if (editorProps.getEdgePropertyViewType) {
34
- type = editorProps.getEdgePropertyViewType(_extends({}, props, {
35
- edge: edge
36
- }));
37
- }
38
-
39
- type = type || "edge";
20
+ if (editorProps.getEdgePropertyViewType) {
21
+ type = editorProps.getEdgePropertyViewType(_extends({}, props, {
22
+ edge: edge
23
+ }));
40
24
  }
41
25
 
26
+ type = type || 'edge';
27
+
42
28
  var views = _extends({}, commonViews, editorProps.edgePropertyViews || {});
43
29
 
44
30
  var View = views[type];
@@ -0,0 +1,10 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ export default function addEdgeProps(Component) {
4
+ return function AdapterEdgeProps(props) {
5
+ var selectionElement = props.selectionElement;
6
+ return /*#__PURE__*/React.createElement(Component, _extends({}, props, {
7
+ edge: selectionElement
8
+ }));
9
+ };
10
+ }
@@ -13,13 +13,12 @@ function parseValues(values) {
13
13
  export default function EdgeGroupSetting(props) {
14
14
  var topo = props.topo,
15
15
  edge = props.edge,
16
- values = props.values,
17
16
  _onChange = props.onChange,
18
17
  editorProps = props.editorProps;
19
18
 
20
19
  var field = _Field.useField({
21
20
  autoUnmount: false,
22
- values: parseValues(values),
21
+ values: {},
23
22
  onChange: function onChange(name, value) {
24
23
  var newValues = field.getValues();
25
24
 
@@ -27,10 +26,6 @@ export default function EdgeGroupSetting(props) {
27
26
  }
28
27
  });
29
28
 
30
- useEffect(function () {
31
- field.setValues(parseValues(values));
32
- }, [values]);
33
-
34
29
  var setLineColor = function setLineColor(color) {
35
30
  var style = edge.a('styles') || {};
36
31
  edge.s('edge.color', color);
@@ -1,34 +1,26 @@
1
- import _Tab from "@alifd/next/es/tab";
2
1
  import _extends from "@babel/runtime/helpers/extends";
3
2
  import React from 'react';
4
- import TabView from "../../common/tab/TabView";
5
- import styles from "./GroupPropertyView.module.scss";
6
- import useGroup from "./hooks/useGroup";
7
- import GroupSetting from "./SettingTab/Setting";
8
- import GroupRelateData from "./DataTab/RelateData";
9
3
  import ClusterGroupRelateData from "./cluster/ClusterGroupRelateData";
4
+ import GroupRelateData from "./DataTab/RelateData";
5
+ import GroupBasicSetting from "./SettingTab/GroupBasicSetting";
6
+ import styles from "./GroupPropertyView.module.scss";
10
7
  export default function GroupPropertyView(props) {
11
8
  var topo = props.topo,
12
9
  topoEdit = props.topoEdit,
13
10
  values = props.values,
14
- onChange = props.onChange,
15
- settingRuntimeState = props.settingRuntimeState,
16
- editorProps = props.editorProps;
17
- var group = useGroup({
18
- topo: topo,
19
- id: values.id
20
- });
11
+ selectionElement = props.selectionElement;
12
+ var group = selectionElement;
21
13
  var isCluster = group.a('cluster');
22
14
  var DataTabContent = isCluster ? ClusterGroupRelateData : GroupRelateData;
23
- return /*#__PURE__*/React.createElement(TabView, null, /*#__PURE__*/React.createElement(_Tab.Item, {
24
- title: "\u6570\u636E",
25
- key: "1"
26
- }, /*#__PURE__*/React.createElement(DataTabContent, _extends({
15
+ return /*#__PURE__*/React.createElement("div", {
16
+ className: styles.GroupPropertyView
17
+ }, /*#__PURE__*/React.createElement(GroupBasicSetting, _extends({
27
18
  group: group
28
- }, props))), /*#__PURE__*/React.createElement(_Tab.Item, {
29
- title: "\u8BBE\u7F6E",
30
- key: "2"
31
- }, /*#__PURE__*/React.createElement(GroupSetting, _extends({
19
+ }, props, {
20
+ isCluster: isCluster
21
+ })), /*#__PURE__*/React.createElement("div", {
22
+ className: styles.data
23
+ }, /*#__PURE__*/React.createElement(DataTabContent, _extends({
32
24
  group: group
33
25
  }, props))));
34
26
  }
@@ -1,3 +1,10 @@
1
1
  .GroupPropertyView {
2
-
2
+ height: 100%;
3
+ display: flex;
4
+ flex-direction: column;
5
+
6
+ .data {
7
+ flex: 1;
8
+ overflow: auto;
9
+ }
3
10
  }
@@ -0,0 +1,28 @@
1
+ import _Tab from "@alifd/next/es/tab";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import React from 'react';
4
+ import TabView from "../../common/tab/TabView";
5
+ import styles from "./GroupPropertyView.module.scss";
6
+ import GroupSetting from "./SettingTab/Setting";
7
+ import GroupRelateData from "./DataTab/RelateData";
8
+ import ClusterGroupRelateData from "./cluster/ClusterGroupRelateData";
9
+ export default function GroupPropertyView(props) {
10
+ var topo = props.topo,
11
+ topoEdit = props.topoEdit,
12
+ values = props.values,
13
+ selectionElement = props.selectionElement;
14
+ var group = selectionElement;
15
+ var isCluster = group.a('cluster');
16
+ var DataTabContent = isCluster ? ClusterGroupRelateData : GroupRelateData;
17
+ return /*#__PURE__*/React.createElement(TabView, null, /*#__PURE__*/React.createElement(_Tab.Item, {
18
+ title: "\u6570\u636E",
19
+ key: "1"
20
+ }, /*#__PURE__*/React.createElement(DataTabContent, _extends({
21
+ group: group
22
+ }, props))), /*#__PURE__*/React.createElement(_Tab.Item, {
23
+ title: "\u8BBE\u7F6E",
24
+ key: "2"
25
+ }, /*#__PURE__*/React.createElement(GroupSetting, _extends({
26
+ group: group
27
+ }, props))));
28
+ }
@@ -0,0 +1,74 @@
1
+ import _Form from "@alifd/next/es/form";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import _Input from "@alifd/next/es/input";
4
+ import _Field from "@alifd/next/es/field";
5
+ import _Collapse from "@alifd/next/es/collapse";
6
+ import React, { useEffect } from "react";
7
+ import NodeSizeInput from "../../../common/NodeSizeInput/NodeSizeInput";
8
+ import GroupIconSelect from "./GroupIconSelect";
9
+ import GroupExpandStatus from "./GroupExpandStatus";
10
+ import GroupExpandSetting from "./GroupExpandSetting";
11
+ import { SPECIAL_CHARACTER_FORM_ITEM_VALIDATE_PROPS, validateSpecialCharacter } from "../../../../../../../utils/SpecialCharacterValidateUtil";
12
+ var CollapsePanel = _Collapse.Panel;
13
+ export default function GroupBasicSetting(props) {
14
+ var topo = props.topo,
15
+ topoEdit = props.topoEdit,
16
+ values = props.values,
17
+ _onChange = props.onChange,
18
+ settingRuntimeState = props.settingRuntimeState,
19
+ editorProps = props.editorProps,
20
+ group = props.group,
21
+ isCluster = props.isCluster;
22
+ var expanded = values.expanded;
23
+ var id = values.id;
24
+
25
+ var field = _Field.useField({
26
+ autoUnmount: false,
27
+ values: values,
28
+ onChange: function onChange(name, value) {
29
+ if (name === 'attrObject.name' && !validateSpecialCharacter(value)) {
30
+ return;
31
+ }
32
+
33
+ var newValues = field.getValues();
34
+
35
+ _onChange(name, value, newValues);
36
+ }
37
+ });
38
+
39
+ useEffect(function () {
40
+ field.setValues(values);
41
+ }, [values]);
42
+ return /*#__PURE__*/React.createElement(_Form, {
43
+ field: field,
44
+ labelAlign: "top",
45
+ style: {
46
+ paddingLeft: 32,
47
+ paddingRight: 16,
48
+ marginTop: 12
49
+ }
50
+ }, /*#__PURE__*/React.createElement(_Form.Item, null, /*#__PURE__*/React.createElement(_Form.Item, _extends({
51
+ label: isCluster ? '集群名称' : '区域名称'
52
+ }, SPECIAL_CHARACTER_FORM_ITEM_VALIDATE_PROPS, {
53
+ patternTrigger: "onChange"
54
+ }), /*#__PURE__*/React.createElement(_Input, {
55
+ name: "attrObject.name",
56
+ maxLength: 30,
57
+ placeholder: "\u8BF7\u8F93\u5165",
58
+ onFocus: function onFocus() {
59
+ topo.historyManager.beginTransaction();
60
+ },
61
+ onBlur: function onBlur() {
62
+ topo.historyManager.endTransaction();
63
+ }
64
+ })), /*#__PURE__*/React.createElement(_Form.Item, {
65
+ label: "\u9ED8\u8BA4\u663E\u793A\u65B9\u5F0F"
66
+ }, /*#__PURE__*/React.createElement(GroupExpandStatus, {
67
+ topo: topo,
68
+ group: group,
69
+ expanded: expanded,
70
+ setExpanded: function setExpanded(val) {
71
+ return group.setExpanded(val);
72
+ }
73
+ }))));
74
+ }
@@ -1,6 +1,6 @@
1
1
  import _Form from "@alifd/next/es/form";
2
2
  import _Collapse from "@alifd/next/es/collapse";
3
- import React, { useState, useEffect, useRef, useCallback } from "react";
3
+ import React, { useState, useEffect, useRef, useCallback } from 'react';
4
4
  import GroupExpandStatus from "./GroupExpandStatus";
5
5
  import AlignSetting from "../../../common/AlignSetting";
6
6
  import LayoutSettings from "../../../common/LayoutSettings"; // import NodeIconSelect from '../../node/NodeIconSelect';
@@ -23,15 +23,17 @@ export default function GroupExpandSetting(props) {
23
23
  topo.historyManager.beginTransaction(); // console.log("setAlignmentBySelectionNodes", v);
24
24
  // topo.view.topoClient.htTopoClient.setAlignmentBySelectionNodes(v);
25
25
 
26
- onChange("groupAlign", v); // topoEditApi.setAlignmentBySelectionNodes(v);
26
+ onChange('groupAlign', v); // topoEditApi.setAlignmentBySelectionNodes(v);
27
27
 
28
28
  topo.historyManager.endTransaction();
29
29
  };
30
30
 
31
- var layoutOnChange = function layoutOnChange(v) {
31
+ var layoutOnChange = function layoutOnChange(value) {
32
32
  topo.historyManager.beginTransaction();
33
- setLayout(v);
34
- onChange("layout", v);
33
+ setLayout(value); // onChange("layout", v);
34
+
35
+ var layouType = value.id === 'toward' ? "" + value.id + value.options.subId : value.id;
36
+ topo.getHtTopo().layoutInContainer(layouType);
35
37
  topo.historyManager.endTransaction();
36
38
  };
37
39
 
@@ -40,9 +42,9 @@ export default function GroupExpandSetting(props) {
40
42
  setLayout({}); // onChange("layout", {});
41
43
  }, [id]);
42
44
  return /*#__PURE__*/React.createElement(_Collapse, {
43
- defaultExpandedKeys: ["布局", "显示设置", "对齐方式"],
45
+ defaultExpandedKeys: ['布局', '显示设置', '对齐方式'],
44
46
  style: {
45
- border: "none"
47
+ border: 'none'
46
48
  }
47
49
  }, /*#__PURE__*/React.createElement(CollapsePanel, {
48
50
  key: "\u5E03\u5C40",
@@ -6,14 +6,16 @@ import GroupPropertyView from "./group/GroupPropertyView";
6
6
  import MultipleElementPropertyView from "./multipleElements/MultipleElementPropertyView";
7
7
  import EdgePropertyView from "./edge/EdgePropertyView";
8
8
  import BoxPropertyView from "./box/BoxPropertyView";
9
+ import EdgeGroupPropertyView from "./edge/EdgeGroupPropertyView";
9
10
  var propertyPanelMap = {
10
- view: ViewPropertyView,
11
+ // view: ViewPropertyView,
11
12
  group: GroupPropertyView,
12
13
  node: NodePropertyView,
13
14
  edge: EdgePropertyView,
15
+ // edgeGroup: EdgeGroupPropertyView,
14
16
  layer: LayerPropertyView,
15
17
  text: TextPropertyView,
16
- multiple: MultipleElementPropertyView,
18
+ // multiple: MultipleElementPropertyView,
17
19
  box: BoxPropertyView
18
20
  };
19
21
 
@@ -1,11 +1,8 @@
1
- import _Tab from "@alifd/next/es/tab";
2
1
  import _extends from "@babel/runtime/helpers/extends";
3
2
  import React from 'react';
4
- import useHtElement from "../../../../../common/hooks/useHtElement";
5
- import TabView from "../../common/tab/TabView";
6
3
  import Data from "./data/Data";
7
4
  import styles from "./NodePropertyView.module.scss";
8
- import Setting from "./Setting";
5
+ import BasicSetting from "./Setting/BasicSetting";
9
6
  export default function NodePropertyView(props) {
10
7
  var _topo$options$editor;
11
8
 
@@ -14,40 +11,19 @@ export default function NodePropertyView(props) {
14
11
  values = props.values,
15
12
  onChange = props.onChange,
16
13
  editorProps = props.editorProps,
17
- settingRuntimeState = props.settingRuntimeState;
18
- var node = useHtElement({
19
- topo: topo,
20
- id: values.id
21
- });
22
-
23
- var renderData = function renderData() {
24
- return /*#__PURE__*/React.createElement(Data, _extends({}, props, {
25
- node: node
26
- }));
27
- };
28
-
29
- var renderSetting = function renderSetting() {
30
- var nodeSettingViewProps = editorProps.nodeSettingViewProps;
31
- return /*#__PURE__*/React.createElement(Setting, _extends({}, props, nodeSettingViewProps));
32
- }; // 未绑定资源的节点,根据参数控制是否可关联资源
33
-
14
+ selectionElement = props.selectionElement;
15
+ var node = selectionElement; // 未绑定资源的节点,根据参数控制是否可关联资源
34
16
 
35
17
  var showRelateResource = !!values.tag || !values.tag && ((_topo$options$editor = topo.options.editor) === null || _topo$options$editor === void 0 ? void 0 : _topo$options$editor.enableRelateResource) !== false;
36
- var content;
18
+ var dataContent = null;
37
19
 
38
20
  if (showRelateResource) {
39
- content = /*#__PURE__*/React.createElement(TabView, null, /*#__PURE__*/React.createElement(_Tab.Item, {
40
- title: "\u6570\u636E",
41
- key: "1"
42
- }, renderData()), /*#__PURE__*/React.createElement(_Tab.Item, {
43
- title: "\u8BBE\u7F6E",
44
- key: "2"
45
- }, renderSetting()));
46
- } else {
47
- content = renderSetting();
21
+ dataContent = /*#__PURE__*/React.createElement(Data, _extends({}, props, {
22
+ node: node
23
+ }));
48
24
  }
49
25
 
50
26
  return /*#__PURE__*/React.createElement("div", {
51
27
  className: styles.NodePropertyView
52
- }, content);
28
+ }, /*#__PURE__*/React.createElement(BasicSetting, props), dataContent);
53
29
  }