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,476 @@
1
+ import { omit, eachTree, mapTree, pick } from "../../utils/core";
2
+ import { isContainerType, getFormInitValue } from "../../ele-pro-form/util";
3
+ import { defaultItemTypeData } from "../../ele-pro-form/components/item-type-data";
4
+ import { getComponentRefName, getRuleMessage } from "../../ele-pro-form/components/render-util";
5
+ import { getComponentItemByType } from "./build-core";
6
+ import { transformJsVar, JsVar } from "./code-js-var";
7
+ import { obj2Str, templateEngine, generatePropsCode, addIndentChar, kebabCase } from "./code-util";
8
+ import { footerTemplate, contentTemplate, formTemplate, proTemplate } from "./code-template";
9
+ const uploadTypes = ["imageUpload", "fileUpload"];
10
+ function generateFooterCode(config, showFooterExpand) {
11
+ if (!config.footer) {
12
+ return "";
13
+ }
14
+ const style = { flex: 1, display: "flex", alignItems: "center" };
15
+ const code = obj2Str({ ...style, ...config.footerStyle || {} }, true);
16
+ return templateEngine(footerTemplate, {
17
+ footerStyleCode: code,
18
+ footerPropsCode: generatePropsCode(config.footerProps),
19
+ showFooterExpand
20
+ });
21
+ }
22
+ function generateFormItemProps(item, indentSize, indentChar) {
23
+ const { vIf, label, prop, itemProps } = item;
24
+ const props = { label, prop, ...itemProps || {}, vIf };
25
+ const code = generatePropsCode(props, null, indentSize);
26
+ return addIndentChar(code, indentChar);
27
+ }
28
+ function generateColProps(item, grid, indentSize, indentChar) {
29
+ const gridCol = grid === true ? { span: 12 } : grid || {};
30
+ const { vIf, colProps } = item || {};
31
+ const props = { ...gridCol, ...colProps || {}, vIf };
32
+ const code = generatePropsCode(props, null, indentSize);
33
+ return addIndentChar(code, indentChar);
34
+ }
35
+ function generateComponentProps(item, indentSize, indentChar, omitKeys) {
36
+ const props = omit(item.props || {}, [
37
+ ...omitKeys || [],
38
+ ...item.type && ["div", "tableCell"].includes(item.type) ? ["is", "innerHTML"] : []
39
+ ]);
40
+ const code = generatePropsCode(props, null, indentSize);
41
+ return addIndentChar(code, indentChar);
42
+ }
43
+ function getItemComponentTag(item, componentData) {
44
+ var _a, _b, _c, _d, _e, _f, _g;
45
+ if (item.type === "tableCell") {
46
+ if (((_a = item.props) == null ? void 0 : _a.is) === "th") {
47
+ return "th";
48
+ }
49
+ } else if (item.type === "autocomplete") {
50
+ const fetchSuggestions = ((_b = item.props) == null ? void 0 : _b.fetchSuggestions) ?? [];
51
+ if (Array.isArray(fetchSuggestions)) {
52
+ return "el-autocomplete";
53
+ }
54
+ } else if (item.type === "mention") {
55
+ const options = ((_c = item.props) == null ? void 0 : _c.options) ?? [];
56
+ if (Array.isArray(options)) {
57
+ return "el-mention";
58
+ }
59
+ } else if (item.type === "transfer") {
60
+ const data = ((_d = item.props) == null ? void 0 : _d.data) ?? [];
61
+ if (Array.isArray(data)) {
62
+ return "el-transfer";
63
+ }
64
+ } else if (item.type === "treeSelect" || item.type === "treeMultipleSelect") {
65
+ const data = ((_e = item.props) == null ? void 0 : _e.data) ?? [];
66
+ if (Array.isArray(data)) {
67
+ return "el-tree-select";
68
+ }
69
+ } else if (item.type === "cascader" || item.type === "multipleCascader") {
70
+ const options = ((_f = item.props) == null ? void 0 : _f.options) ?? [];
71
+ if (Array.isArray(options)) {
72
+ return "el-cascader";
73
+ }
74
+ }
75
+ const name = (_g = getComponentItemByType(item.type, componentData)) == null ? void 0 : _g.componentName;
76
+ return kebabCase(name || "div");
77
+ }
78
+ function generateItemComponentCode(item, indentSize, indentChar, content, componentData) {
79
+ const component = getItemComponentTag(item, componentData);
80
+ const propsCode = generatePropsCode(item.props, null, indentSize);
81
+ const code = addIndentChar(propsCode, indentChar);
82
+ if (content == null) {
83
+ return `<${component}${code}/>`;
84
+ }
85
+ if (content === "") {
86
+ return `<${component}${code}>
87
+ ${indentChar}</${component}>`;
88
+ }
89
+ return `<${component}${code}>
90
+ ${indentChar} ${content}
91
+ ${indentChar}</${component}>`;
92
+ }
93
+ function getDivTag(item) {
94
+ var _a;
95
+ const divTag = (_a = item.props) == null ? void 0 : _a.is;
96
+ const jsVar = transformJsVar(divTag);
97
+ if (jsVar != null) {
98
+ return jsVar.name;
99
+ }
100
+ return divTag || "div";
101
+ }
102
+ function generateContentCode(config, showFooterExpand, componentData, itemTypeData) {
103
+ let contentCode = templateEngine(contentTemplate, {
104
+ items: config.items,
105
+ grid: config.grid,
106
+ rowProps: config.rowProps,
107
+ indentSize: 4,
108
+ contentExtra: generateFooterCode(config, showFooterExpand),
109
+ contentExtraColProps: config.footerColProps || { span: 24 },
110
+ generateFormItemProps,
111
+ generateColProps,
112
+ generateComponentProps,
113
+ generateComponentCode: (item, indentSize, indentChar, content) => generateItemComponentCode(
114
+ item,
115
+ indentSize,
116
+ indentChar,
117
+ content,
118
+ componentData
119
+ ),
120
+ getDivTag,
121
+ getComponentTag: (item) => getItemComponentTag(item, componentData),
122
+ isContainerType: (item) => isContainerType(item, itemTypeData),
123
+ addIndentChar,
124
+ generatePropsCode
125
+ });
126
+ [
127
+ "img",
128
+ "input",
129
+ "hr",
130
+ "br",
131
+ "col",
132
+ "area",
133
+ "embed",
134
+ "source",
135
+ "track",
136
+ "wbr"
137
+ ].forEach((tagName) => {
138
+ contentCode = contentCode.replace(
139
+ new RegExp(`>\\s*</${tagName}>`, "g"),
140
+ "/>"
141
+ );
142
+ });
143
+ return contentCode;
144
+ }
145
+ function getUploadValidatorCode(item) {
146
+ const refName = getComponentRefName(item);
147
+ return `(_rule, value, callback) => {
148
+ if (value && ${refName}.value && !${refName}.value.isDone()) {
149
+ return callback(new Error('${item.label}还未上传完毕'));
150
+ }
151
+ callback();
152
+ }`;
153
+ }
154
+ function generateRuleCode(items, componentData, itemTypeData) {
155
+ const rules = {};
156
+ eachTree(items, (item) => {
157
+ if (isContainerType(item, itemTypeData)) {
158
+ return;
159
+ }
160
+ const itemRules = [];
161
+ const typeData = item.type ? [...itemTypeData || [], ...defaultItemTypeData].find(
162
+ (d) => d.type === item.type
163
+ ) : void 0;
164
+ if (item.required) {
165
+ const config = getComponentItemByType(item.type, componentData);
166
+ const componentPropsData = {
167
+ ...(config == null ? void 0 : config.defaultProps) || {},
168
+ ...item.props || {},
169
+ ...(config == null ? void 0 : config.reservedProps) || {}
170
+ };
171
+ itemRules.push({
172
+ required: true,
173
+ message: getRuleMessage(
174
+ item.label,
175
+ item.requiredMessage,
176
+ componentPropsData.placeholder
177
+ ),
178
+ trigger: (typeData == null ? void 0 : typeData.requiredTrigger) ?? "change"
179
+ });
180
+ }
181
+ if (item.type && uploadTypes.includes(item.type)) {
182
+ itemRules.push({
183
+ trigger: (typeData == null ? void 0 : typeData.requiredTrigger) ?? "change",
184
+ validator: new JsVar({ name: getUploadValidatorCode(item) })
185
+ });
186
+ }
187
+ if (itemRules.length && item.prop) {
188
+ rules[item.prop] = itemRules;
189
+ }
190
+ });
191
+ return obj2Str(rules, false, 2);
192
+ }
193
+ function getComponentProps(item, componentData, itemTypeData) {
194
+ const data = getComponentItemByType(item.type, componentData);
195
+ const props = {
196
+ ...(data == null ? void 0 : data.defaultProps) || {},
197
+ ...item.props || {},
198
+ ...(data == null ? void 0 : data.reservedProps) || {}
199
+ };
200
+ const refName = getComponentRefName(item);
201
+ props.ref = new JsVar({
202
+ name: refName,
203
+ code: `/** ${item.label || item.prop}引用 */
204
+ const ${refName} = ref(null);`
205
+ });
206
+ if (item.type && isContainerType(item, itemTypeData)) {
207
+ props.vIf = item.vIf;
208
+ if (item.type === "steps") {
209
+ if (props.active == null) {
210
+ props.active = new JsVar({
211
+ name: `form.${item.prop} ?? 0`
212
+ });
213
+ }
214
+ } else if (item.type === "tabs") {
215
+ props.vModel = `form.${item.prop}`;
216
+ props.modelValue = void 0;
217
+ props.items = (item.children || []).map((c) => {
218
+ var _a, _b, _c, _d, _e;
219
+ return {
220
+ name: ((_a = c.props) == null ? void 0 : _a.name) ?? c.prop,
221
+ label: ((_b = c.props) == null ? void 0 : _b.label) ?? c.label,
222
+ disabled: (_c = c.props) == null ? void 0 : _c.disabled,
223
+ closable: (_d = c.props) == null ? void 0 : _d.closable,
224
+ lazy: (_e = c.props) == null ? void 0 : _e.lazy
225
+ };
226
+ });
227
+ } else if (["collapseItem", "carouselItem"].includes(item.type)) {
228
+ if (props.name == null && item.prop != null) {
229
+ props.name = item.prop;
230
+ }
231
+ } else if (item.type === "collapse") {
232
+ if (props.modelValue == null) {
233
+ props.vModel = `form.${item.prop}`;
234
+ props.modelValue = void 0;
235
+ }
236
+ }
237
+ } else if (item.type && item.type !== "text") {
238
+ props.vModel = `form.${item.prop}`;
239
+ }
240
+ const keyName = String(item.key ?? item.prop);
241
+ const labelName = String(item.label || item.prop);
242
+ if (item.type === "cascader" || item.type === "multipleCascader") {
243
+ props.options = new JsVar({
244
+ name: `${keyName}CascaderOptions`,
245
+ code: `/** ${labelName}级联数据 */
246
+ const ${keyName}CascaderOptions = ref(${obj2Str(props.options || [], false, 0)});`
247
+ });
248
+ const temp = props.props || {};
249
+ if (item.type === "multipleCascader") {
250
+ temp.multiple = true;
251
+ }
252
+ props.props = new JsVar({
253
+ name: `${keyName}CascaderProps`,
254
+ code: `/** ${labelName}级联配置 */
255
+ const ${keyName}CascaderProps = reactive(${obj2Str(temp, false, 0)});`
256
+ });
257
+ } else if (item.type === "virtualTreeSelect" || item.type === "virtualTreeMultipleSelect") {
258
+ props.treeProps = new JsVar({
259
+ name: `${keyName}TreeProps`,
260
+ code: `/** ${labelName}树配置 */
261
+ const ${keyName}TreeProps = reactive(${obj2Str(props.treeProps || {}, false, 0)});`
262
+ });
263
+ } else if (item.type === "tableSelect" || item.type === "tableMultipleSelect") {
264
+ props.tableProps = new JsVar({
265
+ name: `${keyName}TableProps`,
266
+ code: `/** ${labelName}表格配置 */
267
+ const ${keyName}TableProps = reactive(${obj2Str(props.tableProps || {}, false, 0)});`
268
+ });
269
+ } else if (item.type === "checkCard" || item.type === "multipleCheckCard" || item.type === "steps") {
270
+ props.items = new JsVar({
271
+ name: `${keyName}Items`,
272
+ code: `/** ${labelName}数据 */
273
+ const ${keyName}Items = ref(${obj2Str(props.items || [], false, 0)});`
274
+ });
275
+ } else if (item.type === "virtualTreeSelect" || item.type === "virtualTreeMultipleSelect") {
276
+ props.treeProps = new JsVar({
277
+ name: `${keyName}TreeProps`,
278
+ code: `/** ${labelName}树配置 */
279
+ const ${keyName}TreeProps = ref(${obj2Str(props.treeProps || {}, false, 0)});`
280
+ });
281
+ } else if (item.type === "transfer" || item.type === "treeSelect" || item.type === "treeMultipleSelect") {
282
+ props.data = new JsVar({
283
+ name: `${keyName}Data`,
284
+ code: `/** ${labelName}数据 */
285
+ const ${keyName}Data = ref(${obj2Str(props.data || [], false, 0)});`
286
+ });
287
+ } else if (item.type === "select" || item.type === "multipleSelect" || item.type === "radio" || item.type === "radioButton" || item.type === "checkbox" || item.type === "checkboxButton") {
288
+ const options = props.options || [];
289
+ if (!Array.isArray(data)) {
290
+ props.options = new JsVar({
291
+ name: `${keyName}Options`,
292
+ code: `/** ${labelName}选项数据 */
293
+ const ${keyName}Options = ref(${obj2Str(options, false, 0)});`
294
+ });
295
+ }
296
+ } else if (item.type === "mention") {
297
+ props.options = new JsVar({
298
+ name: `${keyName}Options`,
299
+ code: `/** ${labelName}选项数据 */
300
+ const ${keyName}Options = ref(${obj2Str(props.options || [], false, 0)});`
301
+ });
302
+ } else if (item.type === "autocomplete") {
303
+ props.fetchSuggestions = new JsVar({
304
+ name: `${keyName}FetchSuggestions`,
305
+ code: `/** ${labelName}建议数据 */
306
+ const ${keyName}FetchSuggestions = ref(${obj2Str(props.fetchSuggestions || [], false, 0)});`
307
+ });
308
+ }
309
+ return props;
310
+ }
311
+ function getImportAndVarCode(config) {
312
+ const imports = /* @__PURE__ */ new Set([]);
313
+ const codes = /* @__PURE__ */ new Set([]);
314
+ eachTree(config.items, (item) => {
315
+ if (item.type === "imageUpload") {
316
+ imports.add(
317
+ `import ImageUpload from '@/components/ImageUpload/index';`
318
+ );
319
+ } else if (item.type === "fileUpload") {
320
+ imports.add(
321
+ `import FileUpload from '@/components/FileUpload/index';`
322
+ );
323
+ } else if (item.type === "regions") {
324
+ imports.add(
325
+ `import RegionsSelect from '@/components/RegionsSelect/index';`
326
+ );
327
+ } else if (item.type === "editor") {
328
+ imports.add(
329
+ `import TinymceEditor from '@/components/TinymceEditor/index';`
330
+ );
331
+ }
332
+ });
333
+ if (config.showSearchExpand) {
334
+ imports.add(`import { ArrowUp } from '@/components/icons';`);
335
+ imports.add(`import { ArrowDown } from '@/components/icons';`);
336
+ }
337
+ const proImports = /* @__PURE__ */ new Set([]);
338
+ const proCodes = /* @__PURE__ */ new Set([]);
339
+ JSON.stringify(config, (_jk, jv) => {
340
+ const jsVar = transformJsVar(jv);
341
+ if (jsVar != null) {
342
+ if (jsVar.imports) {
343
+ jsVar.imports.forEach((code) => {
344
+ imports.add(code);
345
+ });
346
+ }
347
+ if (jsVar.code) {
348
+ codes.add(jsVar.code);
349
+ }
350
+ if (jsVar.proImports) {
351
+ jsVar.proImports.forEach((code) => {
352
+ proImports.add(code);
353
+ });
354
+ }
355
+ if (jsVar.proCode) {
356
+ proCodes.add(jsVar.proCode);
357
+ }
358
+ }
359
+ return jv;
360
+ });
361
+ return {
362
+ imports: [
363
+ `import { ref, reactive, computed, nextTick } from 'vue';`,
364
+ `import { useFormData } from '@/utils/use-form-data';`,
365
+ `import httpRequest from '@/utils/request';`,
366
+ ...imports
367
+ ],
368
+ codes: [...codes],
369
+ proImports: [
370
+ `import { reactive } from 'vue';`,
371
+ `import { useFormData } from '@/utils/use-form-data';`,
372
+ `import { getFormInitValue } from '@/components/ProForm/util';`,
373
+ `import ProForm from '@/components/ProForm/index';`,
374
+ ...proImports
375
+ ],
376
+ proCodes: [...proCodes]
377
+ };
378
+ }
379
+ function getElNormalizeItems(formItems, componentData, itemTypeData) {
380
+ const items = mapTree(formItems, (item) => {
381
+ return {
382
+ ...item,
383
+ props: getComponentProps(item, componentData, itemTypeData),
384
+ initValue: void 0
385
+ };
386
+ });
387
+ return JSON.parse(JSON.stringify(items));
388
+ }
389
+ function generateElFormCode(data, componentData, itemTypeData) {
390
+ const config = JSON.parse(
391
+ JSON.stringify({ ...data || {}, items: (data == null ? void 0 : data.items) || [] })
392
+ );
393
+ const formInitValue = getFormInitValue(config.items, itemTypeData);
394
+ config.items = getElNormalizeItems(config.items, componentData, itemTypeData);
395
+ const elFormProps = pick(config, [
396
+ "labelPosition",
397
+ "requireAsteriskPosition",
398
+ "labelWidth",
399
+ "labelSuffix",
400
+ "inline",
401
+ "inlineMessage",
402
+ "statusIcon",
403
+ "showMessage",
404
+ "validateOnRuleChange",
405
+ "hideRequiredAsterisk",
406
+ "scrollToError",
407
+ "scrollIntoViewOptions",
408
+ "size",
409
+ "disabled",
410
+ "style",
411
+ "class"
412
+ ]);
413
+ const sfe = config.showSearchExpand;
414
+ const formContentCode = generateContentCode(
415
+ config,
416
+ sfe,
417
+ componentData,
418
+ itemTypeData
419
+ );
420
+ const { imports, codes } = getImportAndVarCode(config);
421
+ const refNamesCode = config.items.map(
422
+ (item) => `${getComponentRefName(item)}: ${getComponentRefName(item)}.value`
423
+ ).join(",\n ");
424
+ codes.push(`/** 获取组件引用 */
425
+ const getProFormRefs = () => {
426
+ return {
427
+ ${refNamesCode}
428
+ };
429
+ };`);
430
+ codes.push(`/** 表单项数量 */
431
+ const items = { length: ${config.items.length} };`);
432
+ const templateData = {
433
+ modelCode: obj2Str(formInitValue, false, 2),
434
+ formContentCode,
435
+ formPropsCode: generatePropsCode(elFormProps, false, 4, false),
436
+ formRuleCode: generateRuleCode(config.items, componentData, itemTypeData),
437
+ formImportCode: imports.join("\n "),
438
+ formVarCode: addIndentChar(codes.join("\n\n"), " "),
439
+ showFooterExpand: sfe
440
+ };
441
+ return templateEngine(formTemplate, templateData);
442
+ }
443
+ function generateProFormCode(data) {
444
+ const config = JSON.parse(
445
+ JSON.stringify({ ...data || {}, items: (data == null ? void 0 : data.items) || [] })
446
+ );
447
+ const sfe = config.showSearchExpand;
448
+ if (sfe) {
449
+ config.submitText = "搜索";
450
+ }
451
+ const { proImports, proCodes } = getImportAndVarCode(config);
452
+ const templateData = {
453
+ proFormConfigCode: obj2Str(config, false, 2, () => void 0),
454
+ proFormImportCode: proImports.join("\n "),
455
+ proFormVarCode: addIndentChar(proCodes.join("\n\n"), " "),
456
+ showFooterExpand: sfe
457
+ };
458
+ return templateEngine(proTemplate, templateData);
459
+ }
460
+ export {
461
+ generateColProps,
462
+ generateComponentProps,
463
+ generateContentCode,
464
+ generateElFormCode,
465
+ generateFooterCode,
466
+ generateFormItemProps,
467
+ generateItemComponentCode,
468
+ generateProFormCode,
469
+ generateRuleCode,
470
+ getComponentProps,
471
+ getDivTag,
472
+ getElNormalizeItems,
473
+ getImportAndVarCode,
474
+ getItemComponentTag,
475
+ getUploadValidatorCode
476
+ };
@@ -1,17 +1,9 @@
1
- import { TemplateFormConfig } from '../types';
2
-
3
- /**
4
- * 预览界面获取对应的 js 变量
5
- */
6
- export type JsCodeFunc = (form: Record<string, any>, config: TemplateFormConfig) => any;
7
1
  /**
8
2
  * 标识 js 变量名
9
3
  */
10
4
  export declare class JsVar {
11
- /** 生成 ElForm 代码时显示的变量名称 */
5
+ /** 生成代码时显示的变量名称 */
12
6
  name?: string;
13
- /** 生成 ProForm 代码时显示的变量名称 */
14
- proName?: string;
15
7
  /** 生成 ElForm 代码时添加的声明代码 */
16
8
  code?: string;
17
9
  /** 生成 ProForm 代码时添加的声明代码 */
@@ -20,8 +12,6 @@ export declare class JsVar {
20
12
  imports?: string[];
21
13
  /** 生成 ProForm 代码时添加的导入代码 */
22
14
  proImports?: string[];
23
- /** ProForm 预览界面获取对应的 js 变量 */
24
- jsCode?: JsCodeFunc;
25
15
  /** 转 JSON 时标识是 JsVar 对象 */
26
16
  __isJsVar: boolean;
27
17
  constructor(props: Omit<JsVar, '__isJsVar'>);
@@ -33,12 +23,7 @@ export declare class JsVar {
33
23
  */
34
24
  export declare function removePrefixStr(content: string, prefix: string | string[]): string;
35
25
  /**
36
- * JSON 数据转换 JsVar 对象
26
+ * JSON 数据值转换 JsVar 对象
37
27
  * @param jv JSON 解析后的值
38
28
  */
39
29
  export declare function transformJsVar(jv: any): JsVar | undefined;
40
- /**
41
- * 生成 ProForm 代码时的 JSON 数据转换 JsVar 对象
42
- * @param jv JSON 解析后的值
43
- */
44
- export declare function transformProJsVar(jv: any): JsVar | undefined;
@@ -1,14 +1,11 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { markRaw } from "vue";
5
- import * as ALL_ICONS from "../../icons";
4
+ import { codeStringPrefix } from "../../ele-pro-form/components/render-util";
6
5
  class JsVar {
7
6
  constructor(props) {
8
- /** 生成 ElForm 代码时显示的变量名称 */
7
+ /** 生成代码时显示的变量名称 */
9
8
  __publicField(this, "name");
10
- /** 生成 ProForm 代码时显示的变量名称 */
11
- __publicField(this, "proName");
12
9
  /** 生成 ElForm 代码时添加的声明代码 */
13
10
  __publicField(this, "code");
14
11
  /** 生成 ProForm 代码时添加的声明代码 */
@@ -17,17 +14,13 @@ class JsVar {
17
14
  __publicField(this, "imports");
18
15
  /** 生成 ProForm 代码时添加的导入代码 */
19
16
  __publicField(this, "proImports");
20
- /** ProForm 预览界面获取对应的 js 变量 */
21
- __publicField(this, "jsCode");
22
17
  /** 转 JSON 时标识是 JsVar 对象 */
23
18
  __publicField(this, "__isJsVar", true);
24
19
  this.name = props.name;
25
- this.proName = props.proName;
26
20
  this.code = props.code;
27
21
  this.proCode = props.proCode;
28
22
  this.imports = props.imports;
29
23
  this.proImports = props.proImports;
30
- this.jsCode = props.jsCode;
31
24
  }
32
25
  }
33
26
  function removePrefixStr(content, prefix) {
@@ -44,87 +37,25 @@ function removePrefixStr(content, prefix) {
44
37
  return result;
45
38
  }
46
39
  function transformJsVar(jv) {
47
- if (jv == null) {
48
- return;
49
- }
50
- if (typeof jv === "string") {
51
- if (jv.startsWith("__PRO_FORM_ICON__") || jv.startsWith("/*__PRO_FORM_ICON__*/")) {
52
- const icon = removePrefixStr(jv, [
53
- "__PRO_FORM_ICON__",
54
- "/*__PRO_FORM_ICON__*/"
55
- ]);
56
- return new JsVar({
57
- name: icon,
58
- proName: `markRaw(${icon})`,
59
- imports: [`import { ${icon} } from '@/components/icons';`],
60
- proImports: [
61
- `import { markRaw } from 'vue';`,
62
- `import { ${icon} } from '@/components/icons';`
63
- ],
64
- jsCode: () => markRaw(ALL_ICONS[icon] ?? ALL_ICONS.UserOutlined)
65
- });
40
+ if (jv != null) {
41
+ if (typeof jv === "string") {
42
+ if (jv.startsWith(codeStringPrefix)) {
43
+ const codeName = removePrefixStr(jv, [codeStringPrefix]);
44
+ return new JsVar({ name: codeName });
45
+ }
66
46
  }
67
- if (jv.startsWith("__PRO_FORM__") || jv.startsWith("/*__PRO_FORM__*/")) {
68
- const codeName = removePrefixStr(jv, [
69
- "__PRO_FORM__",
70
- "/*__PRO_FORM__*/"
71
- ]);
72
- if (codeName === "searchExpand") {
73
- return new JsVar({
74
- name: `form.${codeName}`,
75
- proName: `'${codeName}'`,
76
- jsCode: (form) => {
77
- return () => form.searchExpand ?? false;
78
- }
79
- });
47
+ if (typeof jv === "object") {
48
+ if (jv instanceof JsVar) {
49
+ return jv;
50
+ }
51
+ if (jv.__isJsVar === true && jv.name != null) {
52
+ return new JsVar(jv);
80
53
  }
81
- return new JsVar({
82
- name: codeName.replace(/formItems\.length/g, "formItemsLength"),
83
- proName: codeName,
84
- code: "const formItemsLength = 0;",
85
- jsCode: (form, config) => {
86
- try {
87
- return new Function(
88
- "form",
89
- "items",
90
- "searchExpand",
91
- "formItems",
92
- "formData",
93
- `return (${codeName})`
94
- )(
95
- form,
96
- config.items,
97
- form.searchExpand ?? false,
98
- config.items,
99
- form
100
- );
101
- } catch (_e) {
102
- return codeName;
103
- }
104
- }
105
- });
106
54
  }
107
55
  }
108
- if (typeof jv !== "object") {
109
- return;
110
- }
111
- if (jv instanceof JsVar) {
112
- return jv;
113
- }
114
- if (jv.__isJsVar === true && (jv.name != null || jv.proName != null)) {
115
- return new JsVar(jv);
116
- }
117
- }
118
- function transformProJsVar(jv) {
119
- const jsVar = transformJsVar(jv);
120
- if (jsVar != null) {
121
- return new JsVar({ ...jsVar, name: jsVar.proName });
122
- }
123
- return jsVar;
124
56
  }
125
57
  export {
126
58
  JsVar,
127
59
  removePrefixStr,
128
- transformJsVar,
129
- transformProJsVar
60
+ transformJsVar
130
61
  };