@luck-design-biz/luckda 0.0.25-6 → 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 (255) 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 +26 -8
  4. package/es/components/LdFormList/index.js +37 -22
  5. package/es/components/LdGrid/index.js +14 -7
  6. package/es/components/LdGridForm/index.js +18 -6
  7. package/es/components/LdTree/index.js +33 -15
  8. package/es/helper/form.js +15 -8
  9. package/es/locales/zh-CN.js +16 -10
  10. package/es/lowcode/constants/api-url.js +120 -32
  11. package/es/lowcode/constants/event-topics.js +2 -0
  12. package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +4 -2
  13. package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +4 -2
  14. package/es/lowcode/engine/meta/box.props.json +3 -3
  15. package/es/lowcode/engine/meta/button.props.json +3 -3
  16. package/es/lowcode/engine/meta/components-list.json +6 -0
  17. package/es/lowcode/engine/meta/dialog.props.default.json +10 -5
  18. package/es/lowcode/engine/meta/dialog.props.json +72 -42
  19. package/es/lowcode/engine/meta/drawer.props.json +8 -20
  20. package/es/lowcode/engine/meta/form.props.json +16 -10
  21. package/es/lowcode/engine/meta/imex.props.default.json +8 -1
  22. package/es/lowcode/engine/meta/imex.props.json +54 -22
  23. package/es/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
  24. package/es/lowcode/engine/meta/layout.props.json +2 -2
  25. package/es/lowcode/engine/meta/page.props.json +2 -2
  26. package/es/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  27. package/es/lowcode/engine/meta/pagelayout.props.json +47 -0
  28. package/es/lowcode/engine/meta/section.props.json +2 -2
  29. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  30. package/es/lowcode/engine/meta/split.props.json +4 -4
  31. package/es/lowcode/engine/meta/table.props.json +17 -11
  32. package/es/lowcode/engine/meta/tabs.props.json +3 -3
  33. package/es/lowcode/engine/meta/tree.props.default.json +2 -0
  34. package/es/lowcode/engine/meta/tree.props.json +62 -6
  35. package/es/lowcode/engine/provider/ContextProvider/index.js +20 -43
  36. package/es/lowcode/engine/provider/RemoteSourceProvider.js +69 -24
  37. package/es/lowcode/engine/tools/dataProcess.js +4 -0
  38. package/es/lowcode/engine/tools/helper.js +2 -3
  39. package/es/lowcode/engine/tools/useCanvasRender.js +3 -2
  40. package/es/lowcode/engine/tools/usePageDataStore.js +176 -0
  41. package/es/lowcode/engine/tools/usePromiseState.js +12 -23
  42. package/es/lowcode/engine/tools/useTodo.js +20 -10
  43. package/es/lowcode/painter/DesignOperator.js +12 -23
  44. package/es/lowcode/painter/DesignToolbar.js +10 -45
  45. package/es/lowcode/painter/Outline.js +2 -4
  46. package/es/lowcode/painter/Panel.js +29 -28
  47. package/es/lowcode/painter/components/ActionBindModal.js +30 -24
  48. package/es/lowcode/painter/components/AdvancePanel.js +6 -1
  49. package/es/lowcode/painter/components/AttrsPanel.js +38 -29
  50. package/es/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  51. package/es/lowcode/painter/components/code-editor/BaseEditor.js +3 -2
  52. package/es/lowcode/painter/components/field-setting/CheckFrontRules.js +108 -0
  53. package/es/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  54. package/es/lowcode/painter/components/field-setting/FieldRulesModal.js +33 -13
  55. package/es/lowcode/painter/components/field-setting/SettingUI.js +162 -30
  56. package/es/lowcode/painter/components/field-setting/index.js +32 -63
  57. package/es/lowcode/painter/components/field-setting/meta/frontRules.js +53 -0
  58. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +14 -17
  59. package/es/lowcode/painter/panel-section/ButtonType.js +4 -2
  60. package/es/lowcode/painter/panel-section/DataSetSelector.js +4 -1
  61. package/es/lowcode/painter/panel-section/FieldsSetting.js +53 -8
  62. package/es/lowcode/painter/panel-section/ImpExp.js +93 -6
  63. package/es/lowcode/painter/panel-section/ImpExpAlone.js +109 -0
  64. package/es/lowcode/painter/panel-section/PageLayoutDisplay.js +95 -0
  65. package/es/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  66. package/es/lowcode/painter/panel-section/SplitDisplay.js +25 -110
  67. package/es/lowcode/painter/panel-section/StylePanel/index.js +10 -4
  68. package/es/lowcode/painter/panel-section/TreeRootEditor.js +2 -2
  69. package/es/lowcode/painter/style/action-bind-modal.less +3 -3
  70. package/es/lowcode/painter/style/design.less +1 -1
  71. package/es/lowcode/painter/style/page-layout-display.less +28 -0
  72. package/es/lowcode/painter/style/panel-item.less +1 -1
  73. package/es/lowcode/painter/style/split-display.less +0 -9
  74. package/es/lowcode/preview/index.js +4 -2
  75. package/es/lowcode/view/Canvas.js +6 -7
  76. package/es/lowcode/view/Page.js +2 -3
  77. package/es/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
  78. package/es/lowcode/view/lc-components/Box/meta.json +3 -3
  79. package/es/lowcode/view/lc-components/Button/index.js +2 -6
  80. package/es/lowcode/view/lc-components/Button/meta.json +3 -3
  81. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +3 -10
  82. package/es/lowcode/view/lc-components/Dialog/index.js +114 -19
  83. package/es/lowcode/view/lc-components/Dialog/meta.json +65 -42
  84. package/es/lowcode/view/lc-components/Drawer/meta.json +8 -20
  85. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +23 -33
  86. package/es/lowcode/view/lc-components/Form/FunctionPreview.js +8 -1
  87. package/es/lowcode/view/lc-components/Form/index.js +113 -21
  88. package/es/lowcode/view/lc-components/Form/meta.json +16 -10
  89. package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +8 -3
  90. package/es/lowcode/view/lc-components/ImEx/index.js +260 -10
  91. package/es/lowcode/view/lc-components/ImEx/index.less +7 -0
  92. package/es/lowcode/view/lc-components/ImEx/meta.json +55 -23
  93. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +12 -19
  94. package/es/lowcode/view/lc-components/Layout/meta.json +2 -2
  95. package/es/lowcode/view/lc-components/Page/meta.json +2 -2
  96. package/es/lowcode/view/lc-components/PageContent/index.js +8 -9
  97. package/es/lowcode/view/lc-components/PageFooter/index.js +2 -5
  98. package/es/lowcode/view/lc-components/PageHeader/index.js +5 -6
  99. package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +63 -0
  100. package/es/lowcode/view/lc-components/PageLayout/FunctionLive.js +10 -0
  101. package/es/lowcode/view/lc-components/PageLayout/FunctionPreview.js +10 -0
  102. package/es/lowcode/view/lc-components/PageLayout/index.js +32 -0
  103. package/es/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  104. package/es/lowcode/view/lc-components/PageModal/index.js +12 -15
  105. package/es/lowcode/view/lc-components/Section/FunctionDesign.js +3 -9
  106. package/es/lowcode/view/lc-components/Section/meta.json +2 -2
  107. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +19 -20
  108. package/es/lowcode/view/lc-components/Split/index.js +5 -9
  109. package/es/lowcode/view/lc-components/Split/meta.json +4 -4
  110. package/es/lowcode/view/lc-components/Table/components/TopImex.js +138 -0
  111. package/es/lowcode/view/lc-components/Table/index.js +124 -39
  112. package/es/lowcode/view/lc-components/Table/meta.json +17 -11
  113. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +10 -17
  114. package/es/lowcode/view/lc-components/Tabs/index.js +3 -1
  115. package/es/lowcode/view/lc-components/Tabs/meta.json +3 -3
  116. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -1
  117. package/es/lowcode/view/lc-components/Tree/index.js +67 -18
  118. package/es/lowcode/view/lc-components/Tree/meta.json +62 -7
  119. package/es/lowcode/view/lc-components/Wrapper.js +9 -11
  120. package/es/services.js +0 -24
  121. package/es/upload/FilesWall/file.png +0 -0
  122. package/es/upload/FilesWall/index.js +422 -0
  123. package/es/upload/FilesWall/index.less +74 -0
  124. package/es/upload/Form/index.js +2 -1
  125. package/es/upload/FormItem/index.js +3 -5
  126. package/es/upload/index.js +2 -1
  127. package/es/utils/action.js +2 -2
  128. package/lib/components/LDActions/index.js +7 -9
  129. package/lib/components/LDActions/index.less +7 -4
  130. package/lib/components/LdAutoForm/index.js +25 -7
  131. package/lib/components/LdFormList/index.js +36 -21
  132. package/lib/components/LdGrid/index.js +14 -7
  133. package/lib/components/LdGridForm/index.js +16 -4
  134. package/lib/components/LdTree/index.js +33 -15
  135. package/lib/helper/form.js +14 -7
  136. package/lib/locales/zh-CN.js +16 -10
  137. package/lib/lowcode/constants/api-url.js +123 -32
  138. package/lib/lowcode/constants/event-topics.js +3 -1
  139. package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +4 -2
  140. package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +4 -2
  141. package/lib/lowcode/engine/meta/box.props.json +3 -3
  142. package/lib/lowcode/engine/meta/button.props.json +3 -3
  143. package/lib/lowcode/engine/meta/components-list.json +6 -0
  144. package/lib/lowcode/engine/meta/dialog.props.default.json +10 -5
  145. package/lib/lowcode/engine/meta/dialog.props.json +72 -42
  146. package/lib/lowcode/engine/meta/drawer.props.json +8 -20
  147. package/lib/lowcode/engine/meta/form.props.json +16 -10
  148. package/lib/lowcode/engine/meta/imex.props.default.json +8 -1
  149. package/lib/lowcode/engine/meta/imex.props.json +54 -22
  150. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
  151. package/lib/lowcode/engine/meta/layout.props.json +2 -2
  152. package/lib/lowcode/engine/meta/page.props.json +2 -2
  153. package/lib/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  154. package/lib/lowcode/engine/meta/pagelayout.props.json +47 -0
  155. package/lib/lowcode/engine/meta/section.props.json +2 -2
  156. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  157. package/lib/lowcode/engine/meta/split.props.json +4 -4
  158. package/lib/lowcode/engine/meta/table.props.json +17 -11
  159. package/lib/lowcode/engine/meta/tabs.props.json +3 -3
  160. package/lib/lowcode/engine/meta/tree.props.default.json +2 -0
  161. package/lib/lowcode/engine/meta/tree.props.json +62 -6
  162. package/lib/lowcode/engine/provider/ContextProvider/index.js +36 -43
  163. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +68 -23
  164. package/lib/lowcode/engine/tools/dataProcess.js +4 -0
  165. package/lib/lowcode/engine/tools/helper.js +2 -3
  166. package/lib/lowcode/engine/tools/useCanvasRender.js +3 -2
  167. package/lib/lowcode/engine/tools/usePageDataStore.js +183 -0
  168. package/lib/lowcode/engine/tools/usePromiseState.js +11 -21
  169. package/lib/lowcode/engine/tools/useTodo.js +19 -9
  170. package/lib/lowcode/painter/DesignOperator.js +11 -22
  171. package/lib/lowcode/painter/DesignToolbar.js +9 -44
  172. package/lib/lowcode/painter/Outline.js +1 -3
  173. package/lib/lowcode/painter/Panel.js +28 -27
  174. package/lib/lowcode/painter/components/ActionBindModal.js +28 -22
  175. package/lib/lowcode/painter/components/AdvancePanel.js +6 -1
  176. package/lib/lowcode/painter/components/AttrsPanel.js +37 -28
  177. package/lib/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  178. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +3 -2
  179. package/lib/lowcode/painter/components/field-setting/CheckFrontRules.js +116 -0
  180. package/lib/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  181. package/lib/lowcode/painter/components/field-setting/FieldRulesModal.js +34 -13
  182. package/lib/lowcode/painter/components/field-setting/SettingUI.js +159 -27
  183. package/lib/lowcode/painter/components/field-setting/index.js +32 -63
  184. package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +59 -0
  185. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +13 -16
  186. package/lib/lowcode/painter/panel-section/ButtonType.js +4 -2
  187. package/lib/lowcode/painter/panel-section/DataSetSelector.js +4 -1
  188. package/lib/lowcode/painter/panel-section/FieldsSetting.js +53 -8
  189. package/lib/lowcode/painter/panel-section/ImpExp.js +92 -5
  190. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +115 -0
  191. package/lib/lowcode/painter/panel-section/PageLayoutDisplay.js +103 -0
  192. package/lib/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  193. package/lib/lowcode/painter/panel-section/SplitDisplay.js +24 -109
  194. package/lib/lowcode/painter/panel-section/StylePanel/index.js +10 -4
  195. package/lib/lowcode/painter/panel-section/TreeRootEditor.js +2 -2
  196. package/lib/lowcode/painter/style/action-bind-modal.less +3 -3
  197. package/lib/lowcode/painter/style/design.less +1 -1
  198. package/lib/lowcode/painter/style/page-layout-display.less +28 -0
  199. package/lib/lowcode/painter/style/panel-item.less +1 -1
  200. package/lib/lowcode/painter/style/split-display.less +0 -9
  201. package/lib/lowcode/preview/index.js +4 -2
  202. package/lib/lowcode/view/Canvas.js +5 -6
  203. package/lib/lowcode/view/Page.js +2 -3
  204. package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
  205. package/lib/lowcode/view/lc-components/Box/meta.json +3 -3
  206. package/lib/lowcode/view/lc-components/Button/index.js +2 -6
  207. package/lib/lowcode/view/lc-components/Button/meta.json +3 -3
  208. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +2 -9
  209. package/lib/lowcode/view/lc-components/Dialog/index.js +114 -19
  210. package/lib/lowcode/view/lc-components/Dialog/meta.json +65 -42
  211. package/lib/lowcode/view/lc-components/Drawer/meta.json +8 -20
  212. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +20 -31
  213. package/lib/lowcode/view/lc-components/Form/FunctionPreview.js +8 -1
  214. package/lib/lowcode/view/lc-components/Form/index.js +110 -18
  215. package/lib/lowcode/view/lc-components/Form/meta.json +16 -10
  216. package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +8 -3
  217. package/lib/lowcode/view/lc-components/ImEx/index.js +257 -8
  218. package/lib/lowcode/view/lc-components/ImEx/index.less +7 -0
  219. package/lib/lowcode/view/lc-components/ImEx/meta.json +55 -23
  220. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +11 -18
  221. package/lib/lowcode/view/lc-components/Layout/meta.json +2 -2
  222. package/lib/lowcode/view/lc-components/Page/meta.json +2 -2
  223. package/lib/lowcode/view/lc-components/PageContent/index.js +7 -8
  224. package/lib/lowcode/view/lc-components/PageFooter/index.js +2 -5
  225. package/lib/lowcode/view/lc-components/PageHeader/index.js +4 -5
  226. package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +71 -0
  227. package/lib/lowcode/view/lc-components/PageLayout/FunctionLive.js +17 -0
  228. package/lib/lowcode/view/lc-components/PageLayout/FunctionPreview.js +17 -0
  229. package/lib/lowcode/view/lc-components/PageLayout/index.js +40 -0
  230. package/lib/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  231. package/lib/lowcode/view/lc-components/PageModal/index.js +11 -14
  232. package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +2 -8
  233. package/lib/lowcode/view/lc-components/Section/meta.json +2 -2
  234. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +19 -20
  235. package/lib/lowcode/view/lc-components/Split/index.js +2 -6
  236. package/lib/lowcode/view/lc-components/Split/meta.json +4 -4
  237. package/lib/lowcode/view/lc-components/Table/components/TopImex.js +145 -0
  238. package/lib/lowcode/view/lc-components/Table/index.js +123 -38
  239. package/lib/lowcode/view/lc-components/Table/meta.json +17 -11
  240. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +11 -18
  241. package/lib/lowcode/view/lc-components/Tabs/index.js +3 -1
  242. package/lib/lowcode/view/lc-components/Tabs/meta.json +3 -3
  243. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -1
  244. package/lib/lowcode/view/lc-components/Tree/index.js +65 -16
  245. package/lib/lowcode/view/lc-components/Tree/meta.json +62 -7
  246. package/lib/lowcode/view/lc-components/Wrapper.js +8 -10
  247. package/lib/services.js +0 -25
  248. package/lib/upload/FilesWall/file.png +0 -0
  249. package/lib/upload/FilesWall/index.js +429 -0
  250. package/lib/upload/FilesWall/index.less +74 -0
  251. package/lib/upload/Form/index.js +2 -1
  252. package/lib/upload/FormItem/index.js +3 -5
  253. package/lib/upload/index.js +8 -1
  254. package/lib/utils/action.js +2 -2
  255. package/package.json +5 -4
@@ -1,10 +1,13 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
5
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
6
  import React, { useState } from 'react';
4
- import { useRequest, useMemoizedFn } from 'ahooks';
5
- import { Spin, Input, Segmented, Switch, Tooltip, Icon, Radio } from 'luck-design/antd';
7
+ import { useRequest, useMemoizedFn, useCreation } from 'ahooks';
8
+ import { Spin, Input, Segmented, Switch, Tooltip, Icon, Radio, Modal } from 'luck-design/antd';
6
9
  import styled from 'styled-components';
7
- import { isArray } from 'lodash';
10
+ import { isArray, keyBy, isNil, groupBy } from 'lodash';
8
11
  import { formatMessage } from '@luck-design-biz/base/utils';
9
12
  import Collapse from "../../components/Collapse";
10
13
  import PanelItem from "../../components/PanelItem";
@@ -13,6 +16,7 @@ import WidthHeight from "../../panel-section/WidthHeight";
13
16
  import FieldAttrsModal from "./FieldAttrsModal";
14
17
  import FieldRulesModal from "./FieldRulesModal";
15
18
  import { fetchFieldCondition, fetchAttrs } from "../../../constants/api-url";
19
+ import { getFrontRules } from "./meta/frontRules";
16
20
  import { FIELD_SCOPES } from "../../../constants";
17
21
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.fieldsSetting';
18
22
  var _ALIGN_OPTIONS_ = [{
@@ -100,12 +104,16 @@ var SettingUI = function SettingUI(_ref) {
100
104
  setRules = _useState6[1];
101
105
  var _useState7 = useState(null),
102
106
  _useState8 = _slicedToArray(_useState7, 2),
103
- condition = _useState8[0],
104
- setCondition = _useState8[1];
107
+ frontRules = _useState8[0],
108
+ setFrontRules = _useState8[1];
105
109
  var _useState9 = useState(null),
106
110
  _useState10 = _slicedToArray(_useState9, 2),
107
- optionalFields = _useState10[0],
108
- setOptionalFields = _useState10[1];
111
+ condition = _useState10[0],
112
+ setCondition = _useState10[1];
113
+ var _useState11 = useState(null),
114
+ _useState12 = _slicedToArray(_useState11, 2),
115
+ optionalFields = _useState12[0],
116
+ setOptionalFields = _useState12[1];
109
117
  var fieldData = isBatch ? {} : data;
110
118
  var _useRequest = useRequest(fetchFieldCondition, {
111
119
  defaultParams: [{
@@ -131,20 +139,37 @@ var SettingUI = function SettingUI(_ref) {
131
139
  }],
132
140
  ready: !isBatch,
133
141
  refreshDeps: [fieldData.datasetFieldUid],
134
- onSuccess: function onSuccess(_ref4) {
142
+ onSuccess: function onSuccess(_ref4, _ref5) {
135
143
  var code = _ref4.code,
136
144
  list = _ref4.list,
137
145
  detail = _ref4.detail;
146
+ var _ref6 = _slicedToArray(_ref5, 1),
147
+ verifyScope = _ref6[0].verifyScope;
138
148
  if (code === 1) {
139
149
  var _detail$list$;
140
- setRules((_detail$list$ = detail[list[0]]) === null || _detail$list$ === void 0 ? void 0 : _detail$list$.ccmModuleFieldVerifies);
150
+ var _data = (_detail$list$ = detail[list[0]]) === null || _detail$list$ === void 0 ? void 0 : _detail$list$.ccmModuleFieldVerifies;
151
+ if (isNil(verifyScope)) {
152
+ var dataByGroup = groupBy(_data, 'verifyScope');
153
+ setRules(dataByGroup[1]);
154
+ setFrontRules(dataByGroup[0]);
155
+ } else if (verifyScope === 0) setFrontRules(_data);else if (verifyScope === 1) setRules(_data);
141
156
  }
142
157
  }
143
158
  }),
159
+ rulesParams = _useRequest2.params,
144
160
  rulesLoading = _useRequest2.loading,
145
- rulesRefresh = _useRequest2.refresh;
146
- var handleFieldRulesModalClose = useMemoizedFn(function (success) {
147
- success && rulesRefresh();
161
+ rulesRun = _useRequest2.run;
162
+ var rulesRefresh = function rulesRefresh() {
163
+ var newParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
164
+ return rulesRun(_objectSpread(_objectSpread({}, rulesParams[0]), newParams));
165
+ };
166
+ var propertyRules = useCreation(function () {
167
+ return keyBy(getFrontRules(fieldData.property), 'key');
168
+ }, [fieldData]);
169
+ var handleFieldRulesModalClose = useMemoizedFn(function (success, verifyScope) {
170
+ success && rulesRefresh({
171
+ verifyScope: verifyScope
172
+ });
148
173
  setRule(null);
149
174
  });
150
175
  var renderCodeIcon = useMemoizedFn(function (_stateItem, _scope) {
@@ -170,6 +195,55 @@ var SettingUI = function SettingUI(_ref) {
170
195
  }
171
196
  })));
172
197
  });
198
+ var handleDelete = useMemoizedFn( /*#__PURE__*/function () {
199
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(uid, verifyScope) {
200
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
201
+ while (1) switch (_context2.prev = _context2.next) {
202
+ case 0:
203
+ Modal.confirm({
204
+ title: formatMessage({
205
+ id: 'luckda.lowcode.painter.delete.tip',
206
+ label: '确定删除吗?'
207
+ }),
208
+ getContainer: function getContainer() {
209
+ return document.getElementById('lc-design-workspace');
210
+ },
211
+ zIndex: 1001,
212
+ onOk: function () {
213
+ var _onOk = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
214
+ var success;
215
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
216
+ while (1) switch (_context.prev = _context.next) {
217
+ case 0:
218
+ _context.next = 2;
219
+ return run('delRule', uid);
220
+ case 2:
221
+ success = _context.sent;
222
+ if (success) rulesRefresh({
223
+ verifyScope: verifyScope
224
+ });
225
+ case 4:
226
+ case "end":
227
+ return _context.stop();
228
+ }
229
+ }, _callee);
230
+ }));
231
+ function onOk() {
232
+ return _onOk.apply(this, arguments);
233
+ }
234
+ return onOk;
235
+ }()
236
+ });
237
+ case 1:
238
+ case "end":
239
+ return _context2.stop();
240
+ }
241
+ }, _callee2);
242
+ }));
243
+ return function (_x, _x2) {
244
+ return _ref7.apply(this, arguments);
245
+ };
246
+ }());
173
247
  return /*#__PURE__*/React.createElement(Spin, {
174
248
  spinning: _loading || loading || rulesLoading
175
249
  }, !isBatch ? /*#__PURE__*/React.createElement(PanelItem, {
@@ -183,7 +257,7 @@ var SettingUI = function SettingUI(_ref) {
183
257
  onChange: function onChange(e) {
184
258
  return onAliasChange(fieldData, e.target.value);
185
259
  }
186
- })) : null, component === 'table' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PanelItem, {
260
+ })) : null, ['table', 'tableForm'].includes(component) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PanelItem, {
187
261
  label: formatMessage({
188
262
  id: "".concat(_I18N_PREFIX_, ".width"),
189
263
  label: '列宽'
@@ -285,8 +359,8 @@ var SettingUI = function SettingUI(_ref) {
285
359
  })
286
360
  }, /*#__PURE__*/React.createElement(Input, {
287
361
  defaultValue: fieldData.note,
288
- onChange: function onChange(val) {
289
- return runDebounce('note', val);
362
+ onChange: function onChange(e) {
363
+ return runDebounce('note', e.target.value);
290
364
  },
291
365
  size: "small"
292
366
  })), /*#__PURE__*/React.createElement(PanelItem, {
@@ -296,8 +370,8 @@ var SettingUI = function SettingUI(_ref) {
296
370
  })
297
371
  }, /*#__PURE__*/React.createElement(Input, {
298
372
  defaultValue: fieldData.tip,
299
- onChange: function onChange(val) {
300
- return runDebounce('tip', val);
373
+ onChange: function onChange(e) {
374
+ return runDebounce('tip', e.target.value);
301
375
  },
302
376
  size: "small"
303
377
  })), /*#__PURE__*/React.createElement(PanelItem, {
@@ -307,8 +381,8 @@ var SettingUI = function SettingUI(_ref) {
307
381
  })
308
382
  }, /*#__PURE__*/React.createElement(Input, {
309
383
  defaultValue: fieldData.placeholder,
310
- onChange: function onChange(val) {
311
- return runDebounce('placeholder', val);
384
+ onChange: function onChange(e) {
385
+ return runDebounce('placeholder', e.target.value);
312
386
  },
313
387
  size: "small"
314
388
  }))), !isBatch ? /*#__PURE__*/React.createElement(PanelItem, {
@@ -327,15 +401,15 @@ var SettingUI = function SettingUI(_ref) {
327
401
  id: "".concat(_I18N_PREFIX_, ".required"),
328
402
  label: '是否必填'
329
403
  })
330
- }, renderCodeIcon(fieldRequired, FIELD_SCOPES.FIELD_REQUIRED)), 'table' === component && /*#__PURE__*/React.createElement(PanelItem, {
404
+ }, renderCodeIcon(fieldRequired, FIELD_SCOPES.FIELD_REQUIRED)), ['table', 'tableForm'].includes && /*#__PURE__*/React.createElement(PanelItem, {
331
405
  label: formatMessage({
332
- id: "".concat(_I18N_PREFIX_, ".display"),
333
- label: '是否显示'
406
+ id: "".concat(_I18N_PREFIX_, ".table.display"),
407
+ label: '表格中显示'
334
408
  })
335
- }, renderCodeIcon(fieldTable, FIELD_SCOPES.FIELD_TABLE_DISPLAY)), 'form' === component && /*#__PURE__*/React.createElement(PanelItem, {
409
+ }, renderCodeIcon(fieldTable, FIELD_SCOPES.FIELD_TABLE_DISPLAY)), ['form', 'tableForm'].includes(component) && /*#__PURE__*/React.createElement(PanelItem, {
336
410
  label: formatMessage({
337
- id: "".concat(_I18N_PREFIX_, ".display"),
338
- label: '是否显示'
411
+ id: "".concat(_I18N_PREFIX_, ".form.display"),
412
+ label: '表单中显示'
339
413
  })
340
414
  }, renderCodeIcon(fieldForm, FIELD_SCOPES.FIELD_FORM_DISPLAY)), /*#__PURE__*/React.createElement(PanelItem, {
341
415
  label: formatMessage({
@@ -362,7 +436,61 @@ var SettingUI = function SettingUI(_ref) {
362
436
  }), "\n \u3010").concat(fieldDefaultValue.expression, "\u3011") : formatMessage({
363
437
  id: 'luckda.lowcode.painter.setting',
364
438
  label: '设置'
365
- }))) : null, !isBatch ? /*#__PURE__*/React.createElement(Collapse, {
439
+ }))) : null, !isBatch ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Collapse, {
440
+ label: formatMessage({
441
+ id: "".concat(_I18N_PREFIX_, ".rules.front"),
442
+ label: '前端校验规则'
443
+ }),
444
+ bodyStyle: {
445
+ padding: '12px 16px'
446
+ }
447
+ }, /*#__PURE__*/React.createElement(ListEditor, {
448
+ addText: formatMessage({
449
+ id: "".concat(_I18N_PREFIX_, ".addRules"),
450
+ label: '添加校验规则'
451
+ }),
452
+ handleAdd: function handleAdd() {
453
+ return setRule({
454
+ ruleType: 'front'
455
+ });
456
+ }
457
+ }, frontRules === null || frontRules === void 0 ? void 0 : frontRules.map(function (_rule) {
458
+ return /*#__PURE__*/React.createElement(ListEditorItem, {
459
+ left: /*#__PURE__*/React.createElement("span", null, propertyRules[_rule.verifyType].label),
460
+ right: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tooltip, {
461
+ title: formatMessage({
462
+ id: 'luckda.lowcode.painter.edit',
463
+ label: '编辑'
464
+ })
465
+ }, /*#__PURE__*/React.createElement(Icon, {
466
+ type: "edit",
467
+ style: {
468
+ marginRight: '8px',
469
+ cursor: 'pointer'
470
+ },
471
+ onClick: function onClick() {
472
+ return setRule(_objectSpread(_objectSpread({}, _rule), {}, {
473
+ ruleType: 'front'
474
+ }));
475
+ }
476
+ })), /*#__PURE__*/React.createElement(Tooltip, {
477
+ title: formatMessage({
478
+ id: 'luckda.lowcode.painter.delete',
479
+ label: '删除'
480
+ })
481
+ }, /*#__PURE__*/React.createElement(Icon, {
482
+ type: "delete",
483
+ style: {
484
+ cursor: 'pointer'
485
+ },
486
+ onClick: function onClick() {
487
+ return handleDelete(_rule.uid, 0);
488
+ }
489
+ }))),
490
+ item: _rule,
491
+ sortable: false
492
+ });
493
+ }))), /*#__PURE__*/React.createElement(Collapse, {
366
494
  label: formatMessage({
367
495
  id: "".concat(_I18N_PREFIX_, ".rules"),
368
496
  label: '校验规则'
@@ -376,7 +504,9 @@ var SettingUI = function SettingUI(_ref) {
376
504
  label: '添加校验规则'
377
505
  }),
378
506
  handleAdd: function handleAdd() {
379
- return setRule({});
507
+ return setRule({
508
+ ruleType: 'back'
509
+ });
380
510
  }
381
511
  }, rules === null || rules === void 0 ? void 0 : rules.map(function (_rule) {
382
512
  return /*#__PURE__*/React.createElement(ListEditorItem, {
@@ -393,7 +523,9 @@ var SettingUI = function SettingUI(_ref) {
393
523
  cursor: 'pointer'
394
524
  },
395
525
  onClick: function onClick() {
396
- return setRule(_rule);
526
+ return setRule(_objectSpread(_objectSpread({}, _rule), {}, {
527
+ ruleType: 'back'
528
+ }));
397
529
  }
398
530
  })), /*#__PURE__*/React.createElement(Tooltip, {
399
531
  title: formatMessage({
@@ -406,13 +538,13 @@ var SettingUI = function SettingUI(_ref) {
406
538
  cursor: 'pointer'
407
539
  },
408
540
  onClick: function onClick() {
409
- return run('delRule', _rule.uid);
541
+ return handleDelete(_rule.uid, 1);
410
542
  }
411
543
  }))),
412
544
  item: _rule,
413
545
  sortable: false
414
546
  });
415
- }))) : null, /*#__PURE__*/React.createElement(FieldAttrsModal, {
547
+ })))) : null, /*#__PURE__*/React.createElement(FieldAttrsModal, {
416
548
  dataModelKey: dataModelKey,
417
549
  datasetId: datasetId,
418
550
  moduleId: moduleId,
@@ -211,88 +211,57 @@ var FieldSetting = function FieldSetting(_ref) {
211
211
  }),
212
212
  runDebounce = _useDebounceFn.run;
213
213
  var run = useMemoizedFn( /*#__PURE__*/function () {
214
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(key, val) {
215
- var mapping, _stateItem, request, c, d, _yield$request, code;
216
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
217
- while (1) switch (_context2.prev = _context2.next) {
214
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key, val) {
215
+ var _yield$fetchDelAttrs, code, mapping, _stateItem, request, c, d, _yield$request, _code;
216
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
217
+ while (1) switch (_context.prev = _context.next) {
218
218
  case 0:
219
219
  if (!(key === 'isEqual')) {
220
- _context2.next = 5;
220
+ _context.next = 5;
221
221
  break;
222
222
  }
223
- _context2.next = 3;
223
+ _context.next = 3;
224
224
  return runFetchUpdateUniqueField(_defineProperty({
225
225
  moduleDatasetUid: datasetId,
226
226
  moduleUid: moduleId
227
227
  }, val ? 'uniqueFieldUid' : 'noUniqueFieldUid', fieldData.uid));
228
228
  case 3:
229
- _context2.next = 30;
229
+ _context.next = 34;
230
230
  break;
231
231
  case 5:
232
232
  if (!(key === 'align' || key === 'headerAlign' || key === 'pinned' || key === 'tip')) {
233
- _context2.next = 9;
233
+ _context.next = 9;
234
234
  break;
235
235
  }
236
236
  handleUIChange(key, val);
237
- _context2.next = 30;
237
+ _context.next = 34;
238
238
  break;
239
239
  case 9:
240
240
  if (!(key === 'col' || key === 'row')) {
241
- _context2.next = 13;
241
+ _context.next = 13;
242
242
  break;
243
243
  }
244
244
  handleUIChange(key, val);
245
- _context2.next = 30;
245
+ _context.next = 34;
246
246
  break;
247
247
  case 13:
248
248
  if (!(key === 'delRule')) {
249
- _context2.next = 17;
249
+ _context.next = 21;
250
250
  break;
251
251
  }
252
- Modal.confirm({
253
- title: formatMessage({
254
- id: 'luckda.lowcode.painter.delete.tip',
255
- label: '确定删除吗?'
256
- }),
257
- getContainer: function getContainer() {
258
- return document.getElementById('lc-design-workspace');
259
- },
260
- zIndex: 1001,
261
- onOk: function () {
262
- var _onOk = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
263
- var _yield$fetchDelAttrs, code;
264
- return _regeneratorRuntime().wrap(function _callee$(_context) {
265
- while (1) switch (_context.prev = _context.next) {
266
- case 0:
267
- _context.next = 2;
268
- return fetchDelAttrs({
269
- moduleDatasetUid: fieldData.datasetFieldUid,
270
- ccmModuleFieldVerifies: [{
271
- uid: val
272
- }],
273
- scope: FIELD_SCOPES.CHECK_RULES
274
- });
275
- case 2:
276
- _yield$fetchDelAttrs = _context.sent;
277
- code = _yield$fetchDelAttrs.code;
278
- if (code === 1) {
279
- rulesRefresh();
280
- }
281
- case 5:
282
- case "end":
283
- return _context.stop();
284
- }
285
- }, _callee);
286
- }));
287
- function onOk() {
288
- return _onOk.apply(this, arguments);
289
- }
290
- return onOk;
291
- }()
252
+ _context.next = 16;
253
+ return fetchDelAttrs({
254
+ moduleDatasetUid: fieldData.datasetFieldUid,
255
+ ccmModuleFieldVerifies: [{
256
+ uid: val
257
+ }],
258
+ scope: FIELD_SCOPES.CHECK_RULES
292
259
  });
293
- _context2.next = 30;
294
- break;
295
- case 17:
260
+ case 16:
261
+ _yield$fetchDelAttrs = _context.sent;
262
+ code = _yield$fetchDelAttrs.code;
263
+ return _context.abrupt("return", code === 1);
264
+ case 21:
296
265
  mapping = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FIELD_SCOPES.FIELD_REQUIRED, {
297
266
  key: 'fieldRequired',
298
267
  refresh: requiredRefresh
@@ -328,19 +297,19 @@ var FieldSetting = function FieldSetting(_ref) {
328
297
  if (!_stateItem) {
329
298
  d.datasetBusinessUids = [fieldData.uid];
330
299
  }
331
- _context2.next = 27;
300
+ _context.next = 31;
332
301
  return request(d);
333
- case 27:
334
- _yield$request = _context2.sent;
335
- code = _yield$request.code;
336
- if (code === 1) {
302
+ case 31:
303
+ _yield$request = _context.sent;
304
+ _code = _yield$request.code;
305
+ if (_code === 1) {
337
306
  mapping[key].refresh();
338
307
  }
339
- case 30:
308
+ case 34:
340
309
  case "end":
341
- return _context2.stop();
310
+ return _context.stop();
342
311
  }
343
- }, _callee2);
312
+ }, _callee);
344
313
  }));
345
314
  return function (_x, _x2) {
346
315
  return _ref8.apply(this, arguments);
@@ -0,0 +1,53 @@
1
+ export var getFrontRules = function getFrontRules(property) {
2
+ var rules = [];
3
+ switch (property) {
4
+ case 'number':
5
+ case 'money':
6
+ case 'decimal':
7
+ case 'sint':
8
+ rules = [{
9
+ label: '最小值',
10
+ key: 'min',
11
+ defaultCode: "function min(cValue) { \n return 0; // 返回数字 \n}"
12
+ }, {
13
+ label: '最大值',
14
+ key: 'max',
15
+ defaultCode: "function max(cValue) { \n return 100; // 返回数字 \n}"
16
+ }];
17
+ break;
18
+ case 'string':
19
+ rules = [{
20
+ label: '长度',
21
+ key: 'length',
22
+ defaultCode: "function length(cValue) { \n return 100; // 返回数字 \n}"
23
+ }, {
24
+ label: '邮箱',
25
+ key: 'email',
26
+ noCode: true
27
+ }, {
28
+ label: '身份证',
29
+ key: 'idcard',
30
+ noCode: true
31
+ }, {
32
+ label: '手机号码',
33
+ key: 'mobile',
34
+ noCode: true
35
+ }];
36
+ break;
37
+ case 'text':
38
+ rules = [{
39
+ label: '长度',
40
+ key: 'length',
41
+ defaultCode: "function length(cValue) { \n return 100; // 返回数字 \n}"
42
+ }];
43
+ break;
44
+ default:
45
+ ;
46
+ }
47
+ rules.push({
48
+ label: '自定义',
49
+ key: 'rules',
50
+ defaultCode: "function validator(cValue, rule, value, callback) { \n if(!value) callback('errorMsg'); \n callback(); \n}"
51
+ });
52
+ return rules;
53
+ };
@@ -1,13 +1,12 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
2
  import _toArray from "@babel/runtime/helpers/esm/toArray";
3
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
4
  import React from 'react';
6
5
  import { useMemoizedFn, useCreation } from 'ahooks';
7
6
  import { Icon, Dropdown, Button, Menu, Modal } from 'luck-design/antd';
8
7
  import { concat, reduce, sortBy, includes, cloneDeep } from 'lodash';
9
8
  import { formatMessage, suid } from '@luck-design-biz/base/utils';
10
- import { usePageData } from "../../../engine/provider/ContextProvider";
9
+ import { useGet } from "../../../engine/provider/ContextProvider";
11
10
  import { SortBox, SortItem } from "../../components/SortBox";
12
11
  import BlockEditorItem from "./BlockEditorItem";
13
12
  import defaultMeta from "../../../engine/meta/form.props.default.json";
@@ -49,15 +48,10 @@ var BlockEditor = function BlockEditor(_ref) {
49
48
  nodeId = _ref.nodeId,
50
49
  renderPanelItems = _ref.renderPanelItems,
51
50
  innerProps = _ref.innerProps;
52
- var _usePageData = usePageData({
53
- id: nodeId
54
- }),
55
- _usePageData2 = _slicedToArray(_usePageData, 1),
56
- node = _usePageData2[0];
57
- var _ref2 = node || {
58
- props: {}
59
- },
60
- blocks = _ref2.props.blocks;
51
+ var blocks = useGet({
52
+ id: nodeId,
53
+ path: 'props.blocks'
54
+ });
61
55
  var handleAddBlock = useMemoizedFn(function (type) {
62
56
  var _id = "block_".concat(suid());
63
57
  var newData = concat(blocks, _objectSpread(_objectSpread({
@@ -111,13 +105,12 @@ var BlockEditor = function BlockEditor(_ref) {
111
105
  order: index + 1
112
106
  });
113
107
  });
114
- console.log('newData', newData, sortItems);
115
108
  onChange(newData);
116
109
  });
117
110
  var menu = useCreation(function () {
118
111
  return /*#__PURE__*/React.createElement(Menu, {
119
- onClick: function onClick(_ref3) {
120
- var key = _ref3.key;
112
+ onClick: function onClick(_ref2) {
113
+ var key = _ref2.key;
121
114
  return handleAddBlock(key);
122
115
  }
123
116
  }, addOptions.map(function (opt) {
@@ -163,7 +156,9 @@ var BlockEditor = function BlockEditor(_ref) {
163
156
  }, renderPanelItems(commonProps.map(function (p) {
164
157
  var cloneP = cloneDeep(p);
165
158
  if (cloneP.key === 'dataset') {
166
- cloneP.next.props[0].valueKey = "blocks[0].fields";
159
+ var _valueKey = 'blocks[0].fields';
160
+ cloneP.next.props[0].valueKey = _valueKey;
161
+ cloneP.beforeChangeKey = _valueKey;
167
162
  }
168
163
  return _objectSpread(_objectSpread({}, cloneP), {}, {
169
164
  disabled: includes(['mode', 'serialEffect'], cloneP.key) || cloneP.disabled,
@@ -208,8 +203,10 @@ var BlockEditor = function BlockEditor(_ref) {
208
203
  cloneP.valueKey = "blocks[".concat(i + 1, "].").concat(p.key);
209
204
  if (p.key === 'dataset') {
210
205
  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");
206
+ if (blockItem.type !== 'auto') cloneP.next.props[0].component = 'tableForm';
207
+ var _valueKey = "blocks[".concat(i + 1, "].fields");
208
+ cloneP.next.props[0].valueKey = _valueKey;
209
+ cloneP.beforeChangeKey = _valueKey;
213
210
  result.push(cloneP);
214
211
  }
215
212
  } else result.push(cloneP);
@@ -5,10 +5,12 @@ import React from 'react';
5
5
  import { Select, Button } from 'luck-design/antd';
6
6
  import styles from "../style/button-type.less";
7
7
  var ButtonType = function ButtonType(_ref) {
8
- var onChange = _ref.onChange,
8
+ var _onChange = _ref.onChange,
9
9
  props = _objectWithoutProperties(_ref, _excluded);
10
10
  return /*#__PURE__*/React.createElement(Select, _extends({}, props, {
11
- onChange: onChange,
11
+ onChange: function onChange(val) {
12
+ return _onChange(val);
13
+ },
12
14
  className: styles['lc-painter-panel-section-components-buttontype']
13
15
  }), /*#__PURE__*/React.createElement(Select.Option, {
14
16
  value: "primary"
@@ -14,6 +14,7 @@ var Div = styled.div.withConfig({
14
14
  var DataSetSelector = function DataSetSelector(_ref) {
15
15
  var defaultValue = _ref.defaultValue,
16
16
  onChange = _ref.onChange,
17
+ beforeChangeKey = _ref.beforeChangeKey,
17
18
  size = _ref.size,
18
19
  isTree = _ref.isTree,
19
20
  next = _ref.next;
@@ -75,7 +76,9 @@ var DataSetSelector = function DataSetSelector(_ref) {
75
76
  code: value,
76
77
  uid: key
77
78
  };
78
- onChange(_ds);
79
+ onChange(_ds, function (_beforeChange) {
80
+ return _beforeChange(beforeChangeKey, []);
81
+ });
79
82
  setCurrentDataset(_ds);
80
83
  }
81
84
  case 11: