@riil-frontend/component-topology 2.12.0 → 2.12.4

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 (70) 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 +22 -22
  5. package/demo/5/345/205/266/344/273/226/347/273/204/344/273/266//346/240/221/345/270/203/345/261/200/346/226/271/345/220/221.md +12 -0
  6. package/es/components/LayoutDirectionSelect/LayoutDirectionSelect.js +2 -2
  7. package/es/components/MultiResourceDrawer/index.js +3 -2
  8. package/es/components/ResourceSelectDrawer/ResourceSelectDrawer.js +1 -0
  9. package/es/components/ResourceSelectDrawer/ResourceSelectList.js +6 -1
  10. package/es/components/SingleResourceDrawer/SelectDrawer.js +54 -0
  11. package/es/components/SingleResourceDrawer/index.js +3 -3
  12. package/es/core/common/icons/defaultIcons.js +9 -2
  13. package/es/core/components/TopoView/topoView.js +2 -2
  14. package/es/core/editor/components/settings/Settings.js +5 -29
  15. package/es/core/editor/components/settings/{group → common}/GroupNodeList/ResourceList.js +0 -0
  16. package/es/core/editor/components/settings/{group → common}/GroupNodeList/ResourceList.module.scss +0 -0
  17. package/es/core/editor/components/settings/{group → common}/GroupNodeList/ResourceSelectButton.js +12 -14
  18. package/es/core/editor/components/settings/{group → common}/GroupNodeList/icon.js +0 -0
  19. package/es/core/editor/components/settings/group/DataTab/GroupNodeList.js +19 -0
  20. package/es/core/editor/components/settings/group/DataTab/RelateData.js +45 -0
  21. package/es/core/editor/components/settings/group/GroupPropertyView.js +44 -0
  22. package/es/core/editor/components/settings/group/GroupPropertyView.module.scss +3 -0
  23. package/es/core/editor/components/settings/group/SettingTab/GroupExpandSetting.js +27 -0
  24. package/es/core/editor/components/settings/group/SettingTab/NodeIconSelect.js +32 -0
  25. package/es/core/editor/components/settings/group/SettingTab/Setting.js +86 -0
  26. package/es/core/editor/components/settings/group/hooks/useGroup.js +9 -0
  27. package/es/core/editor/components/settings/group/hooks/useGroupExpand.js +20 -0
  28. package/es/core/editor/components/settings/layer/LayerSettingsForm.js +2 -2
  29. package/es/core/editor/components/settings/{group/GroupNodeList/GroupNodeList.js → layer/NodeList.js} +3 -3
  30. package/es/core/editor/components/settings/link/LinkPropertyView.js +3 -3
  31. package/es/core/editor/components/settings/node/NodeIconSelect.js +1 -1
  32. package/es/core/editor/components/settings/propertyViews.js +23 -0
  33. package/es/core/models/TopoApp.js +27 -15
  34. package/es/hooks/useTopoEdit.js +137 -100
  35. package/es/style.js +2 -2
  36. package/es/topoCenter/models/TopoCenter.js +40 -12
  37. package/es/utils/htElementUtils.js +16 -7
  38. package/lib/components/LayoutDirectionSelect/LayoutDirectionSelect.js +2 -2
  39. package/lib/components/MultiResourceDrawer/index.js +3 -2
  40. package/lib/components/ResourceSelectDrawer/ResourceSelectDrawer.js +1 -0
  41. package/lib/components/ResourceSelectDrawer/ResourceSelectList.js +6 -1
  42. package/lib/components/SingleResourceDrawer/SelectDrawer.js +68 -0
  43. package/lib/components/SingleResourceDrawer/index.js +3 -3
  44. package/lib/core/common/icons/defaultIcons.js +11 -2
  45. package/lib/core/components/TopoView/topoView.js +2 -2
  46. package/lib/core/editor/components/settings/Settings.js +5 -34
  47. package/lib/core/editor/components/settings/{group → common}/GroupNodeList/ResourceList.js +0 -0
  48. package/lib/core/editor/components/settings/{group → common}/GroupNodeList/ResourceList.module.scss +0 -0
  49. package/lib/core/editor/components/settings/{group → common}/GroupNodeList/ResourceSelectButton.js +13 -14
  50. package/lib/core/editor/components/settings/{group → common}/GroupNodeList/icon.js +0 -0
  51. package/lib/core/editor/components/settings/group/DataTab/GroupNodeList.js +33 -0
  52. package/lib/core/editor/components/settings/group/DataTab/RelateData.js +57 -0
  53. package/lib/core/editor/components/settings/group/GroupPropertyView.js +58 -0
  54. package/lib/core/editor/components/settings/group/GroupPropertyView.module.scss +3 -0
  55. package/lib/core/editor/components/settings/group/SettingTab/GroupExpandSetting.js +37 -0
  56. package/lib/core/editor/components/settings/group/SettingTab/NodeIconSelect.js +45 -0
  57. package/lib/core/editor/components/settings/group/SettingTab/Setting.js +106 -0
  58. package/lib/core/editor/components/settings/group/hooks/useGroup.js +15 -0
  59. package/lib/core/editor/components/settings/group/hooks/useGroupExpand.js +26 -0
  60. package/lib/core/editor/components/settings/layer/LayerSettingsForm.js +3 -3
  61. package/lib/core/editor/components/settings/{group/GroupNodeList/GroupNodeList.js → layer/NodeList.js} +3 -3
  62. package/lib/core/editor/components/settings/link/LinkPropertyView.js +3 -3
  63. package/lib/core/editor/components/settings/node/NodeIconSelect.js +1 -1
  64. package/lib/core/editor/components/settings/propertyViews.js +38 -0
  65. package/lib/core/models/TopoApp.js +27 -15
  66. package/lib/hooks/useTopoEdit.js +138 -100
  67. package/lib/style.js +2 -2
  68. package/lib/topoCenter/models/TopoCenter.js +40 -12
  69. package/lib/utils/htElementUtils.js +22 -7
  70. package/package.json +9 -9
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
+ exports.__esModule = true;
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _icon = require("../../common/GroupNodeList/icon");
13
+
14
+ var _componentTopoIconSelect = _interopRequireDefault(require("@riil-frontend/component-topo-icon-select"));
15
+
16
+ function NodeIconSelect(props, ref) {
17
+ var value = props.value,
18
+ onChange = props.onChange,
19
+ topo = props.topo;
20
+ var iconGroups = (0, _icon.getIconGroups)(topo, 'node');
21
+ var newId = value;
22
+ var a = iconGroups[0].icons.filter(function (item) {
23
+ return newId.indexOf(item.oldId) !== -1;
24
+ });
25
+
26
+ if (a.length) {
27
+ newId = a[0].id;
28
+ }
29
+
30
+ (0, _react.useImperativeHandle)(ref, function () {
31
+ return {};
32
+ });
33
+ return /*#__PURE__*/_react["default"].createElement(_componentTopoIconSelect["default"], {
34
+ value: newId,
35
+ iconList: iconGroups,
36
+ onChange: onChange,
37
+ style: {
38
+ width: '100%'
39
+ }
40
+ });
41
+ }
42
+
43
+ var _default = /*#__PURE__*/(0, _react.forwardRef)(NodeIconSelect);
44
+
45
+ exports["default"] = _default;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports["default"] = GroupSetting;
9
+
10
+ var _form = _interopRequireDefault(require("@alifd/next/lib/form"));
11
+
12
+ var _input = _interopRequireDefault(require("@alifd/next/lib/input"));
13
+
14
+ var _field = _interopRequireDefault(require("@alifd/next/lib/field"));
15
+
16
+ var _collapse = _interopRequireDefault(require("@alifd/next/lib/collapse"));
17
+
18
+ var _select = _interopRequireDefault(require("@alifd/next/lib/select"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _NodeSizeInput = _interopRequireDefault(require("../../common/NodeSizeInput/NodeSizeInput"));
23
+
24
+ var _NodeIconSelect = _interopRequireDefault(require("./NodeIconSelect"));
25
+
26
+ var _GroupExpandSetting = _interopRequireDefault(require("./GroupExpandSetting"));
27
+
28
+ var _useGroupExpand = _interopRequireDefault(require("../hooks/useGroupExpand"));
29
+
30
+ var Option = _select["default"].Option;
31
+ var CollapsePanel = _collapse["default"].Panel;
32
+
33
+ function GroupSetting(props) {
34
+ var topo = props.topo,
35
+ topoEditApi = props.topoEditApi,
36
+ values = props.values,
37
+ _onChange = props.onChange,
38
+ settingRuntimeState = props.settingRuntimeState,
39
+ editorProps = props.editorProps,
40
+ group = props.group;
41
+
42
+ var field = _field["default"].useField({
43
+ autoUnmount: false,
44
+ values: values,
45
+ onChange: function onChange(name, value) {
46
+ var newValues = field.getValues();
47
+
48
+ if (values[name] !== value) {
49
+ _onChange(name, value, newValues);
50
+ }
51
+ }
52
+ });
53
+
54
+ (0, _react.useEffect)(function () {
55
+ field.setValues(values);
56
+ }, [values]);
57
+ var groupExpand = (0, _useGroupExpand["default"])({
58
+ group: group
59
+ });
60
+ var expanded = groupExpand.expanded;
61
+ return /*#__PURE__*/_react["default"].createElement(_form["default"], {
62
+ field: field,
63
+ labelAlign: "top"
64
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
65
+ label: "\u533A\u57DF\u540D\u79F0",
66
+ style: {
67
+ paddingLeft: 32,
68
+ paddingRight: 16
69
+ }
70
+ }, /*#__PURE__*/_react["default"].createElement(_input["default"], {
71
+ name: "attrObject.name"
72
+ })), /*#__PURE__*/_react["default"].createElement(_collapse["default"], {
73
+ defaultExpandedKeys: ['显示设置'],
74
+ style: {
75
+ border: 'none'
76
+ }
77
+ }, /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
78
+ key: "\u663E\u793A\u8BBE\u7F6E",
79
+ title: "\u663E\u793A\u8BBE\u7F6E"
80
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
81
+ label: "\u9ED8\u8BA4\u663E\u793A\u65B9\u5F0F"
82
+ }, /*#__PURE__*/_react["default"].createElement(_GroupExpandSetting["default"], {
83
+ group: group,
84
+ expanded: expanded,
85
+ setExpanded: groupExpand.setExpanded
86
+ })), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
87
+ label: "\u663E\u793A\u56FE\u7247"
88
+ }, /*#__PURE__*/_react["default"].createElement(_NodeIconSelect["default"], {
89
+ name: "image",
90
+ topo: topo
91
+ })), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
92
+ label: "\u56FE\u7247\u5C3A\u5BF8"
93
+ }, /*#__PURE__*/_react["default"].createElement(_NodeSizeInput["default"], {
94
+ node: values,
95
+ value: {
96
+ width: values.width,
97
+ height: values.height
98
+ },
99
+ onChange: function onChange(size) {
100
+ _onChange('width', size.width);
101
+
102
+ _onChange('height', size.height);
103
+ },
104
+ settingRuntimeState: settingRuntimeState
105
+ }))))));
106
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = useGroup;
5
+
6
+ var _react = require("react");
7
+
8
+ function useGroup(props) {
9
+ var topo = props.topo,
10
+ id = props.id;
11
+ var group = (0, _react.useMemo)(function () {
12
+ return topo.getDataModel().getDataById(id);
13
+ }, [id]);
14
+ return group;
15
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = useGroupExpand;
5
+
6
+ var _react = require("react");
7
+
8
+ function useGroupExpand(props) {
9
+ var group = props.group; // TODO 缺少:绘图区双击展开折叠后,更新状态
10
+
11
+ var _useState = (0, _react.useState)(group.isExpanded()),
12
+ expanded = _useState[0],
13
+ _setExpanded = _useState[1];
14
+
15
+ (0, _react.useEffect)(function () {
16
+ _setExpanded(group.isExpanded());
17
+ }, [group]);
18
+ return {
19
+ expanded: expanded,
20
+ setExpanded: function setExpanded(val) {
21
+ _setExpanded(val);
22
+
23
+ group.setExpanded(val);
24
+ }
25
+ };
26
+ }
@@ -29,9 +29,9 @@ var _react = _interopRequireWildcard(require("react"));
29
29
 
30
30
  var _ColorPicker = _interopRequireDefault(require("../../LinkDynamicStyleSettingDrawer/rule/ColorPicker"));
31
31
 
32
- var _GroupNodeList = _interopRequireDefault(require("../group/GroupNodeList/GroupNodeList"));
32
+ var _NodeList = _interopRequireDefault(require("./NodeList"));
33
33
 
34
- var _ResourceSelectButton = _interopRequireDefault(require("../group/GroupNodeList/ResourceSelectButton"));
34
+ var _ResourceSelectButton = _interopRequireDefault(require("../common/GroupNodeList/ResourceSelectButton"));
35
35
 
36
36
  var FormItem = _form["default"].Item;
37
37
  var Row = _grid["default"].Row,
@@ -150,7 +150,7 @@ function LayerSettingsForm(props) {
150
150
  },
151
151
  resourceSelectComponent: editorProps === null || editorProps === void 0 ? void 0 : editorProps.layerResourceSelectComponent
152
152
  }))
153
- }, /*#__PURE__*/_react["default"].createElement(_GroupNodeList["default"], {
153
+ }, /*#__PURE__*/_react["default"].createElement(_NodeList["default"], {
154
154
  topo: topo,
155
155
  group: values
156
156
  }));
@@ -9,11 +9,11 @@ exports["default"] = GroupNodeList;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _ResourceList = _interopRequireDefault(require("./ResourceList"));
12
+ var _ResourceList = _interopRequireDefault(require("../common/GroupNodeList/ResourceList"));
13
13
 
14
- var _htElementUtils = require("../../../../../../utils/htElementUtils");
14
+ var _htElementUtils = require("../../../../../utils/htElementUtils");
15
15
 
16
- var _icon = require("./icon");
16
+ var _icon = require("../common/GroupNodeList/icon");
17
17
 
18
18
  function GroupNodeList(props) {
19
19
  var topo = props.topo,
@@ -29,11 +29,11 @@ var _react = _interopRequireWildcard(require("react"));
29
29
 
30
30
  var _ColorPicker = _interopRequireDefault(require("../../LinkDynamicStyleSettingDrawer/rule/ColorPicker"));
31
31
 
32
- var _GroupNodeList = _interopRequireDefault(require("../group/GroupNodeList/GroupNodeList"));
32
+ var _GroupNodeList = _interopRequireDefault(require("../group/DataTab/GroupNodeList"));
33
33
 
34
- var _ResourceSelectButton = _interopRequireDefault(require("../group/GroupNodeList/ResourceSelectButton"));
34
+ var _ResourceSelectButton = _interopRequireDefault(require("../common/GroupNodeList/ResourceSelectButton"));
35
35
 
36
- var _icon = require("../group/GroupNodeList/icon");
36
+ var _icon = require("../common/GroupNodeList/icon");
37
37
 
38
38
  var _LineType = _interopRequireDefault(require("../common/LineType"));
39
39
 
@@ -7,7 +7,7 @@ exports["default"] = NodeIconSelect;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _icon = require("../group/GroupNodeList/icon");
10
+ var _icon = require("../common/GroupNodeList/icon");
11
11
 
12
12
  var _componentTopoIconSelect = _interopRequireDefault(require("@riil-frontend/component-topo-icon-select"));
13
13
 
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = void 0;
7
+
8
+ var _SettingsForm = _interopRequireDefault(require("./SettingsForm"));
9
+
10
+ var _NodePropertyView = _interopRequireDefault(require("./node/NodePropertyView"));
11
+
12
+ var _LayerSettingsForm = _interopRequireDefault(require("./layer/LayerSettingsForm"));
13
+
14
+ var _TextPropertyView = _interopRequireDefault(require("./text/TextPropertyView"));
15
+
16
+ var _LinkPropertyView = _interopRequireDefault(require("./link/LinkPropertyView"));
17
+
18
+ var _ViewPropertyView = _interopRequireDefault(require("./view/ViewPropertyView"));
19
+
20
+ var _GroupPropertyView = _interopRequireDefault(require("./group/GroupPropertyView"));
21
+
22
+ var propertyPanelMap = {
23
+ // view: SettingsForm,
24
+ node: _NodePropertyView["default"],
25
+ layer: _LayerSettingsForm["default"],
26
+ text: _TextPropertyView["default"],
27
+ group: _GroupPropertyView["default"]
28
+ };
29
+
30
+ if (localStorage.getItem('topo.debug') === 'true') {
31
+ Object.assign(propertyPanelMap, {
32
+ line: _LinkPropertyView["default"],
33
+ view: _ViewPropertyView["default"]
34
+ });
35
+ }
36
+
37
+ var _default = propertyPanelMap;
38
+ exports["default"] = _default;
@@ -505,42 +505,54 @@ var TopoApp = /*#__PURE__*/function () {
505
505
  /*#__PURE__*/
506
506
  function () {
507
507
  var _enterEditMode = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
508
- var topoDispatchers, editDispatchers, ciSetDoc, linkDynamicStyleDispatcher, iconManageDispatchers, topoTreeData;
508
+ var topoDispatchers, editDispatchers, iconManageDispatchers, ciSetDoc, linkDynamicStyleDispatcher;
509
509
  return _regenerator["default"].wrap(function _callee11$(_context11) {
510
510
  while (1) {
511
511
  switch (_context11.prev = _context11.next) {
512
512
  case 0:
513
- _context11.next = 2;
514
- return this.view.switchToEditMode();
515
-
516
- case 2:
517
513
  topoDispatchers = this.store.getModelDispatchers('topoMod');
518
514
  topoDispatchers.update({
519
515
  viewState: 'edit'
520
516
  });
517
+
518
+ if (!this.options.beforeSwitchToEditMode) {
519
+ _context11.next = 5;
520
+ break;
521
+ }
522
+
523
+ _context11.next = 5;
524
+ return this.options.beforeSwitchToEditMode();
525
+
526
+ case 5:
527
+ _context11.next = 7;
528
+ return this.view.switchToEditMode();
529
+
530
+ case 7:
521
531
  editDispatchers = this.store.getModelDispatchers('topoCreateMod');
522
532
  editDispatchers.switchToEditMode();
523
533
 
524
534
  if (this.options.onSwitchToEditMode) {
525
535
  this.options.onSwitchToEditMode();
526
- } // 每个节点的属性指标显示配置 TODO 每个节点都传了属性指标列表,待优化
536
+ } // 加载自定义图标
527
537
 
528
538
 
539
+ iconManageDispatchers = this.store.getModelDispatchers('iconManage');
540
+ iconManageDispatchers.loadIcons(); // 每个节点的属性指标显示配置 TODO 每个节点都传了属性指标列表,待优化
541
+
529
542
  ciSetDoc = this.store.getModelState('topoBizMod').ciSetDoc;
530
543
  this.view.topoClient.saveMarkSetting({
531
544
  tagAndTipSet: ciSetDoc
532
545
  }); // 刷新链路动态样式
533
546
 
534
547
  linkDynamicStyleDispatcher = this.store.getModelDispatchers('linkDynamicStyle');
535
- linkDynamicStyleDispatcher.execute(); // 加载自定义图标
536
-
537
- iconManageDispatchers = this.store.getModelDispatchers('iconManage');
538
- iconManageDispatchers.loadIcons(); // 加载关联拓扑图数据 FIXME 关联拓扑图时动态获取
539
-
540
- topoTreeData = (0, _format.formatTreeDataSelect)(this.store.getModelState('topoTreeMod').treeData, this.id);
541
- this.view.topoClient.setTopoTreeData(topoTreeData);
542
-
543
- case 15:
548
+ linkDynamicStyleDispatcher.execute(); // 加载关联拓扑图数据 FIXME 关联拓扑图时动态获取
549
+ // const topoTreeData = formatTreeDataSelect(
550
+ // this.store.getModelState('topoTreeMod').treeData,
551
+ // this.id
552
+ // );
553
+ // this.view.topoClient.setTopoTreeData(topoTreeData);
554
+
555
+ case 16:
544
556
  case "end":
545
557
  return _context11.stop();
546
558
  }