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

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 (501) hide show
  1. package/es/components/ComplexItem/index.js +92 -0
  2. package/es/{lowcode/painter/services/toolbar.js → components/ComplexItem/service.js} +7 -11
  3. package/es/components/LDActions/index.js +8 -10
  4. package/es/components/LDActions/index.less +7 -4
  5. package/es/components/LdAutoForm/index.js +34 -11
  6. package/es/components/LdFormList/index.js +39 -23
  7. package/es/components/LdGrid/index.js +21 -7
  8. package/es/components/LdGridForm/index.js +32 -11
  9. package/es/components/LdTree/index.js +33 -15
  10. package/es/helper/FromItems.js +177 -94
  11. package/es/helper/form.js +55 -14
  12. package/es/helper/props_config.js +17 -0
  13. package/es/locales/zh-CN.js +26 -11
  14. package/es/lowcode/constants/api-url.js +354 -104
  15. package/es/lowcode/constants/event-topics.js +2 -0
  16. package/es/lowcode/constants/index.js +4 -2
  17. package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +5 -2
  18. package/es/lowcode/engine/factory/panel-item-factory/StringStrategy.js +1 -1
  19. package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +5 -2
  20. package/es/lowcode/engine/meta/box.props.default.json +1 -1
  21. package/es/lowcode/engine/meta/box.props.json +4 -4
  22. package/es/lowcode/engine/meta/button.props.json +4 -4
  23. package/es/lowcode/engine/meta/cardlist.props.json +14 -4
  24. package/es/lowcode/engine/meta/components-list.json +109 -1
  25. package/es/lowcode/engine/meta/dialog.props.default.json +11 -5
  26. package/es/lowcode/engine/meta/dialog.props.json +80 -43
  27. package/es/lowcode/engine/meta/drawer.props.json +9 -21
  28. package/es/lowcode/engine/meta/fieldcolor.props.default.json +14 -0
  29. package/es/lowcode/engine/meta/fieldcolor.props.json +63 -0
  30. package/es/lowcode/engine/meta/fieldcomplex.props.default.json +13 -0
  31. package/es/lowcode/engine/meta/fieldcomplex.props.json +39 -0
  32. package/es/lowcode/engine/meta/fielddate.props.default.json +12 -0
  33. package/es/lowcode/engine/meta/fielddate.props.json +47 -0
  34. package/es/lowcode/engine/meta/fielddict.props.default.json +14 -0
  35. package/es/lowcode/engine/meta/fielddict.props.json +44 -0
  36. package/es/lowcode/engine/meta/fieldeditor.props.default.json +13 -0
  37. package/es/lowcode/engine/meta/fieldeditor.props.json +44 -0
  38. package/es/lowcode/engine/meta/fieldgroup.props.default.json +15 -0
  39. package/es/lowcode/engine/meta/fieldgroup.props.json +73 -0
  40. package/es/lowcode/engine/meta/fieldnumber.props.default.json +14 -0
  41. package/es/lowcode/engine/meta/fieldnumber.props.json +48 -0
  42. package/es/lowcode/engine/meta/fieldradio.props.default.json +12 -0
  43. package/es/lowcode/engine/meta/fieldradio.props.json +20 -0
  44. package/es/lowcode/engine/meta/fieldregion.props.default.json +12 -0
  45. package/es/lowcode/engine/meta/fieldregion.props.json +26 -0
  46. package/es/lowcode/engine/meta/fieldselect.props.default.json +14 -0
  47. package/es/lowcode/engine/meta/fieldselect.props.json +58 -0
  48. package/es/lowcode/engine/meta/fieldstring.props.default.json +16 -0
  49. package/es/lowcode/engine/meta/fieldstring.props.json +62 -0
  50. package/es/lowcode/engine/meta/fieldswitch.props.default.json +12 -0
  51. package/es/lowcode/engine/meta/fieldswitch.props.json +31 -0
  52. package/es/lowcode/engine/meta/fieldtextarea.props.default.json +13 -0
  53. package/es/lowcode/engine/meta/fieldtextarea.props.json +49 -0
  54. package/es/lowcode/engine/meta/fieldupload.props.default.json +15 -0
  55. package/es/lowcode/engine/meta/fieldupload.props.json +71 -0
  56. package/es/lowcode/engine/meta/fielduser.props.default.json +16 -0
  57. package/es/lowcode/engine/meta/fielduser.props.json +82 -0
  58. package/es/lowcode/engine/meta/fieldyear.props.default.json +12 -0
  59. package/es/lowcode/engine/meta/fieldyear.props.json +20 -0
  60. package/es/lowcode/engine/meta/form.props.default.json +4 -5
  61. package/es/lowcode/engine/meta/form.props.json +44 -35
  62. package/es/lowcode/engine/meta/image.props.json +2 -2
  63. package/es/lowcode/engine/meta/imex.props.default.json +8 -1
  64. package/es/lowcode/engine/meta/imex.props.json +54 -22
  65. package/es/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
  66. package/es/lowcode/engine/meta/layout.props.json +2 -2
  67. package/es/lowcode/engine/meta/link.props.json +1 -1
  68. package/es/lowcode/engine/meta/page.props.json +2 -2
  69. package/es/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  70. package/es/lowcode/engine/meta/pagelayout.props.json +47 -0
  71. package/es/lowcode/engine/meta/section.props.default.json +4 -6
  72. package/es/lowcode/engine/meta/section.props.json +52 -49
  73. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  74. package/es/lowcode/engine/meta/split.props.json +4 -4
  75. package/es/lowcode/engine/meta/table.props.json +19 -13
  76. package/es/lowcode/engine/meta/tabs.props.json +3 -3
  77. package/es/lowcode/engine/meta/text.props.json +2 -2
  78. package/es/lowcode/engine/meta/tree.props.default.json +2 -0
  79. package/es/lowcode/engine/meta/tree.props.json +71 -8
  80. package/es/lowcode/engine/provider/ContextProvider/index.js +21 -35
  81. package/es/lowcode/engine/provider/RemoteSourceProvider.js +89 -37
  82. package/es/lowcode/engine/tools/dataProcess.js +4 -0
  83. package/es/lowcode/engine/tools/diff.js +60 -0
  84. package/es/lowcode/engine/tools/helper.js +49 -26
  85. package/es/lowcode/engine/tools/useCanvasRender.js +8 -9
  86. package/es/lowcode/engine/tools/usePageDataStore.js +331 -0
  87. package/es/lowcode/engine/tools/usePromiseState.js +8 -10
  88. package/es/lowcode/engine/tools/useTodo.js +20 -10
  89. package/es/lowcode/painter/Design.js +41 -6
  90. package/es/lowcode/painter/DesignOperator.js +112 -88
  91. package/es/lowcode/painter/DesignToolbar.js +280 -36
  92. package/es/lowcode/painter/Outline.js +12 -10
  93. package/es/lowcode/painter/Panel.js +84 -46
  94. package/es/lowcode/painter/components/ActionBindModal.js +38 -27
  95. package/es/lowcode/painter/components/AdvancePanel.js +37 -21
  96. package/es/lowcode/painter/components/AttrsPanel.js +45 -34
  97. package/es/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  98. package/es/lowcode/painter/components/DragDrop/DragDropWrapper.js +5 -2
  99. package/es/lowcode/painter/components/FieldSelector.js +26 -13
  100. package/es/lowcode/painter/components/ListEditor.js +8 -2
  101. package/es/lowcode/painter/components/code-editor/BaseEditor.js +3 -2
  102. package/es/lowcode/painter/components/code-editor/JSEditor.js +5 -9
  103. package/es/lowcode/painter/components/field-setting/BatchSetting.js +13 -3
  104. package/es/lowcode/painter/components/field-setting/CheckFrontRules.js +108 -0
  105. package/es/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  106. package/es/lowcode/painter/components/field-setting/FieldRulesModal.js +33 -13
  107. package/es/lowcode/painter/components/field-setting/SettingUI.js +182 -31
  108. package/es/lowcode/painter/components/field-setting/index.js +40 -61
  109. package/es/lowcode/painter/components/field-setting/meta/frontRules.js +53 -0
  110. package/es/lowcode/painter/index.js +1 -28
  111. package/es/lowcode/painter/panel-section/ActionsColumnWidth.js +25 -0
  112. package/es/lowcode/painter/panel-section/BlockEditor/index.js +7 -4
  113. package/es/lowcode/painter/panel-section/BlocksEditor/BlockEditorItem.js +4 -3
  114. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +55 -28
  115. package/es/lowcode/painter/panel-section/ButtonType.js +4 -2
  116. package/es/lowcode/painter/panel-section/DataSetSelector.js +30 -7
  117. package/es/lowcode/painter/panel-section/FieldsSetting.js +124 -55
  118. package/es/lowcode/painter/panel-section/I18nInput.js +20 -0
  119. package/es/lowcode/painter/panel-section/ImpExp.js +99 -14
  120. package/es/lowcode/painter/panel-section/ImpExpAlone.js +108 -0
  121. package/es/lowcode/painter/panel-section/PageLayoutDisplay.js +95 -0
  122. package/es/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  123. package/es/lowcode/painter/panel-section/SplitDisplay.js +25 -110
  124. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +1 -1
  125. package/es/lowcode/painter/panel-section/StylePanel/index.js +10 -4
  126. package/es/lowcode/painter/panel-section/TableTopFilter.js +23 -13
  127. package/es/lowcode/painter/panel-section/TreeRootEditor.js +2 -2
  128. package/es/lowcode/painter/style/action-bind-modal.less +3 -3
  129. package/es/lowcode/painter/style/design.less +7 -3
  130. package/es/lowcode/painter/style/list-editor.less +36 -0
  131. package/es/lowcode/painter/style/page-layout-display.less +28 -0
  132. package/es/lowcode/painter/style/panel-item.less +1 -1
  133. package/es/lowcode/painter/style/split-display.less +0 -9
  134. package/es/lowcode/preview/index.js +20 -5
  135. package/es/lowcode/view/Canvas.js +6 -7
  136. package/es/lowcode/view/Page.js +5 -6
  137. package/es/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
  138. package/es/lowcode/view/lc-components/Box/FunctionLive.js +1 -0
  139. package/es/lowcode/view/lc-components/Box/FunctionPreview.js +1 -0
  140. package/es/lowcode/view/lc-components/Box/meta.json +4 -4
  141. package/es/lowcode/view/lc-components/Button/index.js +2 -6
  142. package/es/lowcode/view/lc-components/Button/meta.json +4 -4
  143. package/es/lowcode/view/lc-components/CardList/FunctionDesign.js +1 -0
  144. package/es/lowcode/view/lc-components/CardList/FunctionLive.js +1 -0
  145. package/es/lowcode/view/lc-components/CardList/FunctionPreview.js +1 -0
  146. package/es/lowcode/view/lc-components/CardList/meta.json +14 -4
  147. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +3 -12
  148. package/es/lowcode/view/lc-components/Dialog/FunctionLive.js +1 -0
  149. package/es/lowcode/view/lc-components/Dialog/FunctionPreview.js +1 -0
  150. package/es/lowcode/view/lc-components/Dialog/index.js +116 -19
  151. package/es/lowcode/view/lc-components/Dialog/meta.json +73 -43
  152. package/es/lowcode/view/lc-components/Drawer/FunctionDesign.js +1 -0
  153. package/es/lowcode/view/lc-components/Drawer/FunctionLive.js +1 -0
  154. package/es/lowcode/view/lc-components/Drawer/FunctionPreview.js +1 -0
  155. package/es/lowcode/view/lc-components/Drawer/meta.json +9 -21
  156. package/es/lowcode/view/lc-components/FieldColor/meta.json +63 -0
  157. package/es/lowcode/view/lc-components/FieldComplex/meta.json +39 -0
  158. package/es/lowcode/view/lc-components/FieldDate/meta.json +45 -0
  159. package/es/lowcode/view/lc-components/FieldDict/meta.json +44 -0
  160. package/es/lowcode/view/lc-components/FieldEditor/meta.json +44 -0
  161. package/es/lowcode/view/lc-components/FieldGroup/meta.json +73 -0
  162. package/es/lowcode/view/lc-components/FieldNumber/meta.json +48 -0
  163. package/es/lowcode/view/lc-components/FieldRadio/meta.json +20 -0
  164. package/es/lowcode/view/lc-components/FieldRegion/meta.json +26 -0
  165. package/es/lowcode/view/lc-components/FieldSelect/meta.json +58 -0
  166. package/es/lowcode/view/lc-components/FieldString/meta.json +62 -0
  167. package/es/lowcode/view/lc-components/FieldSwitch/meta.json +31 -0
  168. package/es/lowcode/view/lc-components/FieldTextarea/meta.json +49 -0
  169. package/es/lowcode/view/lc-components/FieldUpload/meta.json +71 -0
  170. package/es/lowcode/view/lc-components/FieldUser/meta.json +82 -0
  171. package/es/lowcode/view/lc-components/FieldYear/meta.json +20 -0
  172. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +61 -9
  173. package/es/lowcode/view/lc-components/Form/FunctionLive.js +1 -0
  174. package/es/lowcode/view/lc-components/Form/FunctionPreview.js +9 -1
  175. package/es/lowcode/view/lc-components/Form/index.js +401 -66
  176. package/es/lowcode/view/lc-components/Form/meta.json +44 -35
  177. package/es/lowcode/view/lc-components/Iframe/FunctionDesign.js +1 -0
  178. package/es/lowcode/view/lc-components/Iframe/FunctionLive.js +1 -0
  179. package/es/lowcode/view/lc-components/Iframe/FunctionPreview.js +1 -0
  180. package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +9 -3
  181. package/es/lowcode/view/lc-components/ImEx/FunctionLive.js +1 -0
  182. package/es/lowcode/view/lc-components/ImEx/FunctionPreview.js +1 -0
  183. package/es/lowcode/view/lc-components/ImEx/index.js +470 -11
  184. package/es/lowcode/view/lc-components/ImEx/index.less +7 -0
  185. package/es/lowcode/view/lc-components/ImEx/meta.json +55 -23
  186. package/es/lowcode/view/lc-components/Image/FunctionDesign.js +1 -0
  187. package/es/lowcode/view/lc-components/Image/FunctionLive.js +1 -0
  188. package/es/lowcode/view/lc-components/Image/FunctionPreview.js +1 -0
  189. package/es/lowcode/view/lc-components/Image/meta.json +2 -2
  190. package/es/lowcode/view/lc-components/JSX/FunctionDesign.js +1 -0
  191. package/es/lowcode/view/lc-components/JSX/FunctionLive.js +1 -0
  192. package/es/lowcode/view/lc-components/JSX/FunctionPreview.js +1 -0
  193. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +13 -21
  194. package/es/lowcode/view/lc-components/Layout/FunctionPreview.js +1 -0
  195. package/es/lowcode/view/lc-components/Layout/meta.json +2 -2
  196. package/es/lowcode/view/lc-components/Link/FunctionDesign.js +1 -0
  197. package/es/lowcode/view/lc-components/Link/FunctionLive.js +1 -0
  198. package/es/lowcode/view/lc-components/Link/FunctionPreview.js +1 -0
  199. package/es/lowcode/view/lc-components/Link/meta.json +1 -1
  200. package/es/lowcode/view/lc-components/Page/meta.json +2 -2
  201. package/es/lowcode/view/lc-components/PageContent/index.js +8 -9
  202. package/es/lowcode/view/lc-components/PageFooter/index.js +2 -5
  203. package/es/lowcode/view/lc-components/PageHeader/index.js +5 -6
  204. package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +63 -0
  205. package/es/lowcode/view/lc-components/PageLayout/FunctionLive.js +10 -0
  206. package/es/lowcode/view/lc-components/PageLayout/FunctionPreview.js +10 -0
  207. package/es/lowcode/view/lc-components/PageLayout/index.js +32 -0
  208. package/es/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  209. package/es/lowcode/view/lc-components/PageModal/index.js +12 -15
  210. package/es/lowcode/view/lc-components/Section/FunctionDesign.js +25 -2
  211. package/es/lowcode/view/lc-components/Section/FunctionLive.js +1 -0
  212. package/es/lowcode/view/lc-components/Section/FunctionPreview.js +1 -0
  213. package/es/lowcode/view/lc-components/Section/index.js +114 -24
  214. package/es/lowcode/view/lc-components/Section/index.less +7 -0
  215. package/es/lowcode/view/lc-components/Section/meta.json +48 -49
  216. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +19 -22
  217. package/es/lowcode/view/lc-components/Split/FunctionLive.js +1 -0
  218. package/es/lowcode/view/lc-components/Split/FunctionPreview.js +1 -0
  219. package/es/lowcode/view/lc-components/Split/index.js +7 -11
  220. package/es/lowcode/view/lc-components/Split/meta.json +4 -4
  221. package/es/lowcode/view/lc-components/Table/FunctionLive.js +1 -0
  222. package/es/lowcode/view/lc-components/Table/FunctionPreview.js +1 -0
  223. package/es/lowcode/view/lc-components/Table/components/TopFilter.js +78 -57
  224. package/es/lowcode/view/lc-components/Table/components/TopImex.js +420 -0
  225. package/es/lowcode/view/lc-components/Table/index.js +294 -47
  226. package/es/lowcode/view/lc-components/Table/meta.json +19 -13
  227. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +11 -20
  228. package/es/lowcode/view/lc-components/Tabs/index.js +3 -1
  229. package/es/lowcode/view/lc-components/Tabs/meta.json +3 -3
  230. package/es/lowcode/view/lc-components/Text/FunctionDesign.js +1 -0
  231. package/es/lowcode/view/lc-components/Text/FunctionLive.js +1 -0
  232. package/es/lowcode/view/lc-components/Text/FunctionPreview.js +1 -0
  233. package/es/lowcode/view/lc-components/Text/meta.json +2 -2
  234. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -3
  235. package/es/lowcode/view/lc-components/Tree/FunctionLive.js +1 -0
  236. package/es/lowcode/view/lc-components/Tree/index.js +103 -29
  237. package/es/lowcode/view/lc-components/Tree/meta.json +71 -9
  238. package/es/lowcode/view/lc-components/Wrapper.js +10 -12
  239. package/es/services.js +0 -24
  240. package/es/upload/FilesWall/file.png +0 -0
  241. package/es/upload/FilesWall/index.js +422 -0
  242. package/es/upload/FilesWall/index.less +74 -0
  243. package/es/upload/Form/gridForm.js +10 -5
  244. package/es/upload/Form/index.js +2 -1
  245. package/es/upload/FormItem/index.js +5 -6
  246. package/es/upload/index.js +2 -1
  247. package/es/utils/action.js +2 -2
  248. package/es/utils/form.js +16 -3
  249. package/es/utils/grid.js +8 -5
  250. package/lib/components/ComplexItem/index.js +100 -0
  251. package/lib/{lowcode/painter/services/toolbar.js → components/ComplexItem/service.js} +8 -12
  252. package/lib/components/LDActions/index.js +7 -9
  253. package/lib/components/LDActions/index.less +7 -4
  254. package/lib/components/LdAutoForm/index.js +33 -10
  255. package/lib/components/LdFormList/index.js +38 -22
  256. package/lib/components/LdGrid/index.js +21 -7
  257. package/lib/components/LdGridForm/index.js +30 -9
  258. package/lib/components/LdTree/index.js +33 -15
  259. package/lib/helper/FromItems.js +175 -92
  260. package/lib/helper/form.js +53 -13
  261. package/lib/helper/props_config.js +23 -0
  262. package/lib/locales/zh-CN.js +26 -11
  263. package/lib/lowcode/constants/api-url.js +355 -104
  264. package/lib/lowcode/constants/event-topics.js +3 -1
  265. package/lib/lowcode/constants/index.js +5 -3
  266. package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +7 -4
  267. package/lib/lowcode/engine/factory/panel-item-factory/StringStrategy.js +3 -2
  268. package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +6 -3
  269. package/lib/lowcode/engine/meta/box.props.default.json +1 -1
  270. package/lib/lowcode/engine/meta/box.props.json +4 -4
  271. package/lib/lowcode/engine/meta/button.props.json +4 -4
  272. package/lib/lowcode/engine/meta/cardlist.props.json +14 -4
  273. package/lib/lowcode/engine/meta/components-list.json +109 -1
  274. package/lib/lowcode/engine/meta/dialog.props.default.json +11 -5
  275. package/lib/lowcode/engine/meta/dialog.props.json +80 -43
  276. package/lib/lowcode/engine/meta/drawer.props.json +9 -21
  277. package/lib/lowcode/engine/meta/fieldcolor.props.default.json +14 -0
  278. package/lib/lowcode/engine/meta/fieldcolor.props.json +63 -0
  279. package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +13 -0
  280. package/lib/lowcode/engine/meta/fieldcomplex.props.json +39 -0
  281. package/lib/lowcode/engine/meta/fielddate.props.default.json +12 -0
  282. package/lib/lowcode/engine/meta/fielddate.props.json +47 -0
  283. package/lib/lowcode/engine/meta/fielddict.props.default.json +14 -0
  284. package/lib/lowcode/engine/meta/fielddict.props.json +44 -0
  285. package/lib/lowcode/engine/meta/fieldeditor.props.default.json +13 -0
  286. package/lib/lowcode/engine/meta/fieldeditor.props.json +44 -0
  287. package/lib/lowcode/engine/meta/fieldgroup.props.default.json +15 -0
  288. package/lib/lowcode/engine/meta/fieldgroup.props.json +73 -0
  289. package/lib/lowcode/engine/meta/fieldnumber.props.default.json +14 -0
  290. package/lib/lowcode/engine/meta/fieldnumber.props.json +48 -0
  291. package/lib/lowcode/engine/meta/fieldradio.props.default.json +12 -0
  292. package/lib/lowcode/engine/meta/fieldradio.props.json +20 -0
  293. package/lib/lowcode/engine/meta/fieldregion.props.default.json +12 -0
  294. package/lib/lowcode/engine/meta/fieldregion.props.json +26 -0
  295. package/lib/lowcode/engine/meta/fieldselect.props.default.json +14 -0
  296. package/lib/lowcode/engine/meta/fieldselect.props.json +58 -0
  297. package/lib/lowcode/engine/meta/fieldstring.props.default.json +16 -0
  298. package/lib/lowcode/engine/meta/fieldstring.props.json +62 -0
  299. package/lib/lowcode/engine/meta/fieldswitch.props.default.json +12 -0
  300. package/lib/lowcode/engine/meta/fieldswitch.props.json +31 -0
  301. package/lib/lowcode/engine/meta/fieldtextarea.props.default.json +13 -0
  302. package/lib/lowcode/engine/meta/fieldtextarea.props.json +49 -0
  303. package/lib/lowcode/engine/meta/fieldupload.props.default.json +15 -0
  304. package/lib/lowcode/engine/meta/fieldupload.props.json +71 -0
  305. package/lib/lowcode/engine/meta/fielduser.props.default.json +16 -0
  306. package/lib/lowcode/engine/meta/fielduser.props.json +82 -0
  307. package/lib/lowcode/engine/meta/fieldyear.props.default.json +12 -0
  308. package/lib/lowcode/engine/meta/fieldyear.props.json +20 -0
  309. package/lib/lowcode/engine/meta/form.props.default.json +4 -5
  310. package/lib/lowcode/engine/meta/form.props.json +44 -35
  311. package/lib/lowcode/engine/meta/image.props.json +2 -2
  312. package/lib/lowcode/engine/meta/imex.props.default.json +8 -1
  313. package/lib/lowcode/engine/meta/imex.props.json +54 -22
  314. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
  315. package/lib/lowcode/engine/meta/layout.props.json +2 -2
  316. package/lib/lowcode/engine/meta/link.props.json +1 -1
  317. package/lib/lowcode/engine/meta/page.props.json +2 -2
  318. package/lib/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  319. package/lib/lowcode/engine/meta/pagelayout.props.json +47 -0
  320. package/lib/lowcode/engine/meta/section.props.default.json +4 -6
  321. package/lib/lowcode/engine/meta/section.props.json +52 -49
  322. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  323. package/lib/lowcode/engine/meta/split.props.json +4 -4
  324. package/lib/lowcode/engine/meta/table.props.json +19 -13
  325. package/lib/lowcode/engine/meta/tabs.props.json +3 -3
  326. package/lib/lowcode/engine/meta/text.props.json +2 -2
  327. package/lib/lowcode/engine/meta/tree.props.default.json +2 -0
  328. package/lib/lowcode/engine/meta/tree.props.json +71 -8
  329. package/lib/lowcode/engine/provider/ContextProvider/index.js +37 -35
  330. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +86 -34
  331. package/lib/lowcode/engine/tools/dataProcess.js +4 -0
  332. package/lib/lowcode/engine/tools/diff.js +67 -0
  333. package/lib/lowcode/engine/tools/helper.js +50 -25
  334. package/lib/lowcode/engine/tools/useCanvasRender.js +6 -7
  335. package/lib/lowcode/engine/tools/usePageDataStore.js +338 -0
  336. package/lib/lowcode/engine/tools/usePromiseState.js +6 -8
  337. package/lib/lowcode/engine/tools/useTodo.js +19 -9
  338. package/lib/lowcode/painter/Design.js +39 -4
  339. package/lib/lowcode/painter/DesignOperator.js +109 -85
  340. package/lib/lowcode/painter/DesignToolbar.js +277 -33
  341. package/lib/lowcode/painter/Outline.js +10 -8
  342. package/lib/lowcode/painter/Panel.js +82 -44
  343. package/lib/lowcode/painter/components/ActionBindModal.js +36 -25
  344. package/lib/lowcode/painter/components/AdvancePanel.js +36 -20
  345. package/lib/lowcode/painter/components/AttrsPanel.js +44 -33
  346. package/lib/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  347. package/lib/lowcode/painter/components/DragDrop/DragDropWrapper.js +5 -2
  348. package/lib/lowcode/painter/components/FieldSelector.js +26 -13
  349. package/lib/lowcode/painter/components/ListEditor.js +8 -2
  350. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +3 -2
  351. package/lib/lowcode/painter/components/code-editor/JSEditor.js +5 -9
  352. package/lib/lowcode/painter/components/field-setting/BatchSetting.js +13 -3
  353. package/lib/lowcode/painter/components/field-setting/CheckFrontRules.js +116 -0
  354. package/lib/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  355. package/lib/lowcode/painter/components/field-setting/FieldRulesModal.js +34 -13
  356. package/lib/lowcode/painter/components/field-setting/SettingUI.js +179 -28
  357. package/lib/lowcode/painter/components/field-setting/index.js +40 -61
  358. package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +59 -0
  359. package/lib/lowcode/painter/index.js +1 -30
  360. package/lib/lowcode/painter/panel-section/ActionsColumnWidth.js +32 -0
  361. package/lib/lowcode/painter/panel-section/BlockEditor/index.js +7 -4
  362. package/lib/lowcode/painter/panel-section/BlocksEditor/BlockEditorItem.js +4 -3
  363. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +53 -25
  364. package/lib/lowcode/painter/panel-section/ButtonType.js +4 -2
  365. package/lib/lowcode/painter/panel-section/DataSetSelector.js +30 -7
  366. package/lib/lowcode/painter/panel-section/FieldsSetting.js +121 -52
  367. package/lib/lowcode/painter/panel-section/I18nInput.js +27 -0
  368. package/lib/lowcode/painter/panel-section/ImpExp.js +99 -13
  369. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +114 -0
  370. package/lib/lowcode/painter/panel-section/PageLayoutDisplay.js +103 -0
  371. package/lib/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  372. package/lib/lowcode/painter/panel-section/SplitDisplay.js +24 -109
  373. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +5 -4
  374. package/lib/lowcode/painter/panel-section/StylePanel/index.js +10 -4
  375. package/lib/lowcode/painter/panel-section/TableTopFilter.js +22 -12
  376. package/lib/lowcode/painter/panel-section/TreeRootEditor.js +2 -2
  377. package/lib/lowcode/painter/style/action-bind-modal.less +3 -3
  378. package/lib/lowcode/painter/style/design.less +7 -3
  379. package/lib/lowcode/painter/style/list-editor.less +36 -0
  380. package/lib/lowcode/painter/style/page-layout-display.less +28 -0
  381. package/lib/lowcode/painter/style/panel-item.less +1 -1
  382. package/lib/lowcode/painter/style/split-display.less +0 -9
  383. package/lib/lowcode/preview/index.js +21 -5
  384. package/lib/lowcode/view/Canvas.js +5 -6
  385. package/lib/lowcode/view/Page.js +5 -6
  386. package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
  387. package/lib/lowcode/view/lc-components/Box/FunctionLive.js +2 -1
  388. package/lib/lowcode/view/lc-components/Box/FunctionPreview.js +2 -1
  389. package/lib/lowcode/view/lc-components/Box/meta.json +4 -4
  390. package/lib/lowcode/view/lc-components/Button/index.js +2 -6
  391. package/lib/lowcode/view/lc-components/Button/meta.json +4 -4
  392. package/lib/lowcode/view/lc-components/CardList/FunctionDesign.js +2 -1
  393. package/lib/lowcode/view/lc-components/CardList/FunctionLive.js +2 -1
  394. package/lib/lowcode/view/lc-components/CardList/FunctionPreview.js +2 -1
  395. package/lib/lowcode/view/lc-components/CardList/meta.json +14 -4
  396. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +2 -11
  397. package/lib/lowcode/view/lc-components/Dialog/FunctionLive.js +2 -1
  398. package/lib/lowcode/view/lc-components/Dialog/FunctionPreview.js +2 -1
  399. package/lib/lowcode/view/lc-components/Dialog/index.js +116 -19
  400. package/lib/lowcode/view/lc-components/Dialog/meta.json +73 -43
  401. package/lib/lowcode/view/lc-components/Drawer/FunctionDesign.js +2 -1
  402. package/lib/lowcode/view/lc-components/Drawer/FunctionLive.js +2 -1
  403. package/lib/lowcode/view/lc-components/Drawer/FunctionPreview.js +2 -1
  404. package/lib/lowcode/view/lc-components/Drawer/meta.json +9 -21
  405. package/lib/lowcode/view/lc-components/FieldColor/meta.json +63 -0
  406. package/lib/lowcode/view/lc-components/FieldComplex/meta.json +39 -0
  407. package/lib/lowcode/view/lc-components/FieldDate/meta.json +45 -0
  408. package/lib/lowcode/view/lc-components/FieldDict/meta.json +44 -0
  409. package/lib/lowcode/view/lc-components/FieldEditor/meta.json +44 -0
  410. package/lib/lowcode/view/lc-components/FieldGroup/meta.json +73 -0
  411. package/lib/lowcode/view/lc-components/FieldNumber/meta.json +48 -0
  412. package/lib/lowcode/view/lc-components/FieldRadio/meta.json +20 -0
  413. package/lib/lowcode/view/lc-components/FieldRegion/meta.json +26 -0
  414. package/lib/lowcode/view/lc-components/FieldSelect/meta.json +58 -0
  415. package/lib/lowcode/view/lc-components/FieldString/meta.json +62 -0
  416. package/lib/lowcode/view/lc-components/FieldSwitch/meta.json +31 -0
  417. package/lib/lowcode/view/lc-components/FieldTextarea/meta.json +49 -0
  418. package/lib/lowcode/view/lc-components/FieldUpload/meta.json +71 -0
  419. package/lib/lowcode/view/lc-components/FieldUser/meta.json +82 -0
  420. package/lib/lowcode/view/lc-components/FieldYear/meta.json +20 -0
  421. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +58 -7
  422. package/lib/lowcode/view/lc-components/Form/FunctionLive.js +2 -1
  423. package/lib/lowcode/view/lc-components/Form/FunctionPreview.js +9 -1
  424. package/lib/lowcode/view/lc-components/Form/index.js +396 -61
  425. package/lib/lowcode/view/lc-components/Form/meta.json +44 -35
  426. package/lib/lowcode/view/lc-components/Iframe/FunctionDesign.js +2 -1
  427. package/lib/lowcode/view/lc-components/Iframe/FunctionLive.js +2 -1
  428. package/lib/lowcode/view/lc-components/Iframe/FunctionPreview.js +2 -1
  429. package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +9 -3
  430. package/lib/lowcode/view/lc-components/ImEx/FunctionLive.js +2 -1
  431. package/lib/lowcode/view/lc-components/ImEx/FunctionPreview.js +2 -1
  432. package/lib/lowcode/view/lc-components/ImEx/index.js +468 -9
  433. package/lib/lowcode/view/lc-components/ImEx/index.less +7 -0
  434. package/lib/lowcode/view/lc-components/ImEx/meta.json +55 -23
  435. package/lib/lowcode/view/lc-components/Image/FunctionDesign.js +2 -1
  436. package/lib/lowcode/view/lc-components/Image/FunctionLive.js +2 -1
  437. package/lib/lowcode/view/lc-components/Image/FunctionPreview.js +2 -1
  438. package/lib/lowcode/view/lc-components/Image/meta.json +2 -2
  439. package/lib/lowcode/view/lc-components/JSX/FunctionDesign.js +2 -1
  440. package/lib/lowcode/view/lc-components/JSX/FunctionLive.js +2 -1
  441. package/lib/lowcode/view/lc-components/JSX/FunctionPreview.js +2 -1
  442. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +11 -19
  443. package/lib/lowcode/view/lc-components/Layout/FunctionPreview.js +2 -1
  444. package/lib/lowcode/view/lc-components/Layout/meta.json +2 -2
  445. package/lib/lowcode/view/lc-components/Link/FunctionDesign.js +2 -1
  446. package/lib/lowcode/view/lc-components/Link/FunctionLive.js +2 -1
  447. package/lib/lowcode/view/lc-components/Link/FunctionPreview.js +2 -1
  448. package/lib/lowcode/view/lc-components/Link/meta.json +1 -1
  449. package/lib/lowcode/view/lc-components/Page/meta.json +2 -2
  450. package/lib/lowcode/view/lc-components/PageContent/index.js +7 -8
  451. package/lib/lowcode/view/lc-components/PageFooter/index.js +2 -5
  452. package/lib/lowcode/view/lc-components/PageHeader/index.js +4 -5
  453. package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +71 -0
  454. package/lib/lowcode/view/lc-components/PageLayout/FunctionLive.js +17 -0
  455. package/lib/lowcode/view/lc-components/PageLayout/FunctionPreview.js +17 -0
  456. package/lib/lowcode/view/lc-components/PageLayout/index.js +40 -0
  457. package/lib/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  458. package/lib/lowcode/view/lc-components/PageModal/index.js +11 -14
  459. package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +25 -2
  460. package/lib/lowcode/view/lc-components/Section/FunctionLive.js +2 -1
  461. package/lib/lowcode/view/lc-components/Section/FunctionPreview.js +2 -1
  462. package/lib/lowcode/view/lc-components/Section/index.js +113 -23
  463. package/lib/lowcode/view/lc-components/Section/index.less +7 -0
  464. package/lib/lowcode/view/lc-components/Section/meta.json +48 -49
  465. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +18 -21
  466. package/lib/lowcode/view/lc-components/Split/FunctionLive.js +2 -1
  467. package/lib/lowcode/view/lc-components/Split/FunctionPreview.js +2 -1
  468. package/lib/lowcode/view/lc-components/Split/index.js +4 -8
  469. package/lib/lowcode/view/lc-components/Split/meta.json +4 -4
  470. package/lib/lowcode/view/lc-components/Table/FunctionLive.js +2 -1
  471. package/lib/lowcode/view/lc-components/Table/FunctionPreview.js +2 -1
  472. package/lib/lowcode/view/lc-components/Table/components/TopFilter.js +75 -55
  473. package/lib/lowcode/view/lc-components/Table/components/TopImex.js +428 -0
  474. package/lib/lowcode/view/lc-components/Table/index.js +292 -45
  475. package/lib/lowcode/view/lc-components/Table/meta.json +19 -13
  476. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +9 -18
  477. package/lib/lowcode/view/lc-components/Tabs/index.js +3 -1
  478. package/lib/lowcode/view/lc-components/Tabs/meta.json +3 -3
  479. package/lib/lowcode/view/lc-components/Text/FunctionDesign.js +2 -1
  480. package/lib/lowcode/view/lc-components/Text/FunctionLive.js +2 -1
  481. package/lib/lowcode/view/lc-components/Text/FunctionPreview.js +2 -1
  482. package/lib/lowcode/view/lc-components/Text/meta.json +2 -2
  483. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -3
  484. package/lib/lowcode/view/lc-components/Tree/FunctionLive.js +2 -1
  485. package/lib/lowcode/view/lc-components/Tree/index.js +100 -26
  486. package/lib/lowcode/view/lc-components/Tree/meta.json +71 -9
  487. package/lib/lowcode/view/lc-components/Wrapper.js +11 -12
  488. package/lib/services.js +0 -25
  489. package/lib/upload/FilesWall/file.png +0 -0
  490. package/lib/upload/FilesWall/index.js +429 -0
  491. package/lib/upload/FilesWall/index.less +74 -0
  492. package/lib/upload/Form/gridForm.js +10 -5
  493. package/lib/upload/Form/index.js +2 -1
  494. package/lib/upload/FormItem/index.js +5 -6
  495. package/lib/upload/index.js +8 -1
  496. package/lib/utils/action.js +2 -2
  497. package/lib/utils/form.js +16 -3
  498. package/lib/utils/grid.js +8 -5
  499. package/package.json +6 -4
  500. package/es/lowcode/engine/meta/local/local.zh-cn.js +0 -97
  501. package/lib/lowcode/engine/meta/local/local.zh-cn.js +0 -103
@@ -2,21 +2,20 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
3
3
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
6
5
  var _excluded = ["props", "children"],
7
6
  _excluded2 = ["id", "component", "name", "desc", "icon", "group", "groupName", "order"];
8
7
  import React, { useRef } from 'react';
9
8
  import { dynamic } from 'umi';
10
- import { useMemoizedFn, useCookieState, useCreation } from 'ahooks';
9
+ import { useMemoizedFn, useCreation } from 'ahooks';
11
10
  import { upperFirst } from 'lodash';
12
- import { LC_BUILDIN_UNIT_KEY_LIST, RUNTIME_COOKIE_KEY } from "../../constants";
11
+ import { useContext } from "../provider/ContextProvider";
12
+ import { LC_BUILDIN_UNIT_KEY_LIST } from "../../constants";
13
13
  export default function useCanvasRender(data, deps) {
14
14
  var dynamicCompMap = useRef({});
15
- var _useCookieState = useCookieState(RUNTIME_COOKIE_KEY),
16
- _useCookieState2 = _slicedToArray(_useCookieState, 1),
17
- runtime = _useCookieState2[0];
18
- var render = useMemoizedFn(function (_ref) {
19
- var props = _ref.props,
15
+ var ctx = useContext();
16
+ var render = useMemoizedFn(function () {
17
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
18
+ props = _ref.props,
20
19
  children = _ref.children,
21
20
  childrenMap = _objectWithoutProperties(_ref, _excluded);
22
21
  if (props && !LC_BUILDIN_UNIT_KEY_LIST.includes(props.id)) {
@@ -37,7 +36,7 @@ export default function useCanvasRender(data, deps) {
37
36
  return _regeneratorRuntime().wrap(function _callee$(_context) {
38
37
  while (1) switch (_context.prev = _context.next) {
39
38
  case 0:
40
- _runtime = upperFirst(runtime);
39
+ _runtime = upperFirst(ctx.runtime);
41
40
  _context.next = 3;
42
41
  return import("../../view/lc-components/".concat(component, "/Function").concat(_runtime));
43
42
  case 3:
@@ -0,0 +1,331 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
3
+ import { useRef, useEffect, useCallback } from 'react';
4
+ import { create, createStore, useStore } from 'zustand';
5
+ import { immer } from 'zustand/middleware/immer';
6
+ import { subscribeWithSelector } from 'zustand/middleware';
7
+ import { useShallow } from 'zustand/react/shallow';
8
+ import { isObject, isArray, isNil, isFunction, isString, get, set as _set, assign, forOwn, omit, debounce } from 'lodash';
9
+ import isDeepEqual from 'fast-deep-equal';
10
+ import { getPathNodesById, findNodeAndParent } from "./dataProcess";
11
+ import { LC_BUILDIN_UNIT_KEY } from "../../constants";
12
+ var temporalStateCreator = function temporalStateCreator(userSet, userGet, options) {
13
+ var stateCreator = function stateCreator(set, get) {
14
+ return {
15
+ pastStates: (options === null || options === void 0 ? void 0 : options.pastStates) || [],
16
+ futureStates: (options === null || options === void 0 ? void 0 : options.futureStates) || [],
17
+ undo: function undo() {
18
+ var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
19
+ if (get().pastStates.length) {
20
+ var _options$partialize, _options$diff;
21
+ var currentState = (options === null || options === void 0 || (_options$partialize = options.partialize) === null || _options$partialize === void 0 ? void 0 : _options$partialize.call(options, userGet())) || userGet();
22
+ var statesToApply = get().pastStates.splice(-steps, steps);
23
+ var nextState = statesToApply.shift();
24
+ userSet(nextState);
25
+ set({
26
+ pastStates: get().pastStates,
27
+ futureStates: get().futureStates.concat((options === null || options === void 0 || (_options$diff = options.diff) === null || _options$diff === void 0 ? void 0 : _options$diff.call(options, currentState, nextState)) || currentState, statesToApply.reverse())
28
+ });
29
+ }
30
+ },
31
+ redo: function redo() {
32
+ var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
33
+ if (get().futureStates.length) {
34
+ var _options$partialize2, _options$diff2;
35
+ var currentState = (options === null || options === void 0 || (_options$partialize2 = options.partialize) === null || _options$partialize2 === void 0 ? void 0 : _options$partialize2.call(options, userGet())) || userGet();
36
+ var statesToApply = get().futureStates.splice(-steps, steps);
37
+ var nextState = statesToApply.shift();
38
+ userSet(nextState);
39
+ set({
40
+ pastStates: get().pastStates.concat((options === null || options === void 0 || (_options$diff2 = options.diff) === null || _options$diff2 === void 0 ? void 0 : _options$diff2.call(options, currentState, nextState)) || currentState, statesToApply.reverse()),
41
+ futureStates: get().futureStates
42
+ });
43
+ }
44
+ },
45
+ clear: function clear() {
46
+ return set({
47
+ pastStates: [],
48
+ futureStates: []
49
+ });
50
+ },
51
+ isTracking: true,
52
+ pause: function pause() {
53
+ return set({
54
+ isTracking: false
55
+ });
56
+ },
57
+ resume: function resume() {
58
+ return set({
59
+ isTracking: true
60
+ });
61
+ },
62
+ setOnSave: function setOnSave(_onSave) {
63
+ return set({
64
+ _onSave: _onSave
65
+ });
66
+ },
67
+ // Internal properties
68
+ _onSave: options === null || options === void 0 ? void 0 : options.onSave,
69
+ _handleSet: function _handleSet(pastState, replace, currentState, deltaState) {
70
+ var _get$_onSave, _get;
71
+ if (options !== null && options !== void 0 && options.limit && get().pastStates.length >= (options === null || options === void 0 ? void 0 : options.limit)) {
72
+ get().pastStates.shift();
73
+ }
74
+ (_get$_onSave = (_get = get())._onSave) === null || _get$_onSave === void 0 || _get$_onSave.call(_get, pastState, currentState);
75
+ set({
76
+ pastStates: get().pastStates.concat(deltaState || pastState),
77
+ futureStates: []
78
+ });
79
+ }
80
+ };
81
+ };
82
+ return stateCreator;
83
+ };
84
+ var temporal = function temporal(config, options) {
85
+ var configWithTemporal = function configWithTemporal(set, get, store) {
86
+ var _options$wrapTemporal, _options$handleSet;
87
+ store.temporal = createStore((options === null || options === void 0 || (_options$wrapTemporal = options.wrapTemporal) === null || _options$wrapTemporal === void 0 ? void 0 : _options$wrapTemporal.call(options, temporalStateCreator(set, get, options))) || temporalStateCreator(set, get, options));
88
+ var curriedHandleSet = (options === null || options === void 0 || (_options$handleSet = options.handleSet) === null || _options$handleSet === void 0 ? void 0 : _options$handleSet.call(options, store.temporal.getState()._handleSet)) || store.temporal.getState()._handleSet;
89
+ var temporalHandleSet = function temporalHandleSet(pastState) {
90
+ var _options$partialize3, _options$diff3, _options$equality;
91
+ if (!store.temporal.getState().isTracking) return;
92
+ var currentState = (options === null || options === void 0 || (_options$partialize3 = options.partialize) === null || _options$partialize3 === void 0 ? void 0 : _options$partialize3.call(options, get())) || get();
93
+ var deltaState = options === null || options === void 0 || (_options$diff3 = options.diff) === null || _options$diff3 === void 0 ? void 0 : _options$diff3.call(options, pastState, currentState);
94
+ if (
95
+ // Don't call handleSet if state hasn't changed, as determined by diff fn or equality fn
96
+ !(
97
+ // If the user has provided a diff function but nothing has been changed, deltaState will be null
98
+
99
+ deltaState === null || // If the user has provided an equality function, use it
100
+ options !== null && options !== void 0 && (_options$equality = options.equality) !== null && _options$equality !== void 0 && _options$equality.call(options, pastState, currentState))) {
101
+ curriedHandleSet(pastState, void 0, currentState, deltaState);
102
+ }
103
+ };
104
+ var setState = store.setState;
105
+ store.setState = function () {
106
+ var _options$partialize4;
107
+ var pastState = (options === null || options === void 0 || (_options$partialize4 = options.partialize) === null || _options$partialize4 === void 0 ? void 0 : _options$partialize4.call(options, get())) || get();
108
+ setState.apply(void 0, arguments);
109
+ temporalHandleSet(pastState);
110
+ };
111
+ return config(
112
+ // Modify the set function to call the userlandSet function
113
+ function () {
114
+ var _options$partialize5;
115
+ var pastState = (options === null || options === void 0 || (_options$partialize5 = options.partialize) === null || _options$partialize5 === void 0 ? void 0 : _options$partialize5.call(options, get())) || get();
116
+ set.apply(void 0, arguments);
117
+ temporalHandleSet(pastState);
118
+ }, get, store);
119
+ };
120
+ return configWithTemporal;
121
+ };
122
+ var findNode = function findNode(obj, id) {
123
+ for (var key in obj) {
124
+ if (!['props', 'children'].includes(key)) {
125
+ if (key === id) {
126
+ return {
127
+ target: obj[key],
128
+ parent: obj
129
+ };
130
+ }
131
+ if (_typeof(obj[key]) === 'object' && !Array.isArray(obj[key])) {
132
+ var result = findNode(obj[key], id);
133
+ if (result) {
134
+ return result;
135
+ }
136
+ }
137
+ }
138
+ }
139
+ return null;
140
+ };
141
+ var usePageDataStore = create()(immer(subscribeWithSelector(temporal(function (set) {
142
+ return {
143
+ pageData: null,
144
+ moduleData: null,
145
+ initialize: function initialize(data) {
146
+ return set(function (state) {
147
+ state.pageData = data;
148
+ });
149
+ },
150
+ initializeModule: function initializeModule(data) {
151
+ return set(function (state) {
152
+ state.moduleData = data;
153
+ });
154
+ },
155
+ reset: function reset(data) {
156
+ return set(function (state) {
157
+ state.pageData = data || null;
158
+ });
159
+ }
160
+ };
161
+ }, {
162
+ partialize: function partialize(state) {
163
+ return {
164
+ pageData: state.pageData
165
+ };
166
+ },
167
+ equality: function equality(pastState, newState) {
168
+ return !pastState.pageData || isDeepEqual(pastState, newState);
169
+ },
170
+ handleSet: function handleSet(_handleSet2) {
171
+ return debounce(function (state) {
172
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) {
173
+ args[_key2 - 1] = arguments[_key2];
174
+ }
175
+ return _handleSet2.apply(void 0, [state].concat(args));
176
+ }, 400, {
177
+ leading: true,
178
+ trailing: false
179
+ });
180
+ }
181
+ }))));
182
+ export default usePageDataStore;
183
+ export var resetPageData = function resetPageData(data) {
184
+ usePageDataStore.setState(function (state) {
185
+ state.pageData = data || null;
186
+ });
187
+ };
188
+ export var addNode = function addNode(parentId, id, data) {
189
+ usePageDataStore.setState(function (state) {
190
+ if (parentId === LC_BUILDIN_UNIT_KEY.PAGE_ROOT) {
191
+ state.pageData.children.push(id);
192
+ state.pageData[id] = {
193
+ props: _objectSpread(_objectSpread({}, data), {}, {
194
+ id: id,
195
+ parentId: parentId
196
+ })
197
+ };
198
+ return;
199
+ }
200
+ var _ref = findNode(state.pageData, parentId) || {},
201
+ target = _ref.target;
202
+ if (!target) return;
203
+ if (!target.hasOwnProperty('children')) {
204
+ target.children = [];
205
+ }
206
+ if (!target.children.includes(id)) {
207
+ target.children.push(id);
208
+ target[id] = {
209
+ props: _objectSpread(_objectSpread({}, data), {}, {
210
+ id: id,
211
+ parentId: parentId
212
+ })
213
+ };
214
+ }
215
+ });
216
+ };
217
+ export var deleteNode = function deleteNode(id) {
218
+ usePageDataStore.setState(function (state) {
219
+ var _parent$children;
220
+ var _ref2 = findNode(state.pageData, id) || {},
221
+ parent = _ref2.parent;
222
+ if (!parent || !((_parent$children = parent.children) !== null && _parent$children !== void 0 && _parent$children.length)) return;
223
+ parent.children.splice(parent.children.indexOf(id), 1);
224
+ if (parent.children.length === 0) {
225
+ delete parent['children'];
226
+ }
227
+ delete parent[id];
228
+ });
229
+ };
230
+ export var modifyNode = function modifyNode(id, data) {
231
+ usePageDataStore.setState(function (state) {
232
+ if (id === LC_BUILDIN_UNIT_KEY.PAGE_ROOT) {
233
+ assign(state.pageData.props, omit(data, ['id', 'parentId', 'component', 'buildIn']));
234
+ return;
235
+ }
236
+ var _ref3 = findNode(state.pageData, id) || {},
237
+ target = _ref3.target;
238
+ if (!target) return;
239
+ forOwn(omit(data, ['id', 'parentId', 'component', 'buildIn']), function (_val, _key) {
240
+ _set(target.props, _key, _val);
241
+ });
242
+ });
243
+ };
244
+ export var useTask = function useTask(type) {
245
+ var promiseRef = useRef(null);
246
+ var task = useCallback(function () {
247
+ for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
248
+ args[_key3] = arguments[_key3];
249
+ }
250
+ return new Promise(function (resolve) {
251
+ promiseRef.current = resolve;
252
+ switch (type) {
253
+ case 'add':
254
+ addNode.apply(void 0, args);
255
+ break;
256
+ case 'update':
257
+ case 'modify':
258
+ modifyNode.apply(void 0, args);
259
+ break;
260
+ case 'delete':
261
+ deleteNode.apply(void 0, args);
262
+ break;
263
+ default:
264
+ break;
265
+ }
266
+ });
267
+ }, []);
268
+ useEffect(function () {
269
+ var unsub = usePageDataStore.subscribe(function (state, prevState) {
270
+ if (!promiseRef.current) {
271
+ return;
272
+ }
273
+ promiseRef.current(state.pageData, prevState.pageData);
274
+ promiseRef.current = null;
275
+ });
276
+ return unsub;
277
+ }, []);
278
+ return task;
279
+ };
280
+ export var useGet = function useGet(_) {
281
+ var result = usePageDataStore(useShallow(function (state) {
282
+ if (isNil(_)) {
283
+ return state.pageData;
284
+ } else if (isFunction(_)) {
285
+ return _(state.pageData);
286
+ } else if (isArray(_)) {
287
+ return _.map(function (k) {
288
+ var _findNode;
289
+ return k.includes('.') ? get(state.pageData, k) : (_findNode = findNode(state.pageData, k)) === null || _findNode === void 0 ? void 0 : _findNode.target;
290
+ });
291
+ } else if (isObject(_) && _.id) {
292
+ var _findNode2;
293
+ var path = _.path;
294
+ var _target = _.id === LC_BUILDIN_UNIT_KEY.PAGE_ROOT ? state.pageData : (_findNode2 = findNode(state.pageData, _.id)) === null || _findNode2 === void 0 ? void 0 : _findNode2.target;
295
+ return isNil(path) ? _target : get(_target, path);
296
+ } else if (isString(_)) {
297
+ return get(state.pageData, _);
298
+ }
299
+ }));
300
+ return result;
301
+ };
302
+ export var getCanUndoAndRedo = function getCanUndoAndRedo() {
303
+ var _usePageDataStore$tem = usePageDataStore.temporal.getState(),
304
+ pastStates = _usePageDataStore$tem.pastStates,
305
+ futureStates = _usePageDataStore$tem.futureStates;
306
+ var canUndo = !!pastStates.length;
307
+ var canRedo = !!futureStates.length;
308
+ return {
309
+ canUndo: canUndo,
310
+ canRedo: canRedo
311
+ };
312
+ };
313
+ export var useTemporalStore = function useTemporalStore(selector) {
314
+ var temp = useStore(usePageDataStore.temporal, selector);
315
+ if (!temp) return {
316
+ canUndo: false,
317
+ canRedo: false
318
+ };
319
+ var canUndo = !!temp.pastStates.length;
320
+ var canRedo = !!temp.futureStates.length;
321
+ return _objectSpread(_objectSpread({}, temp), {}, {
322
+ canUndo: canUndo,
323
+ canRedo: canRedo
324
+ });
325
+ };
326
+ export var getLevelNodes = function getLevelNodes(id) {
327
+ return getPathNodesById(usePageDataStore.getState().pageData, id);
328
+ };
329
+ export var getSelfAndParent = function getSelfAndParent(id) {
330
+ return findNodeAndParent(id, usePageDataStore.getState().pageData);
331
+ };
@@ -1,26 +1,24 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import { useRef, useCallback } from 'react';
3
- import { useResetState, useDeepCompareEffect } from 'ahooks';
2
+ import { useRef, useState, useCallback } from 'react';
3
+ import { useUpdateLayoutEffect } from 'ahooks';
4
4
  var usePromiseState = function usePromiseState(initialState) {
5
- var _useResetState = useResetState(initialState),
6
- _useResetState2 = _slicedToArray(_useResetState, 3),
7
- state = _useResetState2[0],
8
- setState = _useResetState2[1],
9
- resetState = _useResetState2[2];
5
+ var _useState = useState(initialState),
6
+ _useState2 = _slicedToArray(_useState, 2),
7
+ state = _useState2[0],
8
+ setState = _useState2[1];
10
9
  var promiseRef = useRef(null);
11
10
  var setStatePromise = useCallback(function (_state) {
12
11
  return new Promise(function (resolve) {
13
12
  promiseRef.current = resolve;
14
- console.log('_state', _state);
15
13
  setState(_state);
16
14
  });
17
15
  }, []);
18
- useDeepCompareEffect(function () {
16
+ useUpdateLayoutEffect(function () {
19
17
  if (promiseRef.current) {
20
18
  promiseRef.current(state);
21
19
  promiseRef.current = null;
22
20
  }
23
21
  }, [state]);
24
- return [state, setStatePromise, resetState];
22
+ return [state, setStatePromise];
25
23
  };
26
24
  export default usePromiseState;
@@ -5,7 +5,8 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
5
  var _excluded = ["datasetCode"];
6
6
  import { useBoolean, useMemoizedFn } from 'ahooks';
7
7
  import { message } from 'luck-design/antd';
8
- import { keys, isNil } from 'lodash';
8
+ import { keys, isNil, isFunction } from 'lodash';
9
+ import usePageDataStore from "./usePageDataStore";
9
10
  import { executeCode } from "./helper";
10
11
  import { fetchCallBehavior } from "../../constants/api-url";
11
12
  var useTodo = function useTodo() {
@@ -25,10 +26,13 @@ var useTodo = function useTodo() {
25
26
  behaviorKey: behaviorKey
26
27
  }, params), data);
27
28
  });
29
+ var moduleData = usePageDataStore(function (state) {
30
+ return state.moduleData;
31
+ });
28
32
  var todo = useMemoizedFn(function (ctx, actionPool) {
29
33
  var argsMap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
30
34
  if (isNil(actionPool)) {
31
- return;
35
+ return Promise.resolve();
32
36
  }
33
37
  var dsCode = argsMap.datasetCode,
34
38
  args = _objectWithoutProperties(argsMap, _excluded);
@@ -47,21 +51,27 @@ var useTodo = function useTodo() {
47
51
  return Promise.resolve(executeCode.apply(void 0, [ctx, info.code, argsName].concat(_toConsumableArray(_args))));
48
52
  case 'page-action':
49
53
  {
50
- var _JSON$parse = JSON.parse(info.code || '{}'),
51
- moduleCode = _JSON$parse.moduleCode,
52
- datasetCode = _JSON$parse.datasetCode,
53
- params = _JSON$parse.params,
54
- data = _JSON$parse.data;
54
+ var _ref4 = executeCode.apply(void 0, [ctx, info.code, argsName].concat(_toConsumableArray(_args))) || {},
55
+ moduleCode = _ref4.moduleCode,
56
+ datasetCode = _ref4.datasetCode,
57
+ params = _ref4.params,
58
+ data = _ref4.data,
59
+ after = _ref4.after;
60
+ var _moduleCode = moduleCode || moduleData.moduleCode;
55
61
  var _dscode = datasetCode || dsCode;
56
- if (!moduleCode || !_dscode) {
62
+ if (!_moduleCode || !_dscode) {
57
63
  message.warning('接口重要参数(模块编码或数据集编码)丢失');
58
64
  return;
59
65
  }
60
66
  return callBehavior({
61
67
  datasetCode: _dscode,
62
- moduleCode: moduleCode,
68
+ moduleCode: _moduleCode,
63
69
  behaviorKey: actionKey
64
- }, params, data);
70
+ }, params, data).then(function (res) {
71
+ if (isFunction(after)) {
72
+ after(ctx, res);
73
+ }
74
+ });
65
75
  }
66
76
  case 'trigger':
67
77
  return Promise.resolve();
@@ -1,9 +1,11 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import React, { useRef, useState } from 'react';
3
- import { RawIntlProvider, getLocale, getIntl, localeInfo } from 'umi';
2
+ import React, { useRef, useState, useEffect } from 'react';
3
+ import { RawIntlProvider, getLocale, getIntl, localeInfo, history } from 'umi';
4
4
  import { useMemoizedFn } from 'ahooks';
5
5
  import moment from 'moment';
6
6
  import { ConfigProvider } from 'luck-design/antd';
7
+ import { formatMessage } from '@luck-design-biz/base/utils';
8
+ import { getCanUndoAndRedo } from "../engine/provider/ContextProvider";
7
9
  import DesignToolbar from "./DesignToolbar";
8
10
  import DesignOperator from "./DesignOperator";
9
11
  import Page from "../view/Page";
@@ -23,6 +25,39 @@ var Design = function Design() {
23
25
  _useState4 = _slicedToArray(_useState3, 2),
24
26
  intl = _useState4[0],
25
27
  setIntl = _useState4[1];
28
+ var unblock = useMemoizedFn(function () {
29
+ var _getCanUndoAndRedo = getCanUndoAndRedo(),
30
+ canUndo = _getCanUndoAndRedo.canUndo;
31
+ if (canUndo) return confirm("".concat(formatMessage({
32
+ id: 'app.base.operate.comfire.leave',
33
+ label: '离开当前页面?'
34
+ }), "\n").concat(formatMessage({
35
+ id: 'app.base.operate.comfire.message.leave',
36
+ label: '系统可能不会保存您所做的更改。'
37
+ })));
38
+ return true;
39
+ });
40
+ var handleBeforeUnload = useMemoizedFn(function (event) {
41
+ var _getCanUndoAndRedo2 = getCanUndoAndRedo(),
42
+ canUndo = _getCanUndoAndRedo2.canUndo;
43
+ if (canUndo) {
44
+ event.preventDefault();
45
+ event.returnValue = null;
46
+ return null;
47
+ }
48
+ });
49
+ useEffect(function () {
50
+ window.addEventListener('beforeunload', handleBeforeUnload);
51
+ history.block(function () {
52
+ return unblock();
53
+ });
54
+ return function () {
55
+ window.removeEventListener('beforeunload', handleBeforeUnload);
56
+ history.block(function () {
57
+ return true;
58
+ });
59
+ };
60
+ }, []);
26
61
  var handleLangChange = useMemoizedFn(function (_locale) {
27
62
  if (moment !== null && moment !== void 0 && moment.locale) {
28
63
  var _localeInfo$_locale;
@@ -38,15 +73,15 @@ var Design = function Design() {
38
73
  onLangChange: handleLangChange
39
74
  }), /*#__PURE__*/React.createElement("div", {
40
75
  className: styles['lc-painter-design-workspace']
41
- }, /*#__PURE__*/React.createElement(DesignOperator, {
42
- target: simulatorRef
43
- }), /*#__PURE__*/React.createElement(ConfigProvider, {
76
+ }, /*#__PURE__*/React.createElement(ConfigProvider, {
44
77
  locale: ((_localeInfo$locale = localeInfo[locale]) === null || _localeInfo$locale === void 0 ? void 0 : _localeInfo$locale.antd) || {}
45
78
  }, /*#__PURE__*/React.createElement(RawIntlProvider, {
46
79
  value: intl
47
80
  }, /*#__PURE__*/React.createElement(Page, {
48
81
  ref: simulatorRef,
49
82
  className: styles['lc-painter-design-simulator']
50
- })))));
83
+ }, /*#__PURE__*/React.createElement(DesignOperator, {
84
+ canvas: simulatorRef
85
+ }))))));
51
86
  };
52
87
  export default Design;