@luck-design-biz/luckda 0.0.23 → 0.0.24-2

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 (433) hide show
  1. package/es/components/Builder/index.js +6 -4
  2. package/es/components/LdFormList/index.js +1 -4
  3. package/es/components/LdGrid/index.js +12 -3
  4. package/es/lowcode/constants/api-url.js +292 -1
  5. package/es/lowcode/constants/event-topics.js +14 -1
  6. package/es/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +60 -0
  7. package/es/lowcode/engine/factory/panel-item-factory/GroupStrategy.js +32 -0
  8. package/es/lowcode/engine/factory/panel-item-factory/NumberStrategy.js +32 -0
  9. package/es/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +32 -0
  10. package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +53 -0
  11. package/es/lowcode/engine/factory/panel-item-factory/Strategy.js +21 -0
  12. package/es/lowcode/engine/factory/panel-item-factory/StringStrategy.js +51 -0
  13. package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +42 -0
  14. package/es/lowcode/engine/factory/panel-item-factory/index.js +44 -0
  15. package/es/lowcode/engine/meta/box.props.default.json +12 -0
  16. package/es/lowcode/engine/meta/box.props.json +42 -0
  17. package/es/lowcode/engine/meta/button.props.default.json +15 -7
  18. package/es/lowcode/engine/meta/{components/button.json → button.props.json} +126 -103
  19. package/es/lowcode/engine/meta/cardlist.props.default.json +17 -9
  20. package/es/lowcode/engine/meta/{components/card-list.json → cardlist.props.json} +143 -142
  21. package/es/lowcode/engine/meta/components-list.json +127 -121
  22. package/es/lowcode/engine/meta/dialog.props.default.json +19 -0
  23. package/{lib/lowcode/engine/meta/components/modal.json → es/lowcode/engine/meta/dialog.props.json} +120 -119
  24. package/es/lowcode/engine/meta/drawer.props.default.json +17 -9
  25. package/{lib/lowcode/engine/meta/components/drawer.json → es/lowcode/engine/meta/drawer.props.json} +143 -142
  26. package/es/lowcode/engine/meta/form.props.default.json +12 -4
  27. package/{lib/lowcode/engine/meta/components/form.json → es/lowcode/engine/meta/form.props.json} +116 -115
  28. package/es/lowcode/engine/meta/iframe.props.default.json +10 -2
  29. package/es/lowcode/engine/meta/{components/iframe.json → iframe.props.json} +31 -30
  30. package/es/lowcode/engine/meta/image.props.default.json +15 -7
  31. package/es/lowcode/engine/meta/{components/image.json → image.props.json} +113 -112
  32. package/es/lowcode/engine/meta/imex.props.default.json +11 -3
  33. package/{lib/lowcode/engine/meta/components/imex.json → es/lowcode/engine/meta/imex.props.json} +81 -80
  34. package/es/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
  35. package/es/lowcode/engine/meta/jsx.props.default.json +10 -1
  36. package/es/lowcode/engine/meta/{components/jsx.json → jsx.props.json} +24 -23
  37. package/es/lowcode/engine/meta/layout.props.default.json +12 -4
  38. package/{lib/lowcode/engine/meta/components/layout.json → es/lowcode/engine/meta/layout.props.json} +107 -106
  39. package/es/lowcode/engine/meta/link.props.default.json +13 -5
  40. package/{lib/lowcode/engine/meta/components/link.json → es/lowcode/engine/meta/link.props.json} +111 -110
  41. package/es/lowcode/engine/meta/section.props.default.json +16 -8
  42. package/{lib/lowcode/engine/meta/components/section.json → es/lowcode/engine/meta/section.props.json} +107 -106
  43. package/es/lowcode/engine/meta/split.props.default.json +12 -4
  44. package/es/lowcode/engine/meta/{components/split.json → split.props.json} +71 -70
  45. package/es/lowcode/engine/meta/table.props.default.json +29 -9
  46. package/es/lowcode/engine/meta/table.props.json +236 -0
  47. package/es/lowcode/engine/meta/tabs.props.default.json +17 -9
  48. package/es/lowcode/engine/meta/{components/tabs.json → tabs.props.json} +140 -139
  49. package/es/lowcode/engine/meta/text.props.default.json +11 -3
  50. package/{lib/lowcode/engine/meta/components/text.json → es/lowcode/engine/meta/text.props.json} +65 -64
  51. package/es/lowcode/engine/meta/tree.props.default.json +16 -8
  52. package/es/lowcode/engine/meta/{components/tree.json → tree.props.json} +156 -155
  53. package/es/lowcode/engine/provider/ContextProvider.js +46 -41
  54. package/es/lowcode/engine/provider/EventBusProvider.js +2 -2
  55. package/es/lowcode/engine/tools/dataProcess.js +85 -8
  56. package/es/lowcode/engine/tools/helper.js +68 -0
  57. package/es/lowcode/engine/tools/usePromiseState.js +24 -0
  58. package/es/lowcode/index.js +3 -1
  59. package/es/lowcode/painter/Design.js +40 -85
  60. package/es/lowcode/painter/DesignOperator.js +271 -0
  61. package/es/lowcode/painter/DesignToolbar.js +91 -0
  62. package/es/lowcode/painter/I18n.js +202 -2
  63. package/es/lowcode/painter/Outline.js +63 -54
  64. package/es/lowcode/painter/Panel.js +239 -2
  65. package/es/lowcode/painter/Ribbon.js +61 -55
  66. package/es/lowcode/painter/components/Collapse.js +90 -0
  67. package/es/lowcode/painter/components/ColorInput.js +125 -0
  68. package/es/lowcode/painter/components/ListEditor.js +89 -0
  69. package/es/lowcode/painter/components/NumberInput.js +148 -0
  70. package/es/lowcode/painter/components/PanelItem.js +83 -11
  71. package/es/lowcode/painter/components/PopConfirm.js +23 -0
  72. package/es/lowcode/painter/components/PopForm.js +71 -0
  73. package/es/lowcode/painter/components/RuleInput.js +9 -7
  74. package/es/lowcode/painter/components/SortBox.js +92 -0
  75. package/es/lowcode/painter/components/actions-editor/ActionEditor.js +147 -0
  76. package/es/lowcode/painter/components/actions-editor/index.js +170 -0
  77. package/es/lowcode/painter/components/code-editor/BaseEditor.js +96 -0
  78. package/es/lowcode/painter/components/code-editor/CssEditor.js +41 -0
  79. package/es/lowcode/painter/components/code-editor/FullScreenEditor.js +87 -0
  80. package/es/lowcode/painter/components/code-editor/JSEditor.js +106 -0
  81. package/es/lowcode/painter/components/code-editor/index.js +2 -0
  82. package/es/lowcode/painter/index.js +33 -3
  83. package/es/lowcode/painter/panel-section/ButtonType.js +39 -0
  84. package/es/lowcode/painter/panel-section/DataSetSelector.js +61 -0
  85. package/es/lowcode/painter/panel-section/Icon.js +48 -0
  86. package/es/lowcode/painter/panel-section/IconSelector.js +134 -0
  87. package/es/lowcode/painter/panel-section/LayoutRatio.js +57 -49
  88. package/es/lowcode/painter/panel-section/StylePanel/BackGround.js +61 -0
  89. package/es/lowcode/painter/panel-section/StylePanel/Border.js +150 -0
  90. package/es/lowcode/painter/panel-section/StylePanel/BorderRadius.js +87 -0
  91. package/es/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +66 -0
  92. package/es/lowcode/painter/panel-section/StylePanel/BorderSelector.js +66 -0
  93. package/es/lowcode/painter/panel-section/StylePanel/Display.js +296 -0
  94. package/es/lowcode/painter/panel-section/StylePanel/DisplaySvg.js +543 -0
  95. package/es/lowcode/painter/panel-section/StylePanel/Font.js +162 -0
  96. package/es/lowcode/painter/panel-section/StylePanel/FontEditor.js +386 -0
  97. package/es/lowcode/painter/panel-section/StylePanel/GapSelector.js +78 -0
  98. package/es/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +23 -0
  99. package/es/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +20 -0
  100. package/es/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +23 -0
  101. package/es/lowcode/painter/panel-section/StylePanel/MainPanel.js +96 -0
  102. package/es/lowcode/painter/panel-section/StylePanel/Margin.js +60 -0
  103. package/es/lowcode/painter/panel-section/StylePanel/Opacity.js +50 -0
  104. package/es/lowcode/painter/panel-section/StylePanel/Padding.js +61 -0
  105. package/es/lowcode/painter/panel-section/StylePanel/Pointer.js +41 -0
  106. package/es/lowcode/painter/panel-section/StylePanel/Shadow.js +216 -0
  107. package/es/lowcode/painter/panel-section/StylePanel/Size.js +53 -0
  108. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +148 -0
  109. package/es/lowcode/painter/panel-section/StylePanel/StyleRow.js +16 -0
  110. package/es/lowcode/painter/panel-section/StylePanel/WidthHeight.js +51 -0
  111. package/es/lowcode/painter/panel-section/StylePanel/index.js +29 -0
  112. package/es/lowcode/painter/panel-section/TabItems.js +207 -0
  113. package/es/lowcode/painter/panel-section/TableActions.js +19 -0
  114. package/es/lowcode/painter/panel-section/TableZebra.js +14 -0
  115. package/es/lowcode/painter/panel-section/WidthHeight.js +39 -0
  116. package/es/lowcode/painter/services/I18n.js +85 -0
  117. package/es/lowcode/painter/style/actions-editor.less +16 -0
  118. package/es/lowcode/painter/style/border-editor.less +36 -0
  119. package/es/lowcode/painter/style/border-radius-selector.less +43 -0
  120. package/es/lowcode/painter/style/border-selector.less +40 -0
  121. package/es/lowcode/painter/style/button-type.less +5 -0
  122. package/es/lowcode/painter/style/collapse.less +22 -0
  123. package/es/lowcode/painter/style/color-input.less +19 -0
  124. package/es/lowcode/painter/style/design.less +116 -5
  125. package/es/lowcode/painter/style/display.less +17 -0
  126. package/es/lowcode/painter/style/font-editor.less +9 -0
  127. package/es/lowcode/painter/style/fullscreen-editor.less +17 -0
  128. package/es/lowcode/painter/style/icon-selector.less +22 -0
  129. package/es/lowcode/painter/style/icon.less +11 -0
  130. package/es/lowcode/painter/style/index.less +0 -1
  131. package/es/lowcode/painter/style/layout-ratio.less +1 -1
  132. package/es/lowcode/painter/style/list-editor.less +59 -0
  133. package/es/lowcode/painter/style/number-input.less +17 -0
  134. package/es/lowcode/painter/style/outline.less +2 -0
  135. package/es/lowcode/painter/style/panel-item.less +45 -12
  136. package/es/lowcode/painter/style/panel.less +124 -0
  137. package/es/lowcode/painter/style/pop-confirm.less +10 -0
  138. package/es/lowcode/painter/style/pop-form.less +20 -0
  139. package/es/lowcode/painter/style/ribbon.less +1 -0
  140. package/es/lowcode/painter/style/style-panel.less +37 -0
  141. package/es/lowcode/painter/style/tabitems.less +90 -0
  142. package/es/lowcode/view/Canvas.js +79 -70
  143. package/es/lowcode/view/Page.js +10 -28
  144. package/es/lowcode/view/index.js +5 -6
  145. package/es/lowcode/view/lc-components/Box/FunctionDesign.js +20 -0
  146. package/es/lowcode/view/lc-components/Box/FunctionLive.js +9 -0
  147. package/es/lowcode/view/lc-components/Box/index.js +22 -5
  148. package/es/lowcode/view/lc-components/Box/index.less +15 -0
  149. package/es/lowcode/view/lc-components/Box/meta.json +42 -0
  150. package/es/lowcode/view/lc-components/Button/FunctionDesign.js +21 -0
  151. package/es/lowcode/view/lc-components/Button/FunctionLive.js +9 -0
  152. package/es/lowcode/view/lc-components/Button/index.js +75 -7
  153. package/es/lowcode/view/lc-components/Button/meta.json +127 -0
  154. package/es/lowcode/view/lc-components/Button/style.less +3 -0
  155. package/es/lowcode/view/lc-components/CardList/FunctionDesign.js +9 -0
  156. package/es/lowcode/view/lc-components/CardList/FunctionLive.js +9 -0
  157. package/{lib/lowcode/engine/meta/components/table.json → es/lowcode/view/lc-components/CardList/meta.json} +11 -28
  158. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +54 -0
  159. package/es/lowcode/view/lc-components/Dialog/FunctionLive.js +9 -0
  160. package/es/lowcode/view/lc-components/Dialog/index.js +20 -11
  161. package/es/lowcode/view/lc-components/Dialog/index.less +1 -1
  162. package/es/lowcode/view/lc-components/Dialog/meta.json +121 -0
  163. package/es/lowcode/view/lc-components/Drawer/FunctionDesign.js +20 -0
  164. package/es/lowcode/view/lc-components/Drawer/FunctionLive.js +9 -0
  165. package/es/lowcode/view/lc-components/Drawer/index.js +22 -9
  166. package/es/lowcode/view/lc-components/Drawer/index.less +7 -0
  167. package/es/lowcode/view/lc-components/Drawer/meta.json +144 -0
  168. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +9 -0
  169. package/es/lowcode/view/lc-components/Form/FunctionLive.js +9 -0
  170. package/es/lowcode/view/lc-components/Form/meta.json +117 -0
  171. package/es/lowcode/view/lc-components/Iframe/FunctionDesign.js +9 -0
  172. package/es/lowcode/view/lc-components/Iframe/FunctionLive.js +9 -0
  173. package/es/lowcode/view/lc-components/Iframe/meta.json +32 -0
  174. package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +9 -0
  175. package/es/lowcode/view/lc-components/ImEx/FunctionLive.js +9 -0
  176. package/es/lowcode/view/lc-components/ImEx/meta.json +82 -0
  177. package/es/lowcode/view/lc-components/Image/FunctionDesign.js +9 -0
  178. package/es/lowcode/view/lc-components/Image/FunctionLive.js +9 -0
  179. package/es/lowcode/view/lc-components/Image/meta.json +114 -0
  180. package/es/lowcode/view/lc-components/JSX/FunctionDesign.js +9 -0
  181. package/es/lowcode/view/lc-components/JSX/FunctionLive.js +9 -0
  182. package/es/lowcode/view/lc-components/JSX/meta.json +25 -0
  183. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +75 -0
  184. package/es/lowcode/view/lc-components/Layout/FunctionLive.js +15 -0
  185. package/es/lowcode/view/lc-components/Layout/index.js +40 -7
  186. package/es/lowcode/view/lc-components/Layout/index.less +5 -0
  187. package/es/lowcode/view/lc-components/Layout/meta.json +108 -0
  188. package/es/lowcode/view/lc-components/Link/FunctionDesign.js +9 -0
  189. package/es/lowcode/view/lc-components/Link/FunctionLive.js +9 -0
  190. package/es/lowcode/view/lc-components/Link/meta.json +112 -0
  191. package/es/lowcode/view/lc-components/Section/FunctionDesign.js +9 -0
  192. package/es/lowcode/view/lc-components/Section/FunctionLive.js +9 -0
  193. package/es/lowcode/view/lc-components/Section/meta.json +108 -0
  194. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +9 -0
  195. package/es/lowcode/view/lc-components/Split/FunctionLive.js +9 -0
  196. package/es/lowcode/view/lc-components/Split/meta.json +72 -0
  197. package/es/lowcode/view/lc-components/Table/FunctionDesign.js +18 -0
  198. package/es/lowcode/view/lc-components/Table/FunctionLive.js +9 -0
  199. package/es/lowcode/view/lc-components/Table/index.js +229 -9
  200. package/es/lowcode/view/lc-components/Table/meta.json +225 -0
  201. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +9 -0
  202. package/es/lowcode/view/lc-components/Tabs/FunctionLive.js +9 -0
  203. package/es/lowcode/view/lc-components/Tabs/meta.json +141 -0
  204. package/es/lowcode/view/lc-components/Text/FunctionDesign.js +9 -0
  205. package/es/lowcode/view/lc-components/Text/FunctionLive.js +9 -0
  206. package/es/lowcode/view/lc-components/Text/meta.json +66 -0
  207. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +9 -0
  208. package/es/lowcode/view/lc-components/Tree/FunctionLive.js +9 -0
  209. package/es/lowcode/view/lc-components/Tree/meta.json +157 -0
  210. package/es/lowcode/view/lc-components/Wrapper.js +32 -23
  211. package/es/lowcode/view/style/page.less +0 -1
  212. package/es/upload/Form/gridForm.js +1 -1
  213. package/es/utils/grid.js +4 -3
  214. package/lib/components/Builder/index.js +5 -3
  215. package/lib/components/LdFormList/index.js +1 -5
  216. package/lib/components/LdGrid/index.js +12 -3
  217. package/lib/lowcode/constants/api-url.js +294 -2
  218. package/lib/lowcode/constants/event-topics.js +15 -2
  219. package/lib/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +73 -0
  220. package/lib/lowcode/engine/factory/panel-item-factory/GroupStrategy.js +38 -0
  221. package/lib/lowcode/engine/factory/panel-item-factory/NumberStrategy.js +38 -0
  222. package/lib/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +38 -0
  223. package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +59 -0
  224. package/lib/lowcode/engine/factory/panel-item-factory/Strategy.js +27 -0
  225. package/lib/lowcode/engine/factory/panel-item-factory/StringStrategy.js +57 -0
  226. package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +48 -0
  227. package/lib/lowcode/engine/factory/panel-item-factory/index.js +50 -0
  228. package/lib/lowcode/engine/meta/box.props.default.json +12 -0
  229. package/lib/lowcode/engine/meta/box.props.json +42 -0
  230. package/lib/lowcode/engine/meta/button.props.default.json +15 -7
  231. package/lib/lowcode/engine/meta/{components/button.json → button.props.json} +126 -103
  232. package/lib/lowcode/engine/meta/cardlist.props.default.json +17 -9
  233. package/lib/lowcode/engine/meta/{components/card-list.json → cardlist.props.json} +143 -142
  234. package/lib/lowcode/engine/meta/components-list.json +127 -121
  235. package/lib/lowcode/engine/meta/dialog.props.default.json +19 -0
  236. package/{es/lowcode/engine/meta/components/modal.json → lib/lowcode/engine/meta/dialog.props.json} +120 -119
  237. package/lib/lowcode/engine/meta/drawer.props.default.json +17 -9
  238. package/{es/lowcode/engine/meta/components/drawer.json → lib/lowcode/engine/meta/drawer.props.json} +143 -142
  239. package/lib/lowcode/engine/meta/form.props.default.json +12 -4
  240. package/{es/lowcode/engine/meta/components/form.json → lib/lowcode/engine/meta/form.props.json} +116 -115
  241. package/lib/lowcode/engine/meta/iframe.props.default.json +10 -2
  242. package/lib/lowcode/engine/meta/{components/iframe.json → iframe.props.json} +31 -30
  243. package/lib/lowcode/engine/meta/image.props.default.json +15 -7
  244. package/lib/lowcode/engine/meta/{components/image.json → image.props.json} +113 -112
  245. package/lib/lowcode/engine/meta/imex.props.default.json +11 -3
  246. package/{es/lowcode/engine/meta/components/imex.json → lib/lowcode/engine/meta/imex.props.json} +81 -80
  247. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
  248. package/lib/lowcode/engine/meta/jsx.props.default.json +10 -1
  249. package/lib/lowcode/engine/meta/{components/jsx.json → jsx.props.json} +24 -23
  250. package/lib/lowcode/engine/meta/layout.props.default.json +12 -4
  251. package/{es/lowcode/engine/meta/components/layout.json → lib/lowcode/engine/meta/layout.props.json} +107 -106
  252. package/lib/lowcode/engine/meta/link.props.default.json +13 -5
  253. package/{es/lowcode/engine/meta/components/link.json → lib/lowcode/engine/meta/link.props.json} +111 -110
  254. package/lib/lowcode/engine/meta/section.props.default.json +16 -8
  255. package/{es/lowcode/engine/meta/components/section.json → lib/lowcode/engine/meta/section.props.json} +107 -106
  256. package/lib/lowcode/engine/meta/split.props.default.json +12 -4
  257. package/lib/lowcode/engine/meta/{components/split.json → split.props.json} +71 -70
  258. package/lib/lowcode/engine/meta/table.props.default.json +29 -9
  259. package/lib/lowcode/engine/meta/table.props.json +236 -0
  260. package/lib/lowcode/engine/meta/tabs.props.default.json +17 -9
  261. package/lib/lowcode/engine/meta/{components/tabs.json → tabs.props.json} +140 -139
  262. package/lib/lowcode/engine/meta/text.props.default.json +11 -3
  263. package/{es/lowcode/engine/meta/components/text.json → lib/lowcode/engine/meta/text.props.json} +65 -64
  264. package/lib/lowcode/engine/meta/tree.props.default.json +16 -8
  265. package/lib/lowcode/engine/meta/{components/tree.json → tree.props.json} +156 -155
  266. package/lib/lowcode/engine/provider/ContextProvider.js +46 -41
  267. package/lib/lowcode/engine/provider/EventBusProvider.js +2 -2
  268. package/lib/lowcode/engine/tools/dataProcess.js +86 -8
  269. package/lib/lowcode/engine/tools/helper.js +70 -0
  270. package/lib/lowcode/engine/tools/usePromiseState.js +31 -0
  271. package/lib/lowcode/index.js +5 -1
  272. package/lib/lowcode/painter/Design.js +39 -84
  273. package/lib/lowcode/painter/DesignOperator.js +278 -0
  274. package/lib/lowcode/painter/DesignToolbar.js +99 -0
  275. package/lib/lowcode/painter/I18n.js +203 -2
  276. package/lib/lowcode/painter/Outline.js +62 -53
  277. package/lib/lowcode/painter/Panel.js +238 -1
  278. package/lib/lowcode/painter/Ribbon.js +63 -64
  279. package/lib/lowcode/painter/components/Collapse.js +97 -0
  280. package/lib/lowcode/painter/components/ColorInput.js +132 -0
  281. package/lib/lowcode/painter/components/ListEditor.js +95 -0
  282. package/lib/lowcode/painter/components/NumberInput.js +155 -0
  283. package/lib/lowcode/painter/components/PanelItem.js +84 -11
  284. package/lib/lowcode/painter/components/PopConfirm.js +29 -0
  285. package/lib/lowcode/painter/components/PopForm.js +77 -0
  286. package/lib/lowcode/painter/components/RuleInput.js +9 -7
  287. package/lib/lowcode/painter/components/SortBox.js +99 -0
  288. package/lib/lowcode/painter/components/actions-editor/ActionEditor.js +155 -0
  289. package/lib/lowcode/painter/components/actions-editor/index.js +178 -0
  290. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +103 -0
  291. package/lib/lowcode/painter/components/code-editor/CssEditor.js +48 -0
  292. package/lib/lowcode/painter/components/code-editor/FullScreenEditor.js +94 -0
  293. package/lib/lowcode/painter/components/code-editor/JSEditor.js +117 -0
  294. package/lib/lowcode/painter/components/code-editor/index.js +20 -0
  295. package/lib/lowcode/painter/index.js +35 -3
  296. package/lib/lowcode/painter/panel-section/ButtonType.js +46 -0
  297. package/lib/lowcode/painter/panel-section/DataSetSelector.js +69 -0
  298. package/lib/lowcode/painter/panel-section/Icon.js +54 -0
  299. package/lib/lowcode/painter/panel-section/IconSelector.js +141 -0
  300. package/lib/lowcode/painter/panel-section/LayoutRatio.js +56 -48
  301. package/lib/lowcode/painter/panel-section/StylePanel/BackGround.js +68 -0
  302. package/lib/lowcode/painter/panel-section/StylePanel/Border.js +158 -0
  303. package/lib/lowcode/painter/panel-section/StylePanel/BorderRadius.js +95 -0
  304. package/lib/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +73 -0
  305. package/lib/lowcode/painter/panel-section/StylePanel/BorderSelector.js +73 -0
  306. package/lib/lowcode/painter/panel-section/StylePanel/Display.js +303 -0
  307. package/lib/lowcode/painter/panel-section/StylePanel/DisplaySvg.js +550 -0
  308. package/lib/lowcode/painter/panel-section/StylePanel/Font.js +170 -0
  309. package/lib/lowcode/painter/panel-section/StylePanel/FontEditor.js +392 -0
  310. package/lib/lowcode/painter/panel-section/StylePanel/GapSelector.js +85 -0
  311. package/lib/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +29 -0
  312. package/lib/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +26 -0
  313. package/lib/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +29 -0
  314. package/lib/lowcode/painter/panel-section/StylePanel/MainPanel.js +103 -0
  315. package/lib/lowcode/painter/panel-section/StylePanel/Margin.js +67 -0
  316. package/lib/lowcode/painter/panel-section/StylePanel/Opacity.js +57 -0
  317. package/lib/lowcode/painter/panel-section/StylePanel/Padding.js +68 -0
  318. package/lib/lowcode/painter/panel-section/StylePanel/Pointer.js +48 -0
  319. package/lib/lowcode/painter/panel-section/StylePanel/Shadow.js +224 -0
  320. package/lib/lowcode/painter/panel-section/StylePanel/Size.js +59 -0
  321. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +159 -0
  322. package/lib/lowcode/painter/panel-section/StylePanel/StyleRow.js +22 -0
  323. package/lib/lowcode/painter/panel-section/StylePanel/WidthHeight.js +58 -0
  324. package/lib/lowcode/painter/panel-section/StylePanel/index.js +35 -0
  325. package/lib/lowcode/painter/panel-section/TabItems.js +215 -0
  326. package/lib/lowcode/painter/panel-section/TableActions.js +26 -0
  327. package/lib/lowcode/painter/panel-section/TableZebra.js +21 -0
  328. package/lib/lowcode/painter/panel-section/WidthHeight.js +46 -0
  329. package/lib/lowcode/painter/services/I18n.js +95 -0
  330. package/lib/lowcode/painter/style/actions-editor.less +16 -0
  331. package/lib/lowcode/painter/style/border-editor.less +36 -0
  332. package/lib/lowcode/painter/style/border-radius-selector.less +43 -0
  333. package/lib/lowcode/painter/style/border-selector.less +40 -0
  334. package/lib/lowcode/painter/style/button-type.less +5 -0
  335. package/lib/lowcode/painter/style/collapse.less +22 -0
  336. package/lib/lowcode/painter/style/color-input.less +19 -0
  337. package/lib/lowcode/painter/style/design.less +116 -5
  338. package/lib/lowcode/painter/style/display.less +17 -0
  339. package/lib/lowcode/painter/style/font-editor.less +9 -0
  340. package/lib/lowcode/painter/style/fullscreen-editor.less +17 -0
  341. package/lib/lowcode/painter/style/icon-selector.less +22 -0
  342. package/lib/lowcode/painter/style/icon.less +11 -0
  343. package/lib/lowcode/painter/style/index.less +0 -1
  344. package/lib/lowcode/painter/style/layout-ratio.less +1 -1
  345. package/lib/lowcode/painter/style/list-editor.less +59 -0
  346. package/lib/lowcode/painter/style/number-input.less +17 -0
  347. package/lib/lowcode/painter/style/outline.less +2 -0
  348. package/lib/lowcode/painter/style/panel-item.less +45 -12
  349. package/lib/lowcode/painter/style/panel.less +124 -0
  350. package/lib/lowcode/painter/style/pop-confirm.less +10 -0
  351. package/lib/lowcode/painter/style/pop-form.less +20 -0
  352. package/lib/lowcode/painter/style/ribbon.less +1 -0
  353. package/lib/lowcode/painter/style/style-panel.less +37 -0
  354. package/lib/lowcode/painter/style/tabitems.less +90 -0
  355. package/lib/lowcode/view/Canvas.js +84 -75
  356. package/lib/lowcode/view/Page.js +9 -27
  357. package/lib/lowcode/view/index.js +5 -6
  358. package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +27 -0
  359. package/lib/lowcode/view/lc-components/Box/FunctionLive.js +16 -0
  360. package/lib/lowcode/view/lc-components/Box/index.js +23 -6
  361. package/lib/lowcode/view/lc-components/Box/index.less +15 -0
  362. package/lib/lowcode/view/lc-components/Box/meta.json +42 -0
  363. package/lib/lowcode/view/lc-components/Button/FunctionDesign.js +28 -0
  364. package/lib/lowcode/view/lc-components/Button/FunctionLive.js +16 -0
  365. package/lib/lowcode/view/lc-components/Button/index.js +76 -8
  366. package/lib/lowcode/view/lc-components/Button/meta.json +127 -0
  367. package/lib/lowcode/view/lc-components/Button/style.less +3 -0
  368. package/lib/lowcode/view/lc-components/CardList/FunctionDesign.js +16 -0
  369. package/lib/lowcode/view/lc-components/CardList/FunctionLive.js +16 -0
  370. package/{es/lowcode/engine/meta/components/table.json → lib/lowcode/view/lc-components/CardList/meta.json} +11 -28
  371. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +62 -0
  372. package/lib/lowcode/view/lc-components/Dialog/FunctionLive.js +16 -0
  373. package/lib/lowcode/view/lc-components/Dialog/index.js +20 -11
  374. package/lib/lowcode/view/lc-components/Dialog/index.less +1 -1
  375. package/lib/lowcode/view/lc-components/Dialog/meta.json +121 -0
  376. package/lib/lowcode/view/lc-components/Drawer/FunctionDesign.js +27 -0
  377. package/lib/lowcode/view/lc-components/Drawer/FunctionLive.js +16 -0
  378. package/lib/lowcode/view/lc-components/Drawer/index.js +22 -9
  379. package/lib/lowcode/view/lc-components/Drawer/index.less +7 -0
  380. package/lib/lowcode/view/lc-components/Drawer/meta.json +144 -0
  381. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +16 -0
  382. package/lib/lowcode/view/lc-components/Form/FunctionLive.js +16 -0
  383. package/lib/lowcode/view/lc-components/Form/meta.json +117 -0
  384. package/lib/lowcode/view/lc-components/Iframe/FunctionDesign.js +16 -0
  385. package/lib/lowcode/view/lc-components/Iframe/FunctionLive.js +16 -0
  386. package/lib/lowcode/view/lc-components/Iframe/meta.json +32 -0
  387. package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +16 -0
  388. package/lib/lowcode/view/lc-components/ImEx/FunctionLive.js +16 -0
  389. package/lib/lowcode/view/lc-components/ImEx/meta.json +82 -0
  390. package/lib/lowcode/view/lc-components/Image/FunctionDesign.js +16 -0
  391. package/lib/lowcode/view/lc-components/Image/FunctionLive.js +16 -0
  392. package/lib/lowcode/view/lc-components/Image/meta.json +114 -0
  393. package/lib/lowcode/view/lc-components/JSX/FunctionDesign.js +16 -0
  394. package/lib/lowcode/view/lc-components/JSX/FunctionLive.js +16 -0
  395. package/lib/lowcode/view/lc-components/JSX/meta.json +25 -0
  396. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +82 -0
  397. package/lib/lowcode/view/lc-components/Layout/FunctionLive.js +22 -0
  398. package/lib/lowcode/view/lc-components/Layout/index.js +41 -8
  399. package/lib/lowcode/view/lc-components/Layout/index.less +5 -0
  400. package/lib/lowcode/view/lc-components/Layout/meta.json +108 -0
  401. package/lib/lowcode/view/lc-components/Link/FunctionDesign.js +16 -0
  402. package/lib/lowcode/view/lc-components/Link/FunctionLive.js +16 -0
  403. package/lib/lowcode/view/lc-components/Link/meta.json +112 -0
  404. package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +16 -0
  405. package/lib/lowcode/view/lc-components/Section/FunctionLive.js +16 -0
  406. package/lib/lowcode/view/lc-components/Section/meta.json +108 -0
  407. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +16 -0
  408. package/lib/lowcode/view/lc-components/Split/FunctionLive.js +16 -0
  409. package/lib/lowcode/view/lc-components/Split/meta.json +72 -0
  410. package/lib/lowcode/view/lc-components/Table/FunctionDesign.js +25 -0
  411. package/lib/lowcode/view/lc-components/Table/FunctionLive.js +16 -0
  412. package/lib/lowcode/view/lc-components/Table/index.js +228 -8
  413. package/lib/lowcode/view/lc-components/Table/meta.json +225 -0
  414. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +16 -0
  415. package/lib/lowcode/view/lc-components/Tabs/FunctionLive.js +16 -0
  416. package/lib/lowcode/view/lc-components/Tabs/meta.json +141 -0
  417. package/lib/lowcode/view/lc-components/Text/FunctionDesign.js +16 -0
  418. package/lib/lowcode/view/lc-components/Text/FunctionLive.js +16 -0
  419. package/lib/lowcode/view/lc-components/Text/meta.json +66 -0
  420. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +16 -0
  421. package/lib/lowcode/view/lc-components/Tree/FunctionLive.js +16 -0
  422. package/lib/lowcode/view/lc-components/Tree/meta.json +157 -0
  423. package/lib/lowcode/view/lc-components/Wrapper.js +30 -21
  424. package/lib/lowcode/view/style/page.less +0 -1
  425. package/lib/upload/Form/gridForm.js +1 -1
  426. package/lib/utils/grid.js +6 -5
  427. package/package.json +15 -6
  428. package/es/lowcode/engine/meta/modal.props.default.json +0 -11
  429. package/es/lowcode/engine/tools/lcid.js +0 -16
  430. package/es/lowcode/painter/panel-section/Radio.js +0 -58
  431. package/lib/lowcode/engine/meta/modal.props.default.json +0 -11
  432. package/lib/lowcode/engine/tools/lcid.js +0 -22
  433. package/lib/lowcode/painter/panel-section/Radio.js +0 -65
@@ -0,0 +1,91 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import React, { useEffect, useState } from 'react';
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";
8
+ import styles from "./style/design.less";
9
+ var DesignToolbar = function DesignToolbar(_ref) {
10
+ var locale = _ref.locale,
11
+ onLangChange = _ref.onLangChange;
12
+ var context = useLDContext();
13
+ var _useState = useState(null),
14
+ _useState2 = _slicedToArray(_useState, 2),
15
+ langList = _useState2[0],
16
+ setLangList = _useState2[1];
17
+ var _useState3 = useState('pc'),
18
+ _useState4 = _slicedToArray(_useState3, 2),
19
+ activedTarget = _useState4[0],
20
+ setActivedTarget = _useState4[1];
21
+ useEffect(function () {
22
+ var topicId = context.$subscriber(context.topics.LANG_SETTING_SELECT).on(function (_ref2) {
23
+ var _langList = _ref2.langList;
24
+ return setLangList(_langList);
25
+ }).watch();
26
+ return function () {
27
+ return context.$unsubscriber(context.topics.LANG_SETTING_SELECT, topicId);
28
+ };
29
+ }, []);
30
+ return /*#__PURE__*/React.createElement("div", {
31
+ className: styles['lc-painter-design-toolbar']
32
+ }, /*#__PURE__*/React.createElement(Select, {
33
+ size: "small",
34
+ value: langList ? locale : undefined,
35
+ className: styles['i18n-selecter'],
36
+ style: {
37
+ fontSize: 12
38
+ },
39
+ onSelect: onLangChange
40
+ }, langList === null || langList === void 0 ? void 0 : langList.map(function (item) {
41
+ return /*#__PURE__*/React.createElement(Select.Option, {
42
+ key: item.field,
43
+ value: item.field
44
+ }, item.title);
45
+ })), /*#__PURE__*/React.createElement("span", {
46
+ className: classNames(styles['toolbar-item'], _defineProperty({}, styles.actived, activedTarget === 'pc')),
47
+ onClick: function onClick() {
48
+ return setActivedTarget('pc');
49
+ }
50
+ }, /*#__PURE__*/React.createElement(Icon, {
51
+ type: "laptop"
52
+ })), /*#__PURE__*/React.createElement("span", {
53
+ className: classNames(styles['toolbar-item'], _defineProperty({}, styles.actived, activedTarget === 'mobile')),
54
+ onClick: function onClick() {
55
+ return setActivedTarget('mobile');
56
+ }
57
+ }, /*#__PURE__*/React.createElement(Icon, {
58
+ type: "mobile"
59
+ })), /*#__PURE__*/React.createElement(Divider, {
60
+ type: "vertical"
61
+ }), /*#__PURE__*/React.createElement("span", {
62
+ style: {
63
+ width: 'auto',
64
+ fontSize: 12
65
+ },
66
+ className: styles['toolbar-item'],
67
+ onClick: function onClick() {
68
+ context.$publisher(context.topics.COMPONENT_ACTIVE, {
69
+ id: CELL_KEY.PAGE_ROOT
70
+ });
71
+ }
72
+ }, "\u9875\u9762\u5C5E\u6027"), /*#__PURE__*/React.createElement(Divider, {
73
+ type: "vertical"
74
+ }), /*#__PURE__*/React.createElement(Button, {
75
+ size: "small",
76
+ style: {
77
+ fontSize: 12,
78
+ margin: '0 2px'
79
+ }
80
+ }, "\u9884\u89C8"), /*#__PURE__*/React.createElement(Divider, {
81
+ type: "vertical"
82
+ }), /*#__PURE__*/React.createElement(Button, {
83
+ size: "small",
84
+ type: "primary",
85
+ style: {
86
+ fontSize: 12,
87
+ margin: '0 0 0 2px'
88
+ }
89
+ }, "\u4FDD\u5B58"));
90
+ };
91
+ export default DesignToolbar;
@@ -1,5 +1,205 @@
1
- import React from 'react';
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
+ var _getDvaApp;
7
+ import React, { useState } from 'react';
8
+ import { getDvaApp } from 'umi';
9
+ import { useAsyncEffect, useCreation, useMemoizedFn } from 'ahooks';
10
+ import { GridTable } from 'luck-design';
11
+ import { reduce, remove, cloneDeep, debounce } from 'lodash';
12
+ import { Input, Button, Icon } from 'luck-design/antd';
13
+ import { formatMessage, suid } from '@luck-design-biz/base/utils';
14
+ import { useLDContext } from "../engine/provider/ContextProvider";
15
+ import { readAllLang, doAddLang, doUpdateLang, doDeleteLang } from "./services/I18n";
16
+ var Search = Input.Search;
17
+ var _getDvaApp$_store = (_getDvaApp = getDvaApp()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp._store,
18
+ dispatch = _getDvaApp$_store.dispatch;
19
+ var getLangKey = function getLangKey() {
20
+ return "app.lowcode.".concat(suid());
21
+ };
22
+ var formatDataFunc = function formatDataFunc(data) {
23
+ return _objectSpread(_objectSpread({}, data), reduce(data.languages, function (ret, value, key) {
24
+ ret[key] = value;
25
+ return ret;
26
+ }, {}));
27
+ };
2
28
  var I18n = function I18n() {
3
- return /*#__PURE__*/React.createElement("div", null, "i18n");
29
+ var context = useLDContext();
30
+ var _useState = useState([]),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ langList = _useState2[0],
33
+ setLangList = _useState2[1];
34
+ var _useState3 = useState([]),
35
+ _useState4 = _slicedToArray(_useState3, 2),
36
+ dataSource = _useState4[0],
37
+ setDataSource = _useState4[1];
38
+ useAsyncEffect( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
39
+ var _langList;
40
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
41
+ while (1) switch (_context.prev = _context.next) {
42
+ case 0:
43
+ _context.next = 2;
44
+ return dispatch({
45
+ type: 'global/getDatadic',
46
+ payload: {
47
+ snamealias: 'base_lang'
48
+ },
49
+ format: function format(list, detail) {
50
+ return list.map(function (id) {
51
+ return {
52
+ title: detail[id].sname,
53
+ field: detail[id].sfactvalue,
54
+ editable: true,
55
+ filter: false
56
+ };
57
+ });
58
+ }
59
+ });
60
+ case 2:
61
+ _langList = _context.sent;
62
+ setLangList(_langList);
63
+ context.$publisher(context.topics.LANG_SETTING_SELECT, {
64
+ langList: _langList
65
+ });
66
+ doQuery();
67
+ case 6:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }, _callee);
72
+ })), []);
73
+ var doQuery = useMemoizedFn(function () {
74
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
75
+ readAllLang(_objectSpread(_objectSpread({}, value), {}, {
76
+ classifyKey: '__LOWCODE__'
77
+ })).then(function (res) {
78
+ var code = res.code,
79
+ list = res.list,
80
+ detail = res.detail;
81
+ if (code === 1) setDataSource(list.map(function (id) {
82
+ return formatDataFunc(detail[id]);
83
+ }));
84
+ });
85
+ });
86
+ var actionsColumn = useCreation(function () {
87
+ return {
88
+ width: 60,
89
+ getActions: function getActions() {
90
+ return [{
91
+ wanted: 'update',
92
+ title: /*#__PURE__*/React.createElement(Icon, {
93
+ type: "copy"
94
+ }),
95
+ action: function action(_data) {
96
+ var data = {
97
+ languages: reduce(langList, function (result, value) {
98
+ result[value.field] = _data[value.field];
99
+ return result;
100
+ }, {})
101
+ };
102
+ handleAdd(data);
103
+ }
104
+ }, {
105
+ wanted: 'delete',
106
+ title: /*#__PURE__*/React.createElement(Icon, {
107
+ type: "delete"
108
+ }),
109
+ confirm: {
110
+ title: formatMessage({
111
+ id: 'app.base.confirm.delete'
112
+ })
113
+ },
114
+ action: handleDelete
115
+ }];
116
+ }
117
+ };
118
+ }, [langList]);
119
+ var handleAdd = useMemoizedFn(function () {
120
+ var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
121
+ var addItems = _objectSpread(_objectSpread({}, data), {}, {
122
+ langKey: getLangKey(),
123
+ classifyKey: '__LOWCODE__'
124
+ });
125
+ doAddLang({}, addItems).then(function (res) {
126
+ var code = res.code,
127
+ list = res.list,
128
+ detail = res.detail;
129
+ if (code === 1) setDataSource([formatDataFunc(detail[list[0]])].concat(dataSource));
130
+ });
131
+ });
132
+ var handleValueChange = useMemoizedFn(function (field, newValue, oldValue, record) {
133
+ doUpdateLang({}, {
134
+ classifyKey: '__LOWCODE__',
135
+ langKey: record.langKey,
136
+ indocno: record.indocno,
137
+ languages: _objectSpread(_objectSpread({}, reduce(langList, function (result, value) {
138
+ result[value.field] = record[value.field];
139
+ return result;
140
+ }, {})), {}, _defineProperty({}, field, newValue))
141
+ });
142
+ });
143
+ var handleDelete = useMemoizedFn(function (data) {
144
+ doDeleteLang({}, {
145
+ delList: [{
146
+ indocno: data.indocno
147
+ }]
148
+ }).then(function (_ref2) {
149
+ var code = _ref2.code;
150
+ if (code === 1) {
151
+ var _data = cloneDeep(dataSource);
152
+ remove(_data, function (n) {
153
+ return n.indocno === data.indocno;
154
+ });
155
+ setDataSource(_data);
156
+ }
157
+ ;
158
+ });
159
+ });
160
+ var handleSearch = debounce(doQuery, 300);
161
+ return /*#__PURE__*/React.createElement("div", {
162
+ style: {
163
+ height: '100%',
164
+ padding: '16px 24px'
165
+ }
166
+ }, /*#__PURE__*/React.createElement(Search, {
167
+ placeholder: formatMessage({
168
+ id: 'luckda.lowcode.painter.I18n.search',
169
+ label: '搜索文案'
170
+ }),
171
+ onChange: function onChange(e) {
172
+ return handleSearch({
173
+ value: e.target.value
174
+ });
175
+ },
176
+ style: {
177
+ width: '100%'
178
+ },
179
+ allowClear: true
180
+ }), /*#__PURE__*/React.createElement(Button, {
181
+ type: "primary",
182
+ ghost: true,
183
+ size: "small",
184
+ style: {
185
+ margin: '16px 0'
186
+ },
187
+ onClick: function onClick() {
188
+ return handleAdd();
189
+ }
190
+ }, formatMessage({
191
+ id: 'luckda.lowcode.painter.I18n.add',
192
+ label: '新增文案'
193
+ })), /*#__PURE__*/React.createElement(GridTable, {
194
+ height: 480,
195
+ columns: langList,
196
+ dataSource: dataSource,
197
+ renderIndex: false,
198
+ showStatusBar: false,
199
+ actionsColumn: actionsColumn,
200
+ onValueChange: handleValueChange,
201
+ operates: ['add', 'update', 'delete'],
202
+ bordered: false
203
+ }));
4
204
  };
5
205
  export default I18n;
@@ -4,7 +4,7 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
5
  var _excluded = ["props", "children"];
6
6
  import React, { useRef, useState, useEffect } from 'react';
7
- import { useMemoizedFn, useDeepCompareLayoutEffect } from 'ahooks';
7
+ import { useMemoizedFn, useDeepCompareLayoutEffect, useLatest } from 'ahooks';
8
8
  import { uniq, split, reduce } from 'lodash';
9
9
  import classNames from 'classnames';
10
10
  import { Card, Tree, Icon } from 'luck-design/antd';
@@ -15,10 +15,8 @@ import { getPathById } from "../engine/tools/dataProcess";
15
15
  import styles from "./style/outline.less";
16
16
  var TreeNode = Tree.TreeNode;
17
17
  var PAGE_CELL = [CELL_KEY.PAGE_HEADER, CELL_KEY.PAGE_CONTENT, CELL_KEY.PAGE_FOOTER];
18
- var Outline = function Outline() {
19
- var modalTreeRef = useRef();
20
- var pageTreeRef = useRef();
21
- var openModal = useRef(void 0);
18
+ var Outline = function Outline(_ref) {
19
+ var open = _ref.open;
22
20
  var clickBySelf = useRef(false);
23
21
  var context = useLDContext();
24
22
  var _useState = useState(null),
@@ -37,6 +35,8 @@ var Outline = function Outline() {
37
35
  _useState8 = _slicedToArray(_useState7, 2),
38
36
  pageExpandedKeys = _useState8[0],
39
37
  setPageExpandedKeys = _useState8[1];
38
+ var latestModalExpandedKeysRef = useLatest(modalExpandedKeys);
39
+ var lastPageExpandedKeysRef = useLatest(pageExpandedKeys);
40
40
  useEffect(function () {
41
41
  var _id = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
42
42
  setSelectedKey(payload.id);
@@ -44,36 +44,35 @@ var Outline = function Outline() {
44
44
  clickBySelf.current = false;
45
45
  return;
46
46
  }
47
- setModalExpandedKeys(uniq([].concat(_toConsumableArray((openModal.current ? modalTreeRef : pageTreeRef).current.props.expandedKeys), _toConsumableArray(split(getPathById(context.pageData, payload.id), '/')))));
47
+ var _split = split(getPathById(context.pageData, payload.id), '/'),
48
+ _split2 = _slicedToArray(_split, 1),
49
+ _root = _split2[0];
50
+ if (!PAGE_CELL.includes(_root)) {
51
+ setModalExpandedKeys(uniq([].concat(_toConsumableArray(latestModalExpandedKeysRef.current), _toConsumableArray(split(getPathById(context.pageData, payload.id), '/')))));
52
+ } else {
53
+ setPageExpandedKeys(uniq([].concat(_toConsumableArray(lastPageExpandedKeysRef.current), _toConsumableArray(split(getPathById(context.pageData, payload.id), '/')))));
54
+ }
48
55
  }).watch();
49
56
  return function () {
50
57
  context.$unsubscriber(context.topics.COMPONENT_ACTIVE, _id);
51
58
  };
52
- }, []);
53
- var handleSelect = function handleSelect(_key) {
59
+ }, [context.pageData]);
60
+ var handleSelect = useMemoizedFn(function (_key) {
54
61
  clickBySelf.current = true;
55
62
  context.$publisher(context.topics.COMPONENT_ACTIVE, _key ? {
56
- id: _key,
57
- cellNode: context.componentMap.get(_key).dom
63
+ id: _key
58
64
  } : null);
59
- };
60
- var handleOpenModal = useMemoizedFn(function (_key) {
61
- var _comp = context.componentMap.get(_key);
62
- var _prevComp = openModal.current ? context.componentMap.get(openModal.current) : null;
63
- _prevComp === null || _prevComp === void 0 || _prevComp.api.doClose();
64
- _comp.api.doOpen();
65
- openModal.current = _key;
66
65
  });
67
- var render = useMemoizedFn(function (_ref) {
68
- var props = _ref.props,
69
- children = _ref.children,
70
- childrenMap = _objectWithoutProperties(_ref, _excluded);
66
+ var render = useMemoizedFn(function (_ref2) {
67
+ var props = _ref2.props,
68
+ children = _ref2.children,
69
+ childrenMap = _objectWithoutProperties(_ref2, _excluded);
71
70
  if (props) {
72
71
  return /*#__PURE__*/React.createElement(TreeNode, {
73
72
  icon: /*#__PURE__*/React.createElement(Icon, {
74
73
  type: "layout"
75
74
  }),
76
- title: props.label,
75
+ title: props.name,
77
76
  key: props.id
78
77
  }, (children === null || children === void 0 ? void 0 : children.length) && children.map(function (_id) {
79
78
  return render(childrenMap[_id]);
@@ -84,6 +83,9 @@ var Outline = function Outline() {
84
83
  });
85
84
  });
86
85
  useDeepCompareLayoutEffect(function () {
86
+ if (!context.pageData) {
87
+ return;
88
+ }
87
89
  var _reduce = reduce(context.pageData.children, function (result, _id) {
88
90
  var resultKey = PAGE_CELL.includes(_id) ? 'page' : 'modal';
89
91
  result[resultKey][_id] = context.pageData[_id];
@@ -124,7 +126,7 @@ var Outline = function Outline() {
124
126
  type: "inner",
125
127
  hoverable: true,
126
128
  title: formatMessage({
127
- id: 'luckda.lowcode.model',
129
+ id: 'luckda.lowcode.modal',
128
130
  label: '模态视图层'
129
131
  }),
130
132
  style: {
@@ -134,7 +136,6 @@ var Outline = function Outline() {
134
136
  padding: 0
135
137
  }
136
138
  }, /*#__PURE__*/React.createElement(Tree, {
137
- ref: modalTreeRef,
138
139
  showLine: true,
139
140
  showIcon: true,
140
141
  blockNode: true,
@@ -142,41 +143,51 @@ var Outline = function Outline() {
142
143
  type: "down"
143
144
  }),
144
145
  selectedKeys: [selectedKey],
145
- onSelect: function onSelect(_ref2, _ref3) {
146
- var _ref4 = _slicedToArray(_ref2, 1),
147
- _key = _ref4[0];
148
- var selected = _ref3.selected,
149
- node = _ref3.node;
146
+ onSelect: function onSelect(_ref3, _ref4) {
147
+ var _ref5 = _slicedToArray(_ref3, 1),
148
+ _key = _ref5[0];
149
+ var selected = _ref4.selected,
150
+ node = _ref4.node;
150
151
  if (selected && node.props.pos.split('-').length === 2) {
151
- handleOpenModal(_key);
152
+ // 选中节点是模态视图,则打开模态视图组件
153
+ context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
154
+ toggle: true,
155
+ id: _key
156
+ });
152
157
  handleSelect(_key);
153
158
  } else if (!selected && node.props.pos.split('-').length === 2) {
154
- var _comp = context.componentMap.get(openModal.current);
155
- _comp.api.doClose();
156
- openModal.current = void 0;
159
+ // 取消选中节点是模态视图,则关闭模态视图
160
+ context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
161
+ toggle: false,
162
+ id: _key
163
+ });
157
164
  handleSelect(null);
158
165
  } else {
166
+ // 选中节点是模态视图下的子组件,则打开该组件的模态视图组件
159
167
  handleSelect(node.props.eventKey);
160
- var _split = split(getPathById(context.pageData, node.props.eventKey), '/'),
161
- _split2 = _slicedToArray(_split, 1),
162
- parentModal = _split2[0];
163
- if (!openModal.current || openModal.current !== parentModal) {
164
- handleOpenModal(parentModal);
165
- }
168
+ var _split3 = split(getPathById(context.pageData, node.props.eventKey), '/'),
169
+ _split4 = _slicedToArray(_split3, 1),
170
+ parentModal = _split4[0];
171
+ context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
172
+ toggle: true,
173
+ id: parentModal
174
+ });
166
175
  }
167
176
  },
168
177
  expandedKeys: modalExpandedKeys,
169
- onExpand: function onExpand(_keys, _ref5) {
170
- var expanded = _ref5.expanded,
171
- node = _ref5.node;
178
+ onExpand: function onExpand(_keys, _ref6) {
179
+ var expanded = _ref6.expanded,
180
+ node = _ref6.node;
172
181
  if (expanded && node.props.pos.split('-').length === 2) {
173
182
  handleSelect(null);
174
- handleOpenModal(node.props.eventKey);
183
+ context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
184
+ toggle: true,
185
+ id: node.props.eventKey
186
+ });
175
187
  }
176
188
  setModalExpandedKeys(_keys);
177
189
  }
178
- }, pageAndModal === null || pageAndModal === void 0 ? void 0 : pageAndModal.modal)), /*#__PURE__*/React.createElement(Tree, {
179
- ref: pageTreeRef,
190
+ }, pageAndModal === null || pageAndModal === void 0 ? void 0 : pageAndModal.modal)), open && /*#__PURE__*/React.createElement(Tree, {
180
191
  showLine: true,
181
192
  showIcon: true,
182
193
  blockNode: true,
@@ -184,15 +195,13 @@ var Outline = function Outline() {
184
195
  type: "down"
185
196
  }),
186
197
  selectedKeys: [selectedKey],
187
- onSelect: function onSelect(_ref6, _ref7) {
188
- var _ref8 = _slicedToArray(_ref6, 1),
189
- _key = _ref8[0];
190
- var node = _ref7.node;
191
- if (openModal.current) {
192
- var _prevComp = context.componentMap.get(openModal.current);
193
- _prevComp.api.doClose();
194
- openModal.current = void 0;
195
- }
198
+ onSelect: function onSelect(_ref7, _ref8) {
199
+ var _ref9 = _slicedToArray(_ref7, 1),
200
+ _key = _ref9[0];
201
+ var node = _ref8.node;
202
+ context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
203
+ toggle: false
204
+ });
196
205
  handleSelect(node.props.eventKey);
197
206
  },
198
207
  expandedKeys: pageExpandedKeys,