@riil-frontend/component-topology 2.3.21 → 2.4.0

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 (101) 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 +28 -28
  5. package/demo/5/345/205/266/344/273/226/347/273/204/344/273/266//345/233/276/346/240/207/351/200/211/346/213/251.md +5 -5
  6. package/es/components/Drawer/index.js +2 -1
  7. package/es/components/Drawer/index.module.scss +13 -0
  8. package/es/components/ResourceList/ResourceSelect.js +3 -2
  9. package/es/components/ResourceList/ResourceSelect.module.scss +7 -0
  10. package/es/components/ResourceSelect/ResourceSelectDrawer.js +3 -1
  11. package/es/core/{editor/components/settings/group/GroupNodeList → common}/icons/defaultIcons.d.ts +15 -0
  12. package/es/core/{editor/components/settings/group/GroupNodeList → common}/icons/defaultIcons.js +62 -0
  13. package/es/core/common/text.module.scss +5 -0
  14. package/es/core/editor/components/LinkDynamicStyleSettingDrawer/rule/ColorPicker.module.scss +7 -3
  15. package/es/core/editor/components/iconManage/UploadIconDialog.js +2 -2
  16. package/es/core/editor/components/settings/Settings.js +47 -42
  17. package/es/core/editor/components/settings/Settings.module.scss +6 -1
  18. package/es/core/editor/components/settings/common/{NodeSizeInput.d.ts → NodeSizeInput/NodeSizeInput.d.ts} +0 -0
  19. package/es/core/editor/components/settings/common/{NodeSizeInput.js → NodeSizeInput/NodeSizeInput.js} +2 -0
  20. package/es/core/editor/components/settings/common/NodeSizeInput/img/icon_/350/247/243/351/224/201.svg +16 -0
  21. package/es/core/editor/components/settings/common/NodeSizeInput/img/icon_/351/224/201.svg +15 -0
  22. package/es/core/editor/components/settings/common/text/FontStyleCheckbox.d.ts +1 -0
  23. package/es/core/editor/components/settings/common/text/FontStyleCheckbox.js +50 -0
  24. package/es/core/editor/components/settings/common/text/FontStyleCheckbox.module.scss +31 -0
  25. package/es/core/editor/components/settings/common/text/TextStyle.d.ts +1 -0
  26. package/es/core/editor/components/settings/common/text/TextStyle.js +133 -0
  27. package/es/core/editor/components/settings/common/text/fontStyleUtil.d.ts +19 -0
  28. package/es/core/editor/components/settings/common/text/fontStyleUtil.js +53 -0
  29. package/es/core/editor/components/settings/common/text/img/bold.svg +12 -0
  30. package/es/core/editor/components/settings/common/text/img/italics.svg +10 -0
  31. package/es/core/editor/components/settings/common/text/img/underline.svg +12 -0
  32. package/es/core/editor/components/settings/group/GroupNodeList/ResourceList.js +22 -6
  33. package/es/core/editor/components/settings/group/GroupNodeList/ResourceList.module.scss +16 -0
  34. package/es/core/editor/components/settings/group/GroupNodeList/icon.d.ts +10 -0
  35. package/es/core/editor/components/settings/group/GroupNodeList/icon.js +20 -1
  36. package/es/core/editor/components/settings/node/NodeIconSelect.d.ts +1 -0
  37. package/es/core/editor/components/settings/node/NodeIconSelect.js +42 -0
  38. package/es/core/editor/components/settings/node/NodePropertyView.d.ts +1 -1
  39. package/es/core/editor/components/settings/node/NodePropertyView.js +68 -86
  40. package/es/core/editor/components/settings/node/NodeRelateResourceButton.d.ts +4 -0
  41. package/es/core/editor/components/settings/node/NodeRelateResourceButton.js +22 -0
  42. package/es/core/editor/components/settings/node/TopoTreeSelect.d.ts +1 -0
  43. package/es/core/editor/components/settings/node/TopoTreeSelect.js +40 -0
  44. package/es/core/editor/components/settings/text/TextPropertyView.js +31 -144
  45. package/es/core/editor/components/settings/view/ViewPropertyView.js +1 -1
  46. package/es/core/editor/{buildContextmenu.d.ts → contextmenu/buildContextmenu.d.ts} +1 -4
  47. package/es/core/editor/contextmenu/buildContextmenu.js +10 -0
  48. package/es/hooks/useSelection.js +9 -3
  49. package/es/plugins/useSelectionPlugin.d.ts +23 -0
  50. package/es/plugins/useSelectionPlugin.js +84 -0
  51. package/es/style.js +1 -0
  52. package/es/utils/topoData.js +1 -1
  53. package/lib/components/Drawer/index.js +2 -1
  54. package/lib/components/Drawer/index.module.scss +13 -0
  55. package/lib/components/ResourceList/ResourceSelect.js +4 -2
  56. package/lib/components/ResourceList/ResourceSelect.module.scss +7 -0
  57. package/lib/components/ResourceSelect/ResourceSelectDrawer.js +3 -1
  58. package/lib/core/{editor/components/settings/group/GroupNodeList → common}/icons/defaultIcons.d.ts +15 -0
  59. package/lib/core/{editor/components/settings/group/GroupNodeList → common}/icons/defaultIcons.js +68 -1
  60. package/lib/core/common/text.module.scss +5 -0
  61. package/lib/core/editor/components/LinkDynamicStyleSettingDrawer/rule/ColorPicker.module.scss +7 -3
  62. package/lib/core/editor/components/iconManage/UploadIconDialog.js +2 -2
  63. package/lib/core/editor/components/settings/Settings.js +45 -42
  64. package/lib/core/editor/components/settings/Settings.module.scss +6 -1
  65. package/lib/core/editor/components/settings/common/{NodeSizeInput.d.ts → NodeSizeInput/NodeSizeInput.d.ts} +0 -0
  66. package/lib/core/editor/components/settings/common/{NodeSizeInput.js → NodeSizeInput/NodeSizeInput.js} +2 -0
  67. package/lib/core/editor/components/settings/common/NodeSizeInput/img/icon_/350/247/243/351/224/201.svg +16 -0
  68. package/lib/core/editor/components/settings/common/NodeSizeInput/img/icon_/351/224/201.svg +15 -0
  69. package/lib/core/editor/components/settings/common/text/FontStyleCheckbox.d.ts +1 -0
  70. package/lib/core/editor/components/settings/common/text/FontStyleCheckbox.js +68 -0
  71. package/lib/core/editor/components/settings/common/text/FontStyleCheckbox.module.scss +31 -0
  72. package/lib/core/editor/components/settings/common/text/TextStyle.d.ts +1 -0
  73. package/lib/core/editor/components/settings/common/text/TextStyle.js +150 -0
  74. package/lib/core/editor/components/settings/common/text/fontStyleUtil.d.ts +19 -0
  75. package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +58 -0
  76. package/lib/core/editor/components/settings/common/text/img/bold.svg +12 -0
  77. package/lib/core/editor/components/settings/common/text/img/italics.svg +10 -0
  78. package/lib/core/editor/components/settings/common/text/img/underline.svg +12 -0
  79. package/lib/core/editor/components/settings/group/GroupNodeList/ResourceList.js +22 -7
  80. package/lib/core/editor/components/settings/group/GroupNodeList/ResourceList.module.scss +16 -0
  81. package/lib/core/editor/components/settings/group/GroupNodeList/icon.d.ts +10 -0
  82. package/lib/core/editor/components/settings/group/GroupNodeList/icon.js +23 -1
  83. package/lib/core/editor/components/settings/node/NodeIconSelect.d.ts +1 -0
  84. package/lib/core/editor/components/settings/node/NodeIconSelect.js +57 -0
  85. package/lib/core/editor/components/settings/node/NodePropertyView.d.ts +1 -1
  86. package/lib/core/editor/components/settings/node/NodePropertyView.js +74 -89
  87. package/lib/core/editor/components/settings/node/NodeRelateResourceButton.d.ts +4 -0
  88. package/lib/core/editor/components/settings/node/NodeRelateResourceButton.js +31 -0
  89. package/lib/core/editor/components/settings/node/TopoTreeSelect.d.ts +1 -0
  90. package/lib/core/editor/components/settings/node/TopoTreeSelect.js +53 -0
  91. package/lib/core/editor/components/settings/text/TextPropertyView.js +30 -149
  92. package/lib/core/editor/components/settings/view/ViewPropertyView.js +1 -1
  93. package/lib/core/editor/{buildContextmenu.d.ts → contextmenu/buildContextmenu.d.ts} +1 -4
  94. package/lib/core/editor/{buildContextmenu.js → contextmenu/buildContextmenu.js} +3 -7
  95. package/lib/hooks/useSelection.js +9 -3
  96. package/lib/plugins/useSelectionPlugin.d.ts +23 -0
  97. package/lib/plugins/useSelectionPlugin.js +90 -0
  98. package/lib/style.js +1 -0
  99. package/lib/utils/topoData.js +1 -1
  100. package/package.json +6 -6
  101. package/es/core/editor/buildContextmenu.js +0 -14
@@ -1,14 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  exports.__esModule = true;
6
8
  exports.getIconById = getIconById;
9
+ exports.getIconGroups = getIconGroups;
7
10
  exports.getIconMap = getIconMap;
8
11
 
9
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
13
 
11
- var _defaultIcons = _interopRequireDefault(require("./icons/defaultIcons"));
14
+ var _defaultIcons = _interopRequireWildcard(require("../../../../../common/icons/defaultIcons"));
15
+
16
+ function getUserCustomIcons(topo) {
17
+ var uploadIcons = topo.store.getModelState('iconManage').icons;
18
+ return [];
19
+ }
12
20
 
13
21
  function getIconMap(topo) {
14
22
  var bizIconMap = {};
@@ -18,6 +26,20 @@ function getIconMap(topo) {
18
26
  });
19
27
  return (0, _extends2["default"])({}, _defaultIcons["default"], bizIconMap);
20
28
  }
29
+ /**
30
+ *
31
+ * @param topo
32
+ * @param type {'node' | 'container'}
33
+ * @return {{label: string, icons: *[]}[]}
34
+ */
35
+
36
+
37
+ function getIconGroups(topo, type) {
38
+ return [{
39
+ label: '默认',
40
+ icons: [].concat(_defaultIcons.DEFAULT_NODE_ICONS, topo.options.icons || [])
41
+ }];
42
+ }
21
43
 
22
44
  function getIconById(id, topo) {
23
45
  var iconMap = getIconMap(topo);
@@ -0,0 +1 @@
1
+ export default function NodeIconSelect(props: any): JSX.Element;
@@ -0,0 +1,57 @@
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"] = NodeIconSelect;
9
+
10
+ var _avatar = _interopRequireDefault(require("@alifd/next/lib/avatar"));
11
+
12
+ var _select = _interopRequireDefault(require("@alifd/next/lib/select"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _icon = require("../group/GroupNodeList/icon");
17
+
18
+ var Option = _select["default"].Option;
19
+
20
+ function NodeIconSelect(props) {
21
+ var value = props.value,
22
+ onChange = props.onChange,
23
+ topo = props.topo;
24
+ var iconGroups = (0, _icon.getIconGroups)(topo, 'node');
25
+ var newId = value;
26
+ var a = iconGroups[0].icons.filter(function (item) {
27
+ return newId.indexOf(item.oldId) !== -1;
28
+ });
29
+
30
+ if (a.length) {
31
+ newId = a[0].id;
32
+ }
33
+
34
+ return /*#__PURE__*/_react["default"].createElement(_select["default"], {
35
+ value: newId,
36
+ onChange: onChange,
37
+ style: {
38
+ width: '100%'
39
+ }
40
+ }, iconGroups.map(function (group) {
41
+ return /*#__PURE__*/_react["default"].createElement(_select["default"].OptionGroup, {
42
+ label: group.label,
43
+ key: group.label
44
+ }, group.icons.map(function (icon) {
45
+ return /*#__PURE__*/_react["default"].createElement(Option, {
46
+ key: icon.id,
47
+ value: icon.id
48
+ }, /*#__PURE__*/_react["default"].createElement(_avatar["default"], {
49
+ src: icon.url,
50
+ shape: "square",
51
+ size: "small"
52
+ }), "\xA0", icon.name);
53
+ }));
54
+ }));
55
+ }
56
+
57
+ ;
@@ -1 +1 @@
1
- export default function TextPropertyView(props: any): JSX.Element;
1
+ export default function NodePropertyView(props: any): JSX.Element;
@@ -5,14 +5,12 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
6
 
7
7
  exports.__esModule = true;
8
- exports["default"] = TextPropertyView;
8
+ exports["default"] = NodePropertyView;
9
9
 
10
10
  var _input = _interopRequireDefault(require("@alifd/next/lib/input"));
11
11
 
12
12
  var _tab = _interopRequireDefault(require("@alifd/next/lib/tab"));
13
13
 
14
- var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
15
-
16
14
  var _field = _interopRequireDefault(require("@alifd/next/lib/field"));
17
15
 
18
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -35,95 +33,52 @@ var _ResourceSelectButton = _interopRequireDefault(require("../group/GroupNodeLi
35
33
 
36
34
  var _icon = require("../group/GroupNodeList/icon");
37
35
 
38
- var _NodeSizeInput = _interopRequireDefault(require("../common/NodeSizeInput"));
36
+ var _NodeSizeInput = _interopRequireDefault(require("../common/NodeSizeInput/NodeSizeInput"));
37
+
38
+ var _textModule = _interopRequireDefault(require("../../../../common/text.module.scss"));
39
+
40
+ var _TopoTreeSelect = _interopRequireDefault(require("./TopoTreeSelect"));
41
+
42
+ var _NodeIconSelect = _interopRequireDefault(require("./NodeIconSelect"));
43
+
44
+ var _NodeRelateResourceButton = _interopRequireDefault(require("./NodeRelateResourceButton"));
39
45
 
40
46
  var FormItem = _form["default"].Item;
41
47
  var Row = _grid["default"].Row,
42
48
  Col = _grid["default"].Col;
43
49
  var Option = _select["default"].Option;
44
50
  var CollapsePanel = _collapse["default"].Panel;
45
- var RadioGroup = _radio["default"].Group; // 字体样式格式 label.font: bold italic 12px 黑体 / 12px 黑体
46
-
47
- var fontStyleUtil = {
48
- toMap: function toMap(font, prefix) {
49
- var arr = font.trim().split(' ');
50
- var bold = font.indexOf('bold') > -1;
51
- var italic = font.indexOf('bold') > -1;
52
- var map = {
53
- fontFamily: arr[1],
54
- fontSize: parseInt(arr[0].replace('px', ''), 10),
55
- bold: bold,
56
- italic: italic,
57
- underline: false
58
- };
59
- return Object.keys(map).reduce(function (result, key) {
60
- result["" + prefix + key] = map[key];
61
- return result;
62
- }, {});
63
- },
64
- getFontStyleMap: function getFontStyleMap(obj, prefix) {
65
- var map = {};
66
- Object.keys(obj).forEach(function (key) {
67
- if (key.startsWith(prefix)) {
68
- map[key.replace(prefix, '')] = obj[key];
69
- }
70
- });
71
- console.error(obj, prefix, map);
72
- return map;
73
- },
74
- build: function build(style) {
75
- return style.fontSize + "px " + style.fontFamily;
76
- }
77
- }; // 线型--node.s('dash',false) ---false代表是实线,默认为true代表虚线
78
- // 线型为实线时设置颜色--node.s('borderColor','rgba(0,0,0,0.00)') //默认颜色rgba(0,0,0,0.00)
79
- // 线型为虚线时设置颜色--node.s('dashColor','rgb(173,173,173)') //默认颜色rgb(173,173,173)
80
- // 线宽--node.s('borderWidth',1)//默认宽度是1
81
- //
82
- //
83
- // 为了实现切换时更好的效果,在设置线型为虚线时可以这样设置:
84
- // node.s('dash',true);
85
- // node.s('borderColor','rgba(0,0,0,0.00)');//将borderColor改为默认
86
- // node.s('dashColor','当前设置的颜色')
87
- // 虚线颜色用的是dashColor
88
- //
89
- // 设置线型为实线时
90
- // node.s('dash',false);
91
- // node.s('borderColor','当前设置的颜色');
92
- // node.s('dashColor','rgb(173,173,173)');dash可设置为默认
93
- // 实线用的是borderColor
51
+ var RadioGroup = _radio["default"].Group;
94
52
 
95
53
  function parseValues(values) {
96
- return (0, _extends2["default"])({}, values, fontStyleUtil.toMap(values['styleMap.label.font'], 'styleMap.label.fontStyle.'), {
97
- // 层间线
98
- 'styleMap.borderType': values['styleMap.dash'] === false ? 'solid' : 'dash',
99
- 'styleMap.dashColor': values['styleMap.dashColor'] || 'rgb(173,173,173)',
100
- 'styleMap.borderWidth': values['styleMap.borderWidth'] || 1
101
- });
54
+ return (0, _extends2["default"])({}, values);
55
+ }
56
+
57
+ function getBindType(values) {
58
+ if (values.tag) {
59
+ return 'resource';
60
+ }
61
+
62
+ if (values.attr.bindType) {
63
+ return values.attr.bindType;
64
+ }
65
+
66
+ return 'none';
102
67
  }
103
68
 
104
- function TextPropertyView(props) {
69
+ function NodePropertyView(props) {
105
70
  var topo = props.topo,
106
71
  topoEditApi = props.topoEditApi,
107
72
  values = props.values,
108
73
  _onChange = props.onChange,
109
74
  editorProps = props.editorProps;
75
+ var bindType = getBindType(values);
110
76
 
111
77
  var field = _field["default"].useField({
112
78
  autoUnmount: false,
113
79
  values: parseValues(values),
114
80
  onChange: function onChange(name, value) {
115
- var newValues = field.getValues(); // 文字font样式
116
-
117
- if (name.startsWith('styleMap.label.fontStyle.')) {
118
- name = 'styleMap.label.font';
119
- value = fontStyleUtil.build(fontStyleUtil.getFontStyleMap(newValues, 'styleMap.label.fontStyle.'));
120
- } // 层间线
121
-
122
-
123
- if (name === 'styleMap.borderType') {
124
- name = 'styleMap.dash';
125
- value = value === 'dash';
126
- }
81
+ var newValues = field.getValues();
127
82
 
128
83
  if (values[name] !== value) {
129
84
  _onChange(name, value, newValues);
@@ -131,6 +86,10 @@ function TextPropertyView(props) {
131
86
  }
132
87
  });
133
88
 
89
+ var setBindType = function setBindType(value) {
90
+ _onChange('attrObject.bindType', value);
91
+ };
92
+
134
93
  (0, _react.useEffect)(function () {
135
94
  field.setValues(parseValues(values));
136
95
  }, [values]);
@@ -145,12 +104,46 @@ function TextPropertyView(props) {
145
104
  }, /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
146
105
  key: "\u76F8\u5173\u8D44\u6E90",
147
106
  title: "\u76F8\u5173\u8D44\u6E90"
148
- }, "\u5173\u8054\u8D44\u6E90", /*#__PURE__*/_react["default"].createElement("br", null), values.name, /*#__PURE__*/_react["default"].createElement(_button["default"], {
149
- text: true,
150
- onClick: function onClick() {
151
- topoEditApi.bindNodeResource({});
107
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"], {
108
+ field: field,
109
+ labelAlign: "top"
110
+ }, !values.tag && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
111
+ label: "\u5173\u8054\u7C7B\u578B"
112
+ }, /*#__PURE__*/_react["default"].createElement(_select["default"], {
113
+ name: "bindType",
114
+ value: bindType,
115
+ style: {
116
+ width: '100%',
117
+ marginRight: 8
118
+ },
119
+ onChange: setBindType
120
+ }, /*#__PURE__*/_react["default"].createElement(Option, {
121
+ value: "none"
122
+ }, "\u672A\u5173\u8054"), /*#__PURE__*/_react["default"].createElement(Option, {
123
+ value: "resource"
124
+ }, "\u5173\u8054\u8D44\u6E90"), /*#__PURE__*/_react["default"].createElement(Option, {
125
+ value: "topo"
126
+ }, "\u5173\u8054\u62D3\u6251"))), bindType === 'resource' && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
127
+ label: "\u5173\u8054\u8D44\u6E90"
128
+ }, /*#__PURE__*/_react["default"].createElement("div", {
129
+ style: {
130
+ display: 'flex'
152
131
  }
153
- })))), /*#__PURE__*/_react["default"].createElement(_tab["default"].Item, {
132
+ }, /*#__PURE__*/_react["default"].createElement("div", {
133
+ className: _textModule["default"].textEllipsis,
134
+ style: {
135
+ flex: 1,
136
+ paddingRight: 16,
137
+ color: '#4D6277'
138
+ },
139
+ title: values.tag ? values.name : null
140
+ }, values.tag ? values.name : '—'), /*#__PURE__*/_react["default"].createElement(_NodeRelateResourceButton["default"], {
141
+ node: values,
142
+ topo: topo,
143
+ topoEditApi: topoEditApi
144
+ }))), bindType === 'topo' && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
145
+ label: "\u5173\u8054\u62D3\u6251"
146
+ }, /*#__PURE__*/_react["default"].createElement(_TopoTreeSelect["default"], null)))))), /*#__PURE__*/_react["default"].createElement(_tab["default"].Item, {
154
147
  title: "\u8BBE\u7F6E",
155
148
  key: "2"
156
149
  }, /*#__PURE__*/_react["default"].createElement(_form["default"], {
@@ -165,23 +158,15 @@ function TextPropertyView(props) {
165
158
  key: "\u663E\u793A\u8BBE\u7F6E",
166
159
  title: "\u663E\u793A\u8BBE\u7F6E"
167
160
  }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
168
- label: "\u540D\u79F0"
161
+ label: "\u56FE\u7247\u540D\u79F0"
169
162
  }, /*#__PURE__*/_react["default"].createElement(_input["default"], {
170
163
  name: "attrObject.name"
171
164
  })), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
172
165
  label: "\u663E\u793A\u56FE\u7247"
173
- }, /*#__PURE__*/_react["default"].createElement(_select["default"], {
166
+ }, /*#__PURE__*/_react["default"].createElement(_NodeIconSelect["default"], {
174
167
  name: "image",
175
- style: {
176
- width: '100%',
177
- marginRight: 8
178
- }
179
- }, Object.keys((0, _icon.getIconMap)(topo)).map(function (id) {
180
- return /*#__PURE__*/_react["default"].createElement(Option, {
181
- key: id,
182
- value: id
183
- }, id);
184
- }))), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
168
+ topo: topo
169
+ })), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
185
170
  label: "\u56FE\u7247\u5C3A\u5BF8"
186
171
  }, /*#__PURE__*/_react["default"].createElement(_NodeSizeInput["default"], {
187
172
  value: {
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @return {React.ReactNode | null}
3
+ */
4
+ export default function NodeRelateResourceButton(props: any): any | null;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = NodeRelateResourceButton;
7
+
8
+ var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ /**
13
+ * @return {React.ReactNode | null}
14
+ */
15
+ function NodeRelateResourceButton(props) {
16
+ var _node$attr$data, _topo$options$editor;
17
+
18
+ var topo = props.topo,
19
+ topoEditApi = props.topoEditApi,
20
+ node = props.node;
21
+ var hide = ((_node$attr$data = node.attr.data) === null || _node$attr$data === void 0 ? void 0 : _node$attr$data.relateResource) === false || ((_topo$options$editor = topo.options.editor) === null || _topo$options$editor === void 0 ? void 0 : _topo$options$editor.enableRelateResource) === false;
22
+ return !hide ? /*#__PURE__*/_react["default"].createElement(_button["default"], {
23
+ type: "primary",
24
+ text: true,
25
+ onClick: function onClick() {
26
+ topoEditApi.bindNodeResource({});
27
+ }
28
+ }, "\u9009\u62E9\u8D44\u6E90") : null;
29
+ }
30
+
31
+ ;
@@ -0,0 +1 @@
1
+ export default function TopoTreeSelect(props: any): JSX.Element;
@@ -0,0 +1,53 @@
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"] = TopoTreeSelect;
9
+
10
+ var _treeSelect = _interopRequireDefault(require("@alifd/next/lib/tree-select"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var TreeNode = _treeSelect["default"].Node;
15
+
16
+ function TopoTreeSelect(props) {
17
+ var onChange = props.onChange;
18
+ return /*#__PURE__*/_react["default"].createElement(_treeSelect["default"], {
19
+ treeDefaultExpandAll: true,
20
+ onChange: onChange,
21
+ style: {
22
+ width: '100%',
23
+ marginRight: 8
24
+ }
25
+ }, /*#__PURE__*/_react["default"].createElement(TreeNode, {
26
+ key: "1",
27
+ value: "1",
28
+ label: "Component"
29
+ }, /*#__PURE__*/_react["default"].createElement(TreeNode, {
30
+ key: "2",
31
+ value: "2",
32
+ label: "Form"
33
+ }, /*#__PURE__*/_react["default"].createElement(TreeNode, {
34
+ key: "4",
35
+ value: "4",
36
+ label: "Input"
37
+ }), /*#__PURE__*/_react["default"].createElement(TreeNode, {
38
+ key: "5",
39
+ value: "5",
40
+ label: "Select",
41
+ disabled: true
42
+ })), /*#__PURE__*/_react["default"].createElement(TreeNode, {
43
+ key: "3",
44
+ value: "3",
45
+ label: "Display"
46
+ }, /*#__PURE__*/_react["default"].createElement(TreeNode, {
47
+ key: "6",
48
+ value: "6",
49
+ label: "Table"
50
+ }))));
51
+ }
52
+
53
+ ;
@@ -7,93 +7,30 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
7
7
  exports.__esModule = true;
8
8
  exports["default"] = TextPropertyView;
9
9
 
10
- var _numberPicker = _interopRequireDefault(require("@alifd/next/lib/number-picker"));
11
-
12
- var _input = _interopRequireDefault(require("@alifd/next/lib/input"));
10
+ var _form = _interopRequireDefault(require("@alifd/next/lib/form"));
13
11
 
14
12
  var _field = _interopRequireDefault(require("@alifd/next/lib/field"));
15
13
 
16
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
15
 
18
- var _radio = _interopRequireDefault(require("@alifd/next/lib/radio"));
19
-
20
16
  var _collapse = _interopRequireDefault(require("@alifd/next/lib/collapse"));
21
17
 
22
- var _select = _interopRequireDefault(require("@alifd/next/lib/select"));
23
-
24
- var _grid = _interopRequireDefault(require("@alifd/next/lib/grid"));
25
-
26
- var _form = _interopRequireDefault(require("@alifd/next/lib/form"));
27
-
28
18
  var _react = _interopRequireWildcard(require("react"));
29
19
 
30
- var _ColorPicker = _interopRequireDefault(require("../../LinkDynamicStyleSettingDrawer/rule/ColorPicker"));
20
+ var _TextStyle = _interopRequireDefault(require("../common/text/TextStyle"));
31
21
 
32
- var _GroupNodeList = _interopRequireDefault(require("../group/GroupNodeList/GroupNodeList"));
22
+ var _fontStyleUtil = _interopRequireDefault(require("../common/text/fontStyleUtil"));
33
23
 
34
- var _ResourceSelectButton = _interopRequireDefault(require("../group/GroupNodeList/ResourceSelectButton"));
35
-
36
- var FormItem = _form["default"].Item;
37
- var Row = _grid["default"].Row,
38
- Col = _grid["default"].Col;
39
- var Option = _select["default"].Option;
40
24
  var CollapsePanel = _collapse["default"].Panel;
41
- var RadioGroup = _radio["default"].Group; // 字体样式格式 label.font: bold italic 12px 黑体 / 12px 黑体
42
-
43
- var fontStyleUtil = {
44
- toMap: function toMap(font, prefix) {
45
- if (font === void 0) {
46
- font = '';
47
- }
48
-
49
- var arr = font.trim().split(' ');
50
- var bold = font.indexOf('bold') > -1;
51
- var italic = font.indexOf('bold') > -1;
52
- var map = {
53
- fontFamily: arr[1],
54
- fontSize: parseInt(arr[0].replace('px', ''), 10),
55
- bold: bold,
56
- italic: italic,
57
- underline: false
58
- };
59
- return Object.keys(map).reduce(function (result, key) {
60
- result["" + prefix + key] = map[key];
61
- return result;
62
- }, {});
63
- },
64
- getFontStyleMap: function getFontStyleMap(obj, prefix) {
65
- var map = {};
66
- Object.keys(obj).forEach(function (key) {
67
- if (key.startsWith(prefix)) {
68
- map[key.replace(prefix, '')] = obj[key];
69
- }
70
- });
71
- console.error(obj, prefix, map);
72
- return map;
73
- },
74
- build: function build(style) {
75
- return style.fontSize + "px " + style.fontFamily;
76
- }
77
- }; // 线型--node.s('dash',false) ---false代表是实线,默认为true代表虚线
78
- // 线型为实线时设置颜色--node.s('borderColor','rgba(0,0,0,0.00)') //默认颜色rgba(0,0,0,0.00)
79
- // 线型为虚线时设置颜色--node.s('dashColor','rgb(173,173,173)') //默认颜色rgb(173,173,173)
80
- // 线宽--node.s('borderWidth',1)//默认宽度是1
81
- //
82
- //
83
- // 为了实现切换时更好的效果,在设置线型为虚线时可以这样设置:
84
- // node.s('dash',true);
85
- // node.s('borderColor','rgba(0,0,0,0.00)');//将borderColor改为默认
86
- // node.s('dashColor','当前设置的颜色')
87
- // 虚线颜色用的是dashColor
88
- //
89
- // 设置线型为实线时
90
- // node.s('dash',false);
91
- // node.s('borderColor','当前设置的颜色');
92
- // node.s('dashColor','rgb(173,173,173)');dash可设置为默认
93
- // 实线用的是borderColor
94
25
 
95
26
  function parseValues(values) {
96
- return (0, _extends2["default"])({}, values, fontStyleUtil.toMap(values['styleMap.text.font'], 'styleMap.text.fontStyle.'));
27
+ return (0, _extends2["default"])({}, values, {
28
+ 'styleMap.textObj': {
29
+ color: values.styleMap['text.color'],
30
+ underline: values.styleMap['text.decoration'] === 'underline',
31
+ font: _fontStyleUtil["default"].toMap(values.styleMap['text.font'])
32
+ }
33
+ });
97
34
  }
98
35
 
99
36
  function TextPropertyView(props) {
@@ -108,15 +45,18 @@ function TextPropertyView(props) {
108
45
  onChange: function onChange(name, value) {
109
46
  var newValues = field.getValues(); // 文字font样式
110
47
 
111
- if (name.startsWith('styleMap.text.fontStyle.')) {
112
- name = 'styleMap.text.font';
113
- value = fontStyleUtil.build(fontStyleUtil.getFontStyleMap(newValues, 'styleMap.text.fontStyle.'));
114
- } // 层间线
48
+ if (name === 'styleMap.textObj') {
49
+ _onChange('styleMap.text.color', value.color, newValues);
115
50
 
51
+ _onChange('styleMap.label.color', value.color, newValues);
116
52
 
117
- if (name === 'styleMap.borderType') {
118
- name = 'styleMap.dash';
119
- value = value === 'dash';
53
+ var font = _fontStyleUtil["default"].build(value);
54
+
55
+ _onChange('styleMap.text.font', font, newValues);
56
+
57
+ _onChange('styleMap.text.decoration', value.underline ? 'underline' : undefined, newValues);
58
+
59
+ return;
120
60
  }
121
61
 
122
62
  if (values[name] !== value) {
@@ -128,84 +68,25 @@ function TextPropertyView(props) {
128
68
  (0, _react.useEffect)(function () {
129
69
  field.setValues(parseValues(values));
130
70
  }, [values]);
131
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_form["default"], {
132
- field: field,
133
- labelAlign: "top"
134
- }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
135
- label: "\u540D\u79F0",
71
+ return /*#__PURE__*/_react["default"].createElement("div", {
136
72
  style: {
137
- paddingLeft: 12,
138
- paddingRight: 12
73
+ paddingTop: 8
139
74
  }
140
- }, /*#__PURE__*/_react["default"].createElement(_input["default"], {
141
- name: "styleMap.text"
142
- })), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_collapse["default"], {
75
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"], {
76
+ field: field,
77
+ labelAlign: "top"
78
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_collapse["default"], {
143
79
  defaultExpandedKeys: ['显示设置'],
144
80
  style: {
145
81
  border: 'none'
146
82
  }
147
83
  }, /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
148
84
  key: "\u663E\u793A\u8BBE\u7F6E",
149
- title: "\u663E\u793A\u8BBE\u7F6E"
150
- }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
151
- label: "\u5B57\u4F53"
152
- }, /*#__PURE__*/_react["default"].createElement(_select["default"], {
153
- name: "styleMap.text.fontStyle.fontFamily",
85
+ title: "\u663E\u793A\u8BBE\u7F6E",
154
86
  style: {
155
- width: '100%',
156
- marginRight: 8
87
+ padding: 0
157
88
  }
158
- }, /*#__PURE__*/_react["default"].createElement(Option, {
159
- value: "\u5B8B\u4F53"
160
- }, /*#__PURE__*/_react["default"].createElement("div", {
161
- style: {
162
- fontFamily: '宋体'
163
- }
164
- }, "\u5B8B\u4F53")), /*#__PURE__*/_react["default"].createElement(Option, {
165
- value: "\u9ED1\u4F53"
166
- }, /*#__PURE__*/_react["default"].createElement("div", {
167
- style: {
168
- fontFamily: '宋体'
169
- }
170
- }, "\u9ED1\u4F53")), /*#__PURE__*/_react["default"].createElement(Option, {
171
- value: "Arial"
172
- }, /*#__PURE__*/_react["default"].createElement("div", {
173
- style: {
174
- fontFamily: 'Arial'
175
- }
176
- }, "Arial")))), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
177
- label: "\u5B57\u53F7",
178
- hasFeedback: true,
179
- required: true,
180
- requiredMessage: "\u4E0D\u80FD\u4E3A\u7A7A",
181
- requiredTrigger: "onBlur",
182
- asterisk: false
183
- }, /*#__PURE__*/_react["default"].createElement(_numberPicker["default"], {
184
- name: "styleMap.text.fontStyle.fontSize",
185
- min: 8,
186
- max: 36,
187
- style: {
188
- width: '100%',
189
- marginRight: 8
190
- },
191
- placeholder: "\u8BF7\u8F93\u5165"
192
- })), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
193
- label: "\u6837\u5F0F"
194
- }, /*#__PURE__*/_react["default"].createElement(RadioGroup, {
195
- shape: "button"
196
- }, /*#__PURE__*/_react["default"].createElement(_radio["default"], {
197
- id: "banana",
198
- value: "banana"
199
- }, "B"), /*#__PURE__*/_react["default"].createElement(_radio["default"], {
200
- id: "watermelon",
201
- value: "watermelon"
202
- }, "I"), /*#__PURE__*/_react["default"].createElement(_radio["default"], {
203
- id: "peach",
204
- value: "peach"
205
- }, "U"))), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
206
- label: "\u989C\u8272"
207
- }, /*#__PURE__*/_react["default"].createElement(_ColorPicker["default"], {
208
- name: "styleMap.text.color",
209
- align: "bl"
89
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_TextStyle["default"], {
90
+ name: "styleMap.textObj"
210
91
  })))))));
211
92
  }
@@ -37,7 +37,7 @@ var _LineType = _interopRequireDefault(require("../common/LineType"));
37
37
 
38
38
  var _NodeAlignType = _interopRequireDefault(require("../common/NodeAlignType"));
39
39
 
40
- var _NodeSizeInput = _interopRequireDefault(require("../common/NodeSizeInput"));
40
+ var _NodeSizeInput = _interopRequireDefault(require("../common/NodeSizeInput/NodeSizeInput"));
41
41
 
42
42
  var FormItem = _form["default"].Item;
43
43
  var Row = _grid["default"].Row,