@luck-design-biz/luckda 0.0.24-2 → 0.0.25-1

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 (466) hide show
  1. package/es/components/Builder/index.js +6 -4
  2. package/es/components/IconFont/index.js +5 -0
  3. package/es/components/LDActions/index.js +133 -0
  4. package/es/components/LDActions/index.less +65 -0
  5. package/es/components/LdAutoForm/index.js +1 -1
  6. package/es/components/LdCom/index.js +2 -1
  7. package/es/components/LdFormList/index.js +15 -10
  8. package/es/components/LdGrid/index.js +14 -8
  9. package/es/components/LdGridForm/index.js +5 -4
  10. package/es/components/LdRuntimeCom/index.js +20 -7
  11. package/es/components/LdTree/index.js +112 -31
  12. package/es/components/LdTree/index.less +6 -1
  13. package/es/helper/ldBuilder.js +28 -12
  14. package/es/helper/ldComBuild.js +29 -14
  15. package/es/index.js +1 -0
  16. package/es/locales/zh-CN.js +221 -0
  17. package/es/lowcode/constants/api-url.js +380 -262
  18. package/es/lowcode/constants/event-topics.js +4 -0
  19. package/es/lowcode/constants/index.js +30 -2
  20. package/es/lowcode/engine/factory/panel-item-factory/CheckboxStrategy.js +32 -0
  21. package/es/lowcode/engine/factory/panel-item-factory/index.js +2 -0
  22. package/es/lowcode/engine/meta/box.props.default.json +3 -2
  23. package/es/lowcode/engine/meta/box.props.json +1 -3
  24. package/es/lowcode/engine/meta/button.props.default.json +5 -2
  25. package/es/lowcode/engine/meta/button.props.json +8 -8
  26. package/es/lowcode/engine/meta/cardlist.props.default.json +4 -2
  27. package/es/lowcode/engine/meta/cardlist.props.json +1 -2
  28. package/es/lowcode/engine/meta/dialog.props.default.json +4 -2
  29. package/es/lowcode/engine/meta/dialog.props.json +0 -1
  30. package/es/lowcode/engine/meta/drawer.props.default.json +4 -2
  31. package/es/lowcode/engine/meta/drawer.props.json +0 -1
  32. package/es/lowcode/engine/meta/form.props.default.json +53 -4
  33. package/es/lowcode/engine/meta/form.props.json +584 -55
  34. package/es/lowcode/engine/meta/iframe.props.default.json +1 -1
  35. package/es/lowcode/engine/meta/iframe.props.json +1 -1
  36. package/es/lowcode/engine/meta/image.props.default.json +5 -2
  37. package/es/lowcode/engine/meta/image.props.json +1 -1
  38. package/es/lowcode/engine/meta/imex.props.default.json +5 -2
  39. package/es/lowcode/engine/meta/imex.props.json +1 -1
  40. package/es/lowcode/engine/meta/js-editor/auto-complete.json +152 -26
  41. package/es/lowcode/engine/meta/jsx.props.default.json +2 -1
  42. package/es/lowcode/engine/meta/jsx.props.json +10 -5
  43. package/es/lowcode/engine/meta/layout.props.default.json +5 -2
  44. package/es/lowcode/engine/meta/layout.props.json +1 -2
  45. package/es/lowcode/engine/meta/link.props.default.json +5 -2
  46. package/es/lowcode/engine/meta/link.props.json +2 -2
  47. package/es/lowcode/engine/meta/local/local.zh-cn.js +97 -0
  48. package/es/lowcode/engine/meta/page.props.default.json +12 -0
  49. package/es/lowcode/engine/meta/page.props.json +49 -0
  50. package/es/lowcode/engine/meta/pagecontent.props.default.json +6 -0
  51. package/es/lowcode/engine/meta/pagecontent.props.json +7 -0
  52. package/es/lowcode/engine/meta/pagefooter.props.default.json +6 -0
  53. package/es/lowcode/engine/meta/pagefooter.props.json +7 -0
  54. package/es/lowcode/engine/meta/pageheader.props.default.json +6 -0
  55. package/es/lowcode/engine/meta/pageheader.props.json +7 -0
  56. package/es/lowcode/engine/meta/section.props.default.json +5 -2
  57. package/es/lowcode/engine/meta/section.props.json +1 -1
  58. package/es/lowcode/engine/meta/split.props.default.json +9 -4
  59. package/es/lowcode/engine/meta/split.props.json +14 -29
  60. package/es/lowcode/engine/meta/table.props.default.json +23 -3
  61. package/es/lowcode/engine/meta/table.props.json +257 -55
  62. package/es/lowcode/engine/meta/tabs.props.default.json +16 -9
  63. package/es/lowcode/engine/meta/tabs.props.json +57 -81
  64. package/es/lowcode/engine/meta/text.props.default.json +5 -2
  65. package/es/lowcode/engine/meta/text.props.json +1 -1
  66. package/es/lowcode/engine/meta/tree.props.default.json +20 -7
  67. package/es/lowcode/engine/meta/tree.props.json +225 -79
  68. package/es/lowcode/engine/provider/ContextProvider/index.js +169 -0
  69. package/es/lowcode/engine/provider/RemoteSourceProvider.js +161 -0
  70. package/es/lowcode/engine/tools/dataProcess.js +64 -2
  71. package/es/lowcode/engine/tools/helper.js +96 -19
  72. package/es/lowcode/engine/tools/useCanvasRender.js +75 -0
  73. package/es/lowcode/engine/tools/usePromiseState.js +8 -6
  74. package/es/lowcode/engine/tools/useTodo.js +78 -0
  75. package/es/lowcode/index.js +1 -0
  76. package/es/lowcode/painter/Components.js +47 -21
  77. package/es/lowcode/painter/DesignOperator.js +47 -28
  78. package/es/lowcode/painter/DesignToolbar.js +86 -15
  79. package/es/lowcode/painter/I18n.js +2 -2
  80. package/es/lowcode/painter/Outline.js +31 -26
  81. package/es/lowcode/painter/Panel.js +100 -142
  82. package/es/lowcode/painter/Ribbon.js +1 -1
  83. package/es/lowcode/painter/components/ActionBindModal.js +293 -0
  84. package/es/lowcode/painter/components/AdvancePanel.js +140 -0
  85. package/es/lowcode/painter/components/AttrsPanel.js +145 -0
  86. package/es/lowcode/painter/components/Collapse.js +20 -9
  87. package/es/lowcode/painter/components/ColorInput.js +5 -3
  88. package/es/lowcode/painter/components/DragDrop/DragDropContext.js +137 -0
  89. package/es/lowcode/painter/components/DragDrop/DragDropWrapper.js +47 -0
  90. package/es/lowcode/painter/components/DragDrop/Overlay.js +8 -0
  91. package/es/lowcode/painter/components/DragDrop/TreeDragDropWrapper.js +67 -0
  92. package/es/lowcode/painter/components/FieldSelector.js +44 -0
  93. package/es/lowcode/painter/components/ListEditor.js +18 -9
  94. package/es/lowcode/painter/components/PanelItem.js +1 -1
  95. package/es/lowcode/painter/components/PopConfirm.js +10 -3
  96. package/es/lowcode/painter/components/SortBox.js +11 -4
  97. package/es/lowcode/painter/components/TreeEditor.js +13 -0
  98. package/es/lowcode/painter/components/code-editor/BaseEditor.js +14 -2
  99. package/es/lowcode/painter/components/code-editor/JSEditor.js +25 -14
  100. package/es/lowcode/painter/components/code-editor/JsonEditor.js +41 -0
  101. package/es/lowcode/painter/components/field-setting/BatchSetting.js +144 -0
  102. package/es/lowcode/painter/components/field-setting/CheckRules.js +126 -0
  103. package/es/lowcode/painter/components/field-setting/FieldAttrs.js +287 -0
  104. package/es/lowcode/painter/components/field-setting/FieldAttrsModal.js +290 -0
  105. package/es/lowcode/painter/components/field-setting/FieldDefaultValue.js +63 -0
  106. package/es/lowcode/painter/components/field-setting/FieldRulesModal.js +116 -0
  107. package/es/lowcode/painter/components/field-setting/SettingUI.js +419 -0
  108. package/es/lowcode/painter/components/field-setting/index.js +363 -0
  109. package/es/lowcode/painter/index.js +3 -1
  110. package/es/lowcode/painter/panel-section/ActionsEditor/ActionEditor.js +101 -0
  111. package/es/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/index.js +74 -13
  112. package/es/lowcode/painter/panel-section/BlockEditor/index.js +24 -0
  113. package/es/lowcode/painter/panel-section/BlocksEditor/BlockEditorItem.js +44 -0
  114. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +202 -0
  115. package/es/lowcode/painter/panel-section/DataSetSelector.js +115 -43
  116. package/es/lowcode/painter/panel-section/FieldsSetting.js +308 -0
  117. package/es/lowcode/painter/panel-section/Icon.js +14 -14
  118. package/es/lowcode/painter/panel-section/IconConditionSelector.js +111 -0
  119. package/es/lowcode/painter/panel-section/IconSelector.js +5 -2
  120. package/es/lowcode/painter/panel-section/ImpExp.js +91 -0
  121. package/es/lowcode/painter/panel-section/JSEditor.js +49 -0
  122. package/es/lowcode/painter/panel-section/LayoutRatio.js +6 -7
  123. package/es/lowcode/painter/panel-section/SerialsSelector.js +44 -0
  124. package/es/lowcode/painter/panel-section/SplitDisplay.js +248 -0
  125. package/es/lowcode/painter/panel-section/StylePanel/MainPanel.js +2 -2
  126. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +2 -22
  127. package/es/lowcode/painter/panel-section/TabItems.js +46 -30
  128. package/es/lowcode/painter/panel-section/TableTopFilter.js +306 -0
  129. package/es/lowcode/painter/panel-section/TableZebra.js +66 -6
  130. package/es/lowcode/painter/panel-section/TreeRootEditor.js +78 -0
  131. package/es/lowcode/painter/services/toolbar.js +25 -0
  132. package/es/lowcode/painter/style/action-bind-modal.less +102 -0
  133. package/es/lowcode/painter/style/collapse.less +6 -0
  134. package/es/lowcode/painter/style/components.less +5 -4
  135. package/es/lowcode/painter/style/design.less +2 -3
  136. package/es/lowcode/painter/style/dragdrop.less +10 -0
  137. package/es/lowcode/painter/style/fields-setting.less +25 -0
  138. package/es/lowcode/painter/style/impexp.less +7 -0
  139. package/es/lowcode/painter/style/panel-attrs.less +43 -0
  140. package/es/lowcode/painter/style/panel.less +6 -37
  141. package/es/lowcode/painter/style/pop-confirm.less +9 -2
  142. package/es/lowcode/painter/style/split-display.less +28 -0
  143. package/es/lowcode/painter/style/treedragdrop.less +19 -0
  144. package/es/lowcode/preview/index.js +14 -0
  145. package/es/lowcode/view/Canvas.js +34 -139
  146. package/es/lowcode/view/Loading.js +6 -2
  147. package/es/lowcode/view/Page.js +16 -14
  148. package/es/lowcode/view/lc-components/Box/FunctionPreview.js +9 -0
  149. package/es/lowcode/view/lc-components/Box/index.js +11 -2
  150. package/es/lowcode/view/lc-components/Box/index.less +0 -1
  151. package/es/lowcode/view/lc-components/Box/meta.json +1 -3
  152. package/es/lowcode/view/lc-components/Button/FunctionDesign.js +8 -10
  153. package/es/lowcode/view/lc-components/Button/FunctionLive.js +3 -6
  154. package/es/lowcode/view/lc-components/Button/FunctionPreview.js +6 -0
  155. package/es/lowcode/view/lc-components/Button/index.js +43 -20
  156. package/es/lowcode/view/lc-components/Button/meta.json +8 -8
  157. package/es/lowcode/view/lc-components/CardList/FunctionPreview.js +9 -0
  158. package/es/lowcode/view/lc-components/CardList/index.js +1 -0
  159. package/es/lowcode/view/lc-components/CardList/meta.json +1 -2
  160. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +17 -23
  161. package/es/lowcode/view/lc-components/Dialog/FunctionPreview.js +9 -0
  162. package/es/lowcode/view/lc-components/Dialog/index.js +1 -0
  163. package/es/lowcode/view/lc-components/Dialog/meta.json +0 -1
  164. package/es/lowcode/view/lc-components/Drawer/FunctionDesign.js +4 -2
  165. package/es/lowcode/view/lc-components/Drawer/FunctionPreview.js +9 -0
  166. package/es/lowcode/view/lc-components/Drawer/index.js +17 -0
  167. package/es/lowcode/view/lc-components/Drawer/index.less +3 -0
  168. package/es/lowcode/view/lc-components/Drawer/meta.json +0 -1
  169. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +31 -2
  170. package/es/lowcode/view/lc-components/Form/FunctionPreview.js +9 -0
  171. package/es/lowcode/view/lc-components/Form/index.js +114 -8
  172. package/es/lowcode/view/lc-components/Form/index.less +5 -0
  173. package/es/lowcode/view/lc-components/Form/meta.json +534 -55
  174. package/es/lowcode/view/lc-components/Iframe/FunctionPreview.js +9 -0
  175. package/es/lowcode/view/lc-components/Iframe/index.js +1 -0
  176. package/es/lowcode/view/lc-components/Iframe/meta.json +1 -1
  177. package/es/lowcode/view/lc-components/ImEx/FunctionPreview.js +9 -0
  178. package/es/lowcode/view/lc-components/ImEx/index.js +1 -0
  179. package/es/lowcode/view/lc-components/ImEx/meta.json +1 -1
  180. package/es/lowcode/view/lc-components/Image/FunctionPreview.js +9 -0
  181. package/es/lowcode/view/lc-components/Image/index.js +1 -0
  182. package/es/lowcode/view/lc-components/Image/meta.json +1 -1
  183. package/es/lowcode/view/lc-components/JSX/FunctionPreview.js +9 -0
  184. package/es/lowcode/view/lc-components/JSX/index.js +19 -6
  185. package/es/lowcode/view/lc-components/JSX/meta.json +8 -5
  186. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +19 -17
  187. package/es/lowcode/view/lc-components/Layout/FunctionLive.js +3 -8
  188. package/es/lowcode/view/lc-components/Layout/FunctionPreview.js +9 -0
  189. package/es/lowcode/view/lc-components/Layout/index.js +1 -0
  190. package/es/lowcode/view/lc-components/Layout/meta.json +1 -2
  191. package/es/lowcode/view/lc-components/Link/FunctionPreview.js +9 -0
  192. package/es/lowcode/view/lc-components/Link/index.js +1 -0
  193. package/es/lowcode/view/lc-components/Link/meta.json +2 -2
  194. package/es/lowcode/view/lc-components/Page/meta.json +49 -0
  195. package/es/lowcode/view/lc-components/PageContent/index.js +53 -0
  196. package/es/lowcode/view/lc-components/PageContent/meta.json +9 -0
  197. package/es/lowcode/view/lc-components/PageFooter/index.js +38 -0
  198. package/es/lowcode/view/lc-components/PageFooter/meta.json +9 -0
  199. package/es/lowcode/view/lc-components/PageHeader/index.js +40 -0
  200. package/es/lowcode/view/lc-components/PageHeader/meta.json +9 -0
  201. package/es/lowcode/view/lc-components/PageModal/index.js +23 -0
  202. package/es/lowcode/view/lc-components/Section/FunctionPreview.js +9 -0
  203. package/es/lowcode/view/lc-components/Section/index.js +1 -0
  204. package/es/lowcode/view/lc-components/Section/meta.json +1 -1
  205. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +59 -2
  206. package/es/lowcode/view/lc-components/Split/FunctionPreview.js +9 -0
  207. package/es/lowcode/view/lc-components/Split/index.js +46 -7
  208. package/es/lowcode/view/lc-components/Split/meta.json +10 -29
  209. package/es/lowcode/view/lc-components/Table/FunctionDesign.js +41 -4
  210. package/es/lowcode/view/lc-components/Table/FunctionPreview.js +9 -0
  211. package/es/lowcode/view/lc-components/Table/components/TopFilter.js +96 -0
  212. package/es/lowcode/view/lc-components/Table/index.js +365 -49
  213. package/es/lowcode/view/lc-components/Table/meta.json +229 -55
  214. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +72 -2
  215. package/es/lowcode/view/lc-components/Tabs/FunctionLive.js +1 -0
  216. package/es/lowcode/view/lc-components/Tabs/FunctionPreview.js +10 -0
  217. package/es/lowcode/view/lc-components/Tabs/index.js +113 -10
  218. package/es/lowcode/view/lc-components/Tabs/meta.json +53 -81
  219. package/es/lowcode/view/lc-components/Text/FunctionPreview.js +9 -0
  220. package/es/lowcode/view/lc-components/Text/index.js +1 -0
  221. package/es/lowcode/view/lc-components/Text/meta.json +1 -1
  222. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +63 -3
  223. package/es/lowcode/view/lc-components/Tree/FunctionPreview.js +26 -0
  224. package/es/lowcode/view/lc-components/Tree/index.js +323 -8
  225. package/es/lowcode/view/lc-components/Tree/index.less +5 -0
  226. package/es/lowcode/view/lc-components/Tree/meta.json +224 -80
  227. package/es/lowcode/view/lc-components/Wrapper.js +44 -27
  228. package/es/lowcode/view/style/page.less +3 -0
  229. package/es/services.js +5 -3
  230. package/es/utils/grid.js +2 -2
  231. package/lib/components/Builder/index.js +4 -1
  232. package/lib/components/IconFont/index.js +11 -0
  233. package/lib/components/LDActions/index.js +141 -0
  234. package/lib/components/LDActions/index.less +65 -0
  235. package/lib/components/LdAutoForm/index.js +1 -1
  236. package/lib/components/LdCom/index.js +2 -1
  237. package/lib/components/LdFormList/index.js +14 -9
  238. package/lib/components/LdGrid/index.js +13 -7
  239. package/lib/components/LdGridForm/index.js +4 -3
  240. package/lib/components/LdRuntimeCom/index.js +21 -8
  241. package/lib/components/LdTree/index.js +112 -31
  242. package/lib/components/LdTree/index.less +6 -1
  243. package/lib/helper/ldBuilder.js +28 -12
  244. package/lib/helper/ldComBuild.js +27 -12
  245. package/lib/index.js +8 -0
  246. package/lib/locales/zh-CN.js +227 -0
  247. package/lib/lowcode/constants/api-url.js +382 -263
  248. package/lib/lowcode/constants/event-topics.js +5 -1
  249. package/lib/lowcode/constants/index.js +31 -3
  250. package/lib/lowcode/engine/factory/panel-item-factory/CheckboxStrategy.js +38 -0
  251. package/lib/lowcode/engine/factory/panel-item-factory/index.js +2 -0
  252. package/lib/lowcode/engine/meta/box.props.default.json +3 -2
  253. package/lib/lowcode/engine/meta/box.props.json +1 -3
  254. package/lib/lowcode/engine/meta/button.props.default.json +5 -2
  255. package/lib/lowcode/engine/meta/button.props.json +8 -8
  256. package/lib/lowcode/engine/meta/cardlist.props.default.json +4 -2
  257. package/lib/lowcode/engine/meta/cardlist.props.json +1 -2
  258. package/lib/lowcode/engine/meta/dialog.props.default.json +4 -2
  259. package/lib/lowcode/engine/meta/dialog.props.json +0 -1
  260. package/lib/lowcode/engine/meta/drawer.props.default.json +4 -2
  261. package/lib/lowcode/engine/meta/drawer.props.json +0 -1
  262. package/lib/lowcode/engine/meta/form.props.default.json +53 -4
  263. package/lib/lowcode/engine/meta/form.props.json +584 -55
  264. package/lib/lowcode/engine/meta/iframe.props.default.json +1 -1
  265. package/lib/lowcode/engine/meta/iframe.props.json +1 -1
  266. package/lib/lowcode/engine/meta/image.props.default.json +5 -2
  267. package/lib/lowcode/engine/meta/image.props.json +1 -1
  268. package/lib/lowcode/engine/meta/imex.props.default.json +5 -2
  269. package/lib/lowcode/engine/meta/imex.props.json +1 -1
  270. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +152 -26
  271. package/lib/lowcode/engine/meta/jsx.props.default.json +2 -1
  272. package/lib/lowcode/engine/meta/jsx.props.json +10 -5
  273. package/lib/lowcode/engine/meta/layout.props.default.json +5 -2
  274. package/lib/lowcode/engine/meta/layout.props.json +1 -2
  275. package/lib/lowcode/engine/meta/link.props.default.json +5 -2
  276. package/lib/lowcode/engine/meta/link.props.json +2 -2
  277. package/lib/lowcode/engine/meta/local/local.zh-cn.js +103 -0
  278. package/lib/lowcode/engine/meta/page.props.default.json +12 -0
  279. package/lib/lowcode/engine/meta/page.props.json +49 -0
  280. package/lib/lowcode/engine/meta/pagecontent.props.default.json +6 -0
  281. package/lib/lowcode/engine/meta/pagecontent.props.json +7 -0
  282. package/lib/lowcode/engine/meta/pagefooter.props.default.json +6 -0
  283. package/lib/lowcode/engine/meta/pagefooter.props.json +7 -0
  284. package/lib/lowcode/engine/meta/pageheader.props.default.json +6 -0
  285. package/lib/lowcode/engine/meta/pageheader.props.json +7 -0
  286. package/lib/lowcode/engine/meta/section.props.default.json +5 -2
  287. package/lib/lowcode/engine/meta/section.props.json +1 -1
  288. package/lib/lowcode/engine/meta/split.props.default.json +9 -4
  289. package/lib/lowcode/engine/meta/split.props.json +14 -29
  290. package/lib/lowcode/engine/meta/table.props.default.json +23 -3
  291. package/lib/lowcode/engine/meta/table.props.json +257 -55
  292. package/lib/lowcode/engine/meta/tabs.props.default.json +16 -9
  293. package/lib/lowcode/engine/meta/tabs.props.json +57 -81
  294. package/lib/lowcode/engine/meta/text.props.default.json +5 -2
  295. package/lib/lowcode/engine/meta/text.props.json +1 -1
  296. package/lib/lowcode/engine/meta/tree.props.default.json +20 -7
  297. package/lib/lowcode/engine/meta/tree.props.json +225 -79
  298. package/lib/lowcode/engine/provider/ContextProvider/index.js +177 -0
  299. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +169 -0
  300. package/lib/lowcode/engine/tools/dataProcess.js +64 -1
  301. package/lib/lowcode/engine/tools/helper.js +100 -18
  302. package/lib/lowcode/engine/tools/useCanvasRender.js +90 -0
  303. package/lib/lowcode/engine/tools/usePromiseState.js +7 -5
  304. package/lib/lowcode/engine/tools/useTodo.js +85 -0
  305. package/lib/lowcode/index.js +7 -0
  306. package/lib/lowcode/painter/Components.js +46 -20
  307. package/lib/lowcode/painter/DesignOperator.js +45 -26
  308. package/lib/lowcode/painter/DesignToolbar.js +82 -11
  309. package/lib/lowcode/painter/I18n.js +1 -1
  310. package/lib/lowcode/painter/Outline.js +29 -24
  311. package/lib/lowcode/painter/Panel.js +97 -139
  312. package/lib/lowcode/painter/Ribbon.js +1 -1
  313. package/lib/lowcode/painter/components/ActionBindModal.js +300 -0
  314. package/lib/lowcode/painter/components/AdvancePanel.js +148 -0
  315. package/lib/lowcode/painter/components/AttrsPanel.js +153 -0
  316. package/lib/lowcode/painter/components/Collapse.js +20 -9
  317. package/lib/lowcode/painter/components/ColorInput.js +5 -3
  318. package/lib/lowcode/painter/components/DragDrop/DragDropContext.js +146 -0
  319. package/lib/lowcode/painter/components/DragDrop/DragDropWrapper.js +54 -0
  320. package/lib/lowcode/painter/components/DragDrop/Overlay.js +15 -0
  321. package/lib/lowcode/painter/components/DragDrop/TreeDragDropWrapper.js +75 -0
  322. package/lib/lowcode/painter/components/FieldSelector.js +52 -0
  323. package/lib/lowcode/painter/components/ListEditor.js +17 -8
  324. package/lib/lowcode/painter/components/PanelItem.js +1 -1
  325. package/lib/lowcode/painter/components/PopConfirm.js +10 -3
  326. package/lib/lowcode/painter/components/SortBox.js +12 -5
  327. package/lib/lowcode/painter/components/TreeEditor.js +20 -0
  328. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +14 -2
  329. package/lib/lowcode/painter/components/code-editor/JSEditor.js +25 -14
  330. package/lib/lowcode/painter/components/code-editor/JsonEditor.js +48 -0
  331. package/lib/lowcode/painter/components/field-setting/BatchSetting.js +151 -0
  332. package/lib/lowcode/painter/components/field-setting/CheckRules.js +133 -0
  333. package/lib/lowcode/painter/components/field-setting/FieldAttrs.js +295 -0
  334. package/lib/lowcode/painter/components/field-setting/FieldAttrsModal.js +298 -0
  335. package/lib/lowcode/painter/components/field-setting/FieldDefaultValue.js +70 -0
  336. package/lib/lowcode/painter/components/field-setting/FieldRulesModal.js +123 -0
  337. package/lib/lowcode/painter/components/field-setting/SettingUI.js +427 -0
  338. package/lib/lowcode/painter/components/field-setting/index.js +370 -0
  339. package/lib/lowcode/painter/index.js +3 -1
  340. package/lib/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/ActionEditor.js +20 -66
  341. package/lib/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/index.js +71 -10
  342. package/lib/lowcode/painter/panel-section/BlockEditor/index.js +31 -0
  343. package/lib/lowcode/painter/panel-section/BlocksEditor/BlockEditorItem.js +51 -0
  344. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +208 -0
  345. package/lib/lowcode/painter/panel-section/DataSetSelector.js +112 -40
  346. package/lib/lowcode/painter/panel-section/FieldsSetting.js +316 -0
  347. package/lib/lowcode/painter/panel-section/Icon.js +16 -14
  348. package/lib/lowcode/painter/panel-section/IconConditionSelector.js +119 -0
  349. package/lib/lowcode/painter/panel-section/IconSelector.js +5 -2
  350. package/lib/lowcode/painter/panel-section/ImpExp.js +98 -0
  351. package/lib/lowcode/painter/panel-section/JSEditor.js +57 -0
  352. package/lib/lowcode/painter/panel-section/LayoutRatio.js +5 -6
  353. package/lib/lowcode/painter/panel-section/SerialsSelector.js +51 -0
  354. package/lib/lowcode/painter/panel-section/SplitDisplay.js +256 -0
  355. package/lib/lowcode/painter/panel-section/StylePanel/MainPanel.js +2 -2
  356. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +3 -23
  357. package/lib/lowcode/painter/panel-section/TabItems.js +45 -29
  358. package/lib/lowcode/painter/panel-section/TableTopFilter.js +314 -0
  359. package/lib/lowcode/painter/panel-section/TableZebra.js +67 -6
  360. package/lib/lowcode/painter/panel-section/TreeRootEditor.js +86 -0
  361. package/lib/lowcode/painter/services/toolbar.js +32 -0
  362. package/lib/lowcode/painter/style/action-bind-modal.less +102 -0
  363. package/lib/lowcode/painter/style/collapse.less +6 -0
  364. package/lib/lowcode/painter/style/components.less +5 -4
  365. package/lib/lowcode/painter/style/design.less +2 -3
  366. package/lib/lowcode/painter/style/dragdrop.less +10 -0
  367. package/lib/lowcode/painter/style/fields-setting.less +25 -0
  368. package/lib/lowcode/painter/style/impexp.less +7 -0
  369. package/lib/lowcode/painter/style/panel-attrs.less +43 -0
  370. package/lib/lowcode/painter/style/panel.less +6 -37
  371. package/lib/lowcode/painter/style/pop-confirm.less +9 -2
  372. package/lib/lowcode/painter/style/split-display.less +28 -0
  373. package/lib/lowcode/painter/style/treedragdrop.less +19 -0
  374. package/lib/lowcode/preview/index.js +21 -0
  375. package/lib/lowcode/view/Canvas.js +32 -145
  376. package/lib/lowcode/view/Loading.js +6 -2
  377. package/lib/lowcode/view/Page.js +12 -10
  378. package/lib/lowcode/view/lc-components/Box/FunctionPreview.js +16 -0
  379. package/lib/lowcode/view/lc-components/Box/index.js +11 -2
  380. package/lib/lowcode/view/lc-components/Box/index.less +0 -1
  381. package/lib/lowcode/view/lc-components/Box/meta.json +1 -3
  382. package/lib/lowcode/view/lc-components/Button/FunctionDesign.js +8 -10
  383. package/lib/lowcode/view/lc-components/Button/FunctionLive.js +3 -6
  384. package/lib/lowcode/view/lc-components/Button/FunctionPreview.js +13 -0
  385. package/lib/lowcode/view/lc-components/Button/index.js +41 -18
  386. package/lib/lowcode/view/lc-components/Button/meta.json +8 -8
  387. package/lib/lowcode/view/lc-components/CardList/FunctionPreview.js +16 -0
  388. package/lib/lowcode/view/lc-components/CardList/index.js +1 -0
  389. package/lib/lowcode/view/lc-components/CardList/meta.json +1 -2
  390. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +16 -23
  391. package/lib/lowcode/view/lc-components/Dialog/FunctionPreview.js +16 -0
  392. package/lib/lowcode/view/lc-components/Dialog/index.js +1 -0
  393. package/lib/lowcode/view/lc-components/Dialog/meta.json +0 -1
  394. package/lib/lowcode/view/lc-components/Drawer/FunctionDesign.js +4 -2
  395. package/lib/lowcode/view/lc-components/Drawer/FunctionPreview.js +16 -0
  396. package/lib/lowcode/view/lc-components/Drawer/index.js +17 -0
  397. package/lib/lowcode/view/lc-components/Drawer/index.less +3 -0
  398. package/lib/lowcode/view/lc-components/Drawer/meta.json +0 -1
  399. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +32 -2
  400. package/lib/lowcode/view/lc-components/Form/FunctionPreview.js +16 -0
  401. package/lib/lowcode/view/lc-components/Form/index.js +113 -7
  402. package/lib/lowcode/view/lc-components/Form/index.less +5 -0
  403. package/lib/lowcode/view/lc-components/Form/meta.json +534 -55
  404. package/lib/lowcode/view/lc-components/Iframe/FunctionPreview.js +16 -0
  405. package/lib/lowcode/view/lc-components/Iframe/index.js +1 -0
  406. package/lib/lowcode/view/lc-components/Iframe/meta.json +1 -1
  407. package/lib/lowcode/view/lc-components/ImEx/FunctionPreview.js +16 -0
  408. package/lib/lowcode/view/lc-components/ImEx/index.js +1 -0
  409. package/lib/lowcode/view/lc-components/ImEx/meta.json +1 -1
  410. package/lib/lowcode/view/lc-components/Image/FunctionPreview.js +16 -0
  411. package/lib/lowcode/view/lc-components/Image/index.js +1 -0
  412. package/lib/lowcode/view/lc-components/Image/meta.json +1 -1
  413. package/lib/lowcode/view/lc-components/JSX/FunctionPreview.js +16 -0
  414. package/lib/lowcode/view/lc-components/JSX/index.js +19 -6
  415. package/lib/lowcode/view/lc-components/JSX/meta.json +8 -5
  416. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +21 -18
  417. package/lib/lowcode/view/lc-components/Layout/FunctionLive.js +3 -8
  418. package/lib/lowcode/view/lc-components/Layout/FunctionPreview.js +16 -0
  419. package/lib/lowcode/view/lc-components/Layout/index.js +1 -0
  420. package/lib/lowcode/view/lc-components/Layout/meta.json +1 -2
  421. package/lib/lowcode/view/lc-components/Link/FunctionPreview.js +16 -0
  422. package/lib/lowcode/view/lc-components/Link/index.js +1 -0
  423. package/lib/lowcode/view/lc-components/Link/meta.json +2 -2
  424. package/lib/lowcode/view/lc-components/Page/meta.json +49 -0
  425. package/lib/lowcode/view/lc-components/PageContent/index.js +61 -0
  426. package/lib/lowcode/view/lc-components/PageContent/meta.json +9 -0
  427. package/lib/lowcode/view/lc-components/PageFooter/index.js +46 -0
  428. package/lib/lowcode/view/lc-components/PageFooter/meta.json +9 -0
  429. package/lib/lowcode/view/lc-components/PageHeader/index.js +48 -0
  430. package/lib/lowcode/view/lc-components/PageHeader/meta.json +9 -0
  431. package/lib/lowcode/view/lc-components/PageModal/index.js +30 -0
  432. package/lib/lowcode/view/lc-components/Section/FunctionPreview.js +16 -0
  433. package/lib/lowcode/view/lc-components/Section/index.js +1 -0
  434. package/lib/lowcode/view/lc-components/Section/meta.json +1 -1
  435. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +60 -2
  436. package/lib/lowcode/view/lc-components/Split/FunctionPreview.js +16 -0
  437. package/lib/lowcode/view/lc-components/Split/index.js +45 -6
  438. package/lib/lowcode/view/lc-components/Split/meta.json +10 -29
  439. package/lib/lowcode/view/lc-components/Table/FunctionDesign.js +43 -5
  440. package/lib/lowcode/view/lc-components/Table/FunctionPreview.js +16 -0
  441. package/lib/lowcode/view/lc-components/Table/components/TopFilter.js +104 -0
  442. package/lib/lowcode/view/lc-components/Table/index.js +364 -48
  443. package/lib/lowcode/view/lc-components/Table/meta.json +229 -55
  444. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +73 -2
  445. package/lib/lowcode/view/lc-components/Tabs/FunctionLive.js +2 -1
  446. package/lib/lowcode/view/lc-components/Tabs/FunctionPreview.js +17 -0
  447. package/lib/lowcode/view/lc-components/Tabs/index.js +112 -9
  448. package/lib/lowcode/view/lc-components/Tabs/meta.json +53 -81
  449. package/lib/lowcode/view/lc-components/Text/FunctionPreview.js +16 -0
  450. package/lib/lowcode/view/lc-components/Text/index.js +1 -0
  451. package/lib/lowcode/view/lc-components/Text/meta.json +1 -1
  452. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +64 -3
  453. package/lib/lowcode/view/lc-components/Tree/FunctionPreview.js +33 -0
  454. package/lib/lowcode/view/lc-components/Tree/index.js +321 -6
  455. package/lib/lowcode/view/lc-components/Tree/index.less +5 -0
  456. package/lib/lowcode/view/lc-components/Tree/meta.json +224 -80
  457. package/lib/lowcode/view/lc-components/Wrapper.js +42 -25
  458. package/lib/lowcode/view/style/page.less +3 -0
  459. package/lib/services.js +5 -3
  460. package/lib/utils/grid.js +2 -2
  461. package/package.json +12 -7
  462. package/es/lowcode/engine/provider/ContextProvider.js +0 -169
  463. package/es/lowcode/painter/components/actions-editor/ActionEditor.js +0 -147
  464. package/es/lowcode/painter/panel-section/TableActions.js +0 -19
  465. package/lib/lowcode/engine/provider/ContextProvider.js +0 -177
  466. package/lib/lowcode/painter/panel-section/TableActions.js +0 -26
@@ -1,12 +1,15 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
4
  import React, { useState } from 'react';
4
5
  import { Icon, Input, Tabs } from 'luck-design/antd';
5
6
  import { useMemoizedFn, useCreation } from 'ahooks';
6
7
  import { formatMessage } from '@luck-design-biz/base/utils';
7
- import { useLDContext } from "../engine/provider/ContextProvider";
8
+ import { useContext } from "../engine/provider/ContextProvider";
9
+ import { useDraggable } from '@dnd-kit/core';
8
10
  import styles from "./style/components.less";
9
11
  import data from "../engine/meta/components-list.json";
12
+ import { Action } from "./components/DragDrop/DragDropContext";
10
13
  var TabPane = Tabs.TabPane;
11
14
  var Search = Input.Search;
12
15
  var BaseCom = function BaseCom(_ref) {
@@ -28,7 +31,7 @@ var BaseCom = function BaseCom(_ref) {
28
31
  }).filter(function (group) {
29
32
  return group.components.length > 0;
30
33
  });
31
- }, [data]);
34
+ }, [searchTerm]);
32
35
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
33
36
  className: styles['components-search']
34
37
  }, /*#__PURE__*/React.createElement(Search, {
@@ -44,30 +47,53 @@ var BaseCom = function BaseCom(_ref) {
44
47
  key: group.group,
45
48
  className: styles['components-wrapper']
46
49
  }, /*#__PURE__*/React.createElement("h3", null, group.groupName), group.components.map(function (item) {
47
- return /*#__PURE__*/React.createElement("div", {
50
+ return /*#__PURE__*/React.createElement(CompItem, {
48
51
  key: item.component,
49
- className: styles['components-item'],
50
- onClick: function onClick() {
51
- return onComponentClick(item);
52
- }
53
- }, /*#__PURE__*/React.createElement("div", {
54
- className: styles['icon-wrapper']
55
- }, /*#__PURE__*/React.createElement(Icon, {
56
- type: item.icon || 'home'
57
- })), /*#__PURE__*/React.createElement("div", {
58
- className: styles['text-content']
59
- }, /*#__PURE__*/React.createElement("span", null, item.name)));
52
+ item: item,
53
+ onComponentClick: onComponentClick
54
+ });
60
55
  }));
61
56
  })));
62
57
  };
58
+ var CompItem = function CompItem(_ref2) {
59
+ var item = _ref2.item,
60
+ onComponentClick = _ref2.onComponentClick;
61
+ // console.log('CompItem', item.component);
62
+ var _useDraggable = useDraggable({
63
+ id: 'comlist-' + item.component,
64
+ data: {
65
+ component: item,
66
+ action: Action.ADD
67
+ }
68
+ }),
69
+ attributes = _useDraggable.attributes,
70
+ listeners = _useDraggable.listeners,
71
+ transform = _useDraggable.transform,
72
+ setNodeRef = _useDraggable.setNodeRef;
73
+ return /*#__PURE__*/React.createElement("div", _extends({
74
+ ref: setNodeRef
75
+ }, listeners, attributes, {
76
+ key: item.component,
77
+ className: styles['components-item'],
78
+ onClick: function onClick() {
79
+ return onComponentClick(item);
80
+ }
81
+ }), /*#__PURE__*/React.createElement("div", {
82
+ className: styles['icon-wrapper']
83
+ }, /*#__PURE__*/React.createElement(Icon, {
84
+ type: item.icon || 'home'
85
+ })), /*#__PURE__*/React.createElement("div", {
86
+ className: styles['text-content']
87
+ }, /*#__PURE__*/React.createElement("span", null, item.name)));
88
+ };
63
89
 
64
90
  /**
65
91
  * 组件清单
66
92
  */
67
- var Components = function Components(_ref2) {
68
- var _ref2$dataset = _ref2.dataset,
69
- dataset = _ref2$dataset === void 0 ? 'test' : _ref2$dataset;
70
- var context = useLDContext();
93
+ var Components = function Components(_ref3) {
94
+ var _ref3$dataset = _ref3.dataset,
95
+ dataset = _ref3$dataset === void 0 ? 'test' : _ref3$dataset;
96
+ var context = useContext();
71
97
  var onComponentClick = useMemoizedFn(function (data) {
72
98
  context.$publisher(context.topics.COMPONENT_SETTING_CLICK, {
73
99
  data: data
@@ -95,10 +121,10 @@ var Components = function Components(_ref2) {
95
121
  onComponentClick: onComponentClick
96
122
  })), /*#__PURE__*/React.createElement(TabPane, {
97
123
  tab: formatMessage({
98
- id: 'ccm.dev.page.set.components.dataset',
99
- label: '数据集字段'
124
+ id: 'ccm.dev.page.set.components.custom',
125
+ label: '自定义组件'
100
126
  }),
101
127
  key: "dataset"
102
- })));
128
+ }, "\u656C\u8BF7\u671F\u5F85")));
103
129
  };
104
130
  export default Components;
@@ -5,12 +5,13 @@ import { useEventListener, useSetState, useMemoizedFn, useCreation, useSize, use
5
5
  import { Icon, Dropdown, message } from 'luck-design/antd';
6
6
  import { cloneDeep, reverse } from 'lodash';
7
7
  import { suid } from '@luck-design-biz/base/utils';
8
- import { useLDContext } from "../engine/provider/ContextProvider";
8
+ import { useContext, usePageData } from "../engine/provider/ContextProvider";
9
9
  import { add, deleteById } from "../engine/tools/dataProcess";
10
- import { CELL_KEY, CELL_CLASS_NAME } from "../constants";
10
+ import { LC_BUILDIN_UNIT_KEY, LC_COMPONENT_UNIT_KEY, LC_COMPONENT_UNIT, CONTAINER_UNITS } from "../constants";
11
11
  import styles from "./style/design.less";
12
12
  var _MODAL_COMPONENT_ = ['Dialog', 'Drawer'];
13
13
  var getOperatorStyle = function getOperatorStyle(page, cellNode) {
14
+ if (!cellNode) return {};
14
15
  var _page$getBoundingClie = page.getBoundingClientRect(),
15
16
  pageLeft = _page$getBoundingClie.left,
16
17
  pageTop = _page$getBoundingClie.top;
@@ -27,7 +28,11 @@ var getOperatorStyle = function getOperatorStyle(page, cellNode) {
27
28
  var DesignOperator = function DesignOperator(_ref) {
28
29
  var _getDomById, _getDomById2;
29
30
  var target = _ref.target;
30
- var context = useLDContext();
31
+ var context = useContext();
32
+ var _usePageData = usePageData(),
33
+ _usePageData2 = _slicedToArray(_usePageData, 2),
34
+ pageData = _usePageData2[0],
35
+ setPageData = _usePageData2[1].setPageData;
31
36
  var size = useSize(target);
32
37
  var _useState = useState(suid()),
33
38
  _useState2 = _slicedToArray(_useState, 2),
@@ -43,7 +48,8 @@ var DesignOperator = function DesignOperator(_ref) {
43
48
  var lastSelectorId = useLatest(operatorId.selector);
44
49
  var currentModal = useRef(null);
45
50
  var getDomById = useMemoizedFn(function (id) {
46
- return context.componentMap.get(id).dom;
51
+ var _context$componentMap;
52
+ return (_context$componentMap = context.componentMap.get(id)) === null || _context$componentMap === void 0 ? void 0 : _context$componentMap.api.getSelfDom();
47
53
  });
48
54
  var handleSelect = useMemoizedFn(function (_key) {
49
55
  context.$publisher(context.topics.COMPONENT_ACTIVE, _key ? {
@@ -56,23 +62,16 @@ var DesignOperator = function DesignOperator(_ref) {
56
62
  } : null);
57
63
  });
58
64
  var handleDelete = useMemoizedFn(function (_ref2) {
59
- var id = _ref2.id,
60
- parentId = _ref2.parentId;
61
- context.$publisher(context.topics.COMPONENT_ACTIVE, null);
62
- var cloneData = cloneDeep(context.pageData);
63
- deleteById(cloneData, id);
64
- context._setPageData(cloneData).then(function (newData) {
65
- context.$publisher(context.topics.COMPONENT_DELETE, {
66
- id: id,
67
- parentId: parentId,
68
- pageData: newData
69
- });
65
+ var id = _ref2.id;
66
+ context.$publisher(context.topics.COMPONENT_DELETE, {
67
+ id: id,
68
+ pageData: pageData
70
69
  });
71
70
  });
72
71
  var addComponent = useMemoizedFn(function (data, targetId) {
73
72
  var json = require("../engine/meta/".concat(data.component.toLowerCase(), ".props.default.json"));
74
73
  var _id = "".concat(data.component.toLowerCase(), "_").concat(suid());
75
- var cloneData = cloneDeep(context.pageData);
74
+ var cloneData = cloneDeep(pageData);
76
75
  add(cloneData, targetId, _id, json);
77
76
  context.$subscriber(context.topics.COMPONENT_MOUNT).once(function (_ref3) {
78
77
  var mountCompId = _ref3.id;
@@ -81,9 +80,12 @@ var DesignOperator = function DesignOperator(_ref) {
81
80
  id: _id,
82
81
  pageData: cloneData
83
82
  });
83
+ context.$publisher(context.topics.COMPONENT_ACTIVE, {
84
+ id: _id
85
+ });
84
86
  }
85
87
  }).watch();
86
- context._setPageData(cloneData);
88
+ setPageData(cloneData);
87
89
  });
88
90
  var acticeProps = useCreation(function () {
89
91
  if (!operatorId.selector) return null;
@@ -114,7 +116,7 @@ var DesignOperator = function DesignOperator(_ref) {
114
116
  }, [operatorId.detector]);
115
117
  useEventListener('mousemove', function (event) {
116
118
  var elem = event.target;
117
- var targetCell = elem.closest(".".concat(CELL_CLASS_NAME));
119
+ var targetCell = elem.closest("[".concat(LC_COMPONENT_UNIT_KEY, "=\"").concat(LC_COMPONENT_UNIT, "\"]"));
118
120
  var targetCellId = targetCell === null || targetCell === void 0 ? void 0 : targetCell.id;
119
121
  if (targetCellId && targetCellId !== operatorId.detector && targetCellId !== operatorId.selector) {
120
122
  setOperatorId({
@@ -144,7 +146,7 @@ var DesignOperator = function DesignOperator(_ref) {
144
146
  });
145
147
  useEventListener('click', function (event) {
146
148
  var elem = event.target;
147
- var targetCell = elem.closest(".".concat(CELL_CLASS_NAME));
149
+ var targetCell = elem.closest("[".concat(LC_COMPONENT_UNIT_KEY, "=\"").concat(LC_COMPONENT_UNIT, "\"]"));
148
150
  var targetCellId = targetCell === null || targetCell === void 0 ? void 0 : targetCell.id;
149
151
  if (!targetCellId || targetCellId === operatorId.selector) return;
150
152
  context.$publisher(context.topics.COMPONENT_HOVER, null);
@@ -168,14 +170,14 @@ var DesignOperator = function DesignOperator(_ref) {
168
170
  id: compId
169
171
  });
170
172
  }).watch();
171
- addComponent(data, CELL_KEY.PAGE_ROOT);
173
+ addComponent(data, LC_BUILDIN_UNIT_KEY.PAGE_ROOT);
172
174
  return;
173
175
  }
174
176
  if (!lastSelectorId.current) {
175
177
  message.info('请在右侧画布选择节点');
176
178
  return;
177
179
  }
178
- if (context.componentMap.get(lastSelectorId.current).dom.getAttribute('name') !== 'box') {
180
+ if (!CONTAINER_UNITS.includes(context.componentMap.get(lastSelectorId.current).meta.component)) {
179
181
  message.info('该节点不支持添加子节点');
180
182
  return;
181
183
  }
@@ -190,8 +192,11 @@ var DesignOperator = function DesignOperator(_ref) {
190
192
  }).watch();
191
193
  var acid = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
192
194
  if (payload.id) {
195
+ var _context$componentMap2 = context.componentMap.get(payload.id).api.getSelfAndParentLCData(),
196
+ node = _context$componentMap2.node;
193
197
  setOperatorId({
194
198
  selector: payload.id,
199
+ deletable: node.props.buildIn !== true,
195
200
  detector: null
196
201
  });
197
202
  } else {
@@ -212,16 +217,30 @@ var DesignOperator = function DesignOperator(_ref) {
212
217
  currentModal.current = id;
213
218
  } else {
214
219
  target.current.style.removeProperty('overflow');
215
- var _modal2 = context.componentMap.get(id || currentModal.current);
216
- _modal2.api.doClose();
217
- currentModal.current = void 0;
220
+ var _id = id || currentModal.current;
221
+ if (_id) {
222
+ var _modal2 = context.componentMap.get(_id);
223
+ _modal2.api.doClose();
224
+ currentModal.current = void 0;
225
+ }
218
226
  }
219
227
  }).watch();
228
+ var cdid = context.$subscriber(context.topics.COMPONENT_DELETE).on(function (_ref7) {
229
+ var id = _ref7.id,
230
+ pageData = _ref7.pageData;
231
+ if (lastSelectorId.current === id) {
232
+ context.$publisher(context.topics.COMPONENT_ACTIVE, null);
233
+ }
234
+ var cloneData = cloneDeep(pageData);
235
+ deleteById(cloneData, id);
236
+ setPageData(cloneData);
237
+ });
220
238
  return function () {
221
239
  context.$unsubscriber(context.topics.COMPONENT_SETTING_CLICK, csid);
222
240
  context.$unsubscriber(context.topics.COMPONENT_HOVER, hcid);
223
241
  context.$unsubscriber(context.topics.COMPONENT_ACTIVE, acid);
224
242
  context.$unsubscriber(context.topics.MODAL_OPEN, cmtid);
243
+ context.$unsubscriber(context.topics.COMPONENT_DELETE, cdid);
225
244
  };
226
245
  }, []);
227
246
  useEffect(function () {
@@ -235,7 +254,7 @@ var DesignOperator = function DesignOperator(_ref) {
235
254
  return /*#__PURE__*/React.createElement(React.Fragment, null, operatorId.detector && /*#__PURE__*/React.createElement("div", {
236
255
  id: "lc-detector",
237
256
  className: styles['lc-painter-design-detector'],
238
- style: getOperatorStyle(target.current, getDomById(operatorId.detector))
257
+ style: getOperatorStyle(target.current, getDomById(operatorId.detector), 'detector', operatorId.detector)
239
258
  }, /*#__PURE__*/React.createElement("span", {
240
259
  className: styles['lc-painter-design-detector-name'],
241
260
  style: {
@@ -245,10 +264,10 @@ var DesignOperator = function DesignOperator(_ref) {
245
264
  id: "lc-selector",
246
265
  key: "".concat((size === null || size === void 0 ? void 0 : size.width) || 0, "-").concat((size === null || size === void 0 ? void 0 : size.height) || 0, "-").concat(positionKey),
247
266
  className: styles['lc-painter-design-selector'],
248
- style: getOperatorStyle(target.current, getDomById(operatorId.selector))
267
+ style: getOperatorStyle(target.current, getDomById(operatorId.selector), 'selector', operatorId.selector)
249
268
  }, acticeProps && /*#__PURE__*/React.createElement("div", {
250
269
  className: styles['lc-borders-actions'],
251
- style: acticeProps.props.id === CELL_KEY.PAGE_ROOT ? {
270
+ style: acticeProps.props.id === LC_BUILDIN_UNIT_KEY.PAGE_ROOT ? {
252
271
  top: 0
253
272
  } : ((_getDomById2 = getDomById(operatorId.selector)) === null || _getDomById2 === void 0 ? void 0 : _getDomById2.offsetTop) < 23 ? {
254
273
  bottom: '-23px'
@@ -260,7 +279,7 @@ var DesignOperator = function DesignOperator(_ref) {
260
279
  placement: "bottomLeft"
261
280
  }, /*#__PURE__*/React.createElement("div", {
262
281
  className: "instance-node-selector"
263
- }, acticeProps.props.name)), /*#__PURE__*/React.createElement("div", {
282
+ }, acticeProps.props.name)), operatorId.deletable && /*#__PURE__*/React.createElement("div", {
264
283
  onClick: function onClick() {
265
284
  return handleDelete(acticeProps.props);
266
285
  }
@@ -1,15 +1,26 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import React, { useEffect, useState } from 'react';
3
+ import React, { useRef, useEffect, useState } from 'react';
4
4
  import classNames from 'classnames';
5
- import { Select, Button, Icon, Divider } from 'luck-design/antd';
6
- import { useLDContext } from "../engine/provider/ContextProvider";
7
- import { CELL_KEY } from "../constants";
5
+ import { useMemoizedFn } from 'ahooks';
6
+ import { Select, Button, Icon, Divider, Modal, message } from 'luck-design/antd';
7
+ import { showPop, formatMessage } from '@luck-design-biz/base/utils';
8
+ import { useContext, usePageData, useRemoteSource } from "../engine/provider/ContextProvider";
9
+ import JsonEditor from "../painter/components/code-editor/JsonEditor";
10
+ import { LC_BUILDIN_UNIT_KEY } from "../constants";
11
+ import { updatePageData } from "./services/toolbar";
8
12
  import styles from "./style/design.less";
9
13
  var DesignToolbar = function DesignToolbar(_ref) {
10
14
  var locale = _ref.locale,
11
15
  onLangChange = _ref.onLangChange;
12
- var context = useLDContext();
16
+ var editorRef = useRef();
17
+ var context = useContext();
18
+ var _usePageData = usePageData(),
19
+ _usePageData2 = _slicedToArray(_usePageData, 2),
20
+ pageData = _usePageData2[0],
21
+ setPageData = _usePageData2[1].setPageData;
22
+ var _ref2 = useRemoteSource() || {},
23
+ pageinfo = _ref2.pageinfo;
13
24
  var _useState = useState(null),
14
25
  _useState2 = _slicedToArray(_useState, 2),
15
26
  langList = _useState2[0],
@@ -18,16 +29,47 @@ var DesignToolbar = function DesignToolbar(_ref) {
18
29
  _useState4 = _slicedToArray(_useState3, 2),
19
30
  activedTarget = _useState4[0],
20
31
  setActivedTarget = _useState4[1];
32
+ var _useState5 = useState(false),
33
+ _useState6 = _slicedToArray(_useState5, 2),
34
+ show = _useState6[0],
35
+ setShow = _useState6[1];
21
36
  useEffect(function () {
22
- var topicId = context.$subscriber(context.topics.LANG_SETTING_SELECT).on(function (_ref2) {
23
- var _langList = _ref2.langList;
37
+ var topicId = context.$subscriber(context.topics.LANG_SETTING_SELECT).on(function (_ref3) {
38
+ var _langList = _ref3.langList;
24
39
  return setLangList(_langList);
25
40
  }).watch();
26
41
  return function () {
27
42
  return context.$unsubscriber(context.topics.LANG_SETTING_SELECT, topicId);
28
43
  };
29
44
  }, []);
30
- return /*#__PURE__*/React.createElement("div", {
45
+ var handleSave = useMemoizedFn(function () {
46
+ var _pageinfo$relationshi;
47
+ updatePageData({}, {
48
+ pageData: JSON.stringify(pageData),
49
+ pageCode: pageinfo === null || pageinfo === void 0 || (_pageinfo$relationshi = pageinfo.relationship) === null || _pageinfo$relationshi === void 0 ? void 0 : _pageinfo$relationshi.pageCode
50
+ }).then(function (_ref4) {
51
+ var code = _ref4.code;
52
+ if (code === 1) {
53
+ showPop(formatMessage({
54
+ id: 'app.base.tip.operate.success'
55
+ }), null, 'success');
56
+ }
57
+ });
58
+ }, []);
59
+ var handleOk = useMemoizedFn(function () {
60
+ var code = editorRef.current.editor.getValue();
61
+ try {
62
+ var data = JSON.parse(code);
63
+ setPageData(data);
64
+ setShow(false);
65
+ } catch (e) {
66
+ message.warning(formatMessage({
67
+ id: 'luckda.lowcode.error.pagedata',
68
+ label: '页面数据错误'
69
+ }));
70
+ }
71
+ });
72
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
31
73
  className: styles['lc-painter-design-toolbar']
32
74
  }, /*#__PURE__*/React.createElement(Select, {
33
75
  size: "small",
@@ -66,7 +108,7 @@ var DesignToolbar = function DesignToolbar(_ref) {
66
108
  className: styles['toolbar-item'],
67
109
  onClick: function onClick() {
68
110
  context.$publisher(context.topics.COMPONENT_ACTIVE, {
69
- id: CELL_KEY.PAGE_ROOT
111
+ id: LC_BUILDIN_UNIT_KEY.PAGE_ROOT
70
112
  });
71
113
  }
72
114
  }, "\u9875\u9762\u5C5E\u6027"), /*#__PURE__*/React.createElement(Divider, {
@@ -75,17 +117,46 @@ var DesignToolbar = function DesignToolbar(_ref) {
75
117
  size: "small",
76
118
  style: {
77
119
  fontSize: 12,
78
- margin: '0 2px'
120
+ margin: '0 4px 0 2px'
79
121
  }
80
- }, "\u9884\u89C8"), /*#__PURE__*/React.createElement(Divider, {
81
- type: "vertical"
82
- }), /*#__PURE__*/React.createElement(Button, {
122
+ }, "\u9884\u89C8"), /*#__PURE__*/React.createElement(Button, {
83
123
  size: "small",
84
124
  type: "primary",
85
125
  style: {
86
126
  fontSize: 12,
87
- margin: '0 0 0 2px'
127
+ padding: '0 7px 0 0'
128
+ }
129
+ }, /*#__PURE__*/React.createElement("div", {
130
+ style: {
131
+ display: 'inline-block',
132
+ padding: '0 7px'
133
+ },
134
+ onClick: handleSave
135
+ }, "\u4FDD\u5B58"), /*#__PURE__*/React.createElement("div", {
136
+ style: {
137
+ display: 'inline-block'
138
+ },
139
+ onClick: function onClick() {
140
+ return setShow(true);
141
+ }
142
+ }, /*#__PURE__*/React.createElement(Icon, {
143
+ type: "eye"
144
+ })))), /*#__PURE__*/React.createElement(Modal, {
145
+ visible: show,
146
+ width: 1024,
147
+ getContainer: function getContainer() {
148
+ return document.getElementById('lc-design-workspace');
149
+ },
150
+ zIndex: 3000,
151
+ bodyStyle: {
152
+ height: '70vh'
153
+ },
154
+ onOk: handleOk,
155
+ onCancel: function onCancel() {
156
+ return setShow(false);
88
157
  }
89
- }, "\u4FDD\u5B58"));
158
+ }, /*#__PURE__*/React.createElement(JsonEditor, {
159
+ ref: editorRef
160
+ }, JSON.stringify(pageData, null, '\t'))));
90
161
  };
91
162
  export default DesignToolbar;
@@ -11,7 +11,7 @@ import { GridTable } from 'luck-design';
11
11
  import { reduce, remove, cloneDeep, debounce } from 'lodash';
12
12
  import { Input, Button, Icon } from 'luck-design/antd';
13
13
  import { formatMessage, suid } from '@luck-design-biz/base/utils';
14
- import { useLDContext } from "../engine/provider/ContextProvider";
14
+ import { useContext } from "../engine/provider/ContextProvider";
15
15
  import { readAllLang, doAddLang, doUpdateLang, doDeleteLang } from "./services/I18n";
16
16
  var Search = Input.Search;
17
17
  var _getDvaApp$_store = (_getDvaApp = getDvaApp()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp._store,
@@ -26,7 +26,7 @@ var formatDataFunc = function formatDataFunc(data) {
26
26
  }, {}));
27
27
  };
28
28
  var I18n = function I18n() {
29
- var context = useLDContext();
29
+ var context = useContext();
30
30
  var _useState = useState([]),
31
31
  _useState2 = _slicedToArray(_useState, 2),
32
32
  langList = _useState2[0],
@@ -9,16 +9,19 @@ import { uniq, split, reduce } from 'lodash';
9
9
  import classNames from 'classnames';
10
10
  import { Card, Tree, Icon } from 'luck-design/antd';
11
11
  import { formatMessage } from '@luck-design-biz/base/utils';
12
- import { useLDContext } from "../engine/provider/ContextProvider";
13
- import { CELL_KEY } from "../constants";
12
+ import { useContext, usePageData } from "../engine/provider/ContextProvider";
13
+ import { LC_BUILDIN_UNIT_KEY, LC_BUILDIN_UNIT_KEY_LIST } from "../constants";
14
14
  import { getPathById } from "../engine/tools/dataProcess";
15
15
  import styles from "./style/outline.less";
16
+ import TreeEditor from "./components/TreeEditor";
16
17
  var TreeNode = Tree.TreeNode;
17
- var PAGE_CELL = [CELL_KEY.PAGE_HEADER, CELL_KEY.PAGE_CONTENT, CELL_KEY.PAGE_FOOTER];
18
18
  var Outline = function Outline(_ref) {
19
19
  var open = _ref.open;
20
20
  var clickBySelf = useRef(false);
21
- var context = useLDContext();
21
+ var ctx = useContext();
22
+ var _usePageData = usePageData(),
23
+ _usePageData2 = _slicedToArray(_usePageData, 1),
24
+ pageData = _usePageData2[0];
22
25
  var _useState = useState(null),
23
26
  _useState2 = _slicedToArray(_useState, 2),
24
27
  pageAndModal = _useState2[0],
@@ -38,28 +41,28 @@ var Outline = function Outline(_ref) {
38
41
  var latestModalExpandedKeysRef = useLatest(modalExpandedKeys);
39
42
  var lastPageExpandedKeysRef = useLatest(pageExpandedKeys);
40
43
  useEffect(function () {
41
- var _id = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
44
+ var _id = ctx.$subscriber(ctx.topics.COMPONENT_ACTIVE).on(function (payload) {
42
45
  setSelectedKey(payload.id);
43
46
  if (clickBySelf.current) {
44
47
  clickBySelf.current = false;
45
48
  return;
46
49
  }
47
- var _split = split(getPathById(context.pageData, payload.id), '/'),
50
+ var _split = split(getPathById(pageData, payload.id), '/'),
48
51
  _split2 = _slicedToArray(_split, 1),
49
52
  _root = _split2[0];
50
- if (!PAGE_CELL.includes(_root)) {
51
- setModalExpandedKeys(uniq([].concat(_toConsumableArray(latestModalExpandedKeysRef.current), _toConsumableArray(split(getPathById(context.pageData, payload.id), '/')))));
53
+ if (!LC_BUILDIN_UNIT_KEY_LIST.includes(_root)) {
54
+ setModalExpandedKeys(uniq([].concat(_toConsumableArray(latestModalExpandedKeysRef.current), _toConsumableArray(split(getPathById(pageData, payload.id), '/')))));
52
55
  } else {
53
- setPageExpandedKeys(uniq([].concat(_toConsumableArray(lastPageExpandedKeysRef.current), _toConsumableArray(split(getPathById(context.pageData, payload.id), '/')))));
56
+ setPageExpandedKeys(uniq([].concat(_toConsumableArray(lastPageExpandedKeysRef.current), _toConsumableArray(split(getPathById(pageData, payload.id), '/')))));
54
57
  }
55
58
  }).watch();
56
59
  return function () {
57
- context.$unsubscriber(context.topics.COMPONENT_ACTIVE, _id);
60
+ ctx.$unsubscriber(ctx.topics.COMPONENT_ACTIVE, _id);
58
61
  };
59
- }, [context.pageData]);
62
+ }, [pageData]);
60
63
  var handleSelect = useMemoizedFn(function (_key) {
61
64
  clickBySelf.current = true;
62
- context.$publisher(context.topics.COMPONENT_ACTIVE, _key ? {
65
+ ctx.$publisher(ctx.topics.COMPONENT_ACTIVE, _key ? {
63
66
  id: _key
64
67
  } : null);
65
68
  });
@@ -72,7 +75,9 @@ var Outline = function Outline(_ref) {
72
75
  icon: /*#__PURE__*/React.createElement(Icon, {
73
76
  type: "layout"
74
77
  }),
75
- title: props.name,
78
+ title: /*#__PURE__*/React.createElement(TreeEditor, {
79
+ item: props
80
+ }),
76
81
  key: props.id
77
82
  }, (children === null || children === void 0 ? void 0 : children.length) && children.map(function (_id) {
78
83
  return render(childrenMap[_id]);
@@ -83,12 +88,12 @@ var Outline = function Outline(_ref) {
83
88
  });
84
89
  });
85
90
  useDeepCompareLayoutEffect(function () {
86
- if (!context.pageData) {
91
+ if (!pageData) {
87
92
  return;
88
93
  }
89
- var _reduce = reduce(context.pageData.children, function (result, _id) {
90
- var resultKey = PAGE_CELL.includes(_id) ? 'page' : 'modal';
91
- result[resultKey][_id] = context.pageData[_id];
94
+ var _reduce = reduce(pageData.children, function (result, _id) {
95
+ var resultKey = LC_BUILDIN_UNIT_KEY_LIST.includes(_id) ? 'page' : 'modal';
96
+ result[resultKey][_id] = pageData[_id];
92
97
  if (!result[resultKey].children) {
93
98
  result[resultKey].children = [];
94
99
  }
@@ -104,13 +109,13 @@ var Outline = function Outline(_ref) {
104
109
  page: render(page),
105
110
  modal: render(modal)
106
111
  });
107
- }, [context.pageData]);
112
+ }, [pageData]);
108
113
  return /*#__PURE__*/React.createElement("div", {
109
114
  className: styles['lc-painter-outline']
110
115
  }, /*#__PURE__*/React.createElement("div", {
111
- className: classNames(styles['page-node'], _defineProperty({}, styles['page-node-active'], selectedKey === CELL_KEY.PAGE_ROOT)),
116
+ className: classNames(styles['page-node'], _defineProperty({}, styles['page-node-active'], selectedKey === LC_BUILDIN_UNIT_KEY.PAGE_ROOT)),
112
117
  onClick: function onClick() {
113
- return handleSelect(CELL_KEY.PAGE_ROOT);
118
+ return handleSelect(LC_BUILDIN_UNIT_KEY.PAGE_ROOT);
114
119
  }
115
120
  }, /*#__PURE__*/React.createElement(Icon, {
116
121
  type: "layout"
@@ -150,14 +155,14 @@ var Outline = function Outline(_ref) {
150
155
  node = _ref4.node;
151
156
  if (selected && node.props.pos.split('-').length === 2) {
152
157
  // 选中节点是模态视图,则打开模态视图组件
153
- context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
158
+ ctx.$publisher(ctx.topics.COMPONENT_MODAL_TOGGLE, {
154
159
  toggle: true,
155
160
  id: _key
156
161
  });
157
162
  handleSelect(_key);
158
163
  } else if (!selected && node.props.pos.split('-').length === 2) {
159
164
  // 取消选中节点是模态视图,则关闭模态视图
160
- context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
165
+ ctx.$publisher(ctx.topics.COMPONENT_MODAL_TOGGLE, {
161
166
  toggle: false,
162
167
  id: _key
163
168
  });
@@ -165,10 +170,10 @@ var Outline = function Outline(_ref) {
165
170
  } else {
166
171
  // 选中节点是模态视图下的子组件,则打开该组件的模态视图组件
167
172
  handleSelect(node.props.eventKey);
168
- var _split3 = split(getPathById(context.pageData, node.props.eventKey), '/'),
173
+ var _split3 = split(getPathById(pageData, node.props.eventKey), '/'),
169
174
  _split4 = _slicedToArray(_split3, 1),
170
175
  parentModal = _split4[0];
171
- context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
176
+ ctx.$publisher(ctx.topics.COMPONENT_MODAL_TOGGLE, {
172
177
  toggle: true,
173
178
  id: parentModal
174
179
  });
@@ -180,7 +185,7 @@ var Outline = function Outline(_ref) {
180
185
  node = _ref6.node;
181
186
  if (expanded && node.props.pos.split('-').length === 2) {
182
187
  handleSelect(null);
183
- context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
188
+ ctx.$publisher(ctx.topics.COMPONENT_MODAL_TOGGLE, {
184
189
  toggle: true,
185
190
  id: node.props.eventKey
186
191
  });
@@ -199,7 +204,7 @@ var Outline = function Outline(_ref) {
199
204
  var _ref9 = _slicedToArray(_ref7, 1),
200
205
  _key = _ref9[0];
201
206
  var node = _ref8.node;
202
- context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
207
+ ctx.$publisher(ctx.topics.COMPONENT_MODAL_TOGGLE, {
203
208
  toggle: false
204
209
  });
205
210
  handleSelect(node.props.eventKey);