@luck-design-biz/luckda 0.0.25-1 → 0.0.25-2

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 (139) hide show
  1. package/es/locales/zh-CN.js +9 -0
  2. package/es/lowcode/constants/api-url.js +184 -100
  3. package/es/lowcode/constants/index.js +2 -1
  4. package/es/lowcode/engine/meta/box.props.default.json +1 -1
  5. package/es/lowcode/engine/meta/box.props.json +1 -1
  6. package/es/lowcode/engine/meta/button.props.json +1 -1
  7. package/es/lowcode/engine/meta/cardlist.props.json +1 -1
  8. package/es/lowcode/engine/meta/components-list.json +1 -1
  9. package/es/lowcode/engine/meta/dialog.props.json +1 -1
  10. package/es/lowcode/engine/meta/drawer.props.json +1 -1
  11. package/es/lowcode/engine/meta/form.props.default.json +4 -5
  12. package/es/lowcode/engine/meta/form.props.json +33 -30
  13. package/es/lowcode/engine/meta/image.props.json +2 -2
  14. package/es/lowcode/engine/meta/imex.props.json +1 -1
  15. package/es/lowcode/engine/meta/link.props.json +1 -1
  16. package/es/lowcode/engine/meta/section.props.default.json +4 -6
  17. package/es/lowcode/engine/meta/section.props.json +52 -49
  18. package/es/lowcode/engine/meta/text.props.json +2 -2
  19. package/es/lowcode/engine/meta/tree.props.json +2 -2
  20. package/es/lowcode/engine/provider/ContextProvider/index.js +10 -2
  21. package/es/lowcode/engine/provider/RemoteSourceProvider.js +28 -15
  22. package/es/lowcode/engine/tools/helper.js +23 -21
  23. package/es/lowcode/engine/tools/useCanvasRender.js +5 -7
  24. package/es/lowcode/engine/tools/usePromiseState.js +23 -14
  25. package/es/lowcode/painter/Design.js +34 -2
  26. package/es/lowcode/painter/DesignOperator.js +6 -8
  27. package/es/lowcode/painter/DesignToolbar.js +258 -21
  28. package/es/lowcode/painter/Panel.js +8 -9
  29. package/es/lowcode/painter/components/AttrsPanel.js +6 -6
  30. package/es/lowcode/painter/components/DragDrop/DragDropWrapper.js +5 -2
  31. package/es/lowcode/painter/components/ListEditor.js +8 -2
  32. package/es/lowcode/painter/components/field-setting/BatchSetting.js +13 -3
  33. package/es/lowcode/painter/components/field-setting/SettingUI.js +26 -7
  34. package/es/lowcode/painter/components/field-setting/index.js +18 -8
  35. package/es/lowcode/painter/index.js +1 -28
  36. package/es/lowcode/painter/panel-section/ActionsColumnWidth.js +25 -0
  37. package/es/lowcode/painter/panel-section/BlockEditor/index.js +7 -4
  38. package/es/lowcode/painter/panel-section/BlocksEditor/BlockEditorItem.js +4 -3
  39. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +48 -15
  40. package/es/lowcode/painter/panel-section/FieldsSetting.js +48 -27
  41. package/es/lowcode/painter/panel-section/I18nInput.js +20 -0
  42. package/es/lowcode/painter/style/design.less +6 -2
  43. package/es/lowcode/painter/style/list-editor.less +36 -0
  44. package/es/lowcode/preview/index.js +17 -4
  45. package/es/lowcode/view/lc-components/Box/meta.json +1 -1
  46. package/es/lowcode/view/lc-components/Button/meta.json +1 -1
  47. package/es/lowcode/view/lc-components/CardList/meta.json +1 -1
  48. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +2 -4
  49. package/es/lowcode/view/lc-components/Dialog/meta.json +1 -1
  50. package/es/lowcode/view/lc-components/Drawer/meta.json +1 -1
  51. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +66 -4
  52. package/es/lowcode/view/lc-components/Form/index.js +232 -61
  53. package/es/lowcode/view/lc-components/Form/meta.json +33 -30
  54. package/es/lowcode/view/lc-components/ImEx/meta.json +1 -1
  55. package/es/lowcode/view/lc-components/Image/meta.json +2 -2
  56. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +6 -7
  57. package/es/lowcode/view/lc-components/Link/meta.json +1 -1
  58. package/es/lowcode/view/lc-components/Section/FunctionDesign.js +31 -2
  59. package/es/lowcode/view/lc-components/Section/index.js +114 -24
  60. package/es/lowcode/view/lc-components/Section/index.less +7 -0
  61. package/es/lowcode/view/lc-components/Section/meta.json +48 -49
  62. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +4 -6
  63. package/es/lowcode/view/lc-components/Split/index.js +4 -4
  64. package/es/lowcode/view/lc-components/Table/index.js +7 -6
  65. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +2 -4
  66. package/es/lowcode/view/lc-components/Text/meta.json +2 -2
  67. package/es/lowcode/view/lc-components/Tree/meta.json +2 -2
  68. package/es/upload/Form/gridForm.js +7 -3
  69. package/lib/locales/zh-CN.js +9 -0
  70. package/lib/lowcode/constants/api-url.js +183 -100
  71. package/lib/lowcode/constants/index.js +3 -2
  72. package/lib/lowcode/engine/meta/box.props.default.json +1 -1
  73. package/lib/lowcode/engine/meta/box.props.json +1 -1
  74. package/lib/lowcode/engine/meta/button.props.json +1 -1
  75. package/lib/lowcode/engine/meta/cardlist.props.json +1 -1
  76. package/lib/lowcode/engine/meta/components-list.json +1 -1
  77. package/lib/lowcode/engine/meta/dialog.props.json +1 -1
  78. package/lib/lowcode/engine/meta/drawer.props.json +1 -1
  79. package/lib/lowcode/engine/meta/form.props.default.json +4 -5
  80. package/lib/lowcode/engine/meta/form.props.json +33 -30
  81. package/lib/lowcode/engine/meta/image.props.json +2 -2
  82. package/lib/lowcode/engine/meta/imex.props.json +1 -1
  83. package/lib/lowcode/engine/meta/link.props.json +1 -1
  84. package/lib/lowcode/engine/meta/section.props.default.json +4 -6
  85. package/lib/lowcode/engine/meta/section.props.json +52 -49
  86. package/lib/lowcode/engine/meta/text.props.json +2 -2
  87. package/lib/lowcode/engine/meta/tree.props.json +2 -2
  88. package/lib/lowcode/engine/provider/ContextProvider/index.js +10 -2
  89. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +24 -11
  90. package/lib/lowcode/engine/tools/helper.js +23 -21
  91. package/lib/lowcode/engine/tools/useCanvasRender.js +3 -5
  92. package/lib/lowcode/engine/tools/usePromiseState.js +22 -14
  93. package/lib/lowcode/painter/Design.js +32 -0
  94. package/lib/lowcode/painter/DesignOperator.js +5 -7
  95. package/lib/lowcode/painter/DesignToolbar.js +256 -19
  96. package/lib/lowcode/painter/Panel.js +7 -8
  97. package/lib/lowcode/painter/components/AttrsPanel.js +6 -6
  98. package/lib/lowcode/painter/components/DragDrop/DragDropWrapper.js +5 -2
  99. package/lib/lowcode/painter/components/ListEditor.js +8 -2
  100. package/lib/lowcode/painter/components/field-setting/BatchSetting.js +13 -3
  101. package/lib/lowcode/painter/components/field-setting/SettingUI.js +26 -7
  102. package/lib/lowcode/painter/components/field-setting/index.js +18 -8
  103. package/lib/lowcode/painter/index.js +1 -30
  104. package/lib/lowcode/painter/panel-section/ActionsColumnWidth.js +32 -0
  105. package/lib/lowcode/painter/panel-section/BlockEditor/index.js +7 -4
  106. package/lib/lowcode/painter/panel-section/BlocksEditor/BlockEditorItem.js +4 -3
  107. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +47 -13
  108. package/lib/lowcode/painter/panel-section/FieldsSetting.js +46 -25
  109. package/lib/lowcode/painter/panel-section/I18nInput.js +27 -0
  110. package/lib/lowcode/painter/style/design.less +6 -2
  111. package/lib/lowcode/painter/style/list-editor.less +36 -0
  112. package/lib/lowcode/preview/index.js +18 -4
  113. package/lib/lowcode/view/lc-components/Box/meta.json +1 -1
  114. package/lib/lowcode/view/lc-components/Button/meta.json +1 -1
  115. package/lib/lowcode/view/lc-components/CardList/meta.json +1 -1
  116. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +2 -4
  117. package/lib/lowcode/view/lc-components/Dialog/meta.json +1 -1
  118. package/lib/lowcode/view/lc-components/Drawer/meta.json +1 -1
  119. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +64 -2
  120. package/lib/lowcode/view/lc-components/Form/index.js +230 -59
  121. package/lib/lowcode/view/lc-components/Form/meta.json +33 -30
  122. package/lib/lowcode/view/lc-components/ImEx/meta.json +1 -1
  123. package/lib/lowcode/view/lc-components/Image/meta.json +2 -2
  124. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +5 -6
  125. package/lib/lowcode/view/lc-components/Link/meta.json +1 -1
  126. package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +31 -2
  127. package/lib/lowcode/view/lc-components/Section/index.js +113 -23
  128. package/lib/lowcode/view/lc-components/Section/index.less +7 -0
  129. package/lib/lowcode/view/lc-components/Section/meta.json +48 -49
  130. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +5 -7
  131. package/lib/lowcode/view/lc-components/Split/index.js +4 -4
  132. package/lib/lowcode/view/lc-components/Table/index.js +7 -6
  133. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +4 -6
  134. package/lib/lowcode/view/lc-components/Text/meta.json +2 -2
  135. package/lib/lowcode/view/lc-components/Tree/meta.json +2 -2
  136. package/lib/upload/Form/gridForm.js +7 -3
  137. package/package.json +1 -1
  138. package/es/lowcode/painter/services/toolbar.js +0 -25
  139. package/lib/lowcode/painter/services/toolbar.js +0 -32
@@ -90,6 +90,8 @@ var BatchSetting = function BatchSetting(_ref) {
90
90
  var _useDebounceFn = useDebounceFn(function (key, val) {
91
91
  if (key === 'width') {
92
92
  handleUIChange(key, val);
93
+ } else if (key === 'note' || key === 'tip' || key === 'placeholder') {
94
+ handleUIChange(key, val);
93
95
  }
94
96
  }, {
95
97
  wait: 400
@@ -105,10 +107,18 @@ var BatchSetting = function BatchSetting(_ref) {
105
107
  break;
106
108
  }
107
109
  handleUIChange(key, val);
108
- _context.next = 6;
110
+ _context.next = 10;
109
111
  break;
110
112
  case 4:
111
- _context.next = 6;
113
+ if (!(key === 'col' || key === 'row')) {
114
+ _context.next = 8;
115
+ break;
116
+ }
117
+ handleUIChange(key, val);
118
+ _context.next = 10;
119
+ break;
120
+ case 8:
121
+ _context.next = 10;
112
122
  return fetchAddFieldAttrs({
113
123
  dataModelKey: dataModelKey,
114
124
  moduleDatasetUid: datasetId,
@@ -121,7 +131,7 @@ var BatchSetting = function BatchSetting(_ref) {
121
131
  }],
122
132
  datasetBusinessUids: _toConsumableArray(fieldsData.keys())
123
133
  });
124
- case 6:
134
+ case 10:
125
135
  case "end":
126
136
  return _context.stop();
127
137
  }
@@ -62,6 +62,10 @@ var DefaultValueWrapper = styled.span.withConfig({
62
62
  displayName: "DefaultValueWrapper",
63
63
  componentId: "luckda-6530__sc-1n41f3z-1"
64
64
  })(["color:var(--ant-primary-color);font-size:12px;padding:0 16px;display:inline-block;cursor:pointer;"]);
65
+ var StyledRadio = styled(Radio.Group).withConfig({
66
+ displayName: "StyledRadio",
67
+ componentId: "luckda-6530__sc-1n41f3z-2"
68
+ })(["span.ant-radio + *{padding-left:4px;padding-right:4px;}"]);
65
69
  var SettingUI = function SettingUI(_ref) {
66
70
  var loading = _ref.loading,
67
71
  data = _ref.data,
@@ -243,8 +247,11 @@ var SettingUI = function SettingUI(_ref) {
243
247
  id: "".concat(_I18N_PREFIX_, ".fieldColumn"),
244
248
  label: '占列数'
245
249
  })
246
- }, /*#__PURE__*/React.createElement(Radio.Group, {
247
- value: 1
250
+ }, /*#__PURE__*/React.createElement(StyledRadio, {
251
+ defaultValue: fieldData.col,
252
+ onChange: function onChange(e) {
253
+ return run('col', e.target.value);
254
+ }
248
255
  }, /*#__PURE__*/React.createElement(Radio, {
249
256
  value: 1
250
257
  }, "1"), /*#__PURE__*/React.createElement(Radio, {
@@ -258,8 +265,11 @@ var SettingUI = function SettingUI(_ref) {
258
265
  id: "".concat(_I18N_PREFIX_, ".fieldRow"),
259
266
  label: '占行数'
260
267
  })
261
- }, /*#__PURE__*/React.createElement(Radio.Group, {
262
- value: 1
268
+ }, /*#__PURE__*/React.createElement(StyledRadio, {
269
+ defaultValue: fieldData.row,
270
+ onChange: function onChange(e) {
271
+ return run('row', e.target.value);
272
+ }
263
273
  }, /*#__PURE__*/React.createElement(Radio, {
264
274
  value: 1
265
275
  }, "1"), /*#__PURE__*/React.createElement(Radio, {
@@ -274,7 +284,10 @@ var SettingUI = function SettingUI(_ref) {
274
284
  label: '字段注释'
275
285
  })
276
286
  }, /*#__PURE__*/React.createElement(Input, {
277
- defaultValue: "fieldNote",
287
+ defaultValue: fieldData.note,
288
+ onChange: function onChange(val) {
289
+ return runDebounce('note', val);
290
+ },
278
291
  size: "small"
279
292
  })), /*#__PURE__*/React.createElement(PanelItem, {
280
293
  label: formatMessage({
@@ -282,7 +295,10 @@ var SettingUI = function SettingUI(_ref) {
282
295
  label: '长说明'
283
296
  })
284
297
  }, /*#__PURE__*/React.createElement(Input, {
285
- defaultValue: "fieldTip",
298
+ defaultValue: fieldData.tip,
299
+ onChange: function onChange(val) {
300
+ return runDebounce('tip', val);
301
+ },
286
302
  size: "small"
287
303
  })), /*#__PURE__*/React.createElement(PanelItem, {
288
304
  label: formatMessage({
@@ -290,7 +306,10 @@ var SettingUI = function SettingUI(_ref) {
290
306
  label: '默认提示'
291
307
  })
292
308
  }, /*#__PURE__*/React.createElement(Input, {
293
- defaultValue: "placeholder",
309
+ defaultValue: fieldData.placeholder,
310
+ onChange: function onChange(val) {
311
+ return runDebounce('placeholder', val);
312
+ },
294
313
  size: "small"
295
314
  }))), !isBatch ? /*#__PURE__*/React.createElement(PanelItem, {
296
315
  label: formatMessage({
@@ -203,6 +203,8 @@ var FieldSetting = function FieldSetting(_ref) {
203
203
  var _useDebounceFn = useDebounceFn(function (key, val) {
204
204
  if (key === 'width') {
205
205
  handleUIChange(key, val);
206
+ } else if (key === 'note' || key === 'tip' || key === 'placeholder') {
207
+ handleUIChange(key, val);
206
208
  }
207
209
  }, {
208
210
  wait: 400
@@ -224,7 +226,7 @@ var FieldSetting = function FieldSetting(_ref) {
224
226
  moduleUid: moduleId
225
227
  }, val ? 'uniqueFieldUid' : 'noUniqueFieldUid', fieldData.uid));
226
228
  case 3:
227
- _context2.next = 26;
229
+ _context2.next = 30;
228
230
  break;
229
231
  case 5:
230
232
  if (!(key === 'align' || key === 'headerAlign' || key === 'pinned' || key === 'tip')) {
@@ -232,13 +234,21 @@ var FieldSetting = function FieldSetting(_ref) {
232
234
  break;
233
235
  }
234
236
  handleUIChange(key, val);
235
- _context2.next = 26;
237
+ _context2.next = 30;
236
238
  break;
237
239
  case 9:
238
- if (!(key === 'delRule')) {
240
+ if (!(key === 'col' || key === 'row')) {
239
241
  _context2.next = 13;
240
242
  break;
241
243
  }
244
+ handleUIChange(key, val);
245
+ _context2.next = 30;
246
+ break;
247
+ case 13:
248
+ if (!(key === 'delRule')) {
249
+ _context2.next = 17;
250
+ break;
251
+ }
242
252
  Modal.confirm({
243
253
  title: formatMessage({
244
254
  id: 'luckda.lowcode.painter.delete.tip',
@@ -280,9 +290,9 @@ var FieldSetting = function FieldSetting(_ref) {
280
290
  return onOk;
281
291
  }()
282
292
  });
283
- _context2.next = 26;
293
+ _context2.next = 30;
284
294
  break;
285
- case 13:
295
+ case 17:
286
296
  mapping = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FIELD_SCOPES.FIELD_REQUIRED, {
287
297
  key: 'fieldRequired',
288
298
  refresh: requiredRefresh
@@ -318,15 +328,15 @@ var FieldSetting = function FieldSetting(_ref) {
318
328
  if (!_stateItem) {
319
329
  d.datasetBusinessUids = [fieldData.uid];
320
330
  }
321
- _context2.next = 23;
331
+ _context2.next = 27;
322
332
  return request(d);
323
- case 23:
333
+ case 27:
324
334
  _yield$request = _context2.sent;
325
335
  code = _yield$request.code;
326
336
  if (code === 1) {
327
337
  mapping[key].refresh();
328
338
  }
329
- case 26:
339
+ case 30:
330
340
  case "end":
331
341
  return _context2.stop();
332
342
  }
@@ -1,8 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import React, { useEffect } from 'react';
2
+ import React from 'react';
3
3
  import classNames from 'classnames';
4
- // import { history } from 'umi';
5
- // import { formatMessage } from '@luck-design-biz/base/utils';
6
4
  import EventBusProvider from "../engine/provider/EventBusProvider";
7
5
  import ContextProvider from "../engine/provider/ContextProvider";
8
6
  import Ribbon from "./Ribbon";
@@ -10,35 +8,10 @@ import Design from "./Design";
10
8
  import Panel from "./Panel";
11
9
  import { RUNTIME } from "../constants/index";
12
10
  import styles from "./style/index.less";
13
- import { DndContext } from '@dnd-kit/core';
14
11
  import DragDropContext from "./components/DragDrop/DragDropContext";
15
12
  var Painter = function Painter(_ref) {
16
13
  var className = _ref.className,
17
14
  code = _ref.code;
18
- // 修改后刷新提示功能,暂时关掉,等待提供数据对比进行判断
19
- // useEffect(() => {
20
- // const handleBeforeUnload = (event) => {
21
- // event.preventDefault();
22
- // event.returnValue = null;
23
- // return null;
24
- // };
25
-
26
- // window.addEventListener('beforeunload', handleBeforeUnload);
27
-
28
- // const unblock = history.block(() =>
29
- // confirm(`${formatMessage({
30
- // id: 'app.base.operate.comfire.reload', label: '重新加载此网站?'
31
- // })}\n${formatMessage({
32
- // id: 'app.base.operate.comfire.message.reload', label: '系统可能不会保存您所做的更改。'
33
- // })}`)
34
- // );
35
-
36
- // return () => {
37
- // unblock();
38
- // window.removeEventListener('beforeunload', handleBeforeUnload);
39
- // };
40
- // }, []);
41
-
42
15
  return /*#__PURE__*/React.createElement(EventBusProvider, {
43
16
  runtime: RUNTIME.DESIGN
44
17
  }, /*#__PURE__*/React.createElement(ContextProvider, {
@@ -0,0 +1,25 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["blockId", "onChange"];
4
+ import React from 'react';
5
+ import { useMemoizedFn } from 'ahooks';
6
+ import WidthHeight from "./WidthHeight";
7
+ import { useContext } from "../../engine/provider/ContextProvider";
8
+ var ActionsColumnWidth = function ActionsColumnWidth(_ref) {
9
+ var blockId = _ref.blockId,
10
+ onChange = _ref.onChange,
11
+ props = _objectWithoutProperties(_ref, _excluded);
12
+ var ctx = useContext();
13
+ var handleChange = useMemoizedFn(function (value) {
14
+ var _ctx$componentMap$get2;
15
+ var _ctx$componentMap$get = (_ctx$componentMap$get2 = ctx.componentMap.get(props.nodeId)) === null || _ctx$componentMap$get2 === void 0 ? void 0 : _ctx$componentMap$get2.api.getForm().getFormRef(blockId).formRef.current,
16
+ gridApi = _ctx$componentMap$get.gridApi;
17
+ var col = gridApi.columnApi.getColumn('luck-actions');
18
+ gridApi.columnApi.setColumnWidth(col, value || 160);
19
+ onChange && onChange(value);
20
+ });
21
+ return /*#__PURE__*/React.createElement(WidthHeight, _extends({
22
+ onChange: handleChange
23
+ }, props));
24
+ };
25
+ export default ActionsColumnWidth;
@@ -3,18 +3,21 @@ import { useMemoizedFn } from 'ahooks';
3
3
  import { Icon } from 'luck-design/antd';
4
4
  var BlockEditor = function BlockEditor(_ref) {
5
5
  var blockName = _ref.blockName,
6
+ blockId = _ref.blockId,
6
7
  next = _ref.next;
7
8
  var handleClick = useMemoizedFn(function (e) {
8
9
  e.stopPropagation();
9
- next();
10
+ next && next({
11
+ blockId: blockId
12
+ });
10
13
  });
11
14
  return /*#__PURE__*/React.createElement("span", {
12
15
  onClick: handleClick,
13
- style: {
16
+ style: next ? {
14
17
  color: 'var(--ant-primary-color)',
15
18
  cursor: 'pointer'
16
- }
17
- }, blockName, /*#__PURE__*/React.createElement(Icon, {
19
+ } : {}
20
+ }, blockName || blockId, next && /*#__PURE__*/React.createElement(Icon, {
18
21
  type: "setting",
19
22
  style: {
20
23
  marginLeft: 4
@@ -11,12 +11,13 @@ var BlockEditorItem = function BlockEditorItem(_ref) {
11
11
  style = _ref.style,
12
12
  setActivatorNodeRef = _ref.setActivatorNodeRef,
13
13
  attributes = _ref.attributes,
14
- listeners = _ref.listeners;
14
+ listeners = _ref.listeners,
15
+ draggable = _ref.draggable;
15
16
  return /*#__PURE__*/React.createElement("div", {
16
17
  ref: setNodeRef,
17
18
  style: style
18
19
  }, /*#__PURE__*/React.createElement(Collapse, {
19
- label: /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", _extends({
20
+ label: /*#__PURE__*/React.createElement("div", null, draggable ? /*#__PURE__*/React.createElement("span", _extends({
20
21
  ref: setActivatorNodeRef
21
22
  }, attributes, listeners), /*#__PURE__*/React.createElement("svg", {
22
23
  fill: "currentColor",
@@ -29,7 +30,7 @@ var BlockEditorItem = function BlockEditorItem(_ref) {
29
30
  }
30
31
  }, /*#__PURE__*/React.createElement("path", {
31
32
  d: "M0.499972716,6 L1.50002728,6 C1.77615459,6 2,6.22384541 2,6.49997272 C2,6.77610002 1.77615459,6.99994543 1.50002728,6.99994543 L0.499972716,6.99994543 C0.22384541,6.99994543 3.38158422e-17,6.77610002 0,6.49997272 C-3.38158422e-17,6.22384541 0.22384541,6 0.499972716,6 Z M0.499972716,3 L1.50002728,3 C1.77615459,3 2,3.22384541 2,3.49997272 C2,3.77610002 1.77615459,3.99994543 1.50002728,3.99994543 L0.499972716,3.99994543 C0.22384541,3.99994543 3.38158422e-17,3.77610002 0,3.49997272 C-3.38158422e-17,3.22384541 0.22384541,3 0.499972716,3 Z M0.499972716,7.28787148e-18 L1.50002728,5.55666624e-14 C1.77615459,7.07214574e-14 2,0.22384541 2,0.499972716 C2,0.776100022 1.77615459,0.999945432 1.50002728,0.999945432 L0.499972716,0.999945432 C0.22384541,0.999945432 3.38158422e-17,0.776100022 0,0.499972716 C-3.38158422e-17,0.22384541 0.22384541,5.0723721e-17 0.499972716,0 Z M0.5,9.00002729 L1.5,9.00002729 C1.77614237,9.00002729 2,9.22388491 2,9.50002729 C2,9.77616966 1.77614237,10.0000273 1.5,10.0000273 L0.5,10.0000273 C0.223857625,10.0000273 3.38176876e-17,9.77616966 0,9.50002729 C-3.38176876e-17,9.22388491 0.223857625,9.00002729 0.5,9.00002729 Z M0.5,12.0000273 L1.5,12.0000273 C1.77614237,12.0000273 2,12.2238849 2,12.5000273 C2,12.7761697 1.77614237,13.0000273 1.5,13.0000273 L0.5,13.0000273 C0.223857625,13.0000273 3.38176876e-17,12.7761697 0,12.5000273 C-3.38176876e-17,12.2238849 0.223857625,12.0000273 0.5,12.0000273 Z M0.5,15.0000273 L1.5,15.0000273 C1.77614237,15.0000273 2,15.2238849 2,15.5000273 C2,15.7761697 1.77614237,16.0000273 1.5,16.0000273 L0.5,16.0000273 C0.223857625,16.0000273 3.38176876e-17,15.7761697 0,15.5000273 C-3.38176876e-17,15.2238849 0.223857625,15.0000273 0.5,15.0000273 Z M3.49997272,6 L4.50002728,6 C4.77615459,6 5,6.22384541 5,6.49997272 C5,6.77610002 4.77615459,6.99994543 4.50002728,6.99994543 L3.49997272,6.99994543 C3.22384541,6.99994543 3,6.77610002 3,6.49997272 C3,6.22384541 3.22384541,6 3.49997272,6 Z M3.49997272,3 L4.50002728,3 C4.77615459,3 5,3.22384541 5,3.49997272 C5,3.77610002 4.77615459,3.99994543 4.50002728,3.99994543 L3.49997272,3.99994543 C3.22384541,3.99994543 3,3.77610002 3,3.49997272 C3,3.22384541 3.22384541,3 3.49997272,3 Z M3.49997272,7.28787148e-18 L4.50002728,5.55666624e-14 C4.77615459,7.07214574e-14 5,0.22384541 5,0.499972716 C5,0.776100022 4.77615459,0.999945432 4.50002728,0.999945432 L3.49997272,0.999945432 C3.22384541,0.999945432 3,0.776100022 3,0.499972716 C3,0.22384541 3.22384541,5.0723721e-17 3.49997272,0 Z M3.5,9.00002729 L4.5,9.00002729 C4.77614237,9.00002729 5,9.22388491 5,9.50002729 C5,9.77616966 4.77614237,10.0000273 4.5,10.0000273 L3.5,10.0000273 C3.22385763,10.0000273 3,9.77616966 3,9.50002729 C3,9.22388491 3.22385763,9.00002729 3.5,9.00002729 Z M3.5,12.0000273 L4.5,12.0000273 C4.77614237,12.0000273 5,12.2238849 5,12.5000273 C5,12.7761697 4.77614237,13.0000273 4.5,13.0000273 L3.5,13.0000273 C3.22385763,13.0000273 3,12.7761697 3,12.5000273 C3,12.2238849 3.22385763,12.0000273 3.5,12.0000273 Z M3.5,15.0000273 L4.5,15.0000273 C4.77614237,15.0000273 5,15.2238849 5,15.5000273 C5,15.7761697 4.77614237,16.0000273 4.5,16.0000273 L3.5,16.0000273 C3.22385763,16.0000273 3,15.7761697 3,15.5000273 C3,15.2238849 3.22385763,15.0000273 3.5,15.0000273 Z"
32
- }))), name),
33
+ }))) : null, name),
33
34
  extraRender: isNil(onDelete) ? false : function () {
34
35
  return /*#__PURE__*/React.createElement(Icon, {
35
36
  type: "delete",
@@ -1,16 +1,16 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
1
2
  import _toArray from "@babel/runtime/helpers/esm/toArray";
2
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
5
  import React from 'react';
5
6
  import { useMemoizedFn, useCreation } from 'ahooks';
6
7
  import { Icon, Dropdown, Button, Menu, Modal } from 'luck-design/antd';
7
- import { concat, reduce } from 'lodash';
8
+ import { concat, reduce, sortBy, includes, cloneDeep } from 'lodash';
8
9
  import { formatMessage, suid } from '@luck-design-biz/base/utils';
9
10
  import { usePageData } from "../../../engine/provider/ContextProvider";
10
11
  import { SortBox, SortItem } from "../../components/SortBox";
11
12
  import BlockEditorItem from "./BlockEditorItem";
12
13
  import defaultMeta from "../../../engine/meta/form.props.default.json";
13
- import { includes } from 'lodash';
14
14
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.blocksEditor';
15
15
  var confirm = Modal.confirm;
16
16
  var addOptions = [{
@@ -60,13 +60,15 @@ var BlockEditor = function BlockEditor(_ref) {
60
60
  blocks = _ref2.props.blocks;
61
61
  var handleAddBlock = useMemoizedFn(function (type) {
62
62
  var _id = "block_".concat(suid());
63
- var newData = concat(blocks, _objectSpread({
63
+ var newData = concat(blocks, _objectSpread(_objectSpread({
64
64
  id: _id,
65
65
  name: _id,
66
66
  type: type,
67
67
  serialEffect: 'hidden',
68
68
  mode: ['add', 'update', 'edit', 'info']
69
- }, defaultMeta.blockSettings[type]));
69
+ }, defaultMeta.blockSettings[type]), {}, {
70
+ order: blocks.length + 1
71
+ }));
70
72
  onChange(newData);
71
73
  });
72
74
  var handleDeleteBlock = useMemoizedFn(function (_id) {
@@ -88,12 +90,29 @@ var BlockEditor = function BlockEditor(_ref) {
88
90
  var newData = blocks.filter(function (val) {
89
91
  return val.id !== _id;
90
92
  });
91
- onChange(newData);
93
+ onChange(newData.map(function (i, index) {
94
+ return _objectSpread(_objectSpread({}, i), {}, {
95
+ order: index + 1
96
+ });
97
+ }));
92
98
  }
93
99
  });
94
100
  });
95
101
  var handleSortBlock = useMemoizedFn(function (sortItems) {
96
- console.log('sortItems', sortItems);
102
+ var _blocks = _toArray(blocks),
103
+ mainForm = _blocks[0],
104
+ restForm = _blocks.slice(1);
105
+ var newRestForm = sortBy(restForm, function (item) {
106
+ var index = sortItems.indexOf(item.id);
107
+ return index !== -1 ? index : Infinity;
108
+ });
109
+ var newData = [mainForm].concat(_toConsumableArray(newRestForm)).map(function (i, index) {
110
+ return _objectSpread(_objectSpread({}, i), {}, {
111
+ order: index + 1
112
+ });
113
+ });
114
+ console.log('newData', newData, sortItems);
115
+ onChange(newData);
97
116
  });
98
117
  var menu = useCreation(function () {
99
118
  return /*#__PURE__*/React.createElement(Menu, {
@@ -130,7 +149,8 @@ var BlockEditor = function BlockEditor(_ref) {
130
149
  return mainForm ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BlockEditorItem, {
131
150
  name: renderPanelItems([_objectSpread(_objectSpread({}, specialProp), {}, {
132
151
  valueKey: "blocks[0].".concat(specialProp.key),
133
- blockName: mainForm.name || mainForm.id,
152
+ blockName: mainForm.name,
153
+ blockId: mainForm.id,
134
154
  next: {
135
155
  name: specialProp.name,
136
156
  props: specialProp.next["_".concat(mainForm.type, "_props")].map(function (nextP) {
@@ -141,9 +161,13 @@ var BlockEditor = function BlockEditor(_ref) {
141
161
  }
142
162
  })])
143
163
  }, renderPanelItems(commonProps.map(function (p) {
144
- return _objectSpread(_objectSpread({}, p), {}, {
145
- disabled: includes(['mode', 'serialEffect'], p.key) || p.disabled,
146
- valueKey: "blocks[0].".concat(p.key)
164
+ var cloneP = cloneDeep(p);
165
+ if (cloneP.key === 'dataset') {
166
+ cloneP.next.props[0].valueKey = "blocks[0].fields";
167
+ }
168
+ return _objectSpread(_objectSpread({}, cloneP), {}, {
169
+ disabled: includes(['mode', 'serialEffect'], cloneP.key) || cloneP.disabled,
170
+ valueKey: "blocks[0].".concat(cloneP.key)
147
171
  });
148
172
  }))), /*#__PURE__*/React.createElement(SortBox, {
149
173
  datas: restForm.map(function (_bk) {
@@ -151,16 +175,19 @@ var BlockEditor = function BlockEditor(_ref) {
151
175
  }),
152
176
  onChange: handleSortBlock
153
177
  }, restForm.map(function (blockItem, i) {
178
+ var _specialProp$next;
154
179
  return /*#__PURE__*/React.createElement(SortItem, {
155
180
  key: blockItem.id,
156
181
  id: blockItem.id
157
182
  }, /*#__PURE__*/React.createElement(BlockEditorItem, {
183
+ draggable: true,
158
184
  name: renderPanelItems([_objectSpread(_objectSpread({}, specialProp), {}, {
159
185
  valueKey: "blocks[".concat(i + 1, "].").concat(specialProp.key),
160
- blockName: blockItem.name || blockItem.id,
186
+ blockName: blockItem.name,
187
+ blockId: blockItem.id,
161
188
  next: {
162
189
  name: specialProp.name,
163
- props: specialProp.next["_".concat(blockItem.type, "_props")].map(function (nextP) {
190
+ props: (_specialProp$next = specialProp.next["_".concat(blockItem.type, "_props")]) === null || _specialProp$next === void 0 ? void 0 : _specialProp$next.map(function (nextP) {
164
191
  var _nextP$props;
165
192
  return _objectSpread(_objectSpread({}, nextP), {}, {
166
193
  valueKey: "blocks[".concat(i + 1, "].").concat(nextP.key),
@@ -177,9 +204,15 @@ var BlockEditor = function BlockEditor(_ref) {
177
204
  return handleDeleteBlock(blockItem.id);
178
205
  }
179
206
  }, renderPanelItems(reduce(commonProps, function (result, p) {
180
- if (!(blockItem.type === 'uploadForm' && p.key === 'dataset')) result.push(_objectSpread(_objectSpread({}, p), {}, {
181
- valueKey: "blocks[".concat(i + 1, "].").concat(p.key)
182
- }));
207
+ var cloneP = cloneDeep(p);
208
+ cloneP.valueKey = "blocks[".concat(i + 1, "].").concat(p.key);
209
+ if (p.key === 'dataset') {
210
+ if (includes(['auto', 'grid', 'writer'], blockItem.type)) {
211
+ if (blockItem.type !== 'auto') cloneP.next.props[0].component = "table";
212
+ cloneP.next.props[0].valueKey = "blocks[".concat(i + 1, "].fields");
213
+ result.push(cloneP);
214
+ }
215
+ } else result.push(cloneP);
183
216
  return result;
184
217
  }, []))));
185
218
  })), /*#__PURE__*/React.createElement("div", {
@@ -5,8 +5,8 @@ import { useMemoizedFn, useRequest, useDebounceFn, useCreation, useMap } from 'a
5
5
  import { Ellipsis } from 'luck-design';
6
6
  import { Spin, Input, Tooltip, Icon, Checkbox, Drawer } from 'luck-design/antd';
7
7
  import styled from 'styled-components';
8
- import { intersectionWith, unionBy, isEqual, pick } from 'lodash';
9
- import { formatMessage } from '@luck-design-biz/base/utils';
8
+ import { reduce, unionBy, isEqual, pick } from 'lodash';
9
+ import { formatMessage, suid } from '@luck-design-biz/base/utils';
10
10
  import { useContext } from "../../engine/provider/ContextProvider";
11
11
  import { SortBox, SortItem } from "../components/SortBox";
12
12
  import { ListEditor, ListEditorItem } from "../components/ListEditor";
@@ -16,7 +16,7 @@ import { fetchFieldsByDataset, fetchUpdateFieldAttrs } from "../../constants/api
16
16
  import { listReducer } from "../../engine/tools/helper";
17
17
  import styles from "../style/fields-setting.less";
18
18
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.fieldsSetting';
19
- var _PICK_KEYS_ = ['uid', 'field', 'width', 'align', 'headerAlign', 'pinned', 'tip'];
19
+ var _PICK_KEYS_ = ['id', 'uid', 'field', 'width', 'align', 'headerAlign', 'pinned', 'tip', 'col', 'row', 'note', 'placeholder'];
20
20
  var Header = styled.div.withConfig({
21
21
  displayName: "Header",
22
22
  componentId: "luckda-6530__sc-gcwvp1-0"
@@ -31,7 +31,7 @@ var FieldsSetting = function FieldsSetting(_ref) {
31
31
  datasetUid = _ref.datasetUid,
32
32
  nodeId = _ref.nodeId,
33
33
  defaultValue = _ref.defaultValue,
34
- _onChange = _ref.onChange;
34
+ onChange = _ref.onChange;
35
35
  var ctx = useContext();
36
36
  var _useReducer = useReducer(listReducer, []),
37
37
  _useReducer2 = _slicedToArray(_useReducer, 2),
@@ -67,9 +67,12 @@ var FieldsSetting = function FieldsSetting(_ref) {
67
67
  list = _ref3.list,
68
68
  detail = _ref3.detail;
69
69
  if (code === 1) {
70
- var _fields = unionBy(intersectionWith(defaultValue, list, function (a, b) {
71
- return a.uid === b;
72
- }), list.map(function (id) {
70
+ var _fields = unionBy(reduce(defaultValue, function (ret, _val) {
71
+ if (list.includes(_val.uid) || _val._type === 'divider') {
72
+ ret.push(_val);
73
+ }
74
+ return ret;
75
+ }, []), list.map(function (id) {
73
76
  var _fieldData = detail[id];
74
77
  var extraAttr = JSON.parse(_fieldData.extraAttr || '{}');
75
78
  var alignMapping = {
@@ -85,7 +88,7 @@ var FieldsSetting = function FieldsSetting(_ref) {
85
88
  };
86
89
  }), 'uid');
87
90
  if (!isEqual(_fields, defaultValue)) {
88
- _onChange(_fields);
91
+ onChange(_fields);
89
92
  }
90
93
  dispatch({
91
94
  type: 'init',
@@ -97,6 +100,11 @@ var FieldsSetting = function FieldsSetting(_ref) {
97
100
  }
98
101
  }),
99
102
  loading = _useRequest.loading;
103
+ var handleChange = useMemoizedFn(function (newFields) {
104
+ onChange(newFields.map(function (_fieldData) {
105
+ return _fieldData._type === 'divider' ? _fieldData : pick(_fieldData, _PICK_KEYS_);
106
+ }));
107
+ });
100
108
  var _useRequest2 = useRequest(fetchUpdateFieldAttrs, {
101
109
  manual: true
102
110
  }),
@@ -134,9 +142,7 @@ var FieldsSetting = function FieldsSetting(_ref) {
134
142
  var gridApi = ctx.componentMap.get(nodeId).api.self.ref.current.gridApi;
135
143
  gridApi.columnApi.moveColumnByIndex(fromIndex, toIndex);
136
144
  }
137
- _onChange(newFields.map(function (_fieldData) {
138
- return pick(_fieldData, _PICK_KEYS_);
139
- }));
145
+ handleChange(newFields);
140
146
  }
141
147
  });
142
148
  });
@@ -165,6 +171,23 @@ var FieldsSetting = function FieldsSetting(_ref) {
165
171
  var handleBatchSetting = useMemoizedFn(function () {
166
172
  setDrawerType('batch');
167
173
  });
174
+ var handleAddFormDivider = useMemoizedFn(function (index) {
175
+ var groupId = "group_".concat(suid());
176
+ dispatch({
177
+ type: 'insert',
178
+ payload: {
179
+ index: index,
180
+ data: {
181
+ uid: groupId,
182
+ id: groupId,
183
+ field: 'divider',
184
+ fieldAliasName: 'Group',
185
+ _type: 'divider'
186
+ }
187
+ },
188
+ callback: handleChange
189
+ });
190
+ });
168
191
  var renderItemRight = useMemoizedFn(function (field) {
169
192
  return /*#__PURE__*/React.createElement("div", {
170
193
  key: field.uid,
@@ -181,7 +204,7 @@ var FieldsSetting = function FieldsSetting(_ref) {
181
204
  onChange: function onChange(e) {
182
205
  return handleAliasChange(field, e.target.value);
183
206
  }
184
- }), /*#__PURE__*/React.createElement(Tooltip, {
207
+ }), field._type !== 'divider' && /*#__PURE__*/React.createElement(Tooltip, {
185
208
  title: formatMessage({
186
209
  id: 'luckda.lowcode.painter.edit',
187
210
  label: '编辑'
@@ -236,22 +259,28 @@ var FieldsSetting = function FieldsSetting(_ref) {
236
259
  addBtnProps: {
237
260
  disabled: drawerType === 'batch'
238
261
  }
239
- }, fields.map(function (field) {
262
+ }, fields.map(function (field, index) {
240
263
  return /*#__PURE__*/React.createElement(SortItem, {
241
264
  key: field.uid,
242
265
  id: field.uid
243
266
  }, /*#__PURE__*/React.createElement(ListEditorItem, {
244
- left: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, {
267
+ left: /*#__PURE__*/React.createElement(React.Fragment, null, field._type !== 'divider' ? /*#__PURE__*/React.createElement(Checkbox, {
245
268
  disabled: drawerType === 'batch',
246
269
  data: field,
247
270
  onChange: handleFieldCheckChange
248
- }), /*#__PURE__*/React.createElement(FieldKey, {
271
+ }) : null, /*#__PURE__*/React.createElement(FieldKey, {
249
272
  tooltip: true,
250
- lines: 1
273
+ lines: 1,
274
+ style: field._type === 'divider' ? {
275
+ paddingLeft: 16
276
+ } : null
251
277
  }, field.field)),
252
278
  right: renderItemRight(field),
253
279
  item: field,
254
- dispatch: dispatch
280
+ dispatch: dispatch,
281
+ onAddLine: component === 'form' ? function () {
282
+ return handleAddFormDivider(index);
283
+ } : false
255
284
  }));
256
285
  })))), !!drawerType ? /*#__PURE__*/React.createElement(Drawer, {
257
286
  visible: true,
@@ -285,11 +314,7 @@ var FieldsSetting = function FieldsSetting(_ref) {
285
314
  datasetId: datasetUid,
286
315
  component: component,
287
316
  onAliasChange: handleAliasChange,
288
- onChange: function onChange(newFields) {
289
- return _onChange(newFields.map(function (_fieldData) {
290
- return pick(_fieldData, _PICK_KEYS_);
291
- }));
292
- }
317
+ onChange: handleChange
293
318
  }) : null, drawerType === 'batch' ? /*#__PURE__*/React.createElement(BatchSetting, {
294
319
  dispatch: dispatch,
295
320
  nodeId: nodeId,
@@ -298,11 +323,7 @@ var FieldsSetting = function FieldsSetting(_ref) {
298
323
  moduleId: pageinfo.relationship.moduleId,
299
324
  datasetId: datasetUid,
300
325
  component: component,
301
- onChange: function onChange(newFields) {
302
- return _onChange(newFields.map(function (_fieldData) {
303
- return pick(_fieldData, _PICK_KEYS_);
304
- }));
305
- }
326
+ onChange: handleChange
306
327
  }) : null) : null);
307
328
  };
308
329
  export default FieldsSetting;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { useDebounceFn } from 'ahooks';
3
+ import { Input } from 'luck-design/antd';
4
+ var I18nInput = function I18nInput(_ref) {
5
+ var defaultValue = _ref.defaultValue,
6
+ onChange = _ref.onChange,
7
+ size = _ref.size;
8
+ var _useDebounceFn = useDebounceFn(onChange, {
9
+ wait: 400
10
+ }),
11
+ run = _useDebounceFn.run;
12
+ return /*#__PURE__*/React.createElement(Input, {
13
+ defaultValue: defaultValue,
14
+ onChange: function onChange(e) {
15
+ return run(e.target.value);
16
+ },
17
+ size: size
18
+ });
19
+ };
20
+ export default I18nInput;
@@ -63,6 +63,11 @@
63
63
  color: #8c8c8c;
64
64
  background: #f1f2f3;
65
65
  }
66
+
67
+ .toolbar-item.disabled {
68
+ color: #d9d9d9;
69
+ cursor: not-allowed;
70
+ }
66
71
  }
67
72
 
68
73
  &-workspace {
@@ -77,9 +82,8 @@
77
82
 
78
83
  &-simulator {
79
84
  min-height: 100%;
80
- height: auto;
81
85
  :global {
82
- .ant-form-item, .resizer {
86
+ .ant-form-item, .ant-collapse-header, .resizer {
83
87
  pointer-events: none;
84
88
  }
85
89
  .luck-grid-table {