@luck-design-biz/luckda 0.0.25-4 → 0.0.25-7

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 (141) hide show
  1. package/es/components/LDActions/index.less +1 -1
  2. package/es/components/LdAutoForm/index.js +24 -8
  3. package/es/components/LdFormList/index.js +25 -18
  4. package/es/components/LdGrid/index.js +3 -2
  5. package/es/components/LdGridForm/index.js +16 -6
  6. package/es/components/LdTree/index.js +3 -2
  7. package/es/helper/form.js +6 -3
  8. package/es/locales/zh-CN.js +1 -0
  9. package/es/lowcode/constants/api-url.js +13 -11
  10. package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +5 -2
  11. package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +5 -2
  12. package/es/lowcode/engine/meta/dialog.props.default.json +10 -5
  13. package/es/lowcode/engine/meta/dialog.props.json +72 -42
  14. package/es/lowcode/engine/meta/form.props.json +3 -3
  15. package/es/lowcode/engine/meta/table.props.json +4 -4
  16. package/es/lowcode/engine/meta/tree.props.default.json +1 -0
  17. package/es/lowcode/engine/meta/tree.props.json +7 -0
  18. package/es/lowcode/engine/provider/ContextProvider/index.js +8 -40
  19. package/es/lowcode/engine/provider/RemoteSourceProvider.js +16 -20
  20. package/es/lowcode/engine/tools/helper.js +2 -3
  21. package/es/lowcode/engine/tools/useCanvasRender.js +3 -2
  22. package/es/lowcode/engine/tools/usePageDataStore.js +174 -0
  23. package/es/lowcode/engine/tools/usePromiseState.js +12 -23
  24. package/es/lowcode/engine/tools/useTodo.js +20 -10
  25. package/es/lowcode/painter/DesignOperator.js +11 -22
  26. package/es/lowcode/painter/DesignToolbar.js +8 -44
  27. package/es/lowcode/painter/Outline.js +2 -4
  28. package/es/lowcode/painter/Panel.js +26 -25
  29. package/es/lowcode/painter/components/ActionBindModal.js +5 -11
  30. package/es/lowcode/painter/components/AttrsPanel.js +26 -19
  31. package/es/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  32. package/es/lowcode/painter/components/code-editor/BaseEditor.js +3 -2
  33. package/es/lowcode/painter/components/field-setting/SettingUI.js +7 -7
  34. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +11 -11
  35. package/es/lowcode/painter/panel-section/ButtonType.js +4 -2
  36. package/es/lowcode/painter/panel-section/DataSetSelector.js +4 -1
  37. package/es/lowcode/painter/panel-section/FieldsSetting.js +5 -1
  38. package/es/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  39. package/es/lowcode/painter/panel-section/TreeRootEditor.js +2 -2
  40. package/es/lowcode/painter/style/design.less +1 -1
  41. package/es/lowcode/painter/style/panel-item.less +1 -1
  42. package/es/lowcode/view/Canvas.js +6 -7
  43. package/es/lowcode/view/Page.js +2 -3
  44. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +3 -10
  45. package/es/lowcode/view/lc-components/Dialog/index.js +89 -19
  46. package/es/lowcode/view/lc-components/Dialog/meta.json +65 -42
  47. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +23 -33
  48. package/es/lowcode/view/lc-components/Form/index.js +20 -6
  49. package/es/lowcode/view/lc-components/Form/meta.json +3 -3
  50. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +12 -19
  51. package/es/lowcode/view/lc-components/PageContent/index.js +8 -9
  52. package/es/lowcode/view/lc-components/PageFooter/index.js +2 -5
  53. package/es/lowcode/view/lc-components/PageHeader/index.js +5 -6
  54. package/es/lowcode/view/lc-components/PageModal/index.js +12 -15
  55. package/es/lowcode/view/lc-components/Section/FunctionDesign.js +3 -9
  56. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +11 -18
  57. package/es/lowcode/view/lc-components/Table/index.js +67 -25
  58. package/es/lowcode/view/lc-components/Table/meta.json +4 -4
  59. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +9 -17
  60. package/es/lowcode/view/lc-components/Tree/index.js +8 -1
  61. package/es/lowcode/view/lc-components/Tree/meta.json +7 -0
  62. package/es/lowcode/view/lc-components/Wrapper.js +9 -11
  63. package/es/services.js +0 -24
  64. package/es/upload/FilesWall/file.png +0 -0
  65. package/es/upload/FilesWall/index.js +422 -0
  66. package/es/upload/FilesWall/index.less +74 -0
  67. package/es/upload/Form/index.js +2 -1
  68. package/es/upload/FormItem/index.js +2 -1
  69. package/es/upload/index.js +2 -1
  70. package/es/utils/action.js +2 -2
  71. package/lib/components/LDActions/index.less +1 -1
  72. package/lib/components/LdAutoForm/index.js +23 -7
  73. package/lib/components/LdFormList/index.js +25 -18
  74. package/lib/components/LdGrid/index.js +3 -2
  75. package/lib/components/LdGridForm/index.js +14 -4
  76. package/lib/components/LdTree/index.js +3 -2
  77. package/lib/helper/form.js +6 -3
  78. package/lib/locales/zh-CN.js +1 -0
  79. package/lib/lowcode/constants/api-url.js +14 -10
  80. package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +7 -4
  81. package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +6 -3
  82. package/lib/lowcode/engine/meta/dialog.props.default.json +10 -5
  83. package/lib/lowcode/engine/meta/dialog.props.json +72 -42
  84. package/lib/lowcode/engine/meta/form.props.json +3 -3
  85. package/lib/lowcode/engine/meta/table.props.json +4 -4
  86. package/lib/lowcode/engine/meta/tree.props.default.json +1 -0
  87. package/lib/lowcode/engine/meta/tree.props.json +7 -0
  88. package/lib/lowcode/engine/provider/ContextProvider/index.js +25 -41
  89. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +16 -20
  90. package/lib/lowcode/engine/tools/helper.js +2 -3
  91. package/lib/lowcode/engine/tools/useCanvasRender.js +3 -2
  92. package/lib/lowcode/engine/tools/usePageDataStore.js +181 -0
  93. package/lib/lowcode/engine/tools/usePromiseState.js +11 -21
  94. package/lib/lowcode/engine/tools/useTodo.js +19 -9
  95. package/lib/lowcode/painter/DesignOperator.js +10 -21
  96. package/lib/lowcode/painter/DesignToolbar.js +7 -43
  97. package/lib/lowcode/painter/Outline.js +1 -3
  98. package/lib/lowcode/painter/Panel.js +25 -24
  99. package/lib/lowcode/painter/components/ActionBindModal.js +5 -11
  100. package/lib/lowcode/painter/components/AttrsPanel.js +26 -19
  101. package/lib/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  102. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +3 -2
  103. package/lib/lowcode/painter/components/field-setting/SettingUI.js +7 -7
  104. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +10 -10
  105. package/lib/lowcode/painter/panel-section/ButtonType.js +4 -2
  106. package/lib/lowcode/painter/panel-section/DataSetSelector.js +4 -1
  107. package/lib/lowcode/painter/panel-section/FieldsSetting.js +5 -1
  108. package/lib/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  109. package/lib/lowcode/painter/panel-section/TreeRootEditor.js +2 -2
  110. package/lib/lowcode/painter/style/design.less +1 -1
  111. package/lib/lowcode/painter/style/panel-item.less +1 -1
  112. package/lib/lowcode/view/Canvas.js +5 -6
  113. package/lib/lowcode/view/Page.js +2 -3
  114. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +2 -9
  115. package/lib/lowcode/view/lc-components/Dialog/index.js +89 -19
  116. package/lib/lowcode/view/lc-components/Dialog/meta.json +65 -42
  117. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +20 -31
  118. package/lib/lowcode/view/lc-components/Form/index.js +20 -6
  119. package/lib/lowcode/view/lc-components/Form/meta.json +3 -3
  120. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +11 -18
  121. package/lib/lowcode/view/lc-components/PageContent/index.js +7 -8
  122. package/lib/lowcode/view/lc-components/PageFooter/index.js +2 -5
  123. package/lib/lowcode/view/lc-components/PageHeader/index.js +4 -5
  124. package/lib/lowcode/view/lc-components/PageModal/index.js +11 -14
  125. package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +2 -8
  126. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +10 -17
  127. package/lib/lowcode/view/lc-components/Table/index.js +66 -24
  128. package/lib/lowcode/view/lc-components/Table/meta.json +4 -4
  129. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +8 -16
  130. package/lib/lowcode/view/lc-components/Tree/index.js +8 -1
  131. package/lib/lowcode/view/lc-components/Tree/meta.json +7 -0
  132. package/lib/lowcode/view/lc-components/Wrapper.js +8 -10
  133. package/lib/services.js +0 -25
  134. package/lib/upload/FilesWall/file.png +0 -0
  135. package/lib/upload/FilesWall/index.js +429 -0
  136. package/lib/upload/FilesWall/index.less +74 -0
  137. package/lib/upload/Form/index.js +2 -1
  138. package/lib/upload/FormItem/index.js +2 -1
  139. package/lib/upload/index.js +8 -1
  140. package/lib/utils/action.js +2 -2
  141. package/package.json +4 -3
@@ -33,15 +33,7 @@ var DesignToolbar = function DesignToolbar(_ref) {
33
33
  var location = (0, _umi.useLocation)();
34
34
  var editorRef = (0, _react.useRef)();
35
35
  var context = (0, _ContextProvider.useContext)();
36
- var _usePageData = (0, _ContextProvider.usePageData)(),
37
- _usePageData2 = (0, _slicedToArray2.default)(_usePageData, 2),
38
- pageData = _usePageData2[0],
39
- _usePageData2$ = _usePageData2[1],
40
- setPageData = _usePageData2$.setPageData,
41
- back = _usePageData2$.back,
42
- forward = _usePageData2$.forward,
43
- backLength = _usePageData2$.backLength,
44
- forwardLength = _usePageData2$.forwardLength;
36
+ var pageData = (0, _ContextProvider.useGet)();
45
37
  var _ref2 = (0, _ContextProvider.useRemoteSource)() || {},
46
38
  pageinfo = _ref2.pageinfo;
47
39
  var _useState = (0, _react.useState)(null),
@@ -143,9 +135,10 @@ var DesignToolbar = function DesignToolbar(_ref) {
143
135
  var code = editorRef.current.editor.getValue();
144
136
  try {
145
137
  var data = JSON.parse(code);
146
- setPageData(data);
138
+ (0, _ContextProvider.resetPageData)(data);
147
139
  setShow(false);
148
140
  } catch (e) {
141
+ console.error(e);
149
142
  _antd.message.warning((0, _utils.formatMessage)({
150
143
  id: 'luckda.lowcode.error.pagedata',
151
144
  label: '页面数据错误'
@@ -220,35 +213,6 @@ var DesignToolbar = function DesignToolbar(_ref) {
220
213
  type: "mobile"
221
214
  })), /*#__PURE__*/_react.default.createElement(_antd.Divider, {
222
215
  type: "vertical"
223
- }), /*#__PURE__*/_react.default.createElement("span", {
224
- className: (0, _classnames.default)(_design.default['toolbar-item'], (0, _defineProperty2.default)({}, _design.default.disabled, backLength < 1)),
225
- onClick: function onClick() {
226
- return backLength > 0 && back();
227
- }
228
- }, /*#__PURE__*/_react.default.createElement("svg", {
229
- viewBox: "0 0 1024 1024",
230
- width: "20",
231
- height: "20",
232
- fill: "currentColor",
233
- style: {
234
- transform: 'rotateY(180deg)'
235
- }
236
- }, /*#__PURE__*/_react.default.createElement("path", {
237
- d: "M946.8 420L651.9 125.1c-19.5-19.5-52.7-5.7-52.7 21.8v174c-79.3-1.8-501.8 14.9-532.3 569.6-0.9 17.2 22.1 24.3 30.6 9.3C255 621 396.6 553.3 599.1 561.5v175.2c0 27.5 33.3 41.3 52.8 21.9l294.8-294.9c12.1-12.1 12.1-31.6 0.1-43.7z"
238
- }))), /*#__PURE__*/_react.default.createElement("span", {
239
- className: (0, _classnames.default)(_design.default['toolbar-item'], (0, _defineProperty2.default)({}, _design.default.disabled, forwardLength < 1)),
240
- onClick: function onClick() {
241
- return forwardLength > 0 && forward();
242
- }
243
- }, /*#__PURE__*/_react.default.createElement("svg", {
244
- viewBox: "0 0 1024 1024",
245
- width: "20",
246
- height: "20",
247
- fill: "currentColor"
248
- }, /*#__PURE__*/_react.default.createElement("path", {
249
- d: "M946.8 420L651.9 125.1c-19.5-19.5-52.7-5.7-52.7 21.8v174c-79.3-1.8-501.8 14.9-532.3 569.6-0.9 17.2 22.1 24.3 30.6 9.3C255 621 396.6 553.3 599.1 561.5v175.2c0 27.5 33.3 41.3 52.8 21.9l294.8-294.9c12.1-12.1 12.1-31.6 0.1-43.7z"
250
- }))), /*#__PURE__*/_react.default.createElement(_antd.Divider, {
251
- type: "vertical"
252
216
  }), /*#__PURE__*/_react.default.createElement("span", {
253
217
  style: {
254
218
  width: 'auto',
@@ -320,15 +284,15 @@ var DesignToolbar = function DesignToolbar(_ref) {
320
284
  return document.getElementById('lc-design-workspace');
321
285
  },
322
286
  zIndex: 3000,
323
- bodyStyle: {
324
- height: '70vh'
325
- },
326
287
  onOk: handleOk,
327
288
  onCancel: function onCancel() {
328
289
  return setShow(false);
329
290
  }
330
291
  }, /*#__PURE__*/_react.default.createElement(_JsonEditor.default, {
331
- ref: editorRef
292
+ ref: editorRef,
293
+ style: {
294
+ height: '70vh'
295
+ }
332
296
  }, JSON.stringify(pageData, null, '\t'))), /*#__PURE__*/_react.default.createElement(_antd.Drawer, {
333
297
  title: /*#__PURE__*/_react.default.createElement("div", {
334
298
  id: "preview-drawer-header",
@@ -27,9 +27,7 @@ var Outline = function Outline(_ref) {
27
27
  var open = _ref.open;
28
28
  var clickBySelf = (0, _react.useRef)(false);
29
29
  var ctx = (0, _ContextProvider.useContext)();
30
- var _usePageData = (0, _ContextProvider.usePageData)(),
31
- _usePageData2 = (0, _slicedToArray2.default)(_usePageData, 1),
32
- pageData = _usePageData2[0];
30
+ var pageData = (0, _ContextProvider.useGet)();
33
31
  var _useState = (0, _react.useState)(null),
34
32
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
35
33
  pageAndModal = _useState2[0],
@@ -19,7 +19,6 @@ var _ContextProvider = require("../engine/provider/ContextProvider");
19
19
  var _AttrsPanel = _interopRequireDefault(require("./components/AttrsPanel"));
20
20
  var _StylePanel = _interopRequireDefault(require("./panel-section/StylePanel"));
21
21
  var _AdvancePanel = _interopRequireDefault(require("./components/AdvancePanel"));
22
- var _dataProcess = require("../engine/tools/dataProcess");
23
22
  var _panel = _interopRequireDefault(require("./style/panel.less"));
24
23
  var _constants = require("../constants");
25
24
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel';
@@ -54,10 +53,7 @@ var Panel = function Panel() {
54
53
  activeTabKey = _useState4[0],
55
54
  setActiveTabKey = _useState4[1];
56
55
  var context = (0, _ContextProvider.useContext)();
57
- var _usePageData = (0, _ContextProvider.usePageData)(),
58
- _usePageData2 = (0, _slicedToArray2.default)(_usePageData, 2),
59
- pageData = _usePageData2[0],
60
- setPageData = _usePageData2[1].setPageData;
56
+ var task = (0, _ContextProvider.useTask)('modify');
61
57
  var meta = (0, _ahooks.useCreation)(function () {
62
58
  try {
63
59
  return (0, _lodash.isNil)(activeNode) ? null : require("../engine/meta/".concat(activeNode.node.component.toLowerCase(), ".props.json"));
@@ -65,38 +61,41 @@ var Panel = function Panel() {
65
61
  return null;
66
62
  }
67
63
  }, [activeNode]);
68
- var handleChange = (0, _ahooks.useMemoizedFn)(function (field, value, repositioning) {
64
+ var handleChange = (0, _ahooks.useMemoizedFn)(function (field, value) {
65
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
66
+ repositioning = _ref.repositioning,
67
+ before = _ref.before;
69
68
  if (field === 'enableHeader') {
70
69
  if (value) {
71
70
  var headerMeta = require("../engine/meta/pageheader.props.default.json");
72
- (0, _dataProcess.add)(pageData, _constants.LC_BUILDIN_UNIT_KEY.PAGE_ROOT, _constants.LC_BUILDIN_UNIT_KEY.PAGE_HEADER, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, headerMeta), {}, {
71
+ (0, _ContextProvider.addNode)(_constants.LC_BUILDIN_UNIT_KEY.PAGE_ROOT, _constants.LC_BUILDIN_UNIT_KEY.PAGE_HEADER, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, headerMeta), {}, {
73
72
  buildIn: true
74
73
  }));
75
74
  } else {
76
- (0, _dataProcess.deleteById)(pageData, _constants.LC_BUILDIN_UNIT_KEY.PAGE_HEADER);
75
+ (0, _ContextProvider.deleteNode)(_constants.LC_BUILDIN_UNIT_KEY.PAGE_HEADER);
77
76
  }
78
77
  } else if (field === 'enableFooter') {
79
78
  if (value) {
80
79
  var footerMeta = require("../engine/meta/pagefooter.props.default.json");
81
- (0, _dataProcess.add)(pageData, _constants.LC_BUILDIN_UNIT_KEY.PAGE_ROOT, _constants.LC_BUILDIN_UNIT_KEY.PAGE_FOOTER, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, footerMeta), {}, {
80
+ (0, _ContextProvider.addNode)(_constants.LC_BUILDIN_UNIT_KEY.PAGE_ROOT, _constants.LC_BUILDIN_UNIT_KEY.PAGE_FOOTER, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, footerMeta), {}, {
82
81
  buildIn: true
83
82
  }));
84
83
  } else {
85
- (0, _dataProcess.deleteById)(pageData, _constants.LC_BUILDIN_UNIT_KEY.PAGE_FOOTER);
84
+ (0, _ContextProvider.deleteNode)(_constants.LC_BUILDIN_UNIT_KEY.PAGE_FOOTER);
86
85
  }
87
86
  }
88
87
  var component = context.componentMap.get(activeNode.node.id);
89
- var _component$api$getSel = component.api.getSelfAndParentLCData(),
90
- node = _component$api$getSel.node;
88
+ var node = component.api.getSelfData();
91
89
  var oldValue = (0, _defineProperty2.default)({}, field, (0, _lodash.get)(node.props, field));
92
- var newNodeData = (0, _lodash.set)(node.props, field, value);
93
- (0, _dataProcess.modifyById)(pageData, activeNode.node.id, newNodeData);
94
- setPageData(pageData).then(function (newData) {
90
+ var newValue = (0, _defineProperty2.default)({}, field, value);
91
+ if (before) {
92
+ before(handleChange);
93
+ }
94
+ task(activeNode.node.id, newValue).then(function (a, b) {
95
95
  context.$publisher(context.topics.COMPONENT_MODIFY, {
96
96
  id: activeNode.node.id,
97
- pageData: newData,
98
97
  oldValue: oldValue,
99
- newValue: (0, _defineProperty2.default)({}, field, value)
98
+ newValue: newValue
100
99
  });
101
100
  if (repositioning) context.$publisher(context.topics.COMPONENT_REPOSITIONING, {
102
101
  id: activeNode.node.id
@@ -111,8 +110,7 @@ var Panel = function Panel() {
111
110
  return;
112
111
  }
113
112
  var component = context.componentMap.get(payload.id);
114
- var _component$api$getSel2 = component.api.getSelfAndParentLCData(),
115
- node = _component$api$getSel2.node;
113
+ var node = component.api.getSelfData();
116
114
  var levelNodes = (0, _lodash.takeRight)(component.api.getLevelNodes(), 4);
117
115
  setActiveNode({
118
116
  node: node.props,
@@ -135,9 +133,9 @@ var Panel = function Panel() {
135
133
  style: {
136
134
  fontSize: 12
137
135
  }
138
- }, activeNode === null || activeNode === void 0 ? void 0 : activeNode.level.map(function (_ref) {
139
- var id = _ref.id,
140
- name = _ref.name;
136
+ }, activeNode === null || activeNode === void 0 ? void 0 : activeNode.level.map(function (_ref2) {
137
+ var id = _ref2.id,
138
+ name = _ref2.name;
141
139
  return /*#__PURE__*/_react.default.createElement(_antd.Breadcrumb.Item, {
142
140
  key: id,
143
141
  className: (0, _classnames.default)((0, _defineProperty2.default)({}, _panel.default['active-node-level'], id !== activeNode.node.id)),
@@ -184,17 +182,20 @@ var Panel = function Panel() {
184
182
  ref: underLineRef,
185
183
  className: _panel.default.underline
186
184
  })), activeTabKey === _TAB_LIST_[0].key && /*#__PURE__*/_react.default.createElement(_AttrsPanel.default, {
185
+ key: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.id,
187
186
  meta: meta,
188
187
  value: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node,
189
- onChange: function onChange(field, value, repositioning) {
190
- return handleChange(field, value, repositioning);
188
+ onChange: function onChange(field, value, params) {
189
+ return handleChange(field, value, params);
191
190
  }
192
191
  }), activeTabKey === _TAB_LIST_[1].key && /*#__PURE__*/_react.default.createElement(_StylePanel.default, {
192
+ key: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.id,
193
193
  value: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.css,
194
194
  onChange: function onChange(_, newCss) {
195
195
  return handleChange('css', newCss);
196
196
  }
197
197
  }), activeTabKey === _TAB_LIST_[2].key && /*#__PURE__*/_react.default.createElement(_AdvancePanel.default, {
198
+ key: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.id,
198
199
  meta: meta,
199
200
  value: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.advance,
200
201
  onChange: function onChange(val) {
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
11
  var _react = _interopRequireWildcard(require("react"));
13
12
  var _ahooks = require("ahooks");
@@ -17,7 +16,6 @@ var _lodash = require("lodash");
17
16
  var _utils = require("@luck-design-biz/base/utils");
18
17
  var _ContextProvider = require("../../engine/provider/ContextProvider");
19
18
  var _JSEditor = _interopRequireDefault(require("./code-editor/JSEditor"));
20
- var _JsonEditor = _interopRequireDefault(require("./code-editor/JsonEditor"));
21
19
  var _actionBindModal = _interopRequireDefault(require("../style/action-bind-modal.less"));
22
20
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.actionBindModal';
23
21
  var _ACTION_CATEGORY_ = [{
@@ -39,7 +37,7 @@ var _ACTION_CATEGORY_ = [{
39
37
  label: '自定义动作'
40
38
  })
41
39
  }];
42
- var _DEFAULT_JSON_CODE_ = '{"datasetCode": "","params":{},"body":{}}';
40
+ var _DEFAULT_JSON_CODE_ = '{"params":{},"data":{}}';
43
41
  var _DEFAULT_JS_CODE_ = 'function todo() {\n\n}';
44
42
  var ActionBindModal = function ActionBindModal(_ref) {
45
43
  var event = _ref.event,
@@ -89,7 +87,7 @@ var ActionBindModal = function ActionBindModal(_ref) {
89
87
  target = _ref3[1];
90
88
  ret.push({
91
89
  key: key,
92
- label: "".concat(target.api.getSelfAndParentLCData().node.props.name, "(").concat(key, ")")
90
+ label: "".concat(target.api.getSelfData().props.name, "(").concat(key, ")")
93
91
  });
94
92
  return ret;
95
93
  }, []);
@@ -125,9 +123,7 @@ var ActionBindModal = function ActionBindModal(_ref) {
125
123
  if (actionPool.has(key)) {
126
124
  action = get(key);
127
125
  } else {
128
- var code = category === 'custom' ? event.func || defaultCode : JSON.stringify((0, _objectSpread2.default)({
129
- moduleCode: module.moduleCode
130
- }, JSON.parse(_DEFAULT_JSON_CODE_)), null, '\t');
126
+ var code = event.func || (category === 'custom' ? defaultCode : "".concat(defaultCode.slice(0, -1), "\n\treturn ").concat(_DEFAULT_JSON_CODE_, " \n}"));
131
127
  action = {
132
128
  category: category,
133
129
  key: key,
@@ -141,9 +137,7 @@ var ActionBindModal = function ActionBindModal(_ref) {
141
137
  if (activeKey !== key) {
142
138
  setActiveKey(key);
143
139
  }
144
- var code = category === 'custom' ? event.func || defaultCode : JSON.stringify((0, _objectSpread2.default)({
145
- moduleCode: module.moduleCode
146
- }, JSON.parse(_DEFAULT_JSON_CODE_)), null, '\t');
140
+ var code = event.func || (category === 'custom' ? defaultCode : "".concat(defaultCode.slice(0, -1), "\n\treturn ").concat(_DEFAULT_JSON_CODE_, " \n}"));
147
141
  set(key, {
148
142
  category: category,
149
143
  key: key,
@@ -278,7 +272,7 @@ var ActionBindModal = function ActionBindModal(_ref) {
278
272
  type: "exclamation-circle"
279
273
  }))), /*#__PURE__*/_react.default.createElement("div", {
280
274
  className: _actionBindModal.default['code-box']
281
- }, activeKey ? /*#__PURE__*/_react.default.createElement(_JsonEditor.default, {
275
+ }, activeKey ? /*#__PURE__*/_react.default.createElement(_JSEditor.default, {
282
276
  ref: editorRef,
283
277
  onChange: handleEditorValueChange.current
284
278
  }) : (0, _utils.formatMessage)({
@@ -35,9 +35,14 @@ var AttrsPanel = function AttrsPanel(_ref) {
35
35
  setTrue = _useBoolean2$.setTrue,
36
36
  setFalse = _useBoolean2$.setFalse;
37
37
  var context = (0, _ContextProvider.useContext)();
38
- var handleChange = (0, _ahooks.useMemoizedFn)(function (field, val, repositioning) {
38
+ var handleChange = (0, _ahooks.useMemoizedFn)(function (field, val, _ref2) {
39
39
  var _nextRef$current;
40
- onChange(field, val, repositioning);
40
+ var repositioning = _ref2.repositioning,
41
+ before = _ref2.before;
42
+ onChange(field, val, {
43
+ repositioning: repositioning,
44
+ before: before
45
+ });
41
46
  if ((_nextRef$current = nextRef.current) !== null && _nextRef$current !== void 0 && _nextRef$current.autoClose) {
42
47
  setFalse();
43
48
  }
@@ -52,21 +57,20 @@ var AttrsPanel = function AttrsPanel(_ref) {
52
57
  setTrue();
53
58
  });
54
59
  var renderPanelItems = (0, _ahooks.useMemoizedFn)(function (items, dynamicProps) {
55
- var _context$componentMap = context.componentMap.get(value.id).api.getSelfAndParentLCData(),
56
- node = _context$componentMap.node;
57
- return items.map(function (_ref2) {
58
- var type = _ref2.type,
59
- key = _ref2.key,
60
- valueKey = _ref2.valueKey,
61
- name = _ref2.name,
62
- desc = _ref2.desc,
63
- defaultValue = _ref2.default,
64
- props = _ref2.props,
65
- wrapper = _ref2.wrapper,
66
- wrapperProps = _ref2.wrapperProps,
67
- next = _ref2.next,
68
- repositioning = _ref2.repositioning,
69
- rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
60
+ var node = context.componentMap.get(value.id).api.getSelfData();
61
+ return items.map(function (_ref3) {
62
+ var type = _ref3.type,
63
+ key = _ref3.key,
64
+ valueKey = _ref3.valueKey,
65
+ name = _ref3.name,
66
+ desc = _ref3.desc,
67
+ defaultValue = _ref3.default,
68
+ props = _ref3.props,
69
+ wrapper = _ref3.wrapper,
70
+ wrapperProps = _ref3.wrapperProps,
71
+ next = _ref3.next,
72
+ repositioning = _ref3.repositioning,
73
+ rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
70
74
  var Comp = factory.current.getPanelItemFor((0, _lodash.startsWith)(type, '_') ? 'dynamic' : type, type);
71
75
  if (type === 'group') {
72
76
  return /*#__PURE__*/_react.default.createElement(Comp, {
@@ -89,8 +93,11 @@ var AttrsPanel = function AttrsPanel(_ref) {
89
93
  next: next !== null && next !== void 0 && next.props ? function (_dp) {
90
94
  return goNext(next, _dp);
91
95
  } : null,
92
- onChange: function onChange(val) {
93
- return handleChange(valueKey || key, val, repositioning);
96
+ onChange: function onChange(val, before) {
97
+ return handleChange(valueKey || key, val, {
98
+ repositioning: repositioning,
99
+ before: before
100
+ });
94
101
  },
95
102
  size: "small",
96
103
  settings: node.props,
@@ -70,7 +70,7 @@ function _default(_ref) {
70
70
  }
71
71
  function pubEvent(event, eventName, ctx) {
72
72
  if (event.active && event.over && event.active.data.current.id !== event.over.data.current.id) {
73
- var parentNode = ctx.componentMap.get(event.over.data.current.id).api.getSelfAndParentLCData().parent;
73
+ var parentNode = ctx.componentMap.get(event.over.data.current.id).api.getSelfAndParentData().parent;
74
74
 
75
75
  // console.log('event.over.data.current.type', event.over.data.current.type)
76
76
  var actionSide = getAction(event.over.data.current.type, event.over.data.current.component.component, event.active.rect.current.translated, event.over.rect, parentNode);
@@ -11,7 +11,7 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
11
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var monaco = _interopRequireWildcard(require("monaco-editor"));
14
- var _excluded = ["onChange", "isFullscreen"],
14
+ var _excluded = ["onChange", "isFullscreen", "style"],
15
15
  _excluded2 = ["children", "language", "options"];
16
16
  /**
17
17
  * BaseEditor 组件是一个封装了 monaco 编辑器的 React 组件,支持前向 ref 引用。
@@ -49,6 +49,7 @@ var _excluded = ["onChange", "isFullscreen"],
49
49
  var BaseEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
50
50
  var onChange = _ref.onChange,
51
51
  isFullscreen = _ref.isFullscreen,
52
+ style = _ref.style,
52
53
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
54
  var children = props.children,
54
55
  _props$language = props.language,
@@ -109,7 +110,7 @@ var BaseEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
109
110
  };
110
111
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
111
112
  ref: editorRef,
112
- style: editorStyle
113
+ style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, editorStyle), style)
113
114
  }, rest));
114
115
  });
115
116
  var _default = exports.default = /*#__PURE__*/_react.default.memo(BaseEditor);
@@ -191,7 +191,7 @@ var SettingUI = function SettingUI(_ref) {
191
191
  onChange: function onChange(e) {
192
192
  return onAliasChange(fieldData, e.target.value);
193
193
  }
194
- })) : null, component === 'table' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
194
+ })) : null, (component === 'table' || component === 'tableForm') && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
195
195
  label: (0, _utils.formatMessage)({
196
196
  id: "".concat(_I18N_PREFIX_, ".width"),
197
197
  label: '列宽'
@@ -293,8 +293,8 @@ var SettingUI = function SettingUI(_ref) {
293
293
  })
294
294
  }, /*#__PURE__*/_react.default.createElement(_antd.Input, {
295
295
  defaultValue: fieldData.note,
296
- onChange: function onChange(val) {
297
- return runDebounce('note', val);
296
+ onChange: function onChange(e) {
297
+ return runDebounce('note', e.target.value);
298
298
  },
299
299
  size: "small"
300
300
  })), /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
@@ -304,8 +304,8 @@ var SettingUI = function SettingUI(_ref) {
304
304
  })
305
305
  }, /*#__PURE__*/_react.default.createElement(_antd.Input, {
306
306
  defaultValue: fieldData.tip,
307
- onChange: function onChange(val) {
308
- return runDebounce('tip', val);
307
+ onChange: function onChange(e) {
308
+ return runDebounce('tip', e.target.value);
309
309
  },
310
310
  size: "small"
311
311
  })), /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
@@ -315,8 +315,8 @@ var SettingUI = function SettingUI(_ref) {
315
315
  })
316
316
  }, /*#__PURE__*/_react.default.createElement(_antd.Input, {
317
317
  defaultValue: fieldData.placeholder,
318
- onChange: function onChange(val) {
319
- return runDebounce('placeholder', val);
318
+ onChange: function onChange(e) {
319
+ return runDebounce('placeholder', e.target.value);
320
320
  },
321
321
  size: "small"
322
322
  }))), !isBatch ? /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
@@ -8,7 +8,6 @@ exports.default = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
10
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
11
  var _react = _interopRequireDefault(require("react"));
13
12
  var _ahooks = require("ahooks");
14
13
  var _antd = require("luck-design/antd");
@@ -56,11 +55,9 @@ var BlockEditor = function BlockEditor(_ref) {
56
55
  nodeId = _ref.nodeId,
57
56
  renderPanelItems = _ref.renderPanelItems,
58
57
  innerProps = _ref.innerProps;
59
- var _usePageData = (0, _ContextProvider.usePageData)({
60
- id: nodeId
61
- }),
62
- _usePageData2 = (0, _slicedToArray2.default)(_usePageData, 1),
63
- node = _usePageData2[0];
58
+ var node = (0, _ContextProvider.useGet)({
59
+ id: nodeId
60
+ });
64
61
  var _ref2 = node || {
65
62
  props: {}
66
63
  },
@@ -118,7 +115,6 @@ var BlockEditor = function BlockEditor(_ref) {
118
115
  order: index + 1
119
116
  });
120
117
  });
121
- console.log('newData', newData, sortItems);
122
118
  onChange(newData);
123
119
  });
124
120
  var menu = (0, _ahooks.useCreation)(function () {
@@ -170,7 +166,9 @@ var BlockEditor = function BlockEditor(_ref) {
170
166
  }, renderPanelItems(commonProps.map(function (p) {
171
167
  var cloneP = (0, _lodash.cloneDeep)(p);
172
168
  if (cloneP.key === 'dataset') {
173
- cloneP.next.props[0].valueKey = "blocks[0].fields";
169
+ var _valueKey = 'blocks[0].fields';
170
+ cloneP.next.props[0].valueKey = _valueKey;
171
+ cloneP.beforeChangeKey = _valueKey;
174
172
  }
175
173
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, cloneP), {}, {
176
174
  disabled: (0, _lodash.includes)(['mode', 'serialEffect'], cloneP.key) || cloneP.disabled,
@@ -215,8 +213,10 @@ var BlockEditor = function BlockEditor(_ref) {
215
213
  cloneP.valueKey = "blocks[".concat(i + 1, "].").concat(p.key);
216
214
  if (p.key === 'dataset') {
217
215
  if ((0, _lodash.includes)(['auto', 'grid', 'writer'], blockItem.type)) {
218
- if (blockItem.type !== 'auto') cloneP.next.props[0].component = "table";
219
- cloneP.next.props[0].valueKey = "blocks[".concat(i + 1, "].fields");
216
+ if (blockItem.type !== 'auto') cloneP.next.props[0].component = "tableForm";
217
+ var _valueKey = "blocks[".concat(i + 1, "].fields");
218
+ cloneP.next.props[0].valueKey = _valueKey;
219
+ cloneP.beforeChangeKey = _valueKey;
220
220
  result.push(cloneP);
221
221
  }
222
222
  } else result.push(cloneP);
@@ -12,10 +12,12 @@ var _antd = require("luck-design/antd");
12
12
  var _buttonType = _interopRequireDefault(require("../style/button-type.less"));
13
13
  var _excluded = ["onChange"];
14
14
  var ButtonType = function ButtonType(_ref) {
15
- var onChange = _ref.onChange,
15
+ var _onChange = _ref.onChange,
16
16
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
17
17
  return /*#__PURE__*/_react.default.createElement(_antd.Select, (0, _extends2.default)({}, props, {
18
- onChange: onChange,
18
+ onChange: function onChange(val) {
19
+ return _onChange(val);
20
+ },
19
21
  className: _buttonType.default['lc-painter-panel-section-components-buttontype']
20
22
  }), /*#__PURE__*/_react.default.createElement(_antd.Select.Option, {
21
23
  value: "primary"
@@ -22,6 +22,7 @@ var Div = _styledComponents.default.div.withConfig({
22
22
  var DataSetSelector = function DataSetSelector(_ref) {
23
23
  var defaultValue = _ref.defaultValue,
24
24
  onChange = _ref.onChange,
25
+ beforeChangeKey = _ref.beforeChangeKey,
25
26
  size = _ref.size,
26
27
  isTree = _ref.isTree,
27
28
  next = _ref.next;
@@ -83,7 +84,9 @@ var DataSetSelector = function DataSetSelector(_ref) {
83
84
  code: value,
84
85
  uid: key
85
86
  };
86
- onChange(_ds);
87
+ onChange(_ds, function (_beforeChange) {
88
+ return _beforeChange(beforeChangeKey, []);
89
+ });
87
90
  setCurrentDataset(_ds);
88
91
  }
89
92
  case 11:
@@ -24,7 +24,7 @@ var _apiUrl = require("../../constants/api-url");
24
24
  var _helper = require("../../engine/tools/helper");
25
25
  var _fieldsSetting = _interopRequireDefault(require("../style/fields-setting.less"));
26
26
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.fieldsSetting';
27
- var _PICK_KEYS_ = ['id', 'uid', 'field', 'width', 'align', 'headerAlign', 'pinned', 'tip', 'col', 'row', 'note', 'placeholder'];
27
+ var _PICK_KEYS_ = ['id', 'uid', 'field', 'width', 'align', 'headerAlign', 'pinned', 'tip', 'col', 'row', 'note', 'placeholder', 'fieldAliasName'];
28
28
  var Header = _styledComponents.default.div.withConfig({
29
29
  displayName: "Header",
30
30
  componentId: "luckda-6530__sc-gcwvp1-0"
@@ -135,6 +135,10 @@ var FieldsSetting = function FieldsSetting(_ref) {
135
135
  var col = gridApi.columnApi.getColumn(field.field);
136
136
  col.colDef.headerName = value;
137
137
  gridApi.api.refreshHeader();
138
+ } else if (component === 'form') {
139
+ handleChange(fields);
140
+ } else if (component === 'tableForm') {
141
+ handleChange(fields);
138
142
  }
139
143
  });
140
144
  }, {
@@ -15,7 +15,7 @@ var Div = _styledComponents.default.div.withConfig({
15
15
  })(["display:flex;align-items:center;"]);
16
16
  var SerialsSelector = function SerialsSelector(_ref) {
17
17
  var defaultValue = _ref.defaultValue,
18
- onChange = _ref.onChange,
18
+ _onChange = _ref.onChange,
19
19
  size = _ref.size;
20
20
  var _useRemoteSource = (0, _ContextProvider.useRemoteSource)(),
21
21
  serials = _useRemoteSource.serials,
@@ -25,7 +25,9 @@ var SerialsSelector = function SerialsSelector(_ref) {
25
25
  defaultValue: defaultValue,
26
26
  size: size,
27
27
  allowClear: true,
28
- onChange: onChange,
28
+ onChange: function onChange(val) {
29
+ return _onChange(val);
30
+ },
29
31
  getPopupContainer: function getPopupContainer() {
30
32
  return document.getElementById('lc-design-workspace');
31
33
  },
@@ -63,8 +63,8 @@ var TreeRootEditor = function TreeRootEditor(_ref) {
63
63
  }
64
64
  }))), /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
65
65
  title: (0, _utils.formatMessage)({
66
- id: 'luckda.lowcode.painter.edit',
67
- label: '编辑'
66
+ id: 'luckda.lowcode.painter.bind',
67
+ label: '绑定动作'
68
68
  })
69
69
  }, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
70
70
  type: "paper-clip",
@@ -123,7 +123,7 @@
123
123
  .selector-item();
124
124
  }
125
125
 
126
- :local {
126
+ :global {
127
127
  .instance-node-selector {
128
128
  padding: 0 6px;
129
129
  margin-right: 3px;
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  /* 使.item-component-box的直接子元素铺满 */
35
- .item-component > *:not(.ant-switch) {
35
+ .item-component > *:not(:global(.ant-switch)) {
36
36
  flex-grow: 1;
37
37
  }
38
38
  .panel-pointer {
@@ -25,12 +25,11 @@ var PageRoot = _styledComponents.default.div.withConfig({
25
25
  });
26
26
  var Canvas = function Canvas(_ref) {
27
27
  var className = _ref.className;
28
- var _usePageData = (0, _ContextProvider.usePageData)(['props.css', 'props.enableHeader', 'props.enableFooter']),
29
- _usePageData2 = (0, _slicedToArray2.default)(_usePageData, 1),
30
- _usePageData2$ = (0, _slicedToArray2.default)(_usePageData2[0], 3),
31
- pagerootCss = _usePageData2$[0],
32
- enableHeader = _usePageData2$[1],
33
- enableFooter = _usePageData2$[2];
28
+ var _useGet = (0, _ContextProvider.useGet)(['props.css', 'props.enableHeader', 'props.enableFooter']),
29
+ _useGet2 = (0, _slicedToArray2.default)(_useGet, 3),
30
+ pagerootCss = _useGet2[0],
31
+ enableHeader = _useGet2[1],
32
+ enableFooter = _useGet2[2];
34
33
  return /*#__PURE__*/_react.default.createElement(PageRoot, {
35
34
  id: "page-canvas",
36
35
  className: (0, _classnames.default)(_canvas.default['lc-view-canvas'], (0, _defineProperty2.default)({}, className, !!className)),
@@ -31,8 +31,7 @@ var LCPage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
31
31
  var _ref = (0, _react.useRef)(null);
32
32
  var _rootRef = ref || _ref;
33
33
  var _useRemoteSource = (0, _ContextProvider.useRemoteSource)(),
34
- loading = _useRemoteSource.loading,
35
- pageData = _useRemoteSource.pageData;
34
+ loading = _useRemoteSource.loading;
36
35
  var getTargetDom = (0, _ahooks.useMemoizedFn)(function () {
37
36
  return _rootRef.current;
38
37
  });
@@ -42,6 +41,6 @@ var LCPage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
42
41
  }, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
43
42
  ref: _rootRef,
44
43
  className: (0, _classnames.default)(_page.default['lc-view-page'], (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _page.default.isloading, loading), className, !!className))
45
- }, props), (0, _lodash.isNil)(pageData) ? null : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Canvas.default, null), loading ? /*#__PURE__*/_react.default.createElement(Masker, null, /*#__PURE__*/_react.default.createElement(_Loading.default, null)) : null)));
44
+ }, props), /*#__PURE__*/_react.default.createElement(_Canvas.default, null), loading ? /*#__PURE__*/_react.default.createElement(Masker, null, /*#__PURE__*/_react.default.createElement(_Loading.default, null)) : null));
46
45
  });
47
46
  var _default = exports.default = LCPage;