@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
@@ -8,7 +8,7 @@ import { useBoolean, useCreation, useMemoizedFn } from 'ahooks';
8
8
  import { Drawer, Icon } from 'luck-design/antd';
9
9
  import classNames from 'classnames';
10
10
  import { startsWith, isNil, get } from 'lodash';
11
- import { useContext } from "../../engine/provider/ContextProvider";
11
+ import { useGet } from "../../engine/provider/ContextProvider";
12
12
  import PanelItemFactory from "../../engine/factory/panel-item-factory";
13
13
  import PanelItem from "./PanelItem";
14
14
  import Collapse from "./Collapse";
@@ -16,7 +16,7 @@ import styles from "../style/panel-attrs.less";
16
16
  var AttrsPanel = function AttrsPanel(_ref) {
17
17
  var _nextRef$current2, _nextRef$current3;
18
18
  var meta = _ref.meta,
19
- value = _ref.value,
19
+ nodeId = _ref.nodeId,
20
20
  onChange = _ref.onChange;
21
21
  var nextRef = useRef(null);
22
22
  var factory = useRef(new PanelItemFactory());
@@ -26,10 +26,18 @@ var AttrsPanel = function AttrsPanel(_ref) {
26
26
  _useBoolean2$ = _useBoolean2[1],
27
27
  setTrue = _useBoolean2$.setTrue,
28
28
  setFalse = _useBoolean2$.setFalse;
29
- var context = useContext();
30
- var handleChange = useMemoizedFn(function (field, val, repositioning) {
29
+ var node = useGet({
30
+ id: nodeId,
31
+ path: 'props'
32
+ });
33
+ var handleChange = useMemoizedFn(function (field, val, _ref2) {
31
34
  var _nextRef$current;
32
- onChange(field, val, repositioning);
35
+ var repositioning = _ref2.repositioning,
36
+ before = _ref2.before;
37
+ onChange(field, val, {
38
+ repositioning: repositioning,
39
+ before: before
40
+ });
33
41
  if ((_nextRef$current = nextRef.current) !== null && _nextRef$current !== void 0 && _nextRef$current.autoClose) {
34
42
  setFalse();
35
43
  }
@@ -44,25 +52,23 @@ var AttrsPanel = function AttrsPanel(_ref) {
44
52
  setTrue();
45
53
  });
46
54
  var renderPanelItems = useMemoizedFn(function (items, dynamicProps) {
47
- var _context$componentMap = context.componentMap.get(value.id).api.getSelfAndParentLCData(),
48
- node = _context$componentMap.node;
49
- return items.map(function (_ref2) {
50
- var type = _ref2.type,
51
- key = _ref2.key,
52
- valueKey = _ref2.valueKey,
53
- name = _ref2.name,
54
- desc = _ref2.desc,
55
- defaultValue = _ref2.default,
56
- props = _ref2.props,
57
- wrapper = _ref2.wrapper,
58
- wrapperProps = _ref2.wrapperProps,
59
- next = _ref2.next,
60
- repositioning = _ref2.repositioning,
61
- rest = _objectWithoutProperties(_ref2, _excluded);
55
+ return items.map(function (_ref3) {
56
+ var type = _ref3.type,
57
+ key = _ref3.key,
58
+ valueKey = _ref3.valueKey,
59
+ name = _ref3.name,
60
+ desc = _ref3.desc,
61
+ defaultValue = _ref3.default,
62
+ props = _ref3.props,
63
+ wrapper = _ref3.wrapper,
64
+ wrapperProps = _ref3.wrapperProps,
65
+ next = _ref3.next,
66
+ repositioning = _ref3.repositioning,
67
+ rest = _objectWithoutProperties(_ref3, _excluded);
62
68
  var Comp = factory.current.getPanelItemFor(startsWith(type, '_') ? 'dynamic' : type, type);
63
69
  if (type === 'group') {
64
70
  return /*#__PURE__*/React.createElement(Comp, {
65
- nodeId: value.id,
71
+ nodeId: nodeId,
66
72
  key: key,
67
73
  field: key,
68
74
  label: name,
@@ -73,26 +79,29 @@ var AttrsPanel = function AttrsPanel(_ref) {
73
79
  desc: desc
74
80
  }, renderPanelItems(props || [], dynamicProps));
75
81
  }
76
- var _originalVal = get(node.props, valueKey || key);
82
+ var _originalVal = get(node, valueKey || key);
77
83
  var comp = Comp && /*#__PURE__*/React.createElement(Comp, _extends({
78
- nodeId: value.id,
84
+ nodeId: nodeId,
79
85
  key: key,
80
86
  defaultValue: isNil(_originalVal) ? defaultValue : _originalVal,
81
87
  next: next !== null && next !== void 0 && next.props ? function (_dp) {
82
88
  return goNext(next, _dp);
83
89
  } : null,
84
- onChange: function onChange(val) {
85
- return handleChange(valueKey || key, val, repositioning);
90
+ onChange: function onChange(val, before) {
91
+ return handleChange(valueKey || key, val, {
92
+ repositioning: repositioning,
93
+ before: before
94
+ });
86
95
  },
87
96
  size: "small",
88
- settings: node.props,
97
+ settings: node,
89
98
  renderPanelItems: renderPanelItems
90
99
  }, rest, dynamicProps));
91
100
  if (wrapper === 'hidden') return comp;
92
101
  var Wrapper = wrapper === 'collapse' ? Collapse : PanelItem;
93
102
  return /*#__PURE__*/React.createElement(Wrapper, _extends({
94
103
  key: key,
95
- nodeId: value.id,
104
+ nodeId: nodeId,
96
105
  field: key,
97
106
  label: name,
98
107
  desc: desc
@@ -105,7 +114,7 @@ var AttrsPanel = function AttrsPanel(_ref) {
105
114
  return /*#__PURE__*/React.createElement(React.Fragment, null);
106
115
  }
107
116
  return renderPanelItems(meta.props);
108
- }, [value]);
117
+ }, [nodeId]);
109
118
  useEffect(function () {
110
119
  if (!open) {
111
120
  nextRef.current = null;
@@ -113,7 +122,7 @@ var AttrsPanel = function AttrsPanel(_ref) {
113
122
  }, [open]);
114
123
  return /*#__PURE__*/React.createElement("div", {
115
124
  id: "lc-painter-panel-attrs-container",
116
- className: classNames(styles['lc-painter-panel-attrs'], _defineProperty(_defineProperty({}, styles.hidden, !value), styles.showNext, open))
125
+ className: classNames(styles['lc-painter-panel-attrs'], _defineProperty(_defineProperty({}, styles.hidden, !nodeId), styles.showNext, open))
117
126
  }, PropsComps, /*#__PURE__*/React.createElement(Drawer, {
118
127
  visible: open,
119
128
  width: 320,
@@ -61,7 +61,7 @@ export default function (_ref) {
61
61
  }
62
62
  function pubEvent(event, eventName, ctx) {
63
63
  if (event.active && event.over && event.active.data.current.id !== event.over.data.current.id) {
64
- var parentNode = ctx.componentMap.get(event.over.data.current.id).api.getSelfAndParentLCData().parent;
64
+ var parentNode = ctx.componentMap.get(event.over.data.current.id).api.getSelfAndParentData().parent;
65
65
 
66
66
  // console.log('event.over.data.current.type', event.over.data.current.type)
67
67
  var actionSide = getAction(event.over.data.current.type, event.over.data.current.component.component, event.active.rect.current.translated, event.over.rect, parentNode);
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["onChange", "isFullscreen"],
4
+ var _excluded = ["onChange", "isFullscreen", "style"],
5
5
  _excluded2 = ["children", "language", "options"];
6
6
  import React, { useEffect, useRef, useImperativeHandle, forwardRef } from 'react';
7
7
  import * as monaco from 'monaco-editor';
@@ -42,6 +42,7 @@ import * as monaco from 'monaco-editor';
42
42
  var BaseEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
43
43
  var onChange = _ref.onChange,
44
44
  isFullscreen = _ref.isFullscreen,
45
+ style = _ref.style,
45
46
  props = _objectWithoutProperties(_ref, _excluded);
46
47
  var children = props.children,
47
48
  _props$language = props.language,
@@ -102,7 +103,7 @@ var BaseEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
102
103
  };
103
104
  return /*#__PURE__*/React.createElement("div", _extends({
104
105
  ref: editorRef,
105
- style: editorStyle
106
+ style: _objectSpread(_objectSpread({}, editorStyle), style)
106
107
  }, rest));
107
108
  });
108
109
  export default /*#__PURE__*/React.memo(BaseEditor);
@@ -0,0 +1,108 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useRef, useImperativeHandle, useState } from 'react';
3
+ import { useMount, useCreation } from 'ahooks';
4
+ import { keyBy } from 'lodash';
5
+ import { Form, Row, Col, Select } from 'luck-design/antd';
6
+ import styled from 'styled-components';
7
+ import { formatMessage } from '@luck-design-biz/base/utils';
8
+ import { JSEditor } from "../code-editor";
9
+ import { getFrontRules } from "./meta/frontRules";
10
+ var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.fieldsSetting.checkRules';
11
+ var FormItem = styled(Form.Item).withConfig({
12
+ displayName: "FormItem",
13
+ componentId: "luckda-6530__sc-d9mrmm-0"
14
+ })(["margin-bottom:0;"]);
15
+ var CheckRules = function CheckRules(_ref) {
16
+ var form = _ref.form,
17
+ fields = _ref.fields,
18
+ rule = _ref.rule,
19
+ fieldData = _ref.fieldData,
20
+ ruleRef = _ref.ruleRef;
21
+ var _useState = useState(),
22
+ _useState2 = _slicedToArray(_useState, 2),
23
+ verifyType = _useState2[0],
24
+ setVerifyType = _useState2[1];
25
+ var _useState3 = useState(''),
26
+ _useState4 = _slicedToArray(_useState3, 2),
27
+ expression = _useState4[0],
28
+ setExpression = _useState4[1];
29
+ var jsRef = useRef();
30
+ useImperativeHandle(ruleRef, function () {
31
+ return jsRef.current;
32
+ });
33
+ useMount(function () {
34
+ if (rule.uid) {
35
+ form.setFieldsValue({
36
+ verifyType: rule.verifyType
37
+ });
38
+ setExpression(rule.expression);
39
+ } else {
40
+ var defaultType = getFrontRules(fieldData.property)[0].key;
41
+ form.setFieldsValue({
42
+ verifyType: defaultType
43
+ });
44
+ setVerifyType(defaultType);
45
+ }
46
+ });
47
+ var frontRulesObj = useCreation(function () {
48
+ return keyBy(getFrontRules(fieldData.property), 'key');
49
+ }, []);
50
+ var frontRule = useCreation(function () {
51
+ var _frontRulesObj$verify;
52
+ setExpression(((_frontRulesObj$verify = frontRulesObj[verifyType]) === null || _frontRulesObj$verify === void 0 ? void 0 : _frontRulesObj$verify.defaultCode) || '');
53
+ if (verifyType) return frontRulesObj[verifyType];
54
+ return {
55
+ noCode: false
56
+ };
57
+ }, [verifyType]);
58
+ return /*#__PURE__*/React.createElement(Form, {
59
+ layout: "vertical"
60
+ }, /*#__PURE__*/React.createElement(Row, {
61
+ gutter: 8
62
+ }, /*#__PURE__*/React.createElement(Col, {
63
+ span: 24
64
+ }, /*#__PURE__*/React.createElement(FormItem, {
65
+ label: formatMessage({
66
+ id: "".concat(_I18N_PREFIX_, ".verifyType"),
67
+ label: '校验规则'
68
+ })
69
+ }, form.getFieldDecorator('verifyType', {
70
+ rules: [{
71
+ required: true,
72
+ message: formatMessage({
73
+ id: "".concat(_I18N_PREFIX_, ".message.verifyType"),
74
+ label: '请选择校验规则'
75
+ })
76
+ }]
77
+ })( /*#__PURE__*/React.createElement(Select, {
78
+ onChange: function onChange(val) {
79
+ console.log('setVerifyType');
80
+ setVerifyType(val);
81
+ }
82
+ }, getFrontRules(fieldData.property).map(function (rule) {
83
+ return /*#__PURE__*/React.createElement(Option, {
84
+ key: rule.key,
85
+ value: rule.key
86
+ }, rule.label);
87
+ }))))), !frontRule.noCode && /*#__PURE__*/React.createElement(Col, {
88
+ span: 24
89
+ }, /*#__PURE__*/React.createElement("span", {
90
+ style: {
91
+ fontSize: '14px',
92
+ marginBottom: '16px',
93
+ color: 'rgba(0, 0, 0, 0.85)'
94
+ }
95
+ }, formatMessage({
96
+ id: "".concat(_I18N_PREFIX_, ".logic"),
97
+ label: '校验逻辑'
98
+ })), /*#__PURE__*/React.createElement(JSEditor, {
99
+ style: {
100
+ height: '300px',
101
+ border: '1px solid rgb(217, 217, 217)',
102
+ borderRadius: '4px',
103
+ padding: '12px'
104
+ },
105
+ ref: jsRef
106
+ }, expression))));
107
+ };
108
+ export default CheckRules;
@@ -29,7 +29,7 @@ var CheckRules = function CheckRules(_ref) {
29
29
  }, /*#__PURE__*/React.createElement(Row, {
30
30
  gutter: 8
31
31
  }, /*#__PURE__*/React.createElement(Col, {
32
- span: 12
32
+ span: 24
33
33
  }, /*#__PURE__*/React.createElement(FormItem, {
34
34
  label: formatMessage({
35
35
  id: "".concat(_I18N_PREFIX_, ".verifyType"),
@@ -50,31 +50,6 @@ var CheckRules = function CheckRules(_ref) {
50
50
  }, val));
51
51
  return types;
52
52
  }, []))))), /*#__PURE__*/React.createElement(Col, {
53
- span: 12
54
- }, /*#__PURE__*/React.createElement(FormItem, {
55
- label: formatMessage({
56
- id: "".concat(_I18N_PREFIX_, ".verifyScope"),
57
- label: '校验类型'
58
- })
59
- }, form.getFieldDecorator('verifyScope', {
60
- rules: [{
61
- required: true,
62
- message: formatMessage({
63
- id: "".concat(_I18N_PREFIX_, ".message.verifyScope"),
64
- label: '请选择校验类型'
65
- })
66
- }]
67
- })( /*#__PURE__*/React.createElement(Select, null, /*#__PURE__*/React.createElement(Option, {
68
- value: 0
69
- }, formatMessage({
70
- id: "".concat(_I18N_PREFIX_, ".frontend"),
71
- label: '前端'
72
- })), /*#__PURE__*/React.createElement(Option, {
73
- value: 1
74
- }, formatMessage({
75
- id: "".concat(_I18N_PREFIX_, ".backend"),
76
- label: '后端'
77
- })))))), /*#__PURE__*/React.createElement(Col, {
78
53
  span: 24
79
54
  }, /*#__PURE__*/React.createElement(FormItem, {
80
55
  label: formatMessage({
@@ -2,12 +2,15 @@ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
3
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
- import React from 'react';
5
+ import React, { useRef } from 'react';
6
6
  import { useMemoizedFn, useBoolean } from 'ahooks';
7
7
  import { Modal, Form } from 'luck-design/antd';
8
+ import { formatMessage } from '@luck-design-biz/base/utils';
8
9
  import CheckRules from "./CheckRules";
10
+ import CheckFrontRules from "./CheckFrontRules";
9
11
  import { fetchAddFieldAttrs, fetchUpdateFieldAttrs } from "../../../constants/api-url";
10
12
  import { FIELD_SCOPES } from "../../../constants";
13
+ var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.fieldsSetting';
11
14
  var FieldRulesModal = Form.create({
12
15
  name: 'field-rules-form'
13
16
  })(function (_ref) {
@@ -27,6 +30,7 @@ var FieldRulesModal = Form.create({
27
30
  _useBoolean2$ = _useBoolean2[1],
28
31
  setTrue = _useBoolean2$.setTrue,
29
32
  setFalse = _useBoolean2$.setFalse;
33
+ var frontRuleRef = useRef();
30
34
  var handleOk = useMemoizedFn( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
31
35
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
32
36
  while (1) switch (_context2.prev = _context2.next) {
@@ -34,7 +38,8 @@ var FieldRulesModal = Form.create({
34
38
  setTrue();
35
39
  form.validateFields( /*#__PURE__*/function () {
36
40
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(err, vals) {
37
- var request, data, _yield$request, code;
41
+ var _frontRuleRef$current;
42
+ var request, data, expression, _val, _yield$request, code;
38
43
  return _regeneratorRuntime().wrap(function _callee$(_context) {
39
44
  while (1) switch (_context.prev = _context.next) {
40
45
  case 0:
@@ -48,29 +53,35 @@ var FieldRulesModal = Form.create({
48
53
  data = {
49
54
  scope: FIELD_SCOPES.CHECK_RULES
50
55
  };
56
+ expression = (_frontRuleRef$current = frontRuleRef.current) === null || _frontRuleRef$current === void 0 ? void 0 : _frontRuleRef$current.editor.getValue();
57
+ _val = expression ? _objectSpread(_objectSpread({}, vals), {}, {
58
+ expression: expression
59
+ }) : vals;
51
60
  if (rule.uid) {
52
- data.ccmModuleFieldVerifies = [_objectSpread(_objectSpread({}, vals), {}, {
53
- uid: rule.uid
61
+ data.ccmModuleFieldVerifies = [_objectSpread(_objectSpread({}, _val), {}, {
62
+ uid: rule.uid,
63
+ verifyScope: (rule === null || rule === void 0 ? void 0 : rule.ruleType) === 'front' ? 0 : 1
54
64
  })];
55
65
  } else {
56
- data.ccmModuleFieldVerifies = [_objectSpread(_objectSpread({}, vals), {}, {
57
- dataModelKey: dataModelKey
66
+ data.ccmModuleFieldVerifies = [_objectSpread(_objectSpread({}, _val), {}, {
67
+ dataModelKey: dataModelKey,
68
+ verifyScope: (rule === null || rule === void 0 ? void 0 : rule.ruleType) === 'front' ? 0 : 1
58
69
  })];
59
70
  data.dataModelKey = dataModelKey;
60
71
  data.datasetBusinessUids = [fieldData.uid];
61
72
  data.moduleDatasetUid = datasetId;
62
73
  data.moduleUid = moduleId;
63
74
  }
64
- _context.next = 7;
75
+ _context.next = 9;
65
76
  return request(data);
66
- case 7:
77
+ case 9:
67
78
  _yield$request = _context.sent;
68
79
  code = _yield$request.code;
69
80
  setFalse();
70
81
  if (code === 1) {
71
- onClose(true);
82
+ onClose(true, (rule === null || rule === void 0 ? void 0 : rule.ruleType) === 'front' ? 0 : 1);
72
83
  }
73
- case 11:
84
+ case 13:
74
85
  case "end":
75
86
  return _context.stop();
76
87
  }
@@ -87,7 +98,10 @@ var FieldRulesModal = Form.create({
87
98
  }, _callee2);
88
99
  })));
89
100
  return /*#__PURE__*/React.createElement(Modal, {
90
- title: condition === null || condition === void 0 || (_condition$FIELD_SCOP = condition[FIELD_SCOPES.CHECK_RULES]) === null || _condition$FIELD_SCOP === void 0 ? void 0 : _condition$FIELD_SCOP.scopeName,
101
+ title: (rule === null || rule === void 0 ? void 0 : rule.ruleType) === 'front' ? formatMessage({
102
+ id: "".concat(_I18N_PREFIX_, ".rules.front"),
103
+ label: '前端校验规则'
104
+ }) : condition === null || condition === void 0 || (_condition$FIELD_SCOP = condition[FIELD_SCOPES.CHECK_RULES]) === null || _condition$FIELD_SCOP === void 0 ? void 0 : _condition$FIELD_SCOP.scopeName,
91
105
  width: 800,
92
106
  visible: !!rule,
93
107
  getContainer: function getContainer() {
@@ -104,9 +118,15 @@ var FieldRulesModal = Form.create({
104
118
  },
105
119
  onOk: handleOk,
106
120
  onCancel: function onCancel() {
107
- return onClose(false);
121
+ return onClose(false, (rule === null || rule === void 0 ? void 0 : rule.ruleType) === 'front' ? 0 : 1);
108
122
  }
109
- }, /*#__PURE__*/React.createElement(CheckRules, {
123
+ }, (rule === null || rule === void 0 ? void 0 : rule.ruleType) === 'front' && /*#__PURE__*/React.createElement(CheckFrontRules, {
124
+ form: form,
125
+ rule: rule,
126
+ fields: fields,
127
+ ruleRef: frontRuleRef,
128
+ fieldData: fieldData
129
+ }), (rule === null || rule === void 0 ? void 0 : rule.ruleType) === 'back' && /*#__PURE__*/React.createElement(CheckRules, {
110
130
  form: form,
111
131
  rule: rule,
112
132
  condition: condition === null || condition === void 0 ? void 0 : condition[FIELD_SCOPES.CHECK_RULES],