ele-admin-plus 1.3.0-beta.2 → 1.3.0-beta.3

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 (379) hide show
  1. package/es/core-components.d.ts +9 -0
  2. package/es/core-components.js +122 -104
  3. package/es/ele-autocomplete/index.d.ts +81 -0
  4. package/es/ele-autocomplete/index.js +73 -0
  5. package/es/ele-autocomplete/props.d.ts +27 -0
  6. package/es/ele-autocomplete/props.js +11 -0
  7. package/es/ele-autocomplete/style/index.d.ts +1 -0
  8. package/es/ele-autocomplete/style/index.js +1 -0
  9. package/es/ele-autocomplete/types.d.ts +18 -0
  10. package/es/ele-cascader/index.d.ts +15 -4
  11. package/es/ele-cascader/index.js +7 -3
  12. package/es/ele-cascader/props.d.ts +4 -2
  13. package/es/ele-cascader/props.js +2 -0
  14. package/es/ele-cascader/types.d.ts +9 -0
  15. package/es/ele-check-card/index.d.ts +4 -2
  16. package/es/ele-check-card/index.js +13 -3
  17. package/es/ele-check-card/props.d.ts +2 -2
  18. package/es/ele-check-card/props.js +1 -1
  19. package/es/ele-check-card/types.d.ts +5 -0
  20. package/es/ele-checkbox-group/index.d.ts +60 -0
  21. package/es/ele-checkbox-group/index.js +74 -0
  22. package/es/ele-checkbox-group/props.d.ts +29 -0
  23. package/es/ele-checkbox-group/props.js +13 -0
  24. package/es/ele-checkbox-group/style/index.d.ts +1 -0
  25. package/es/ele-checkbox-group/style/index.js +3 -0
  26. package/es/ele-checkbox-group/types.d.ts +25 -0
  27. package/es/ele-dropdown/components/pro-dropdown.d.ts +2 -2
  28. package/es/ele-ellipsis/index.d.ts +1 -1
  29. package/es/ele-icon/index.d.ts +26 -0
  30. package/es/ele-icon/index.js +7 -15
  31. package/es/ele-icon/props.d.ts +15 -0
  32. package/es/ele-icon/props.js +5 -1
  33. package/es/ele-icon/types.d.ts +4 -0
  34. package/es/ele-mention/index.d.ts +244 -0
  35. package/es/ele-mention/index.js +52 -0
  36. package/es/ele-mention/props.d.ts +105 -0
  37. package/es/ele-mention/props.js +11 -0
  38. package/es/ele-mention/style/index.d.ts +1 -0
  39. package/es/ele-mention/style/index.js +1 -0
  40. package/es/ele-mention/types.d.ts +16 -0
  41. package/es/ele-popover/index.d.ts +3 -3
  42. package/es/ele-pro-form/components/builder-wrapper.js +3 -3
  43. package/es/ele-pro-form/components/item-type-data.js +46 -95
  44. package/es/ele-pro-form/components/render-util.d.ts +58 -6
  45. package/es/ele-pro-form/components/render-util.js +207 -65
  46. package/es/ele-pro-form/index.d.ts +9 -3
  47. package/es/ele-pro-form/index.js +37 -8
  48. package/es/ele-pro-form/props.d.ts +17 -9
  49. package/es/ele-pro-form/props.js +18 -3
  50. package/es/ele-pro-form/style/index.js +16 -19
  51. package/es/ele-pro-form/style/index.scss +102 -0
  52. package/es/ele-pro-form/types.d.ts +3 -23
  53. package/es/ele-pro-form/util.d.ts +16 -1
  54. package/es/ele-pro-form/util.js +52 -4
  55. package/es/ele-pro-form-builder/components/body-form.d.ts +5 -1
  56. package/es/ele-pro-form-builder/components/body-form.js +9 -6
  57. package/es/ele-pro-form-builder/components/body-header.d.ts +16 -2
  58. package/es/ele-pro-form-builder/components/body-header.js +92 -30
  59. package/es/ele-pro-form-builder/components/build-core.d.ts +58 -0
  60. package/es/ele-pro-form-builder/components/build-core.js +195 -0
  61. package/es/ele-pro-form-builder/components/build-util.d.ts +3 -2
  62. package/es/ele-pro-form-builder/components/build-util.js +14 -6
  63. package/es/ele-pro-form-builder/components/children-edit.d.ts +2 -2
  64. package/es/ele-pro-form-builder/components/children-edit.js +55 -49
  65. package/es/ele-pro-form-builder/components/code-editer.d.ts +21 -0
  66. package/es/ele-pro-form-builder/components/code-editer.js +27 -0
  67. package/es/ele-pro-form-builder/components/code-generator.d.ts +110 -0
  68. package/es/ele-pro-form-builder/components/code-generator.js +476 -0
  69. package/es/ele-pro-form-builder/components/code-js-var.d.ts +2 -17
  70. package/es/ele-pro-form-builder/components/code-js-var.js +15 -84
  71. package/es/ele-pro-form-builder/components/code-template.d.ts +4 -118
  72. package/es/ele-pro-form-builder/components/code-template.js +34 -486
  73. package/es/ele-pro-form-builder/components/code-util.d.ts +13 -13
  74. package/es/ele-pro-form-builder/components/code-util.js +9 -9
  75. package/es/ele-pro-form-builder/components/component-data.d.ts +2 -0
  76. package/es/ele-pro-form-builder/components/component-data.js +4089 -1154
  77. package/es/ele-pro-form-builder/components/component-list.d.ts +5 -1
  78. package/es/ele-pro-form-builder/components/component-list.js +7 -4
  79. package/es/ele-pro-form-builder/components/component-name.js +1 -1
  80. package/es/ele-pro-form-builder/components/component-picker.d.ts +42 -0
  81. package/es/ele-pro-form-builder/components/component-picker.js +56 -0
  82. package/es/ele-pro-form-builder/components/config-form.d.ts +8 -0
  83. package/es/ele-pro-form-builder/components/config-form.js +38 -14
  84. package/es/ele-pro-form-builder/components/event-edit.d.ts +39 -0
  85. package/es/ele-pro-form-builder/components/event-edit.js +121 -0
  86. package/es/ele-pro-form-builder/components/html-edit.d.ts +31 -0
  87. package/es/ele-pro-form-builder/components/html-edit.js +97 -0
  88. package/es/ele-pro-form-builder/components/if-edit.d.ts +35 -0
  89. package/es/ele-pro-form-builder/components/if-edit.js +106 -0
  90. package/es/ele-pro-form-builder/components/import-modal.d.ts +38 -0
  91. package/es/ele-pro-form-builder/components/import-modal.js +125 -0
  92. package/es/ele-pro-form-builder/components/json-input.d.ts +4 -0
  93. package/es/ele-pro-form-builder/components/json-input.js +4 -3
  94. package/es/ele-pro-form-builder/components/options-code.d.ts +33 -0
  95. package/es/ele-pro-form-builder/components/options-code.js +56 -0
  96. package/es/ele-pro-form-builder/components/options-edit.d.ts +25 -30
  97. package/es/ele-pro-form-builder/components/options-edit.js +64 -428
  98. package/es/ele-pro-form-builder/components/options-table.d.ts +33 -0
  99. package/es/ele-pro-form-builder/components/options-table.js +381 -0
  100. package/es/ele-pro-form-builder/components/outline-list.js +8 -17
  101. package/es/ele-pro-form-builder/components/outline-tree.d.ts +8 -2
  102. package/es/ele-pro-form-builder/components/outline-tree.js +37 -64
  103. package/es/ele-pro-form-builder/components/preview-modal.d.ts +4 -0
  104. package/es/ele-pro-form-builder/components/preview-modal.js +14 -14
  105. package/es/ele-pro-form-builder/components/props-form.d.ts +19 -1
  106. package/es/ele-pro-form-builder/components/props-form.js +130 -55
  107. package/es/ele-pro-form-builder/components/source-edit.d.ts +31 -0
  108. package/es/ele-pro-form-builder/components/source-edit.js +111 -0
  109. package/es/ele-pro-form-builder/components/table-tool-menu.d.ts +6 -1
  110. package/es/ele-pro-form-builder/components/table-tool-menu.js +23 -7
  111. package/es/ele-pro-form-builder/components/table-util.d.ts +17 -9
  112. package/es/ele-pro-form-builder/components/table-util.js +52 -29
  113. package/es/ele-pro-form-builder/components/template-list.js +2 -5
  114. package/es/ele-pro-form-builder/index.d.ts +24 -4
  115. package/es/ele-pro-form-builder/index.js +175 -130
  116. package/es/ele-pro-form-builder/props.d.ts +17 -2
  117. package/es/ele-pro-form-builder/props.js +16 -1
  118. package/es/ele-pro-form-builder/style/index.js +10 -0
  119. package/es/ele-pro-form-builder/style/index.scss +96 -261
  120. package/es/ele-pro-form-builder/types.d.ts +68 -76
  121. package/es/ele-pro-form-builder/util.d.ts +10 -76
  122. package/es/ele-pro-form-builder/util.js +104 -200
  123. package/es/ele-pro-layout/index.d.ts +1 -1
  124. package/es/ele-pro-table/props.d.ts +3 -3
  125. package/es/ele-radio-group/index.d.ts +61 -0
  126. package/es/ele-radio-group/index.js +74 -0
  127. package/es/ele-radio-group/props.d.ts +28 -0
  128. package/es/ele-radio-group/props.js +13 -0
  129. package/es/ele-radio-group/style/index.d.ts +1 -0
  130. package/es/ele-radio-group/style/index.js +3 -0
  131. package/es/ele-radio-group/types.d.ts +25 -0
  132. package/es/ele-select/index.d.ts +14 -3
  133. package/es/ele-select/index.js +12 -6
  134. package/es/ele-select/props.d.ts +2 -2
  135. package/es/ele-select/props.js +1 -1
  136. package/es/ele-select/types.d.ts +6 -1
  137. package/es/ele-select-tree/index.d.ts +21 -0
  138. package/es/ele-select-tree/index.js +57 -0
  139. package/es/ele-select-tree/style/index.d.ts +1 -0
  140. package/es/ele-select-tree/style/index.js +1 -0
  141. package/es/ele-select-tree/types.d.ts +14 -0
  142. package/es/ele-steps/index.d.ts +8 -19
  143. package/es/ele-steps/index.js +13 -7
  144. package/es/ele-steps/props.d.ts +2 -5
  145. package/es/ele-steps/props.js +1 -4
  146. package/es/ele-steps/types.d.ts +5 -0
  147. package/es/ele-tab-bar/index.d.ts +20 -0
  148. package/es/ele-tab-bar/index.js +43 -0
  149. package/es/ele-tab-bar/props.d.ts +25 -0
  150. package/es/ele-tab-bar/props.js +18 -0
  151. package/es/ele-tab-bar/style/css-var.scss +8 -0
  152. package/es/ele-tab-bar/style/index.d.ts +1 -0
  153. package/es/ele-tab-bar/style/index.js +1 -0
  154. package/es/ele-tab-bar/style/index.scss +87 -0
  155. package/es/ele-tab-bar/types.d.ts +14 -0
  156. package/es/ele-timeline/style/css-var.scss +1 -1
  157. package/es/ele-timeline/style/index.scss +2 -2
  158. package/es/ele-transfer/index.d.ts +94 -0
  159. package/es/ele-transfer/index.js +54 -0
  160. package/es/ele-transfer/props.d.ts +39 -0
  161. package/es/ele-transfer/props.js +11 -0
  162. package/es/ele-transfer/style/index.d.ts +1 -0
  163. package/es/ele-transfer/style/index.js +1 -0
  164. package/es/ele-transfer/types.d.ts +16 -0
  165. package/es/ele-tree-select/index.d.ts +8 -4
  166. package/es/ele-tree-select/index.js +18 -12
  167. package/es/ele-tree-select/props.d.ts +4 -4
  168. package/es/ele-tree-select/types.d.ts +13 -0
  169. package/es/ele-tree-table/components/table-body.d.ts +57 -0
  170. package/es/ele-tree-table/components/table-body.js +100 -0
  171. package/es/ele-tree-table/components/table-row.d.ts +53 -0
  172. package/es/ele-tree-table/components/table-row.js +105 -0
  173. package/es/ele-tree-table/index.d.ts +30 -0
  174. package/es/ele-tree-table/index.js +155 -0
  175. package/es/ele-tree-table/props.d.ts +25 -0
  176. package/es/ele-tree-table/props.js +20 -0
  177. package/es/ele-tree-table/style/css-var.scss +8 -0
  178. package/es/ele-tree-table/style/index.d.ts +1 -0
  179. package/es/ele-tree-table/style/index.js +2 -0
  180. package/es/ele-tree-table/style/index.scss +224 -0
  181. package/es/ele-tree-table/types.d.ts +27 -0
  182. package/es/style/plus.scss +2 -0
  183. package/es/style/themes/default.scss +18 -0
  184. package/es/style/themes/theme-util.scss +4 -0
  185. package/es/utils/hook.d.ts +18 -3
  186. package/es/utils/hook.js +37 -1
  187. package/lib/core-components.cjs +122 -104
  188. package/lib/core-components.d.ts +9 -0
  189. package/lib/ele-autocomplete/index.cjs +72 -0
  190. package/lib/ele-autocomplete/index.d.ts +81 -0
  191. package/lib/ele-autocomplete/props.cjs +13 -0
  192. package/lib/ele-autocomplete/props.d.ts +27 -0
  193. package/lib/ele-autocomplete/style/index.cjs +2 -0
  194. package/lib/ele-autocomplete/style/index.d.ts +1 -0
  195. package/lib/ele-autocomplete/types.d.ts +18 -0
  196. package/lib/ele-cascader/index.cjs +6 -2
  197. package/lib/ele-cascader/index.d.ts +15 -4
  198. package/lib/ele-cascader/props.cjs +2 -0
  199. package/lib/ele-cascader/props.d.ts +4 -2
  200. package/lib/ele-cascader/types.d.ts +9 -0
  201. package/lib/ele-check-card/index.cjs +13 -3
  202. package/lib/ele-check-card/index.d.ts +4 -2
  203. package/lib/ele-check-card/props.cjs +1 -1
  204. package/lib/ele-check-card/props.d.ts +2 -2
  205. package/lib/ele-check-card/types.d.ts +5 -0
  206. package/lib/ele-checkbox-group/index.cjs +73 -0
  207. package/lib/ele-checkbox-group/index.d.ts +60 -0
  208. package/lib/ele-checkbox-group/props.cjs +15 -0
  209. package/lib/ele-checkbox-group/props.d.ts +29 -0
  210. package/lib/ele-checkbox-group/style/index.cjs +4 -0
  211. package/lib/ele-checkbox-group/style/index.d.ts +1 -0
  212. package/lib/ele-checkbox-group/types.d.ts +25 -0
  213. package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
  214. package/lib/ele-dropdown/components/pro-dropdown.d.ts +2 -2
  215. package/lib/ele-ellipsis/index.d.ts +1 -1
  216. package/lib/ele-icon/index.cjs +7 -15
  217. package/lib/ele-icon/index.d.ts +26 -0
  218. package/lib/ele-icon/props.cjs +5 -1
  219. package/lib/ele-icon/props.d.ts +15 -0
  220. package/lib/ele-icon/types.d.ts +4 -0
  221. package/lib/ele-mention/index.cjs +51 -0
  222. package/lib/ele-mention/index.d.ts +244 -0
  223. package/lib/ele-mention/props.cjs +13 -0
  224. package/lib/ele-mention/props.d.ts +105 -0
  225. package/lib/ele-mention/style/index.cjs +2 -0
  226. package/lib/ele-mention/style/index.d.ts +1 -0
  227. package/lib/ele-mention/types.d.ts +16 -0
  228. package/lib/ele-popover/index.d.ts +3 -3
  229. package/lib/ele-pro-form/components/builder-wrapper.cjs +2 -2
  230. package/lib/ele-pro-form/components/item-type-data.cjs +45 -94
  231. package/lib/ele-pro-form/components/render-util.cjs +207 -65
  232. package/lib/ele-pro-form/components/render-util.d.ts +58 -6
  233. package/lib/ele-pro-form/index.cjs +36 -7
  234. package/lib/ele-pro-form/index.d.ts +9 -3
  235. package/lib/ele-pro-form/props.cjs +18 -3
  236. package/lib/ele-pro-form/props.d.ts +17 -9
  237. package/lib/ele-pro-form/style/index.cjs +16 -19
  238. package/lib/ele-pro-form/style/index.scss +102 -0
  239. package/lib/ele-pro-form/types.d.ts +3 -23
  240. package/lib/ele-pro-form/util.cjs +50 -4
  241. package/lib/ele-pro-form/util.d.ts +16 -1
  242. package/lib/ele-pro-form-builder/components/body-form.cjs +9 -6
  243. package/lib/ele-pro-form-builder/components/body-form.d.ts +5 -1
  244. package/lib/ele-pro-form-builder/components/body-header.cjs +89 -27
  245. package/lib/ele-pro-form-builder/components/body-header.d.ts +16 -2
  246. package/lib/ele-pro-form-builder/components/build-core.cjs +195 -0
  247. package/lib/ele-pro-form-builder/components/build-core.d.ts +58 -0
  248. package/lib/ele-pro-form-builder/components/build-util.cjs +16 -8
  249. package/lib/ele-pro-form-builder/components/build-util.d.ts +3 -2
  250. package/lib/ele-pro-form-builder/components/children-edit.cjs +55 -49
  251. package/lib/ele-pro-form-builder/components/children-edit.d.ts +2 -2
  252. package/lib/ele-pro-form-builder/components/code-editer.cjs +26 -0
  253. package/lib/ele-pro-form-builder/components/code-editer.d.ts +21 -0
  254. package/lib/ele-pro-form-builder/components/code-generator.cjs +476 -0
  255. package/lib/ele-pro-form-builder/components/code-generator.d.ts +110 -0
  256. package/lib/ele-pro-form-builder/components/code-js-var.cjs +14 -100
  257. package/lib/ele-pro-form-builder/components/code-js-var.d.ts +2 -17
  258. package/lib/ele-pro-form-builder/components/code-template.cjs +34 -486
  259. package/lib/ele-pro-form-builder/components/code-template.d.ts +4 -118
  260. package/lib/ele-pro-form-builder/components/code-util.cjs +9 -9
  261. package/lib/ele-pro-form-builder/components/code-util.d.ts +13 -13
  262. package/lib/ele-pro-form-builder/components/component-data.cjs +4088 -1153
  263. package/lib/ele-pro-form-builder/components/component-data.d.ts +2 -0
  264. package/lib/ele-pro-form-builder/components/component-list.cjs +9 -6
  265. package/lib/ele-pro-form-builder/components/component-list.d.ts +5 -1
  266. package/lib/ele-pro-form-builder/components/component-name.cjs +2 -2
  267. package/lib/ele-pro-form-builder/components/component-picker.cjs +55 -0
  268. package/lib/ele-pro-form-builder/components/component-picker.d.ts +42 -0
  269. package/lib/ele-pro-form-builder/components/config-form.cjs +38 -14
  270. package/lib/ele-pro-form-builder/components/config-form.d.ts +8 -0
  271. package/lib/ele-pro-form-builder/components/event-edit.cjs +120 -0
  272. package/lib/ele-pro-form-builder/components/event-edit.d.ts +39 -0
  273. package/lib/ele-pro-form-builder/components/html-edit.cjs +96 -0
  274. package/lib/ele-pro-form-builder/components/html-edit.d.ts +31 -0
  275. package/lib/ele-pro-form-builder/components/if-edit.cjs +105 -0
  276. package/lib/ele-pro-form-builder/components/if-edit.d.ts +35 -0
  277. package/lib/ele-pro-form-builder/components/import-modal.cjs +124 -0
  278. package/lib/ele-pro-form-builder/components/import-modal.d.ts +38 -0
  279. package/lib/ele-pro-form-builder/components/json-input.cjs +4 -3
  280. package/lib/ele-pro-form-builder/components/json-input.d.ts +4 -0
  281. package/lib/ele-pro-form-builder/components/options-code.cjs +55 -0
  282. package/lib/ele-pro-form-builder/components/options-code.d.ts +33 -0
  283. package/lib/ele-pro-form-builder/components/options-edit.cjs +62 -426
  284. package/lib/ele-pro-form-builder/components/options-edit.d.ts +25 -30
  285. package/lib/ele-pro-form-builder/components/options-table.cjs +380 -0
  286. package/lib/ele-pro-form-builder/components/options-table.d.ts +33 -0
  287. package/lib/ele-pro-form-builder/components/outline-list.cjs +8 -17
  288. package/lib/ele-pro-form-builder/components/outline-tree.cjs +36 -63
  289. package/lib/ele-pro-form-builder/components/outline-tree.d.ts +8 -2
  290. package/lib/ele-pro-form-builder/components/preview-modal.cjs +12 -12
  291. package/lib/ele-pro-form-builder/components/preview-modal.d.ts +4 -0
  292. package/lib/ele-pro-form-builder/components/props-form.cjs +129 -54
  293. package/lib/ele-pro-form-builder/components/props-form.d.ts +19 -1
  294. package/lib/ele-pro-form-builder/components/source-edit.cjs +110 -0
  295. package/lib/ele-pro-form-builder/components/source-edit.d.ts +31 -0
  296. package/lib/ele-pro-form-builder/components/table-tool-menu.cjs +23 -7
  297. package/lib/ele-pro-form-builder/components/table-tool-menu.d.ts +6 -1
  298. package/lib/ele-pro-form-builder/components/table-util.cjs +56 -33
  299. package/lib/ele-pro-form-builder/components/table-util.d.ts +17 -9
  300. package/lib/ele-pro-form-builder/components/template-list.cjs +1 -4
  301. package/lib/ele-pro-form-builder/index.cjs +174 -129
  302. package/lib/ele-pro-form-builder/index.d.ts +24 -4
  303. package/lib/ele-pro-form-builder/props.cjs +16 -1
  304. package/lib/ele-pro-form-builder/props.d.ts +17 -2
  305. package/lib/ele-pro-form-builder/style/index.cjs +10 -0
  306. package/lib/ele-pro-form-builder/style/index.scss +96 -261
  307. package/lib/ele-pro-form-builder/types.d.ts +68 -76
  308. package/lib/ele-pro-form-builder/util.cjs +104 -200
  309. package/lib/ele-pro-form-builder/util.d.ts +10 -76
  310. package/lib/ele-pro-layout/index.d.ts +1 -1
  311. package/lib/ele-pro-table/props.d.ts +3 -3
  312. package/lib/ele-radio-group/index.cjs +73 -0
  313. package/lib/ele-radio-group/index.d.ts +61 -0
  314. package/lib/ele-radio-group/props.cjs +15 -0
  315. package/lib/ele-radio-group/props.d.ts +28 -0
  316. package/lib/ele-radio-group/style/index.cjs +4 -0
  317. package/lib/ele-radio-group/style/index.d.ts +1 -0
  318. package/lib/ele-radio-group/types.d.ts +25 -0
  319. package/lib/ele-select/index.cjs +10 -4
  320. package/lib/ele-select/index.d.ts +14 -3
  321. package/lib/ele-select/props.cjs +1 -1
  322. package/lib/ele-select/props.d.ts +2 -2
  323. package/lib/ele-select/types.d.ts +6 -1
  324. package/lib/ele-select-tree/index.cjs +56 -0
  325. package/lib/ele-select-tree/index.d.ts +21 -0
  326. package/lib/ele-select-tree/style/index.cjs +2 -0
  327. package/lib/ele-select-tree/style/index.d.ts +1 -0
  328. package/lib/ele-select-tree/types.d.ts +14 -0
  329. package/lib/ele-steps/index.cjs +12 -6
  330. package/lib/ele-steps/index.d.ts +8 -19
  331. package/lib/ele-steps/props.cjs +1 -4
  332. package/lib/ele-steps/props.d.ts +2 -5
  333. package/lib/ele-steps/types.d.ts +5 -0
  334. package/lib/ele-tab-bar/index.cjs +42 -0
  335. package/lib/ele-tab-bar/index.d.ts +20 -0
  336. package/lib/ele-tab-bar/props.cjs +18 -0
  337. package/lib/ele-tab-bar/props.d.ts +25 -0
  338. package/lib/ele-tab-bar/style/css-var.scss +8 -0
  339. package/lib/ele-tab-bar/style/index.cjs +2 -0
  340. package/lib/ele-tab-bar/style/index.d.ts +1 -0
  341. package/lib/ele-tab-bar/style/index.scss +87 -0
  342. package/lib/ele-tab-bar/types.d.ts +14 -0
  343. package/lib/ele-timeline/style/css-var.scss +1 -1
  344. package/lib/ele-timeline/style/index.scss +2 -2
  345. package/lib/ele-transfer/index.cjs +53 -0
  346. package/lib/ele-transfer/index.d.ts +94 -0
  347. package/lib/ele-transfer/props.cjs +13 -0
  348. package/lib/ele-transfer/props.d.ts +39 -0
  349. package/lib/ele-transfer/style/index.cjs +2 -0
  350. package/lib/ele-transfer/style/index.d.ts +1 -0
  351. package/lib/ele-transfer/types.d.ts +16 -0
  352. package/lib/ele-tree-select/index.cjs +17 -11
  353. package/lib/ele-tree-select/index.d.ts +8 -4
  354. package/lib/ele-tree-select/props.d.ts +4 -4
  355. package/lib/ele-tree-select/types.d.ts +13 -0
  356. package/lib/ele-tree-table/components/table-body.cjs +99 -0
  357. package/lib/ele-tree-table/components/table-body.d.ts +57 -0
  358. package/lib/ele-tree-table/components/table-row.cjs +104 -0
  359. package/lib/ele-tree-table/components/table-row.d.ts +53 -0
  360. package/lib/ele-tree-table/index.cjs +154 -0
  361. package/lib/ele-tree-table/index.d.ts +30 -0
  362. package/lib/ele-tree-table/props.cjs +20 -0
  363. package/lib/ele-tree-table/props.d.ts +25 -0
  364. package/lib/ele-tree-table/style/css-var.scss +8 -0
  365. package/lib/ele-tree-table/style/index.cjs +3 -0
  366. package/lib/ele-tree-table/style/index.d.ts +1 -0
  367. package/lib/ele-tree-table/style/index.scss +224 -0
  368. package/lib/ele-tree-table/types.d.ts +27 -0
  369. package/lib/style/plus.scss +2 -0
  370. package/lib/style/themes/default.scss +18 -0
  371. package/lib/style/themes/theme-util.scss +4 -0
  372. package/lib/utils/hook.cjs +36 -0
  373. package/lib/utils/hook.d.ts +18 -3
  374. package/package.json +1 -1
  375. package/typings/global.d.ts +8 -0
  376. package/es/ele-pro-form-builder/components/tree-table.d.ts +0 -3253
  377. package/es/ele-pro-form-builder/components/tree-table.js +0 -239
  378. package/lib/ele-pro-form-builder/components/tree-table.cjs +0 -238
  379. package/lib/ele-pro-form-builder/components/tree-table.d.ts +0 -3253
@@ -0,0 +1,381 @@
1
+ import { defineComponent, ref, computed, onMounted, openBlock, createBlock, normalizeClass, withCtx, createElementBlock, createVNode, unref, createCommentVNode } from "vue";
2
+ import { ElSwitch, ElInput } from "element-plus";
3
+ import { eachTree, mapTree } from "../../utils/core";
4
+ import EleTreeTable from "../../ele-tree-table/index";
5
+ import EleSelect from "../../ele-select/index";
6
+ import { DeleteOutlined, PlusOutlined, AppstoreAddOutlined } from "../../icons";
7
+ import { getValue, setValue } from "../../ele-pro-form/util";
8
+ import { getPropertyPath, generateItemKey } from "./build-core";
9
+ import ToolButton from "./tool-button";
10
+ const _hoisted_1 = {
11
+ key: 4,
12
+ class: "ele-pro-form-builder-options-edit-cell"
13
+ };
14
+ const _hoisted_2 = {
15
+ key: 6,
16
+ class: "ele-pro-form-builder-options-edit-cell"
17
+ };
18
+ const _hoisted_3 = {
19
+ key: 0,
20
+ class: "ele-pro-form-builder-options-edit-th"
21
+ };
22
+ const _hoisted_4 = {
23
+ key: 1,
24
+ class: "ele-pro-form-builder-options-edit-cell"
25
+ };
26
+ const actionColKey = "optionsEditTreeTableAction";
27
+ const _sfc_main = /* @__PURE__ */ defineComponent({
28
+ __name: "options-table",
29
+ props: {
30
+ data: {},
31
+ isTreeData: { type: [Boolean, Object] },
32
+ columns: {}
33
+ },
34
+ setup(__props, { expose: __expose }) {
35
+ const props = __props;
36
+ const tableColumns = ref([]);
37
+ const tableData = ref([]);
38
+ const tableMinWidth = computed(() => {
39
+ let width = 0;
40
+ tableColumns.value.forEach((col) => {
41
+ var _a;
42
+ const w = (_a = col.style) == null ? void 0 : _a.width;
43
+ const wn = w == null || typeof w === "number" ? w : Number.parseInt(w);
44
+ width += (wn == null || isNaN(wn) ? void 0 : wn) ?? 120;
45
+ });
46
+ return `${width}px`;
47
+ });
48
+ let tablePropStart = 0;
49
+ const generateCellKey = () => {
50
+ const key = generateItemKey();
51
+ tablePropStart++;
52
+ return `${key}c${tablePropStart}`;
53
+ };
54
+ const handleDelete = (row, parent) => {
55
+ const children = parent ? parent.children : tableData.value;
56
+ if (children && children.length) {
57
+ for (let i = 0; i < children.length; i++) {
58
+ const temp = children[i];
59
+ if (temp === row) {
60
+ children.splice(i, 1);
61
+ return true;
62
+ }
63
+ if (handleDelete(row, temp)) {
64
+ return;
65
+ }
66
+ }
67
+ }
68
+ };
69
+ const handleAdd = (parent) => {
70
+ const item = {};
71
+ if (!parent) {
72
+ tableData.value.push(item);
73
+ } else if (parent.children) {
74
+ parent.children.push(item);
75
+ } else {
76
+ parent.children = [item];
77
+ }
78
+ };
79
+ const handleAddCol = () => {
80
+ const index = tableColumns.value.findIndex((c) => c.key === actionColKey);
81
+ if (index !== -1) {
82
+ const col = {
83
+ userProp: "",
84
+ prop: generateCellKey(),
85
+ label: "",
86
+ style: { textAlign: "center" }
87
+ };
88
+ if (index <= 0) {
89
+ tableColumns.value.unshift(col);
90
+ } else {
91
+ tableColumns.value.splice(index, 0, col);
92
+ }
93
+ }
94
+ };
95
+ const handleDeleteCol = (column) => {
96
+ if (column.prop != null) {
97
+ const index = tableColumns.value.findIndex((c) => c.prop === column.prop);
98
+ if (index !== -1) {
99
+ tableColumns.value.splice(index, 1);
100
+ }
101
+ }
102
+ };
103
+ const getResult = () => {
104
+ let result = JSON.parse(
105
+ JSON.stringify(tableData.value)
106
+ );
107
+ if (props.columns === "tableData") {
108
+ result = mapTree(result, (row) => {
109
+ const temp = {};
110
+ tableColumns.value.forEach((col) => {
111
+ if (col.prop) {
112
+ setValue(temp, col.userProp || col.prop, row[col.prop]);
113
+ }
114
+ });
115
+ return temp;
116
+ });
117
+ } else if (props.columns === "stringArray") {
118
+ result = result.map((d) => d.value);
119
+ }
120
+ return result;
121
+ };
122
+ onMounted(() => {
123
+ tableData.value = [];
124
+ const userData = props.data == null || typeof props.data === "string" ? [] : JSON.parse(JSON.stringify(props.data));
125
+ const actionCol = {
126
+ key: actionColKey,
127
+ label: "",
128
+ style: {
129
+ textAlign: "center",
130
+ width: props.isTreeData ? "78px" : "48px",
131
+ flex: "none"
132
+ },
133
+ class: "is-fixed-right is-fixed-right-first"
134
+ };
135
+ if (props.columns === "tableData") {
136
+ const keys = [];
137
+ eachTree(userData, (row) => {
138
+ getPropertyPath(row, ["children"]).forEach((k) => {
139
+ if (!keys.includes(k)) {
140
+ keys.push(k);
141
+ }
142
+ });
143
+ });
144
+ tableColumns.value = [
145
+ ...keys.map((k) => ({
146
+ userProp: k,
147
+ prop: generateCellKey(),
148
+ label: "",
149
+ style: { textAlign: "center" }
150
+ })),
151
+ actionCol
152
+ ];
153
+ tableData.value = mapTree(userData, (row) => {
154
+ const temp = { ...row };
155
+ tableColumns.value.forEach((col) => {
156
+ if (col.prop && col.userProp) {
157
+ temp[col.prop] = getValue(temp, col.userProp);
158
+ }
159
+ });
160
+ return temp;
161
+ });
162
+ } else if (props.columns === "tableColumns") {
163
+ tableColumns.value = [
164
+ {
165
+ prop: "label",
166
+ label: "标题",
167
+ style: { textAlign: "center" }
168
+ },
169
+ {
170
+ prop: "prop",
171
+ label: "属性名",
172
+ style: { textAlign: "center" }
173
+ },
174
+ {
175
+ prop: "columnKey",
176
+ label: "ColumnKey",
177
+ style: { textAlign: "center" }
178
+ },
179
+ {
180
+ prop: "align",
181
+ label: "对齐方式",
182
+ style: { textAlign: "center", width: "110px", flex: "none" }
183
+ },
184
+ {
185
+ prop: "width",
186
+ label: "列宽",
187
+ style: { textAlign: "center", width: "110px", flex: "none" }
188
+ },
189
+ {
190
+ prop: "minWidth",
191
+ label: "最小列宽",
192
+ style: { textAlign: "center", width: "110px", flex: "none" }
193
+ },
194
+ {
195
+ prop: "sortable",
196
+ label: "支持排序",
197
+ style: { textAlign: "center", width: "110px", flex: "none" },
198
+ editType: "switch"
199
+ },
200
+ {
201
+ prop: "fixed",
202
+ label: "固定",
203
+ style: { textAlign: "center" }
204
+ },
205
+ {
206
+ prop: "type",
207
+ label: "类型",
208
+ style: { textAlign: "center", width: "110px", flex: "none" }
209
+ },
210
+ actionCol
211
+ ];
212
+ tableData.value = userData;
213
+ } else if (props.columns === "stringArray") {
214
+ tableColumns.value = [
215
+ { prop: "value", label: "值", style: { textAlign: "center" } },
216
+ actionCol
217
+ ];
218
+ tableData.value = userData.map((d) => ({ value: d }));
219
+ } else if (props.columns) {
220
+ tableColumns.value = [...props.columns, actionCol];
221
+ tableData.value = userData;
222
+ } else {
223
+ tableColumns.value = [
224
+ { prop: "label", label: "文本", style: { textAlign: "center" } },
225
+ { prop: "value", label: "值", style: { textAlign: "center" } },
226
+ actionCol
227
+ ];
228
+ tableData.value = userData;
229
+ }
230
+ });
231
+ __expose({ getResult });
232
+ return (_ctx, _cache) => {
233
+ return openBlock(), createBlock(EleTreeTable, {
234
+ data: tableData.value,
235
+ columns: tableColumns.value,
236
+ tableStyle: { minWidth: tableMinWidth.value },
237
+ class: normalizeClass([
238
+ "ele-pro-form-builder-options-editer",
239
+ { "is-table-data": _ctx.columns === "tableData" }
240
+ ])
241
+ }, {
242
+ bodyCell: withCtx(({ row, column, treeLevel }) => [
243
+ _ctx.columns === "tableColumns" && column.prop === "align" ? (openBlock(), createBlock(EleSelect, {
244
+ key: 0,
245
+ size: "default",
246
+ clearable: true,
247
+ modelValue: row[column.prop],
248
+ "onUpdate:modelValue": ($event) => row[column.prop] = $event,
249
+ options: [
250
+ { label: "左对齐", value: "left" },
251
+ { label: "居中", value: "center" },
252
+ { label: "右对齐", value: "right" }
253
+ ],
254
+ popperOptions: { strategy: "fixed" },
255
+ class: "ele-fluid"
256
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : _ctx.columns === "tableColumns" && column.prop === "fixed" ? (openBlock(), createBlock(EleSelect, {
257
+ key: 1,
258
+ size: "default",
259
+ clearable: true,
260
+ modelValue: row[column.prop],
261
+ "onUpdate:modelValue": ($event) => row[column.prop] = $event,
262
+ options: [
263
+ { label: "不固定", value: false },
264
+ { label: "固定在左侧", value: "left" },
265
+ { label: "固定在右侧", value: "right" }
266
+ ],
267
+ popperOptions: { strategy: "fixed" },
268
+ class: "ele-fluid"
269
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : _ctx.columns === "tableColumns" && column.prop === "type" ? (openBlock(), createBlock(EleSelect, {
270
+ key: 2,
271
+ size: "default",
272
+ clearable: true,
273
+ modelValue: row[column.prop],
274
+ "onUpdate:modelValue": ($event) => row[column.prop] = $event,
275
+ options: [
276
+ { label: "默认", value: "default" },
277
+ { label: "选择列", value: "selection" },
278
+ { label: "序号列", value: "index" },
279
+ { label: "展开列", value: "expand" }
280
+ ],
281
+ popperOptions: { strategy: "fixed" },
282
+ class: "ele-fluid"
283
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : _ctx.columns === "tableColumns" && column.prop === "sortable" ? (openBlock(), createBlock(EleSelect, {
284
+ key: 3,
285
+ size: "default",
286
+ clearable: true,
287
+ modelValue: row[column.prop],
288
+ "onUpdate:modelValue": ($event) => row[column.prop] = $event,
289
+ options: [
290
+ { label: "true", value: true },
291
+ { label: "false", value: false },
292
+ { label: "custom", value: "custom" }
293
+ ],
294
+ popperOptions: { strategy: "fixed" },
295
+ class: "ele-fluid"
296
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : column.prop && column.editType === "switch" ? (openBlock(), createElementBlock("div", _hoisted_1, [
297
+ createVNode(unref(ElSwitch), {
298
+ size: "small",
299
+ modelValue: row[column.prop],
300
+ "onUpdate:modelValue": ($event) => row[column.prop] = $event
301
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
302
+ ])) : column.prop ? (openBlock(), createBlock(unref(ElInput), {
303
+ key: 5,
304
+ size: "default",
305
+ clearable: true,
306
+ modelValue: row[column.prop],
307
+ "onUpdate:modelValue": ($event) => row[column.prop] = $event
308
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : column.key === actionColKey ? (openBlock(), createElementBlock("div", _hoisted_2, [
309
+ createVNode(ToolButton, {
310
+ buttonProps: {
311
+ type: "danger",
312
+ plain: true,
313
+ circle: true,
314
+ icon: unref(DeleteOutlined)
315
+ },
316
+ tooltip: "删除数据",
317
+ onClick: ($event) => handleDelete(row)
318
+ }, null, 8, ["buttonProps", "onClick"]),
319
+ _ctx.isTreeData && !(typeof _ctx.isTreeData === "object" && _ctx.isTreeData.maxDepth && (treeLevel || 1) >= _ctx.isTreeData.maxDepth) ? (openBlock(), createBlock(ToolButton, {
320
+ key: 0,
321
+ buttonProps: {
322
+ type: "primary",
323
+ plain: true,
324
+ circle: true,
325
+ icon: unref(PlusOutlined)
326
+ },
327
+ tooltip: "新增子级",
328
+ onClick: ($event) => handleAdd(row)
329
+ }, null, 8, ["buttonProps", "onClick"])) : createCommentVNode("", true)
330
+ ])) : createCommentVNode("", true)
331
+ ]),
332
+ headerCell: withCtx(({ column }) => [
333
+ _ctx.columns === "tableData" && column.prop ? (openBlock(), createElementBlock("div", _hoisted_3, [
334
+ createVNode(unref(ElInput), {
335
+ size: "default",
336
+ clearable: true,
337
+ modelValue: column.userProp,
338
+ "onUpdate:modelValue": ($event) => column.userProp = $event
339
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
340
+ createVNode(ToolButton, {
341
+ buttonProps: {
342
+ type: "danger",
343
+ plain: true,
344
+ circle: true,
345
+ icon: unref(DeleteOutlined)
346
+ },
347
+ tooltip: "删除属性",
348
+ onClick: ($event) => handleDeleteCol(column)
349
+ }, null, 8, ["buttonProps", "onClick"])
350
+ ])) : column.key === actionColKey ? (openBlock(), createElementBlock("div", _hoisted_4, [
351
+ _ctx.columns === "tableData" ? (openBlock(), createBlock(ToolButton, {
352
+ key: 0,
353
+ buttonProps: {
354
+ type: "primary",
355
+ plain: true,
356
+ circle: true,
357
+ icon: unref(AppstoreAddOutlined)
358
+ },
359
+ tooltip: "新增属性",
360
+ onClick: _cache[0] || (_cache[0] = ($event) => handleAddCol())
361
+ }, null, 8, ["buttonProps"])) : createCommentVNode("", true),
362
+ createVNode(ToolButton, {
363
+ buttonProps: {
364
+ type: "primary",
365
+ plain: true,
366
+ circle: true,
367
+ icon: unref(PlusOutlined)
368
+ },
369
+ tooltip: "新增数据",
370
+ onClick: _cache[1] || (_cache[1] = ($event) => handleAdd())
371
+ }, null, 8, ["buttonProps"])
372
+ ])) : createCommentVNode("", true)
373
+ ]),
374
+ _: 1
375
+ }, 8, ["data", "columns", "tableStyle", "class"]);
376
+ };
377
+ }
378
+ });
379
+ export {
380
+ _sfc_main as default
381
+ };
@@ -2,7 +2,7 @@ import { defineComponent, resolveComponent, openBlock, createBlock, unref, withC
2
2
  import VueDraggable from "vuedraggable";
3
3
  import { ElIcon } from "element-plus";
4
4
  import { ArrowDown, DeleteOutlined, CopyOutlined, InsertRowOutlined, InsertColumnOutlined, AppstoreAddOutlined, PlusSquareDashOutlined, DragOutlined } from "../../icons";
5
- import { defaultItemTypeData } from "../../ele-pro-form/components/item-type-data";
5
+ import { isContainerType } from "../../ele-pro-form/util";
6
6
  import ComponentName from "./component-name";
7
7
  const _hoisted_1 = ["title", "onClick"];
8
8
  const _hoisted_2 = { class: "ele-pro-form-builder-outline-item-content" };
@@ -52,18 +52,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
52
52
  const handleUpdateItemChildren = (children, parent) => {
53
53
  emit("updateItemChildren", children, parent);
54
54
  };
55
- const isContainerType = (item) => {
56
- if (!(item == null ? void 0 : item.type)) {
57
- return false;
58
- }
59
- const typeData = [
60
- ...props.itemTypeData || [],
61
- ...defaultItemTypeData
62
- ].find((d) => d.type === item.type);
63
- if (typeData && typeData.isContainer) {
64
- return true;
65
- }
66
- return item.itemType === "container" || item.itemType === "view";
55
+ const itemIsContainerType = (item) => {
56
+ return isContainerType(item, props.itemTypeData);
67
57
  };
68
58
  const isTableChildType = (item) => {
69
59
  if (!item.type) {
@@ -93,16 +83,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
93
83
  {
94
84
  "is-collapse": element.key != null && _ctx.collapseItemIds && _ctx.collapseItemIds.includes(element.key)
95
85
  },
96
- { "is-form-item": !isContainerType(element) }
86
+ { "is-form-item": !itemIsContainerType(element) }
97
87
  ])
98
88
  }, [
99
- isContainerType(element) ? (openBlock(), createBlock(_component_OutlineList, {
89
+ itemIsContainerType(element) ? (openBlock(), createBlock(_component_OutlineList, {
100
90
  key: 0,
101
91
  items: element.children || [],
102
92
  currentFormItemId: _ctx.currentFormItemId,
103
93
  collapseItemIds: _ctx.collapseItemIds,
104
94
  parent: element,
105
95
  componentData: _ctx.componentData,
96
+ itemTypeData: _ctx.itemTypeData,
106
97
  "onUpdate:currentFormItemId": handleUpdateCurrentFormItemId,
107
98
  onToggleItemCollapse: handleToggleItemCollapse,
108
99
  onDeleteItem: handleDeleteItem,
@@ -110,7 +101,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
110
101
  onAddChildren: handleAddChildren,
111
102
  onOpenTableTool: handleOpenTableTool,
112
103
  onUpdateItemChildren: handleUpdateItemChildren
113
- }, null, 8, ["items", "currentFormItemId", "collapseItemIds", "parent", "componentData"])) : createCommentVNode("", true),
104
+ }, null, 8, ["items", "currentFormItemId", "collapseItemIds", "parent", "componentData", "itemTypeData"])) : createCommentVNode("", true),
114
105
  createElementVNode("div", {
115
106
  class: "ele-pro-form-builder-outline-item-body",
116
107
  title: (element.prop ?? "") + " " + (element.label ?? ""),
@@ -190,7 +181,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
190
181
  ]),
191
182
  _: 2
192
183
  }, 1032, ["onClick"])) : createCommentVNode("", true),
193
- isContainerType(element) && element.type !== "table" && element.type !== "tableRow" ? (openBlock(), createBlock(unref(ElIcon), {
184
+ itemIsContainerType(element) && element.type !== "table" && element.type !== "tableRow" ? (openBlock(), createBlock(unref(ElIcon), {
194
185
  key: 6,
195
186
  class: "ele-pro-form-builder-outline-item-tool",
196
187
  title: "添加子级",
@@ -1,4 +1,4 @@
1
- import { ProFormItemKey, ProFormItemProps } from '../../ele-pro-form/types';
1
+ import { ProFormItemKey, ProFormItemProps, ProFormItemTypeData } from '../../ele-pro-form/types';
2
2
  import { ComponentGroup, UpdateItemsResult } from '../types';
3
3
 
4
4
  declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
@@ -8,11 +8,14 @@ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimePr
8
8
  currentFormItemId?: ProFormItemKey;
9
9
  /** 组件库数据 */
10
10
  componentData?: ComponentGroup[];
11
+ /** 高级表单组件类型数据 */
12
+ itemTypeData?: ProFormItemTypeData[];
11
13
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
14
  "update:currentFormItemId": (formItemId?: string | number | symbol | undefined) => void;
13
15
  updateItems: (result: UpdateItemsResult) => void;
14
16
  updateItemChildren: (children: ProFormItemProps[], parent?: ProFormItemProps | undefined) => void;
15
17
  openTableTool: (formItemId: string, el: HTMLElement) => void;
18
+ openComponentPicker: (formItemId: string) => void;
16
19
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
17
20
  /** 全部表单项 */
18
21
  formItems?: ProFormItemProps[];
@@ -20,11 +23,14 @@ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimePr
20
23
  currentFormItemId?: ProFormItemKey;
21
24
  /** 组件库数据 */
22
25
  componentData?: ComponentGroup[];
26
+ /** 高级表单组件类型数据 */
27
+ itemTypeData?: ProFormItemTypeData[];
23
28
  }>>> & {
24
- onUpdateItems?: ((result: UpdateItemsResult) => any) | undefined;
25
29
  "onUpdate:currentFormItemId"?: ((formItemId?: string | number | symbol | undefined) => any) | undefined;
26
30
  onOpenTableTool?: ((formItemId: string, el: HTMLElement) => any) | undefined;
27
31
  onUpdateItemChildren?: ((children: ProFormItemProps[], parent?: ProFormItemProps | undefined) => any) | undefined;
32
+ onUpdateItems?: ((result: UpdateItemsResult) => any) | undefined;
33
+ onOpenComponentPicker?: ((formItemId: string) => any) | undefined;
28
34
  }, {}, {}>;
29
35
  export default _default;
30
36
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -1,28 +1,23 @@
1
- import { defineComponent, ref, watch, openBlock, createElementBlock, Fragment, createElementVNode, createBlock, createCommentVNode, unref, createVNode, Transition, withCtx, withModifiers } from "vue";
1
+ import { defineComponent, ref, watch, openBlock, createElementBlock, createBlock, createCommentVNode, unref } from "vue";
2
2
  import { ElEmpty } from "element-plus";
3
3
  import { findTree } from "../../utils/core";
4
+ import { fixedChildTypes } from "./build-core";
4
5
  import { generateCopyItemData, generateAddChildData } from "./build-util";
5
6
  import OutlineList from "./outline-list";
6
- import ComponentList from "./component-list";
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "outline-tree",
9
9
  props: {
10
10
  formItems: {},
11
11
  currentFormItemId: {},
12
- componentData: {}
12
+ componentData: {},
13
+ itemTypeData: {}
13
14
  },
14
- emits: ["update:currentFormItemId", "updateItems", "updateItemChildren", "openTableTool"],
15
+ emits: ["update:currentFormItemId", "updateItems", "updateItemChildren", "openTableTool", "openComponentPicker"],
15
16
  setup(__props, { emit: __emit }) {
16
17
  const props = __props;
17
18
  const emit = __emit;
18
19
  const outlineWrapperRef = ref(null);
19
20
  const collapseItemIds = ref([]);
20
- const isShowComponentList = ref(false);
21
- const addParentFormItemId = ref();
22
- const hideComponentList = () => {
23
- isShowComponentList.value = false;
24
- addParentFormItemId.value = void 0;
25
- };
26
21
  const handleUpdateCurrentFormItemId = (itemId) => {
27
22
  emit("update:currentFormItemId", itemId);
28
23
  };
@@ -40,21 +35,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
40
35
  handleUpdateItems(generateCopyItemData(formItemId, props.formItems));
41
36
  };
42
37
  const handleAddChildren = (triggerItem, action) => {
43
- if (triggerItem.type && ["tabs", "collapse", "row", "table", "carousel"].includes(
44
- triggerItem.type
45
- )) {
38
+ if (triggerItem.type && fixedChildTypes.some((d) => d.type === triggerItem.type)) {
46
39
  const result = generateAddChildData(
47
40
  triggerItem,
48
41
  void 0,
49
42
  void 0,
50
43
  action,
51
- props.formItems
44
+ props.formItems,
45
+ void 0,
46
+ props.componentData
52
47
  );
53
48
  handleUpdateItems(result);
54
- return;
49
+ } else {
50
+ emit("openComponentPicker", triggerItem.key);
55
51
  }
56
- addParentFormItemId.value = triggerItem.key;
57
- isShowComponentList.value = true;
58
52
  };
59
53
  const handleOpenTableTool = (item, e) => {
60
54
  var _a, _b;
@@ -84,57 +78,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
84
78
  collapseItemIds.value.splice(i, 1);
85
79
  }
86
80
  }
87
- hideComponentList();
88
81
  },
89
82
  { deep: true }
90
83
  );
91
84
  return (_ctx, _cache) => {
92
- return openBlock(), createElementBlock(Fragment, null, [
93
- createElementVNode("div", {
94
- ref_key: "outlineWrapperRef",
95
- ref: outlineWrapperRef,
96
- class: "ele-pro-form-builder-outline-wrapper"
97
- }, [
98
- _ctx.formItems ? (openBlock(), createBlock(OutlineList, {
99
- key: 0,
100
- items: _ctx.formItems,
101
- currentFormItemId: _ctx.currentFormItemId,
102
- collapseItemIds: collapseItemIds.value,
103
- componentData: _ctx.componentData,
104
- "onUpdate:currentFormItemId": handleUpdateCurrentFormItemId,
105
- onToggleItemCollapse: handleToggleItemCollapse,
106
- onDeleteItem: handleDeleteItem,
107
- onCopyItem: handleCopyItem,
108
- onAddChildren: handleAddChildren,
109
- onOpenTableTool: handleOpenTableTool,
110
- onUpdateItemChildren: handleUpdateItemChildren
111
- }, null, 8, ["items", "currentFormItemId", "collapseItemIds", "componentData"])) : createCommentVNode("", true),
112
- !_ctx.formItems || !_ctx.formItems.length ? (openBlock(), createBlock(unref(ElEmpty), {
113
- key: 1,
114
- imageSize: 58,
115
- class: "ele-pro-form-builder-form-empty"
116
- })) : createCommentVNode("", true)
117
- ], 512),
118
- createVNode(Transition, { name: "ele-pro-form-builder-outline-component-anim" }, {
119
- default: withCtx(() => [
120
- isShowComponentList.value ? (openBlock(), createElementBlock("div", {
121
- key: 0,
122
- class: "ele-pro-form-builder-outline-component-wrapper",
123
- onClick: hideComponentList
124
- }, [
125
- createVNode(ComponentList, {
126
- formItems: _ctx.formItems,
127
- parentFormItemId: addParentFormItemId.value,
128
- componentData: _ctx.componentData,
129
- onUpdateItems: handleUpdateItems,
130
- onClick: _cache[0] || (_cache[0] = withModifiers(() => {
131
- }, ["stop"]))
132
- }, null, 8, ["formItems", "parentFormItemId", "componentData"])
133
- ])) : createCommentVNode("", true)
134
- ]),
135
- _: 1
136
- })
137
- ], 64);
85
+ return openBlock(), createElementBlock("div", {
86
+ ref_key: "outlineWrapperRef",
87
+ ref: outlineWrapperRef,
88
+ class: "ele-pro-form-builder-outline-wrapper"
89
+ }, [
90
+ _ctx.formItems ? (openBlock(), createBlock(OutlineList, {
91
+ key: 0,
92
+ items: _ctx.formItems,
93
+ currentFormItemId: _ctx.currentFormItemId,
94
+ collapseItemIds: collapseItemIds.value,
95
+ componentData: _ctx.componentData,
96
+ itemTypeData: _ctx.itemTypeData,
97
+ "onUpdate:currentFormItemId": handleUpdateCurrentFormItemId,
98
+ onToggleItemCollapse: handleToggleItemCollapse,
99
+ onDeleteItem: handleDeleteItem,
100
+ onCopyItem: handleCopyItem,
101
+ onAddChildren: handleAddChildren,
102
+ onOpenTableTool: handleOpenTableTool,
103
+ onUpdateItemChildren: handleUpdateItemChildren
104
+ }, null, 8, ["items", "currentFormItemId", "collapseItemIds", "componentData", "itemTypeData"])) : createCommentVNode("", true),
105
+ !_ctx.formItems || !_ctx.formItems.length ? (openBlock(), createBlock(unref(ElEmpty), {
106
+ key: 1,
107
+ imageSize: 58,
108
+ class: "ele-pro-form-builder-form-empty"
109
+ })) : createCommentVNode("", true)
110
+ ], 512);
138
111
  };
139
112
  }
140
113
  });
@@ -12,6 +12,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRu
12
12
  proFormComponent?: UserComponent;
13
13
  /** 高级表单组件类型数据 */
14
14
  itemTypeData?: ProFormItemTypeData[];
15
+ /** 远程数据源请求工具 */
16
+ httpRequest?: any;
15
17
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
18
  "update:modelValue": (visible?: boolean | undefined) => void;
17
19
  previewFormSubmit: (data: Record<string, any>) => void;
@@ -24,6 +26,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRu
24
26
  proFormComponent?: UserComponent;
25
27
  /** 高级表单组件类型数据 */
26
28
  itemTypeData?: ProFormItemTypeData[];
29
+ /** 远程数据源请求工具 */
30
+ httpRequest?: any;
27
31
  }>>> & {
28
32
  "onUpdate:modelValue"?: ((visible?: boolean | undefined) => any) | undefined;
29
33
  onPreviewFormSubmit?: ((data: Record<string, any>) => any) | undefined;