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

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 (187) hide show
  1. package/es/components/LDActions/index.js +8 -10
  2. package/es/components/LDActions/index.less +7 -4
  3. package/es/components/LdAutoForm/index.js +8 -6
  4. package/es/components/LdFormList/index.js +12 -4
  5. package/es/components/LdGrid/index.js +11 -5
  6. package/es/components/LdGridForm/index.js +4 -2
  7. package/es/components/LdTree/index.js +30 -13
  8. package/es/helper/form.js +9 -5
  9. package/es/locales/zh-CN.js +15 -10
  10. package/es/lowcode/constants/api-url.js +112 -26
  11. package/es/lowcode/constants/event-topics.js +2 -0
  12. package/es/lowcode/engine/meta/box.props.json +3 -3
  13. package/es/lowcode/engine/meta/button.props.json +3 -3
  14. package/es/lowcode/engine/meta/components-list.json +6 -0
  15. package/es/lowcode/engine/meta/dialog.props.json +5 -5
  16. package/es/lowcode/engine/meta/drawer.props.json +8 -20
  17. package/es/lowcode/engine/meta/form.props.json +13 -7
  18. package/es/lowcode/engine/meta/imex.props.default.json +8 -1
  19. package/es/lowcode/engine/meta/imex.props.json +54 -22
  20. package/es/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
  21. package/es/lowcode/engine/meta/layout.props.json +2 -2
  22. package/es/lowcode/engine/meta/page.props.json +2 -2
  23. package/es/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  24. package/es/lowcode/engine/meta/pagelayout.props.json +47 -0
  25. package/es/lowcode/engine/meta/section.props.json +2 -2
  26. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  27. package/es/lowcode/engine/meta/split.props.json +4 -4
  28. package/es/lowcode/engine/meta/table.props.json +15 -9
  29. package/es/lowcode/engine/meta/tabs.props.json +3 -3
  30. package/es/lowcode/engine/meta/tree.props.default.json +1 -0
  31. package/es/lowcode/engine/meta/tree.props.json +55 -6
  32. package/es/lowcode/engine/provider/ContextProvider/index.js +12 -3
  33. package/es/lowcode/engine/provider/RemoteSourceProvider.js +55 -6
  34. package/es/lowcode/engine/tools/dataProcess.js +4 -0
  35. package/es/lowcode/engine/tools/usePageDataStore.js +4 -2
  36. package/es/lowcode/painter/DesignOperator.js +1 -1
  37. package/es/lowcode/painter/DesignToolbar.js +2 -1
  38. package/es/lowcode/painter/Panel.js +3 -3
  39. package/es/lowcode/painter/components/ActionBindModal.js +25 -13
  40. package/es/lowcode/painter/components/AdvancePanel.js +6 -1
  41. package/es/lowcode/painter/components/AttrsPanel.js +13 -11
  42. package/es/lowcode/painter/components/field-setting/CheckFrontRules.js +108 -0
  43. package/es/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  44. package/es/lowcode/painter/components/field-setting/FieldRulesModal.js +33 -13
  45. package/es/lowcode/painter/components/field-setting/SettingUI.js +156 -24
  46. package/es/lowcode/painter/components/field-setting/index.js +32 -63
  47. package/es/lowcode/painter/components/field-setting/meta/frontRules.js +53 -0
  48. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +6 -9
  49. package/es/lowcode/painter/panel-section/FieldsSetting.js +53 -12
  50. package/es/lowcode/painter/panel-section/ImpExp.js +93 -6
  51. package/es/lowcode/painter/panel-section/ImpExpAlone.js +109 -0
  52. package/es/lowcode/painter/panel-section/PageLayoutDisplay.js +95 -0
  53. package/es/lowcode/painter/panel-section/SplitDisplay.js +25 -110
  54. package/es/lowcode/painter/panel-section/StylePanel/index.js +10 -4
  55. package/es/lowcode/painter/style/action-bind-modal.less +3 -3
  56. package/es/lowcode/painter/style/page-layout-display.less +28 -0
  57. package/es/lowcode/painter/style/split-display.less +0 -9
  58. package/es/lowcode/preview/index.js +4 -2
  59. package/es/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
  60. package/es/lowcode/view/lc-components/Box/meta.json +3 -3
  61. package/es/lowcode/view/lc-components/Button/index.js +2 -6
  62. package/es/lowcode/view/lc-components/Button/meta.json +3 -3
  63. package/es/lowcode/view/lc-components/Dialog/index.js +27 -2
  64. package/es/lowcode/view/lc-components/Dialog/meta.json +5 -5
  65. package/es/lowcode/view/lc-components/Drawer/meta.json +8 -20
  66. package/es/lowcode/view/lc-components/Form/FunctionPreview.js +8 -1
  67. package/es/lowcode/view/lc-components/Form/index.js +99 -21
  68. package/es/lowcode/view/lc-components/Form/meta.json +13 -7
  69. package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +8 -3
  70. package/es/lowcode/view/lc-components/ImEx/index.js +260 -10
  71. package/es/lowcode/view/lc-components/ImEx/index.less +7 -0
  72. package/es/lowcode/view/lc-components/ImEx/meta.json +55 -23
  73. package/es/lowcode/view/lc-components/Layout/meta.json +2 -2
  74. package/es/lowcode/view/lc-components/Page/meta.json +2 -2
  75. package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +63 -0
  76. package/es/lowcode/view/lc-components/PageLayout/FunctionLive.js +10 -0
  77. package/es/lowcode/view/lc-components/PageLayout/FunctionPreview.js +10 -0
  78. package/es/lowcode/view/lc-components/PageLayout/index.js +32 -0
  79. package/es/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  80. package/es/lowcode/view/lc-components/Section/meta.json +2 -2
  81. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +11 -5
  82. package/es/lowcode/view/lc-components/Split/index.js +5 -9
  83. package/es/lowcode/view/lc-components/Split/meta.json +4 -4
  84. package/es/lowcode/view/lc-components/Table/components/TopImex.js +138 -0
  85. package/es/lowcode/view/lc-components/Table/index.js +60 -17
  86. package/es/lowcode/view/lc-components/Table/meta.json +15 -9
  87. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +1 -0
  88. package/es/lowcode/view/lc-components/Tabs/index.js +3 -1
  89. package/es/lowcode/view/lc-components/Tabs/meta.json +3 -3
  90. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -1
  91. package/es/lowcode/view/lc-components/Tree/index.js +60 -18
  92. package/es/lowcode/view/lc-components/Tree/meta.json +55 -7
  93. package/es/upload/FormItem/index.js +1 -4
  94. package/lib/components/LDActions/index.js +7 -9
  95. package/lib/components/LDActions/index.less +7 -4
  96. package/lib/components/LdAutoForm/index.js +7 -5
  97. package/lib/components/LdFormList/index.js +11 -3
  98. package/lib/components/LdGrid/index.js +11 -5
  99. package/lib/components/LdGridForm/index.js +4 -2
  100. package/lib/components/LdTree/index.js +30 -13
  101. package/lib/helper/form.js +8 -4
  102. package/lib/locales/zh-CN.js +15 -10
  103. package/lib/lowcode/constants/api-url.js +113 -26
  104. package/lib/lowcode/constants/event-topics.js +3 -1
  105. package/lib/lowcode/engine/meta/box.props.json +3 -3
  106. package/lib/lowcode/engine/meta/button.props.json +3 -3
  107. package/lib/lowcode/engine/meta/components-list.json +6 -0
  108. package/lib/lowcode/engine/meta/dialog.props.json +5 -5
  109. package/lib/lowcode/engine/meta/drawer.props.json +8 -20
  110. package/lib/lowcode/engine/meta/form.props.json +13 -7
  111. package/lib/lowcode/engine/meta/imex.props.default.json +8 -1
  112. package/lib/lowcode/engine/meta/imex.props.json +54 -22
  113. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
  114. package/lib/lowcode/engine/meta/layout.props.json +2 -2
  115. package/lib/lowcode/engine/meta/page.props.json +2 -2
  116. package/lib/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  117. package/lib/lowcode/engine/meta/pagelayout.props.json +47 -0
  118. package/lib/lowcode/engine/meta/section.props.json +2 -2
  119. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  120. package/lib/lowcode/engine/meta/split.props.json +4 -4
  121. package/lib/lowcode/engine/meta/table.props.json +15 -9
  122. package/lib/lowcode/engine/meta/tabs.props.json +3 -3
  123. package/lib/lowcode/engine/meta/tree.props.default.json +1 -0
  124. package/lib/lowcode/engine/meta/tree.props.json +55 -6
  125. package/lib/lowcode/engine/provider/ContextProvider/index.js +11 -2
  126. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +54 -5
  127. package/lib/lowcode/engine/tools/dataProcess.js +4 -0
  128. package/lib/lowcode/engine/tools/usePageDataStore.js +4 -2
  129. package/lib/lowcode/painter/DesignOperator.js +1 -1
  130. package/lib/lowcode/painter/DesignToolbar.js +2 -1
  131. package/lib/lowcode/painter/Panel.js +3 -3
  132. package/lib/lowcode/painter/components/ActionBindModal.js +23 -11
  133. package/lib/lowcode/painter/components/AdvancePanel.js +6 -1
  134. package/lib/lowcode/painter/components/AttrsPanel.js +12 -10
  135. package/lib/lowcode/painter/components/field-setting/CheckFrontRules.js +116 -0
  136. package/lib/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  137. package/lib/lowcode/painter/components/field-setting/FieldRulesModal.js +34 -13
  138. package/lib/lowcode/painter/components/field-setting/SettingUI.js +153 -21
  139. package/lib/lowcode/painter/components/field-setting/index.js +32 -63
  140. package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +59 -0
  141. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +6 -9
  142. package/lib/lowcode/painter/panel-section/FieldsSetting.js +53 -12
  143. package/lib/lowcode/painter/panel-section/ImpExp.js +92 -5
  144. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +115 -0
  145. package/lib/lowcode/painter/panel-section/PageLayoutDisplay.js +103 -0
  146. package/lib/lowcode/painter/panel-section/SplitDisplay.js +24 -109
  147. package/lib/lowcode/painter/panel-section/StylePanel/index.js +10 -4
  148. package/lib/lowcode/painter/style/action-bind-modal.less +3 -3
  149. package/lib/lowcode/painter/style/page-layout-display.less +28 -0
  150. package/lib/lowcode/painter/style/split-display.less +0 -9
  151. package/lib/lowcode/preview/index.js +4 -2
  152. package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
  153. package/lib/lowcode/view/lc-components/Box/meta.json +3 -3
  154. package/lib/lowcode/view/lc-components/Button/index.js +2 -6
  155. package/lib/lowcode/view/lc-components/Button/meta.json +3 -3
  156. package/lib/lowcode/view/lc-components/Dialog/index.js +29 -4
  157. package/lib/lowcode/view/lc-components/Dialog/meta.json +5 -5
  158. package/lib/lowcode/view/lc-components/Drawer/meta.json +8 -20
  159. package/lib/lowcode/view/lc-components/Form/FunctionPreview.js +8 -1
  160. package/lib/lowcode/view/lc-components/Form/index.js +96 -18
  161. package/lib/lowcode/view/lc-components/Form/meta.json +13 -7
  162. package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +8 -3
  163. package/lib/lowcode/view/lc-components/ImEx/index.js +257 -8
  164. package/lib/lowcode/view/lc-components/ImEx/index.less +7 -0
  165. package/lib/lowcode/view/lc-components/ImEx/meta.json +55 -23
  166. package/lib/lowcode/view/lc-components/Layout/meta.json +2 -2
  167. package/lib/lowcode/view/lc-components/Page/meta.json +2 -2
  168. package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +71 -0
  169. package/lib/lowcode/view/lc-components/PageLayout/FunctionLive.js +17 -0
  170. package/lib/lowcode/view/lc-components/PageLayout/FunctionPreview.js +17 -0
  171. package/lib/lowcode/view/lc-components/PageLayout/index.js +40 -0
  172. package/lib/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  173. package/lib/lowcode/view/lc-components/Section/meta.json +2 -2
  174. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +12 -6
  175. package/lib/lowcode/view/lc-components/Split/index.js +2 -6
  176. package/lib/lowcode/view/lc-components/Split/meta.json +4 -4
  177. package/lib/lowcode/view/lc-components/Table/components/TopImex.js +145 -0
  178. package/lib/lowcode/view/lc-components/Table/index.js +59 -16
  179. package/lib/lowcode/view/lc-components/Table/meta.json +15 -9
  180. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +3 -2
  181. package/lib/lowcode/view/lc-components/Tabs/index.js +3 -1
  182. package/lib/lowcode/view/lc-components/Tabs/meta.json +3 -3
  183. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -1
  184. package/lib/lowcode/view/lc-components/Tree/index.js +58 -16
  185. package/lib/lowcode/view/lc-components/Tree/meta.json +55 -7
  186. package/lib/upload/FormItem/index.js +1 -4
  187. package/package.json +2 -2
@@ -6,7 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
14
  var _react = _interopRequireWildcard(require("react"));
12
15
  var _ahooks = require("ahooks");
@@ -21,6 +24,7 @@ var _WidthHeight = _interopRequireDefault(require("../../panel-section/WidthHeig
21
24
  var _FieldAttrsModal = _interopRequireDefault(require("./FieldAttrsModal"));
22
25
  var _FieldRulesModal = _interopRequireDefault(require("./FieldRulesModal"));
23
26
  var _apiUrl = require("../../../constants/api-url");
27
+ var _frontRules = require("./meta/frontRules");
24
28
  var _constants = require("../../../constants");
25
29
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.fieldsSetting';
26
30
  var _ALIGN_OPTIONS_ = [{
@@ -108,12 +112,16 @@ var SettingUI = function SettingUI(_ref) {
108
112
  setRules = _useState6[1];
109
113
  var _useState7 = (0, _react.useState)(null),
110
114
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
111
- condition = _useState8[0],
112
- setCondition = _useState8[1];
115
+ frontRules = _useState8[0],
116
+ setFrontRules = _useState8[1];
113
117
  var _useState9 = (0, _react.useState)(null),
114
118
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
115
- optionalFields = _useState10[0],
116
- setOptionalFields = _useState10[1];
119
+ condition = _useState10[0],
120
+ setCondition = _useState10[1];
121
+ var _useState11 = (0, _react.useState)(null),
122
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
123
+ optionalFields = _useState12[0],
124
+ setOptionalFields = _useState12[1];
117
125
  var fieldData = isBatch ? {} : data;
118
126
  var _useRequest = (0, _ahooks.useRequest)(_apiUrl.fetchFieldCondition, {
119
127
  defaultParams: [{
@@ -139,20 +147,37 @@ var SettingUI = function SettingUI(_ref) {
139
147
  }],
140
148
  ready: !isBatch,
141
149
  refreshDeps: [fieldData.datasetFieldUid],
142
- onSuccess: function onSuccess(_ref4) {
150
+ onSuccess: function onSuccess(_ref4, _ref5) {
143
151
  var code = _ref4.code,
144
152
  list = _ref4.list,
145
153
  detail = _ref4.detail;
154
+ var _ref6 = (0, _slicedToArray2.default)(_ref5, 1),
155
+ verifyScope = _ref6[0].verifyScope;
146
156
  if (code === 1) {
147
157
  var _detail$list$;
148
- setRules((_detail$list$ = detail[list[0]]) === null || _detail$list$ === void 0 ? void 0 : _detail$list$.ccmModuleFieldVerifies);
158
+ var _data = (_detail$list$ = detail[list[0]]) === null || _detail$list$ === void 0 ? void 0 : _detail$list$.ccmModuleFieldVerifies;
159
+ if ((0, _lodash.isNil)(verifyScope)) {
160
+ var dataByGroup = (0, _lodash.groupBy)(_data, 'verifyScope');
161
+ setRules(dataByGroup[1]);
162
+ setFrontRules(dataByGroup[0]);
163
+ } else if (verifyScope === 0) setFrontRules(_data);else if (verifyScope === 1) setRules(_data);
149
164
  }
150
165
  }
151
166
  }),
167
+ rulesParams = _useRequest2.params,
152
168
  rulesLoading = _useRequest2.loading,
153
- rulesRefresh = _useRequest2.refresh;
154
- var handleFieldRulesModalClose = (0, _ahooks.useMemoizedFn)(function (success) {
155
- success && rulesRefresh();
169
+ rulesRun = _useRequest2.run;
170
+ var rulesRefresh = function rulesRefresh() {
171
+ var newParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
172
+ return rulesRun((0, _objectSpread2.default)((0, _objectSpread2.default)({}, rulesParams[0]), newParams));
173
+ };
174
+ var propertyRules = (0, _ahooks.useCreation)(function () {
175
+ return (0, _lodash.keyBy)((0, _frontRules.getFrontRules)(fieldData.property), 'key');
176
+ }, [fieldData]);
177
+ var handleFieldRulesModalClose = (0, _ahooks.useMemoizedFn)(function (success, verifyScope) {
178
+ success && rulesRefresh({
179
+ verifyScope: verifyScope
180
+ });
156
181
  setRule(null);
157
182
  });
158
183
  var renderCodeIcon = (0, _ahooks.useMemoizedFn)(function (_stateItem, _scope) {
@@ -178,6 +203,55 @@ var SettingUI = function SettingUI(_ref) {
178
203
  }
179
204
  })));
180
205
  });
206
+ var handleDelete = (0, _ahooks.useMemoizedFn)( /*#__PURE__*/function () {
207
+ var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(uid, verifyScope) {
208
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
209
+ while (1) switch (_context2.prev = _context2.next) {
210
+ case 0:
211
+ _antd.Modal.confirm({
212
+ title: (0, _utils.formatMessage)({
213
+ id: 'luckda.lowcode.painter.delete.tip',
214
+ label: '确定删除吗?'
215
+ }),
216
+ getContainer: function getContainer() {
217
+ return document.getElementById('lc-design-workspace');
218
+ },
219
+ zIndex: 1001,
220
+ onOk: function () {
221
+ var _onOk = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
222
+ var success;
223
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
224
+ while (1) switch (_context.prev = _context.next) {
225
+ case 0:
226
+ _context.next = 2;
227
+ return run('delRule', uid);
228
+ case 2:
229
+ success = _context.sent;
230
+ if (success) rulesRefresh({
231
+ verifyScope: verifyScope
232
+ });
233
+ case 4:
234
+ case "end":
235
+ return _context.stop();
236
+ }
237
+ }, _callee);
238
+ }));
239
+ function onOk() {
240
+ return _onOk.apply(this, arguments);
241
+ }
242
+ return onOk;
243
+ }()
244
+ });
245
+ case 1:
246
+ case "end":
247
+ return _context2.stop();
248
+ }
249
+ }, _callee2);
250
+ }));
251
+ return function (_x, _x2) {
252
+ return _ref7.apply(this, arguments);
253
+ };
254
+ }());
181
255
  return /*#__PURE__*/_react.default.createElement(_antd.Spin, {
182
256
  spinning: _loading || loading || rulesLoading
183
257
  }, !isBatch ? /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
@@ -191,7 +265,7 @@ var SettingUI = function SettingUI(_ref) {
191
265
  onChange: function onChange(e) {
192
266
  return onAliasChange(fieldData, e.target.value);
193
267
  }
194
- })) : null, (component === 'table' || component === 'tableForm') && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
268
+ })) : null, ['table', 'tableForm'].includes(component) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
195
269
  label: (0, _utils.formatMessage)({
196
270
  id: "".concat(_I18N_PREFIX_, ".width"),
197
271
  label: '列宽'
@@ -335,15 +409,15 @@ var SettingUI = function SettingUI(_ref) {
335
409
  id: "".concat(_I18N_PREFIX_, ".required"),
336
410
  label: '是否必填'
337
411
  })
338
- }, renderCodeIcon(fieldRequired, _constants.FIELD_SCOPES.FIELD_REQUIRED)), 'table' === component && /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
412
+ }, renderCodeIcon(fieldRequired, _constants.FIELD_SCOPES.FIELD_REQUIRED)), ['table', 'tableForm'].includes && /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
339
413
  label: (0, _utils.formatMessage)({
340
- id: "".concat(_I18N_PREFIX_, ".display"),
341
- label: '是否显示'
414
+ id: "".concat(_I18N_PREFIX_, ".table.display"),
415
+ label: '表格中显示'
342
416
  })
343
- }, renderCodeIcon(fieldTable, _constants.FIELD_SCOPES.FIELD_TABLE_DISPLAY)), 'form' === component && /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
417
+ }, renderCodeIcon(fieldTable, _constants.FIELD_SCOPES.FIELD_TABLE_DISPLAY)), ['form', 'tableForm'].includes(component) && /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
344
418
  label: (0, _utils.formatMessage)({
345
- id: "".concat(_I18N_PREFIX_, ".display"),
346
- label: '是否显示'
419
+ id: "".concat(_I18N_PREFIX_, ".form.display"),
420
+ label: '表单中显示'
347
421
  })
348
422
  }, renderCodeIcon(fieldForm, _constants.FIELD_SCOPES.FIELD_FORM_DISPLAY)), /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
349
423
  label: (0, _utils.formatMessage)({
@@ -370,7 +444,61 @@ var SettingUI = function SettingUI(_ref) {
370
444
  }), "\n \u3010").concat(fieldDefaultValue.expression, "\u3011") : (0, _utils.formatMessage)({
371
445
  id: 'luckda.lowcode.painter.setting',
372
446
  label: '设置'
373
- }))) : null, !isBatch ? /*#__PURE__*/_react.default.createElement(_Collapse.default, {
447
+ }))) : null, !isBatch ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Collapse.default, {
448
+ label: (0, _utils.formatMessage)({
449
+ id: "".concat(_I18N_PREFIX_, ".rules.front"),
450
+ label: '前端校验规则'
451
+ }),
452
+ bodyStyle: {
453
+ padding: '12px 16px'
454
+ }
455
+ }, /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditor, {
456
+ addText: (0, _utils.formatMessage)({
457
+ id: "".concat(_I18N_PREFIX_, ".addRules"),
458
+ label: '添加校验规则'
459
+ }),
460
+ handleAdd: function handleAdd() {
461
+ return setRule({
462
+ ruleType: 'front'
463
+ });
464
+ }
465
+ }, frontRules === null || frontRules === void 0 ? void 0 : frontRules.map(function (_rule) {
466
+ return /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditorItem, {
467
+ left: /*#__PURE__*/_react.default.createElement("span", null, propertyRules[_rule.verifyType].label),
468
+ right: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
469
+ title: (0, _utils.formatMessage)({
470
+ id: 'luckda.lowcode.painter.edit',
471
+ label: '编辑'
472
+ })
473
+ }, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
474
+ type: "edit",
475
+ style: {
476
+ marginRight: '8px',
477
+ cursor: 'pointer'
478
+ },
479
+ onClick: function onClick() {
480
+ return setRule((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _rule), {}, {
481
+ ruleType: 'front'
482
+ }));
483
+ }
484
+ })), /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
485
+ title: (0, _utils.formatMessage)({
486
+ id: 'luckda.lowcode.painter.delete',
487
+ label: '删除'
488
+ })
489
+ }, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
490
+ type: "delete",
491
+ style: {
492
+ cursor: 'pointer'
493
+ },
494
+ onClick: function onClick() {
495
+ return handleDelete(_rule.uid, 0);
496
+ }
497
+ }))),
498
+ item: _rule,
499
+ sortable: false
500
+ });
501
+ }))), /*#__PURE__*/_react.default.createElement(_Collapse.default, {
374
502
  label: (0, _utils.formatMessage)({
375
503
  id: "".concat(_I18N_PREFIX_, ".rules"),
376
504
  label: '校验规则'
@@ -384,7 +512,9 @@ var SettingUI = function SettingUI(_ref) {
384
512
  label: '添加校验规则'
385
513
  }),
386
514
  handleAdd: function handleAdd() {
387
- return setRule({});
515
+ return setRule({
516
+ ruleType: 'back'
517
+ });
388
518
  }
389
519
  }, rules === null || rules === void 0 ? void 0 : rules.map(function (_rule) {
390
520
  return /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditorItem, {
@@ -401,7 +531,9 @@ var SettingUI = function SettingUI(_ref) {
401
531
  cursor: 'pointer'
402
532
  },
403
533
  onClick: function onClick() {
404
- return setRule(_rule);
534
+ return setRule((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _rule), {}, {
535
+ ruleType: 'back'
536
+ }));
405
537
  }
406
538
  })), /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
407
539
  title: (0, _utils.formatMessage)({
@@ -414,13 +546,13 @@ var SettingUI = function SettingUI(_ref) {
414
546
  cursor: 'pointer'
415
547
  },
416
548
  onClick: function onClick() {
417
- return run('delRule', _rule.uid);
549
+ return handleDelete(_rule.uid, 1);
418
550
  }
419
551
  }))),
420
552
  item: _rule,
421
553
  sortable: false
422
554
  });
423
- }))) : null, /*#__PURE__*/_react.default.createElement(_FieldAttrsModal.default, {
555
+ })))) : null, /*#__PURE__*/_react.default.createElement(_FieldAttrsModal.default, {
424
556
  dataModelKey: dataModelKey,
425
557
  datasetId: datasetId,
426
558
  moduleId: moduleId,
@@ -218,88 +218,57 @@ var FieldSetting = function FieldSetting(_ref) {
218
218
  }),
219
219
  runDebounce = _useDebounceFn.run;
220
220
  var run = (0, _ahooks.useMemoizedFn)( /*#__PURE__*/function () {
221
- var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(key, val) {
222
- var mapping, _stateItem, request, c, d, _yield$request, code;
223
- return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
224
- while (1) switch (_context2.prev = _context2.next) {
221
+ var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(key, val) {
222
+ var _yield$fetchDelAttrs, code, mapping, _stateItem, request, c, d, _yield$request, _code;
223
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
224
+ while (1) switch (_context.prev = _context.next) {
225
225
  case 0:
226
226
  if (!(key === 'isEqual')) {
227
- _context2.next = 5;
227
+ _context.next = 5;
228
228
  break;
229
229
  }
230
- _context2.next = 3;
230
+ _context.next = 3;
231
231
  return runFetchUpdateUniqueField((0, _defineProperty2.default)({
232
232
  moduleDatasetUid: datasetId,
233
233
  moduleUid: moduleId
234
234
  }, val ? 'uniqueFieldUid' : 'noUniqueFieldUid', fieldData.uid));
235
235
  case 3:
236
- _context2.next = 30;
236
+ _context.next = 34;
237
237
  break;
238
238
  case 5:
239
239
  if (!(key === 'align' || key === 'headerAlign' || key === 'pinned' || key === 'tip')) {
240
- _context2.next = 9;
240
+ _context.next = 9;
241
241
  break;
242
242
  }
243
243
  handleUIChange(key, val);
244
- _context2.next = 30;
244
+ _context.next = 34;
245
245
  break;
246
246
  case 9:
247
247
  if (!(key === 'col' || key === 'row')) {
248
- _context2.next = 13;
248
+ _context.next = 13;
249
249
  break;
250
250
  }
251
251
  handleUIChange(key, val);
252
- _context2.next = 30;
252
+ _context.next = 34;
253
253
  break;
254
254
  case 13:
255
255
  if (!(key === 'delRule')) {
256
- _context2.next = 17;
256
+ _context.next = 21;
257
257
  break;
258
258
  }
259
- _antd.Modal.confirm({
260
- title: (0, _utils.formatMessage)({
261
- id: 'luckda.lowcode.painter.delete.tip',
262
- label: '确定删除吗?'
263
- }),
264
- getContainer: function getContainer() {
265
- return document.getElementById('lc-design-workspace');
266
- },
267
- zIndex: 1001,
268
- onOk: function () {
269
- var _onOk = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
270
- var _yield$fetchDelAttrs, code;
271
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
272
- while (1) switch (_context.prev = _context.next) {
273
- case 0:
274
- _context.next = 2;
275
- return (0, _apiUrl.fetchDelAttrs)({
276
- moduleDatasetUid: fieldData.datasetFieldUid,
277
- ccmModuleFieldVerifies: [{
278
- uid: val
279
- }],
280
- scope: _constants.FIELD_SCOPES.CHECK_RULES
281
- });
282
- case 2:
283
- _yield$fetchDelAttrs = _context.sent;
284
- code = _yield$fetchDelAttrs.code;
285
- if (code === 1) {
286
- rulesRefresh();
287
- }
288
- case 5:
289
- case "end":
290
- return _context.stop();
291
- }
292
- }, _callee);
293
- }));
294
- function onOk() {
295
- return _onOk.apply(this, arguments);
296
- }
297
- return onOk;
298
- }()
259
+ _context.next = 16;
260
+ return (0, _apiUrl.fetchDelAttrs)({
261
+ moduleDatasetUid: fieldData.datasetFieldUid,
262
+ ccmModuleFieldVerifies: [{
263
+ uid: val
264
+ }],
265
+ scope: _constants.FIELD_SCOPES.CHECK_RULES
299
266
  });
300
- _context2.next = 30;
301
- break;
302
- case 17:
267
+ case 16:
268
+ _yield$fetchDelAttrs = _context.sent;
269
+ code = _yield$fetchDelAttrs.code;
270
+ return _context.abrupt("return", code === 1);
271
+ case 21:
303
272
  mapping = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.FIELD_SCOPES.FIELD_REQUIRED, {
304
273
  key: 'fieldRequired',
305
274
  refresh: requiredRefresh
@@ -335,19 +304,19 @@ var FieldSetting = function FieldSetting(_ref) {
335
304
  if (!_stateItem) {
336
305
  d.datasetBusinessUids = [fieldData.uid];
337
306
  }
338
- _context2.next = 27;
307
+ _context.next = 31;
339
308
  return request(d);
340
- case 27:
341
- _yield$request = _context2.sent;
342
- code = _yield$request.code;
343
- if (code === 1) {
309
+ case 31:
310
+ _yield$request = _context.sent;
311
+ _code = _yield$request.code;
312
+ if (_code === 1) {
344
313
  mapping[key].refresh();
345
314
  }
346
- case 30:
315
+ case 34:
347
316
  case "end":
348
- return _context2.stop();
317
+ return _context.stop();
349
318
  }
350
- }, _callee2);
319
+ }, _callee);
351
320
  }));
352
321
  return function (_x, _x2) {
353
322
  return _ref8.apply(this, arguments);
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getFrontRules = void 0;
7
+ var getFrontRules = exports.getFrontRules = function getFrontRules(property) {
8
+ var rules = [];
9
+ switch (property) {
10
+ case 'number':
11
+ case 'money':
12
+ case 'decimal':
13
+ case 'sint':
14
+ rules = [{
15
+ label: '最小值',
16
+ key: 'min',
17
+ defaultCode: "function min(cValue) { \n return 0; // 返回数字 \n}"
18
+ }, {
19
+ label: '最大值',
20
+ key: 'max',
21
+ defaultCode: "function max(cValue) { \n return 100; // 返回数字 \n}"
22
+ }];
23
+ break;
24
+ case 'string':
25
+ rules = [{
26
+ label: '长度',
27
+ key: 'length',
28
+ defaultCode: "function length(cValue) { \n return 100; // 返回数字 \n}"
29
+ }, {
30
+ label: '邮箱',
31
+ key: 'email',
32
+ noCode: true
33
+ }, {
34
+ label: '身份证',
35
+ key: 'idcard',
36
+ noCode: true
37
+ }, {
38
+ label: '手机号码',
39
+ key: 'mobile',
40
+ noCode: true
41
+ }];
42
+ break;
43
+ case 'text':
44
+ rules = [{
45
+ label: '长度',
46
+ key: 'length',
47
+ defaultCode: "function length(cValue) { \n return 100; // 返回数字 \n}"
48
+ }];
49
+ break;
50
+ default:
51
+ ;
52
+ }
53
+ rules.push({
54
+ label: '自定义',
55
+ key: 'rules',
56
+ defaultCode: "function validator(cValue, rule, value, callback) { \n if(!value) callback('errorMsg'); \n callback(); \n}"
57
+ });
58
+ return rules;
59
+ };
@@ -55,13 +55,10 @@ var BlockEditor = function BlockEditor(_ref) {
55
55
  nodeId = _ref.nodeId,
56
56
  renderPanelItems = _ref.renderPanelItems,
57
57
  innerProps = _ref.innerProps;
58
- var node = (0, _ContextProvider.useGet)({
59
- id: nodeId
58
+ var blocks = (0, _ContextProvider.useGet)({
59
+ id: nodeId,
60
+ path: 'props.blocks'
60
61
  });
61
- var _ref2 = node || {
62
- props: {}
63
- },
64
- blocks = _ref2.props.blocks;
65
62
  var handleAddBlock = (0, _ahooks.useMemoizedFn)(function (type) {
66
63
  var _id = "block_".concat((0, _utils.suid)());
67
64
  var newData = (0, _lodash.concat)(blocks, (0, _objectSpread2.default)((0, _objectSpread2.default)({
@@ -119,8 +116,8 @@ var BlockEditor = function BlockEditor(_ref) {
119
116
  });
120
117
  var menu = (0, _ahooks.useCreation)(function () {
121
118
  return /*#__PURE__*/_react.default.createElement(_antd.Menu, {
122
- onClick: function onClick(_ref3) {
123
- var key = _ref3.key;
119
+ onClick: function onClick(_ref2) {
120
+ var key = _ref2.key;
124
121
  return handleAddBlock(key);
125
122
  }
126
123
  }, addOptions.map(function (opt) {
@@ -213,7 +210,7 @@ var BlockEditor = function BlockEditor(_ref) {
213
210
  cloneP.valueKey = "blocks[".concat(i + 1, "].").concat(p.key);
214
211
  if (p.key === 'dataset') {
215
212
  if ((0, _lodash.includes)(['auto', 'grid', 'writer'], blockItem.type)) {
216
- if (blockItem.type !== 'auto') cloneP.next.props[0].component = "tableForm";
213
+ if (blockItem.type !== 'auto') cloneP.next.props[0].component = 'tableForm';
217
214
  var _valueKey = "blocks[".concat(i + 1, "].fields");
218
215
  cloneP.next.props[0].valueKey = _valueKey;
219
216
  cloneP.beforeChangeKey = _valueKey;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
12
  var _react = _interopRequireWildcard(require("react"));
@@ -23,8 +24,9 @@ var _BatchSetting = _interopRequireDefault(require("../components/field-setting/
23
24
  var _apiUrl = require("../../constants/api-url");
24
25
  var _helper = require("../../engine/tools/helper");
25
26
  var _fieldsSetting = _interopRequireDefault(require("../style/fields-setting.less"));
27
+ var _excluded = ["fieldAliasName"];
26
28
  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', 'fieldAliasName'];
29
+ var _PICK_KEYS_ = ['id', 'uid', 'field', 'width', 'align', 'headerAlign', 'pinned', 'tip', 'col', 'row', 'note', 'placeholder', 'aliasName'];
28
30
  var Header = _styledComponents.default.div.withConfig({
29
31
  displayName: "Header",
30
32
  componentId: "luckda-6530__sc-gcwvp1-0"
@@ -54,17 +56,31 @@ var FieldsSetting = function FieldsSetting(_ref) {
54
56
  checkedFields = _useMap2[0],
55
57
  _useMap2$ = _useMap2[1],
56
58
  set = _useMap2$.set,
57
- remove = _useMap2$.remove;
59
+ get = _useMap2$.get,
60
+ setAll = _useMap2$.setAll,
61
+ remove = _useMap2$.remove,
62
+ reset = _useMap2$.reset;
58
63
  var _useState3 = (0, _react.useState)(void 0),
59
64
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
60
65
  drawerType = _useState4[0],
61
66
  setDrawerType = _useState4[1];
67
+ var _useState5 = (0, _react.useState)(false),
68
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
69
+ checkAll = _useState6[0],
70
+ setCheckAll = _useState6[1];
62
71
  var fieldData = (0, _ahooks.useCreation)(function () {
63
72
  return fields.find(function (_ref2) {
64
73
  var uid = _ref2.uid;
65
74
  return uid === fieldId;
66
75
  });
67
76
  }, [fieldId, fields]);
77
+ (0, _ahooks.useUpdateEffect)(function () {
78
+ if (checkedFields.size === fields.length) {
79
+ setCheckAll(true);
80
+ } else if (checkedFields.size === 0) {
81
+ setCheckAll(false);
82
+ }
83
+ }, [checkedFields, fields]);
68
84
  var _useRequest = (0, _ahooks.useRequest)(_apiUrl.fetchFieldsByDataset, {
69
85
  defaultParams: [{
70
86
  datasetUid: datasetUid,
@@ -135,10 +151,17 @@ var FieldsSetting = function FieldsSetting(_ref) {
135
151
  var col = gridApi.columnApi.getColumn(field.field);
136
152
  col.colDef.headerName = value;
137
153
  gridApi.api.refreshHeader();
138
- } else if (component === 'form') {
139
- handleChange(fields);
140
- } else if (component === 'tableForm') {
141
- handleChange(fields);
154
+ } else if (['form', 'tableForm'].includes(component)) {
155
+ handleChange((0, _lodash.reduce)(fields, function (ret, _ref4) {
156
+ var fieldAliasName = _ref4.fieldAliasName,
157
+ _field = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
158
+ if (fieldAliasName) {
159
+ ret.push((0, _objectSpread2.default)({
160
+ aliasName: fieldAliasName
161
+ }, _field));
162
+ }
163
+ return ret;
164
+ }, []));
142
165
  }
143
166
  });
144
167
  }, {
@@ -180,6 +203,15 @@ var FieldsSetting = function FieldsSetting(_ref) {
180
203
  remove(data.uid, data);
181
204
  }
182
205
  });
206
+ var handleFieldCheckAll = (0, _ahooks.useMemoizedFn)(function (e) {
207
+ if (e.target.checked) {
208
+ setAll(fields.map(function (_field) {
209
+ return [_field.uid, _field];
210
+ }));
211
+ } else {
212
+ reset();
213
+ }
214
+ });
183
215
  var handleBatchSetting = (0, _ahooks.useMemoizedFn)(function () {
184
216
  setDrawerType('batch');
185
217
  });
@@ -235,10 +267,18 @@ var FieldsSetting = function FieldsSetting(_ref) {
235
267
  });
236
268
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Spin, {
237
269
  spinning: loading
238
- }, /*#__PURE__*/_react.default.createElement(Header, null, /*#__PURE__*/_react.default.createElement("div", {
270
+ }, /*#__PURE__*/_react.default.createElement(Header, null, /*#__PURE__*/_react.default.createElement(_antd.Checkbox, {
271
+ style: {
272
+ marginLeft: 20
273
+ },
274
+ disabled: drawerType === 'batch',
275
+ checked: checkAll,
276
+ indeterminate: checkedFields.size > 0 && checkedFields.size !== fields.length,
277
+ onChange: handleFieldCheckAll
278
+ }), /*#__PURE__*/_react.default.createElement("div", {
239
279
  style: {
240
- width: 116,
241
- paddingLeft: 40
280
+ width: 80,
281
+ paddingLeft: 4
242
282
  }
243
283
  }, (0, _utils.formatMessage)({
244
284
  id: "".concat(_I18N_PREFIX_, ".field"),
@@ -252,8 +292,8 @@ var FieldsSetting = function FieldsSetting(_ref) {
252
292
  id: "".concat(_I18N_PREFIX_, ".title"),
253
293
  label: '标题'
254
294
  }))), /*#__PURE__*/_react.default.createElement(_SortBox.SortBox, {
255
- datas: fields.map(function (_ref4) {
256
- var uid = _ref4.uid;
295
+ datas: fields.map(function (_ref5) {
296
+ var uid = _ref5.uid;
257
297
  return uid;
258
298
  }),
259
299
  onChange: handleSortChange
@@ -279,6 +319,7 @@ var FieldsSetting = function FieldsSetting(_ref) {
279
319
  left: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, field._type !== 'divider' ? /*#__PURE__*/_react.default.createElement(_antd.Checkbox, {
280
320
  disabled: drawerType === 'batch',
281
321
  data: field,
322
+ checked: !!get(field.uid),
282
323
  onChange: handleFieldCheckChange
283
324
  }) : null, /*#__PURE__*/_react.default.createElement(FieldKey, {
284
325
  tooltip: true,