vxe-pc-ui 4.20.34 → 4.20.35

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 (367) hide show
  1. package/dist/all.esm.js +45718 -45038
  2. package/dist/all.esm.min.js +3 -3
  3. package/dist/style.css +307 -1
  4. package/dist/style.mini.css +1 -1
  5. package/es/alert/src/alert.js +117 -114
  6. package/es/anchor/src/anchor-link.js +110 -107
  7. package/es/anchor/src/anchor.js +212 -209
  8. package/es/avatar/src/avatar.js +132 -129
  9. package/es/backtop/src/backtop.js +267 -264
  10. package/es/badge/src/badge.js +102 -99
  11. package/es/breadcrumb/src/breadcrumb-item.js +104 -101
  12. package/es/breadcrumb/src/breadcrumb.js +70 -67
  13. package/es/button/src/button-group.js +88 -85
  14. package/es/calendar/src/calendar.js +1371 -1368
  15. package/es/card/src/card.js +235 -232
  16. package/es/carousel/src/carousel-item.js +78 -75
  17. package/es/carousel/src/carousel.js +392 -389
  18. package/es/cascader/src/cascader.js +1667 -1664
  19. package/es/checkbox/src/button.js +198 -195
  20. package/es/checkbox/src/checkbox.js +181 -178
  21. package/es/checkbox/src/group.js +210 -207
  22. package/es/collapse/src/collapse-pane.js +98 -95
  23. package/es/collapse/src/collapse.js +340 -337
  24. package/es/color-picker/src/color-picker.js +1116 -1113
  25. package/es/components.d.ts +1 -0
  26. package/es/components.js +3 -0
  27. package/es/context-menu/src/context-menu.js +601 -598
  28. package/es/countdown/src/countdown.js +224 -221
  29. package/es/date-panel/src/date-panel.js +1905 -1902
  30. package/es/date-picker/src/date-picker.js +1537 -1534
  31. package/es/date-range-picker/src/date-range-picker.js +1412 -1409
  32. package/es/divider/src/divider.js +80 -77
  33. package/es/drawer/src/drawer.js +778 -775
  34. package/es/empty/src/empty.js +100 -97
  35. package/es/form/src/form-group.js +74 -71
  36. package/es/form/src/form-item.js +76 -73
  37. package/es/form/src/form.js +789 -786
  38. package/es/icon/src/icon.js +59 -56
  39. package/es/icon/style.css +1 -1
  40. package/es/icon/style.mini.css +1 -1
  41. package/es/icon-picker/src/icon-picker.js +719 -716
  42. package/es/image/src/group.js +130 -127
  43. package/es/image/src/image.js +243 -240
  44. package/es/image/src/preview.js +627 -624
  45. package/es/index.esm.js +2 -0
  46. package/es/index.js +2 -0
  47. package/es/input/src/input.js +2700 -2697
  48. package/es/layout-aside/src/layout-aside.js +138 -135
  49. package/es/layout-body/src/layout-body.js +145 -142
  50. package/es/layout-container/src/layout-container.js +71 -68
  51. package/es/layout-footer/src/layout-footer.js +60 -57
  52. package/es/layout-header/src/layout-header.js +58 -55
  53. package/es/link/src/link.js +131 -128
  54. package/es/list/src/list.js +2174 -2171
  55. package/es/loading/src/loading.js +141 -138
  56. package/es/mention/src/mention.js +49 -46
  57. package/es/menu/src/menu.js +799 -796
  58. package/es/modal/src/modal.js +1519 -1527
  59. package/es/notice-bar/src/notice-bar.js +168 -165
  60. package/es/number-input/src/number-input.js +1094 -1091
  61. package/es/pager/src/pager.js +767 -764
  62. package/es/password-input/src/password-input.js +431 -428
  63. package/es/print/src/page-break.js +63 -60
  64. package/es/print/src/print.js +303 -300
  65. package/es/pulldown/src/pulldown.js +403 -400
  66. package/es/radio/src/button.js +214 -211
  67. package/es/radio/src/group.js +195 -192
  68. package/es/radio/src/radio.js +194 -191
  69. package/es/rate/src/rate.js +164 -161
  70. package/es/result/src/result.js +116 -113
  71. package/es/row/src/col.js +133 -130
  72. package/es/row/src/row.js +111 -108
  73. package/es/scrollbar/src/scrollbar.js +518 -515
  74. package/es/segmented/src/segmented.js +240 -237
  75. package/es/select/src/optgroup.js +44 -41
  76. package/es/select/src/option.js +39 -36
  77. package/es/select/src/select.js +1914 -1896
  78. package/es/slider/src/slider.js +419 -416
  79. package/es/space/src/space.js +190 -187
  80. package/es/splitter/src/splitter-panel.js +146 -143
  81. package/es/splitter/src/splitter.js +917 -914
  82. package/es/step-item/index.d.ts +76 -0
  83. package/es/step-item/index.js +17 -0
  84. package/es/steps/index.d.ts +288 -34
  85. package/es/steps/src/step-info.d.ts +6 -0
  86. package/es/steps/src/step-info.js +20 -0
  87. package/es/steps/src/step-item.d.ts +14 -0
  88. package/es/steps/src/step-item.js +39 -0
  89. package/es/steps/src/steps.d.ts +68 -8
  90. package/es/steps/src/steps.js +299 -47
  91. package/es/steps/src/util.d.ts +7 -0
  92. package/es/steps/src/util.js +44 -0
  93. package/es/steps/style.css +297 -0
  94. package/es/steps/style.mini.css +1 -0
  95. package/es/style.css +307 -1
  96. package/es/style.mini.css +1 -1
  97. package/es/switch/src/switch.js +228 -225
  98. package/es/table-select/src/table-select.js +865 -862
  99. package/es/table-transfer/src/table-transfer.js +61 -58
  100. package/es/tabs/src/tab-pane.js +102 -99
  101. package/es/tabs/src/tabs.js +936 -933
  102. package/es/tag/src/tag.js +163 -160
  103. package/es/text/src/text.js +232 -229
  104. package/es/text-ellipsis/src/text-ellipsis.js +252 -249
  105. package/es/textarea/src/textarea.js +434 -431
  106. package/es/timeline/src/timeline.js +74 -36
  107. package/es/timeline/src/util.js +7 -4
  108. package/es/tip/src/tip.js +117 -114
  109. package/es/tooltip/src/tooltip.js +552 -549
  110. package/es/tour/src/tour.js +49 -46
  111. package/es/transfer/src/transfer.js +95 -92
  112. package/es/tree/src/tree.js +3379 -3376
  113. package/es/tree-select/src/tree-select.js +969 -966
  114. package/es/ui/index.js +8 -2
  115. package/es/ui/src/log.js +1 -1
  116. package/es/upload/src/upload.js +1791 -1788
  117. package/es/vxe-icon/style.css +1 -1
  118. package/es/vxe-icon/style.mini.css +1 -1
  119. package/es/vxe-steps/style.css +297 -0
  120. package/es/vxe-steps/style.mini.css +1 -0
  121. package/es/watermark/src/watermark.js +158 -155
  122. package/lib/alert/src/alert.js +117 -114
  123. package/lib/anchor/src/anchor-link.js +110 -107
  124. package/lib/anchor/src/anchor.js +212 -209
  125. package/lib/avatar/src/avatar.js +132 -129
  126. package/lib/backtop/src/backtop.js +267 -264
  127. package/lib/badge/src/badge.js +102 -99
  128. package/lib/breadcrumb/src/breadcrumb-item.js +104 -101
  129. package/lib/breadcrumb/src/breadcrumb.js +70 -67
  130. package/lib/button/src/button-group.js +88 -85
  131. package/lib/calendar/src/calendar.js +1371 -1368
  132. package/lib/card/src/card.js +235 -232
  133. package/lib/carousel/src/carousel-item.js +78 -75
  134. package/lib/carousel/src/carousel.js +392 -389
  135. package/lib/cascader/src/cascader.js +1665 -1662
  136. package/lib/checkbox/src/button.js +198 -195
  137. package/lib/checkbox/src/checkbox.js +181 -178
  138. package/lib/checkbox/src/group.js +210 -207
  139. package/lib/collapse/src/collapse-pane.js +98 -95
  140. package/lib/collapse/src/collapse.js +340 -337
  141. package/lib/color-picker/src/color-picker.js +1116 -1113
  142. package/lib/components.js +3 -0
  143. package/lib/context-menu/src/context-menu.js +601 -598
  144. package/lib/countdown/src/countdown.js +224 -221
  145. package/lib/date-panel/src/date-panel.js +1905 -1902
  146. package/lib/date-picker/src/date-picker.js +1537 -1534
  147. package/lib/date-range-picker/src/date-range-picker.js +1412 -1409
  148. package/lib/divider/src/divider.js +80 -77
  149. package/lib/drawer/src/drawer.js +778 -775
  150. package/lib/empty/src/empty.js +100 -97
  151. package/lib/form/src/form-group.js +74 -71
  152. package/lib/form/src/form-item.js +76 -73
  153. package/lib/form/src/form.js +789 -786
  154. package/lib/icon/src/icon.js +59 -56
  155. package/lib/icon/style/style.css +1 -1
  156. package/lib/icon/style/style.mini.css +1 -1
  157. package/lib/icon-picker/src/icon-picker.js +719 -716
  158. package/lib/image/src/group.js +130 -127
  159. package/lib/image/src/image.js +243 -240
  160. package/lib/image/src/preview.js +627 -624
  161. package/lib/index.common.js +2 -0
  162. package/lib/index.js +2 -0
  163. package/lib/index.umd.js +47411 -46732
  164. package/lib/index.umd.min.js +3 -3
  165. package/lib/input/src/input.js +2700 -2697
  166. package/lib/layout-aside/src/layout-aside.js +138 -135
  167. package/lib/layout-body/src/layout-body.js +145 -142
  168. package/lib/layout-container/src/layout-container.js +71 -68
  169. package/lib/layout-footer/src/layout-footer.js +60 -57
  170. package/lib/layout-header/src/layout-header.js +58 -55
  171. package/lib/link/src/link.js +131 -128
  172. package/lib/list/src/list.js +2173 -2170
  173. package/lib/loading/src/loading.js +141 -138
  174. package/lib/mention/src/mention.js +49 -46
  175. package/lib/menu/src/menu.js +799 -796
  176. package/lib/modal/src/modal.js +1519 -1527
  177. package/lib/notice-bar/src/notice-bar.js +168 -165
  178. package/lib/number-input/src/number-input.js +1094 -1091
  179. package/lib/pager/src/pager.js +767 -764
  180. package/lib/password-input/src/password-input.js +431 -428
  181. package/lib/print/src/page-break.js +63 -60
  182. package/lib/print/src/print.js +303 -300
  183. package/lib/pulldown/src/pulldown.js +403 -400
  184. package/lib/radio/src/button.js +214 -211
  185. package/lib/radio/src/group.js +195 -192
  186. package/lib/radio/src/radio.js +194 -191
  187. package/lib/rate/src/rate.js +164 -161
  188. package/lib/result/src/result.js +116 -113
  189. package/lib/row/src/col.js +133 -130
  190. package/lib/row/src/row.js +111 -108
  191. package/lib/scrollbar/src/scrollbar.js +518 -515
  192. package/lib/segmented/src/segmented.js +240 -237
  193. package/lib/select/src/optgroup.js +44 -41
  194. package/lib/select/src/option.js +39 -36
  195. package/lib/select/src/select.js +1915 -1897
  196. package/lib/slider/src/slider.js +419 -416
  197. package/lib/space/src/space.js +190 -187
  198. package/lib/splitter/src/splitter-panel.js +146 -143
  199. package/lib/splitter/src/splitter.js +917 -914
  200. package/lib/step-item/index.js +47 -0
  201. package/lib/steps/src/step-info.js +49 -0
  202. package/lib/steps/src/step-item.js +59 -0
  203. package/lib/steps/src/steps.js +298 -46
  204. package/lib/steps/src/util.js +74 -0
  205. package/lib/steps/style/style.css +297 -0
  206. package/lib/steps/style/style.mini.css +1 -0
  207. package/lib/style.css +307 -1
  208. package/lib/style.mini.css +1 -1
  209. package/lib/switch/src/switch.js +228 -225
  210. package/lib/table-select/src/table-select.js +865 -862
  211. package/lib/table-transfer/src/table-transfer.js +61 -58
  212. package/lib/tabs/src/tab-pane.js +102 -99
  213. package/lib/tabs/src/tabs.js +936 -933
  214. package/lib/tag/src/tag.js +163 -160
  215. package/lib/text/src/text.js +232 -229
  216. package/lib/text-ellipsis/src/text-ellipsis.js +252 -249
  217. package/lib/textarea/src/textarea.js +434 -431
  218. package/lib/timeline/src/timeline.js +74 -36
  219. package/lib/timeline/src/util.js +7 -4
  220. package/lib/tip/src/tip.js +117 -114
  221. package/lib/tooltip/src/tooltip.js +552 -549
  222. package/lib/tour/src/tour.js +49 -46
  223. package/lib/transfer/src/transfer.js +95 -92
  224. package/lib/tree/src/tree.js +3379 -3376
  225. package/lib/tree-select/src/tree-select.js +969 -966
  226. package/lib/ui/index.js +8 -2
  227. package/lib/ui/src/log.js +1 -1
  228. package/lib/upload/src/upload.js +1788 -1785
  229. package/lib/vxe-icon/style/style.css +1 -1
  230. package/lib/vxe-icon/style/style.mini.css +1 -1
  231. package/lib/vxe-steps/style/style.css +297 -0
  232. package/lib/vxe-steps/style/style.mini.css +1 -0
  233. package/lib/watermark/src/watermark.js +158 -155
  234. package/package.json +1 -1
  235. package/packages/alert/src/alert.ts +2 -2
  236. package/packages/anchor/src/anchor-link.ts +2 -2
  237. package/packages/anchor/src/anchor.ts +2 -2
  238. package/packages/avatar/src/avatar.ts +2 -2
  239. package/packages/backtop/src/backtop.ts +2 -2
  240. package/packages/badge/src/badge.ts +2 -2
  241. package/packages/breadcrumb/src/breadcrumb-item.ts +2 -2
  242. package/packages/breadcrumb/src/breadcrumb.ts +2 -2
  243. package/packages/button/src/button-group.ts +2 -2
  244. package/packages/calendar/src/calendar.ts +2 -2
  245. package/packages/card/src/card.ts +2 -2
  246. package/packages/carousel/src/carousel-item.ts +2 -2
  247. package/packages/carousel/src/carousel.ts +2 -2
  248. package/packages/cascader/src/cascader.ts +2 -2
  249. package/packages/checkbox/src/button.ts +3 -15
  250. package/packages/checkbox/src/checkbox.ts +2 -2
  251. package/packages/checkbox/src/group.ts +2 -2
  252. package/packages/collapse/src/collapse-pane.ts +2 -2
  253. package/packages/collapse/src/collapse.ts +2 -2
  254. package/packages/color-picker/src/color-picker.ts +2 -2
  255. package/packages/components.ts +3 -0
  256. package/packages/context-menu/src/context-menu.ts +3 -16
  257. package/packages/countdown/src/countdown.ts +2 -2
  258. package/packages/date-panel/src/date-panel.ts +2 -2
  259. package/packages/date-picker/src/date-picker.ts +2 -2
  260. package/packages/date-range-picker/src/date-range-picker.ts +2 -2
  261. package/packages/divider/src/divider.ts +2 -2
  262. package/packages/drawer/src/drawer.ts +2 -2
  263. package/packages/empty/src/empty.ts +2 -2
  264. package/packages/form/src/form-group.ts +2 -2
  265. package/packages/form/src/form-item.ts +2 -2
  266. package/packages/form/src/form.ts +2 -2
  267. package/packages/icon/src/icon.ts +2 -2
  268. package/packages/icon-picker/src/icon-picker.ts +2 -2
  269. package/packages/image/src/group.ts +2 -2
  270. package/packages/image/src/image.ts +2 -2
  271. package/packages/image/src/preview.ts +3 -16
  272. package/packages/index.ts +2 -2
  273. package/packages/input/src/input.ts +2 -2
  274. package/packages/layout-aside/src/layout-aside.ts +2 -2
  275. package/packages/layout-body/src/layout-body.ts +2 -2
  276. package/packages/layout-container/src/layout-container.ts +3 -14
  277. package/packages/layout-footer/src/layout-footer.ts +2 -2
  278. package/packages/layout-header/src/layout-header.ts +2 -2
  279. package/packages/link/src/link.ts +2 -2
  280. package/packages/list/src/list.ts +2 -2
  281. package/packages/loading/src/loading.ts +2 -2
  282. package/packages/mention/src/mention.ts +2 -2
  283. package/packages/menu/src/menu.ts +2 -2
  284. package/packages/modal/src/modal.ts +5 -20
  285. package/packages/notice-bar/src/notice-bar.ts +2 -2
  286. package/packages/number-input/src/number-input.ts +3 -17
  287. package/packages/pager/src/pager.ts +2 -2
  288. package/packages/password-input/src/password-input.ts +2 -2
  289. package/packages/print/src/page-break.ts +2 -2
  290. package/packages/print/src/print.ts +2 -2
  291. package/packages/pulldown/src/pulldown.ts +2 -2
  292. package/packages/radio/src/button.ts +3 -16
  293. package/packages/radio/src/group.ts +3 -17
  294. package/packages/radio/src/radio.ts +2 -2
  295. package/packages/rate/src/rate.ts +2 -2
  296. package/packages/result/src/result.ts +2 -2
  297. package/packages/row/src/col.ts +2 -2
  298. package/packages/row/src/row.ts +2 -2
  299. package/packages/scrollbar/src/scrollbar.ts +3 -4
  300. package/packages/segmented/src/segmented.ts +2 -2
  301. package/packages/select/src/optgroup.ts +2 -2
  302. package/packages/select/src/option.ts +2 -2
  303. package/packages/select/src/select.ts +33 -19
  304. package/packages/slider/src/slider.ts +2 -2
  305. package/packages/space/src/space.ts +2 -2
  306. package/packages/splitter/src/splitter-panel.ts +2 -2
  307. package/packages/splitter/src/splitter.ts +2 -2
  308. package/packages/step-item/index.ts +16 -0
  309. package/packages/steps/src/step-info.ts +18 -0
  310. package/packages/steps/src/step-item.ts +41 -0
  311. package/packages/steps/src/steps.ts +273 -13
  312. package/packages/steps/src/util.ts +44 -0
  313. package/packages/switch/src/switch.ts +2 -2
  314. package/packages/table-select/src/table-select.ts +2 -2
  315. package/packages/table-transfer/src/table-transfer.ts +3 -15
  316. package/packages/tabs/src/tab-pane.ts +2 -2
  317. package/packages/tabs/src/tabs.ts +2 -2
  318. package/packages/tag/src/tag.ts +2 -2
  319. package/packages/text/src/text.ts +2 -2
  320. package/packages/text-ellipsis/src/text-ellipsis.ts +2 -2
  321. package/packages/textarea/src/textarea.ts +2 -2
  322. package/packages/timeline/src/timeline-info.ts +17 -17
  323. package/packages/timeline/src/timeline.ts +93 -49
  324. package/packages/timeline/src/util.ts +44 -41
  325. package/packages/tip/src/tip.ts +2 -2
  326. package/packages/tooltip/src/tooltip.ts +2 -2
  327. package/packages/tour/src/tour.ts +2 -2
  328. package/packages/transfer/src/transfer.ts +2 -2
  329. package/packages/tree/src/tree.ts +2 -2
  330. package/packages/tree-select/src/tree-select.ts +2 -2
  331. package/packages/ui/index.ts +8 -1
  332. package/packages/upload/src/upload.ts +2 -2
  333. package/packages/watermark/src/watermark.ts +2 -2
  334. package/styles/all.scss +1 -0
  335. package/styles/components/step-item.scss +0 -0
  336. package/styles/components/steps.scss +354 -0
  337. package/styles/theme/base.scss +9 -0
  338. package/types/all.d.ts +3 -0
  339. package/types/components/gantt.d.ts +1 -3
  340. package/types/components/select.d.ts +1 -13
  341. package/types/components/step-item.d.ts +72 -0
  342. package/types/components/steps.d.ts +67 -8
  343. package/types/components/table.d.ts +7 -66
  344. package/types/handles/form-design.d.ts +1 -4
  345. package/types/ui/global-config.d.ts +2 -0
  346. package/types/ui/global-icon.d.ts +7 -0
  347. /package/dist/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  348. /package/dist/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  349. /package/dist/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  350. /package/es/icon/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  351. /package/es/icon/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  352. /package/es/icon/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  353. /package/es/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  354. /package/es/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  355. /package/es/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  356. /package/es/vxe-icon/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  357. /package/es/vxe-icon/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  358. /package/es/vxe-icon/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  359. /package/lib/icon/style/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  360. /package/lib/icon/style/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  361. /package/lib/icon/style/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  362. /package/lib/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  363. /package/lib/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  364. /package/lib/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  365. /package/lib/vxe-icon/style/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  366. /package/lib/vxe-icon/style/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  367. /package/lib/vxe-icon/style/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
@@ -149,849 +149,852 @@ function createInternalData() {
149
149
  fullItemFieldData: {}
150
150
  };
151
151
  }
152
- var form_default = defineVxeComponent({
153
- name: "VxeForm",
154
- props: {
155
- collapseStatus: {
156
- type: Boolean,
157
- default: true
158
- },
159
- loading: Boolean,
160
- data: Object,
161
- size: {
162
- type: String,
163
- default: () => getConfig().form.size || getConfig().size
164
- },
165
- span: {
166
- type: [String, Number],
167
- default: () => getConfig().form.span
168
- },
169
- align: {
170
- type: String,
171
- default: () => getConfig().form.align
172
- },
173
- verticalAlign: {
174
- type: String,
175
- default: () => getConfig().form.verticalAlign
176
- },
177
- border: {
178
- type: Boolean,
179
- default: () => getConfig().form.border
180
- },
181
- titleBackground: {
182
- type: Boolean,
183
- default: () => getConfig().form.titleBackground
184
- },
185
- titleBold: {
186
- type: Boolean,
187
- default: () => getConfig().form.titleBold
188
- },
189
- titleAlign: {
190
- type: String,
191
- default: () => getConfig().form.titleAlign
192
- },
193
- titleWidth: {
194
- type: [String, Number],
195
- default: () => getConfig().form.titleWidth
196
- },
197
- titleColon: {
198
- type: Boolean,
199
- default: () => getConfig().form.titleColon
200
- },
201
- titleAsterisk: {
202
- type: Boolean,
203
- default: () => getConfig().form.titleAsterisk
204
- },
205
- titleOverflow: {
206
- type: [Boolean, String],
207
- default: () => getConfig().form.titleOverflow
208
- },
209
- vertical: {
210
- type: Boolean,
211
- default: () => getConfig().form.vertical
212
- },
213
- padding: {
214
- type: Boolean,
215
- default: () => getConfig().form.padding
216
- },
217
- className: [String, Function],
218
- readonly: Boolean,
219
- disabled: Boolean,
220
- items: Array,
221
- rules: Object,
222
- preventSubmit: {
223
- type: Boolean,
224
- default: () => getConfig().form.preventSubmit
225
- },
226
- validConfig: Object,
227
- tooltipConfig: Object,
228
- collapseConfig: Object,
229
- customLayout: {
230
- type: Boolean,
231
- default: () => getConfig().form.customLayout
152
+ var form_default = (
153
+ /* define-vxe-component start */
154
+ defineVxeComponent({
155
+ name: "VxeForm",
156
+ props: {
157
+ collapseStatus: {
158
+ type: Boolean,
159
+ default: true
160
+ },
161
+ loading: Boolean,
162
+ data: Object,
163
+ size: {
164
+ type: String,
165
+ default: () => getConfig().form.size || getConfig().size
166
+ },
167
+ span: {
168
+ type: [String, Number],
169
+ default: () => getConfig().form.span
170
+ },
171
+ align: {
172
+ type: String,
173
+ default: () => getConfig().form.align
174
+ },
175
+ verticalAlign: {
176
+ type: String,
177
+ default: () => getConfig().form.verticalAlign
178
+ },
179
+ border: {
180
+ type: Boolean,
181
+ default: () => getConfig().form.border
182
+ },
183
+ titleBackground: {
184
+ type: Boolean,
185
+ default: () => getConfig().form.titleBackground
186
+ },
187
+ titleBold: {
188
+ type: Boolean,
189
+ default: () => getConfig().form.titleBold
190
+ },
191
+ titleAlign: {
192
+ type: String,
193
+ default: () => getConfig().form.titleAlign
194
+ },
195
+ titleWidth: {
196
+ type: [String, Number],
197
+ default: () => getConfig().form.titleWidth
198
+ },
199
+ titleColon: {
200
+ type: Boolean,
201
+ default: () => getConfig().form.titleColon
202
+ },
203
+ titleAsterisk: {
204
+ type: Boolean,
205
+ default: () => getConfig().form.titleAsterisk
206
+ },
207
+ titleOverflow: {
208
+ type: [Boolean, String],
209
+ default: () => getConfig().form.titleOverflow
210
+ },
211
+ vertical: {
212
+ type: Boolean,
213
+ default: () => getConfig().form.vertical
214
+ },
215
+ padding: {
216
+ type: Boolean,
217
+ default: () => getConfig().form.padding
218
+ },
219
+ className: [String, Function],
220
+ readonly: Boolean,
221
+ disabled: Boolean,
222
+ items: Array,
223
+ rules: Object,
224
+ preventSubmit: {
225
+ type: Boolean,
226
+ default: () => getConfig().form.preventSubmit
227
+ },
228
+ validConfig: Object,
229
+ tooltipConfig: Object,
230
+ collapseConfig: Object,
231
+ customLayout: {
232
+ type: Boolean,
233
+ default: () => getConfig().form.customLayout
234
+ },
235
+ params: Object
232
236
  },
233
- params: Object
234
- },
235
- emits: ["update:collapseStatus", "collapse", "toggle-collapse", "submit", "submit-invalid", "reset"],
236
- setup(props, context) {
237
- const { slots, emit } = context;
238
- const $xeGrid = inject("$xeGrid", null);
239
- const xID = XEUtils.uniqueId();
240
- const { computeSize } = useFns.useSize(props);
241
- const reactData = reactive(createReactData());
242
- const internalData = createInternalData();
243
- const refElem = ref();
244
- const refTooltip = ref();
245
- const computeValidOpts = computed(() => {
246
- return Object.assign({}, getConfig().form.validConfig, props.validConfig);
247
- });
248
- const computeTooltipOpts = computed(() => {
249
- return Object.assign({}, getConfig().tooltip, getConfig().form.tooltipConfig, props.tooltipConfig);
250
- });
251
- const computeCollapseOpts = computed(() => {
252
- return Object.assign({}, getConfig().form.collapseConfig, props.collapseConfig);
253
- });
254
- const computeAutoItemWidthList = computed(() => {
255
- const { titleWidth: allTitleWidth, vertical: allVertical } = props;
256
- const { formItems } = reactData;
257
- const itemList = [];
258
- XEUtils.eachTree(
259
- formItems,
260
- (item) => {
261
- const { titleWidth, vertical } = item;
262
- if (titleWidth === "auto") {
263
- itemList.push(item);
264
- } else {
265
- const itemVertical = XEUtils.eqNull(vertical) ? allVertical : vertical;
266
- const itemTitleWidth = itemVertical ? null : XEUtils.eqNull(titleWidth) ? allTitleWidth : titleWidth;
267
- if (itemTitleWidth === "auto" && (!item.children || !item.children.length)) {
237
+ emits: ["update:collapseStatus", "collapse", "toggle-collapse", "submit", "submit-invalid", "reset"],
238
+ setup(props, context) {
239
+ const { slots, emit } = context;
240
+ const $xeGrid = inject("$xeGrid", null);
241
+ const xID = XEUtils.uniqueId();
242
+ const { computeSize } = useFns.useSize(props);
243
+ const reactData = reactive(createReactData());
244
+ const internalData = createInternalData();
245
+ const refElem = ref();
246
+ const refTooltip = ref();
247
+ const computeValidOpts = computed(() => {
248
+ return Object.assign({}, getConfig().form.validConfig, props.validConfig);
249
+ });
250
+ const computeTooltipOpts = computed(() => {
251
+ return Object.assign({}, getConfig().tooltip, getConfig().form.tooltipConfig, props.tooltipConfig);
252
+ });
253
+ const computeCollapseOpts = computed(() => {
254
+ return Object.assign({}, getConfig().form.collapseConfig, props.collapseConfig);
255
+ });
256
+ const computeAutoItemWidthList = computed(() => {
257
+ const { titleWidth: allTitleWidth, vertical: allVertical } = props;
258
+ const { formItems } = reactData;
259
+ const itemList = [];
260
+ XEUtils.eachTree(
261
+ formItems,
262
+ (item) => {
263
+ const { titleWidth, vertical } = item;
264
+ if (titleWidth === "auto") {
268
265
  itemList.push(item);
266
+ } else {
267
+ const itemVertical = XEUtils.eqNull(vertical) ? allVertical : vertical;
268
+ const itemTitleWidth = itemVertical ? null : XEUtils.eqNull(titleWidth) ? allTitleWidth : titleWidth;
269
+ if (itemTitleWidth === "auto" && (!item.children || !item.children.length)) {
270
+ itemList.push(item);
271
+ }
269
272
  }
273
+ },
274
+ { children: "children" }
275
+ );
276
+ return itemList;
277
+ });
278
+ const refMaps = {
279
+ refElem
280
+ };
281
+ const computeMaps = {
282
+ computeSize,
283
+ computeValidOpts,
284
+ computeTooltipOpts,
285
+ computeCollapseOpts,
286
+ computeAutoItemWidthList
287
+ };
288
+ const $xeForm = {
289
+ xID,
290
+ props,
291
+ context,
292
+ reactData,
293
+ internalData,
294
+ xeGrid: $xeGrid,
295
+ getRefMaps: () => refMaps,
296
+ getComputeMaps: () => computeMaps
297
+ };
298
+ const dispatchEvent = (type, params, evnt) => {
299
+ emit(type, createEvent(evnt, { $form: $xeForm, $grid: $xeGrid }, params));
300
+ };
301
+ const callSlot = (slotFunc, params) => {
302
+ if (slotFunc) {
303
+ if (XEUtils.isString(slotFunc)) {
304
+ slotFunc = slots[slotFunc] || null;
305
+ }
306
+ if (XEUtils.isFunction(slotFunc)) {
307
+ return getSlotVNs(slotFunc(params));
270
308
  }
271
- },
272
- { children: "children" }
273
- );
274
- return itemList;
275
- });
276
- const refMaps = {
277
- refElem
278
- };
279
- const computeMaps = {
280
- computeSize,
281
- computeValidOpts,
282
- computeTooltipOpts,
283
- computeCollapseOpts,
284
- computeAutoItemWidthList
285
- };
286
- const $xeForm = {
287
- xID,
288
- props,
289
- context,
290
- reactData,
291
- internalData,
292
- xeGrid: $xeGrid,
293
- getRefMaps: () => refMaps,
294
- getComputeMaps: () => computeMaps
295
- };
296
- const dispatchEvent = (type, params, evnt) => {
297
- emit(type, createEvent(evnt, { $form: $xeForm, $grid: $xeGrid }, params));
298
- };
299
- const callSlot = (slotFunc, params) => {
300
- if (slotFunc) {
301
- if (XEUtils.isString(slotFunc)) {
302
- slotFunc = slots[slotFunc] || null;
303
- }
304
- if (XEUtils.isFunction(slotFunc)) {
305
- return getSlotVNs(slotFunc(params));
306
309
  }
307
- }
308
- return [];
309
- };
310
- const loadItems = (list) => {
311
- if (list.length) {
312
- list.forEach((item) => {
313
- if (item.slots) {
314
- XEUtils.each(item.slots, (func) => {
315
- if (func && !XEUtils.isFunction(func)) {
316
- if (!slots[func]) {
317
- errLog("vxe.error.notSlot", [func]);
310
+ return [];
311
+ };
312
+ const loadItems = (list) => {
313
+ if (list.length) {
314
+ list.forEach((item) => {
315
+ if (item.slots) {
316
+ XEUtils.each(item.slots, (func) => {
317
+ if (func && !XEUtils.isFunction(func)) {
318
+ if (!slots[func]) {
319
+ errLog("vxe.error.notSlot", [func]);
320
+ }
318
321
  }
319
- }
320
- });
321
- }
322
+ });
323
+ }
324
+ });
325
+ }
326
+ reactData.staticItems = XEUtils.mapTree(list, (item) => createItem($xeForm, item), { children: "children" });
327
+ internalData.itemFormatCache = {};
328
+ return nextTick().then(() => {
329
+ return recalculate();
322
330
  });
323
- }
324
- reactData.staticItems = XEUtils.mapTree(list, (item) => createItem($xeForm, item), { children: "children" });
325
- internalData.itemFormatCache = {};
326
- return nextTick().then(() => {
327
- return recalculate();
328
- });
329
- };
330
- const getItems = () => {
331
- return getFlatItems();
332
- };
333
- const getFlatItems = () => {
334
- return internalData.fullItemList;
335
- };
336
- const getNestedItems = () => {
337
- return reactData.formItems;
338
- };
339
- const getItemByField = (field) => {
340
- const { fullItemFieldData } = internalData;
341
- const itemRest = fullItemFieldData[field];
342
- return itemRest ? itemRest.item : null;
343
- };
344
- const getCollapseStatus = () => {
345
- return reactData.collapseAll;
346
- };
347
- const toggleCollapse = () => {
348
- const status = !getCollapseStatus();
349
- reactData.collapseAll = status;
350
- emit("update:collapseStatus", status);
351
- return nextTick();
352
- };
353
- const toggleCollapseEvent = (evnt) => {
354
- const actionRest = toggleCollapse();
355
- const status = getCollapseStatus();
356
- dispatchEvent("toggle-collapse", { status, collapse: status, data: props.data }, evnt);
357
- dispatchEvent("collapse", { status, collapse: status, data: props.data }, evnt);
358
- actionRest.then(() => {
359
- recalculate().then(() => {
331
+ };
332
+ const getItems = () => {
333
+ return getFlatItems();
334
+ };
335
+ const getFlatItems = () => {
336
+ return internalData.fullItemList;
337
+ };
338
+ const getNestedItems = () => {
339
+ return reactData.formItems;
340
+ };
341
+ const getItemByField = (field) => {
342
+ const { fullItemFieldData } = internalData;
343
+ const itemRest = fullItemFieldData[field];
344
+ return itemRest ? itemRest.item : null;
345
+ };
346
+ const getCollapseStatus = () => {
347
+ return reactData.collapseAll;
348
+ };
349
+ const toggleCollapse = () => {
350
+ const status = !getCollapseStatus();
351
+ reactData.collapseAll = status;
352
+ emit("update:collapseStatus", status);
353
+ return nextTick();
354
+ };
355
+ const toggleCollapseEvent = (evnt) => {
356
+ const actionRest = toggleCollapse();
357
+ const status = getCollapseStatus();
358
+ dispatchEvent("toggle-collapse", { status, collapse: status, data: props.data }, evnt);
359
+ dispatchEvent("collapse", { status, collapse: status, data: props.data }, evnt);
360
+ actionRest.then(() => {
361
+ recalculate().then(() => {
362
+ if ($xeGrid) {
363
+ $xeGrid.recalculate(true);
364
+ }
365
+ });
360
366
  if ($xeGrid) {
361
- $xeGrid.recalculate(true);
367
+ $xeGrid.recalculate();
362
368
  }
363
369
  });
364
- if ($xeGrid) {
365
- $xeGrid.recalculate();
366
- }
367
- });
368
- };
369
- const clearValidate = (fieldOrItem) => {
370
- const { fullItemList } = internalData;
371
- if (fieldOrItem) {
372
- let fields = fieldOrItem;
373
- if (!XEUtils.isArray(fieldOrItem)) {
374
- fields = [fieldOrItem];
375
- }
376
- fields.forEach((field) => {
377
- if (field) {
378
- const item = handleFieldOrItem($xeForm, field);
379
- if (item) {
380
- item.showError = false;
381
- item.showIconMsg = false;
382
- }
370
+ };
371
+ const clearValidate = (fieldOrItem) => {
372
+ const { fullItemList } = internalData;
373
+ if (fieldOrItem) {
374
+ let fields = fieldOrItem;
375
+ if (!XEUtils.isArray(fieldOrItem)) {
376
+ fields = [fieldOrItem];
383
377
  }
384
- });
385
- } else {
386
- fullItemList.forEach((item) => {
387
- item.showError = false;
388
- item.showIconMsg = false;
389
- });
390
- }
391
- return nextTick();
392
- };
393
- const getResetValue = (item, data, itemValue, currentField) => {
394
- const { field, resetValue } = item;
395
- if (XEUtils.isFunction(resetValue)) {
396
- return resetValue({
397
- field,
398
- item,
399
- data,
400
- currentField: currentField || field || "",
401
- currentValue: itemValue,
402
- $form: $xeForm,
403
- $grid: $xeGrid
404
- });
405
- } else if (XEUtils.eqNull(resetValue)) {
406
- if (XEUtils.isArray(itemValue)) {
407
- return [];
378
+ fields.forEach((field) => {
379
+ if (field) {
380
+ const item = handleFieldOrItem($xeForm, field);
381
+ if (item) {
382
+ item.showError = false;
383
+ item.showIconMsg = false;
384
+ }
385
+ }
386
+ });
387
+ } else {
388
+ fullItemList.forEach((item) => {
389
+ item.showError = false;
390
+ item.showIconMsg = false;
391
+ });
408
392
  }
409
- }
410
- return resetValue;
411
- };
412
- const cacheItem = () => {
413
- const { formItems } = reactData;
414
- const itemIdData = {};
415
- const itemFieldData = {};
416
- const itemList = [];
417
- XEUtils.eachTree(
418
- formItems,
419
- (item, index, items) => {
420
- const { id, field } = item;
421
- const itemRest = { item, items, index };
422
- if (id) {
423
- itemIdData[id] = itemRest;
424
- }
425
- if (field) {
426
- itemFieldData[field] = itemRest;
393
+ return nextTick();
394
+ };
395
+ const getResetValue = (item, data, itemValue, currentField) => {
396
+ const { field, resetValue } = item;
397
+ if (XEUtils.isFunction(resetValue)) {
398
+ return resetValue({
399
+ field,
400
+ item,
401
+ data,
402
+ currentField: currentField || field || "",
403
+ currentValue: itemValue,
404
+ $form: $xeForm,
405
+ $grid: $xeGrid
406
+ });
407
+ } else if (XEUtils.eqNull(resetValue)) {
408
+ if (XEUtils.isArray(itemValue)) {
409
+ return [];
427
410
  }
428
- itemList.push(item);
429
- },
430
- { children: "children" }
431
- );
432
- internalData.fullItemList = itemList;
433
- internalData.fullItemFieldData = itemFieldData;
434
- internalData.fullItemIdData = itemIdData;
435
- };
436
- const reset = () => {
437
- const { data } = props;
438
- const { fullItemList } = internalData;
439
- if (data) {
440
- fullItemList.forEach((item) => {
441
- const { field, itemRender } = item;
442
- if (isEnableConf(itemRender)) {
443
- const { name, startField, endField } = itemRender;
444
- const compConf = renderer.get(name);
445
- const fiResetMethod = compConf ? compConf.formItemResetMethod || compConf.itemResetMethod : null;
446
- if (compConf && fiResetMethod) {
447
- fiResetMethod({ data, field, property: field, item, $form: $xeForm, $grid: $xeGrid });
448
- } else if (field) {
449
- const itemValue = XEUtils.get(data, field);
450
- XEUtils.set(data, field, getResetValue(item, data, itemValue));
411
+ }
412
+ return resetValue;
413
+ };
414
+ const cacheItem = () => {
415
+ const { formItems } = reactData;
416
+ const itemIdData = {};
417
+ const itemFieldData = {};
418
+ const itemList = [];
419
+ XEUtils.eachTree(
420
+ formItems,
421
+ (item, index, items) => {
422
+ const { id, field } = item;
423
+ const itemRest = { item, items, index };
424
+ if (id) {
425
+ itemIdData[id] = itemRest;
451
426
  }
452
- if (startField && endField) {
453
- XEUtils.set(data, startField, getResetValue(item, data, XEUtils.get(data, startField), startField));
454
- XEUtils.set(data, endField, getResetValue(item, data, XEUtils.get(data, endField), endField));
427
+ if (field) {
428
+ itemFieldData[field] = itemRest;
455
429
  }
456
- if (field === "startxxxx") {
457
- return "";
458
- } else if (field === "endxxx") {
430
+ itemList.push(item);
431
+ },
432
+ { children: "children" }
433
+ );
434
+ internalData.fullItemList = itemList;
435
+ internalData.fullItemFieldData = itemFieldData;
436
+ internalData.fullItemIdData = itemIdData;
437
+ };
438
+ const reset = () => {
439
+ const { data } = props;
440
+ const { fullItemList } = internalData;
441
+ if (data) {
442
+ fullItemList.forEach((item) => {
443
+ const { field, itemRender } = item;
444
+ if (isEnableConf(itemRender)) {
445
+ const { name, startField, endField } = itemRender;
446
+ const compConf = renderer.get(name);
447
+ const fiResetMethod = compConf ? compConf.formItemResetMethod || compConf.itemResetMethod : null;
448
+ if (compConf && fiResetMethod) {
449
+ fiResetMethod({ data, field, property: field, item, $form: $xeForm, $grid: $xeGrid });
450
+ } else if (field) {
451
+ const itemValue = XEUtils.get(data, field);
452
+ XEUtils.set(data, field, getResetValue(item, data, itemValue));
453
+ }
454
+ if (startField && endField) {
455
+ XEUtils.set(data, startField, getResetValue(item, data, XEUtils.get(data, startField), startField));
456
+ XEUtils.set(data, endField, getResetValue(item, data, XEUtils.get(data, endField), endField));
457
+ }
458
+ if (field === "startxxxx") {
459
+ return "";
460
+ } else if (field === "endxxx") {
461
+ return "";
462
+ }
459
463
  return "";
460
464
  }
461
- return "";
462
- }
463
- });
464
- }
465
- internalData.itemFormatCache = {};
466
- clearValidate();
467
- return recalculate();
468
- };
469
- const resetEvent = (evnt) => {
470
- evnt.preventDefault();
471
- reset();
472
- dispatchEvent("reset", { data: props.data }, evnt);
473
- };
474
- const handleFocus = (fields) => {
475
- const el = refElem.value;
476
- if (el) {
477
- for (let i = 0; i < fields.length; i++) {
478
- const field = fields[i];
479
- const item = getItemByField(field);
480
- if (item && isEnableConf(item.itemRender)) {
481
- const { itemRender } = item;
482
- const compConf = renderer.get(itemRender.name);
483
- if (!i) {
484
- scrollToView(el.querySelector(`.${item.id}`));
485
- }
486
- let inputElem = null;
487
- const autoFocus = itemRender.autoFocus || itemRender.autofocus || (compConf ? compConf.formItemAutoFocus : null);
488
- if (XEUtils.isFunction(autoFocus)) {
489
- inputElem = autoFocus({ $form: $xeForm, $grid: $xeGrid, item, data: props.data, field });
490
- } else {
491
- if (autoFocus === true) {
492
- inputElem = el.querySelector(`.${item.id} input,textarea`);
493
- } else if (autoFocus) {
494
- inputElem = el.querySelector(`.${item.id} ${autoFocus}`);
465
+ });
466
+ }
467
+ internalData.itemFormatCache = {};
468
+ clearValidate();
469
+ return recalculate();
470
+ };
471
+ const resetEvent = (evnt) => {
472
+ evnt.preventDefault();
473
+ reset();
474
+ dispatchEvent("reset", { data: props.data }, evnt);
475
+ };
476
+ const handleFocus = (fields) => {
477
+ const el = refElem.value;
478
+ if (el) {
479
+ for (let i = 0; i < fields.length; i++) {
480
+ const field = fields[i];
481
+ const item = getItemByField(field);
482
+ if (item && isEnableConf(item.itemRender)) {
483
+ const { itemRender } = item;
484
+ const compConf = renderer.get(itemRender.name);
485
+ if (!i) {
486
+ scrollToView(el.querySelector(`.${item.id}`));
487
+ }
488
+ let inputElem = null;
489
+ const autoFocus = itemRender.autoFocus || itemRender.autofocus || (compConf ? compConf.formItemAutoFocus : null);
490
+ if (XEUtils.isFunction(autoFocus)) {
491
+ inputElem = autoFocus({ $form: $xeForm, $grid: $xeGrid, item, data: props.data, field });
492
+ } else {
493
+ if (autoFocus === true) {
494
+ inputElem = el.querySelector(`.${item.id} input,textarea`);
495
+ } else if (autoFocus) {
496
+ inputElem = el.querySelector(`.${item.id} ${autoFocus}`);
497
+ }
498
+ }
499
+ if (inputElem) {
500
+ inputElem.focus();
501
+ break;
495
502
  }
496
- }
497
- if (inputElem) {
498
- inputElem.focus();
499
- break;
500
503
  }
501
504
  }
502
505
  }
503
- }
504
- };
505
- const validItemRules = (validType, fields, val) => {
506
- const { data, rules: formRules } = props;
507
- const errorMaps = {};
508
- if (!XEUtils.isArray(fields)) {
509
- fields = [fields];
510
- }
511
- return Promise.all(
512
- fields.map((property) => {
513
- const errorRules = [];
514
- const syncVailds = [];
515
- if (property && formRules) {
516
- const item = getItemByField(property);
517
- const rules = item && item.rules ? item.rules : XEUtils.get(formRules, property);
518
- if (rules) {
519
- const itemValue = XEUtils.isUndefined(val) ? XEUtils.get(data, property) : val;
520
- rules.forEach((rule) => {
521
- const { trigger, validator } = rule;
522
- if (validType === "all" || !trigger || validType === trigger) {
523
- if (validator) {
524
- const validParams = {
525
- itemValue,
526
- rule,
527
- rules,
528
- data,
529
- field: property,
530
- property,
531
- $form: $xeForm
532
- };
533
- let customValid;
534
- if (XEUtils.isString(validator)) {
535
- const gvItem = validators.get(validator);
536
- if (gvItem) {
537
- const validatorMethod = gvItem.formItemValidatorMethod || gvItem.itemValidatorMethod;
538
- if (validatorMethod) {
539
- customValid = validatorMethod(validParams);
506
+ };
507
+ const validItemRules = (validType, fields, val) => {
508
+ const { data, rules: formRules } = props;
509
+ const errorMaps = {};
510
+ if (!XEUtils.isArray(fields)) {
511
+ fields = [fields];
512
+ }
513
+ return Promise.all(
514
+ fields.map((property) => {
515
+ const errorRules = [];
516
+ const syncVailds = [];
517
+ if (property && formRules) {
518
+ const item = getItemByField(property);
519
+ const rules = item && item.rules ? item.rules : XEUtils.get(formRules, property);
520
+ if (rules) {
521
+ const itemValue = XEUtils.isUndefined(val) ? XEUtils.get(data, property) : val;
522
+ rules.forEach((rule) => {
523
+ const { trigger, validator } = rule;
524
+ if (validType === "all" || !trigger || validType === trigger) {
525
+ if (validator) {
526
+ const validParams = {
527
+ itemValue,
528
+ rule,
529
+ rules,
530
+ data,
531
+ field: property,
532
+ property,
533
+ $form: $xeForm
534
+ };
535
+ let customValid;
536
+ if (XEUtils.isString(validator)) {
537
+ const gvItem = validators.get(validator);
538
+ if (gvItem) {
539
+ const validatorMethod = gvItem.formItemValidatorMethod || gvItem.itemValidatorMethod;
540
+ if (validatorMethod) {
541
+ customValid = validatorMethod(validParams);
542
+ } else {
543
+ warnLog("vxe.error.notValidators", [validator]);
544
+ }
540
545
  } else {
541
- warnLog("vxe.error.notValidators", [validator]);
546
+ errLog("vxe.error.notValidators", [validator]);
542
547
  }
543
548
  } else {
544
- errLog("vxe.error.notValidators", [validator]);
549
+ customValid = validator(validParams);
550
+ }
551
+ if (customValid) {
552
+ if (XEUtils.isError(customValid)) {
553
+ errorRules.push(new Rule({ type: "custom", trigger, content: customValid.message, rule: new Rule(rule) }));
554
+ } else if (customValid.catch) {
555
+ syncVailds.push(
556
+ customValid.catch((e) => {
557
+ errorRules.push(new Rule({ type: "custom", trigger, content: e ? e.message : rule.content || rule.message, rule: new Rule(rule) }));
558
+ })
559
+ );
560
+ }
545
561
  }
546
562
  } else {
547
- customValid = validator(validParams);
548
- }
549
- if (customValid) {
550
- if (XEUtils.isError(customValid)) {
551
- errorRules.push(new Rule({ type: "custom", trigger, content: customValid.message, rule: new Rule(rule) }));
552
- } else if (customValid.catch) {
553
- syncVailds.push(
554
- customValid.catch((e) => {
555
- errorRules.push(new Rule({ type: "custom", trigger, content: e ? e.message : rule.content || rule.message, rule: new Rule(rule) }));
556
- })
557
- );
563
+ if (!checkRuleStatus(rule, data, itemValue)) {
564
+ errorRules.push(new Rule(rule));
558
565
  }
559
566
  }
560
- } else {
561
- if (!checkRuleStatus(rule, data, itemValue)) {
562
- errorRules.push(new Rule(rule));
563
- }
564
567
  }
565
- }
566
- });
567
- }
568
- }
569
- return Promise.all(syncVailds).then(() => {
570
- if (errorRules.length) {
571
- errorMaps[property] = errorRules.map((rule) => {
572
- return {
573
- $form: $xeForm,
574
- rule,
575
- data,
576
- field: property,
577
- property
578
- };
579
- });
568
+ });
569
+ }
580
570
  }
581
- });
582
- })
583
- ).then(() => {
584
- if (!XEUtils.isEmpty(errorMaps)) {
585
- return Promise.reject(errorMaps);
586
- }
587
- });
588
- };
589
- const beginValidate = (itemList, type, callback) => {
590
- const { data, rules: formRules } = props;
591
- const validOpts = computeValidOpts.value;
592
- const validRest = {};
593
- const validFields = [];
594
- const itemValids = [];
595
- clearTimeout(internalData.meTimeout);
596
- if (data && formRules) {
597
- itemList.forEach((item) => {
598
- const { field } = item;
599
- if (field && !isHiddenItem($xeForm, item) && isActiveItem($xeForm, item)) {
600
- itemValids.push(
601
- validItemRules(type || "all", field).then(() => {
602
- item.errRule = null;
603
- }).catch((errorMaps) => {
604
- const rest = errorMaps[field];
605
- if (!validRest[field]) {
606
- validRest[field] = [];
607
- }
608
- validRest[field].push(rest);
609
- validFields.push(field);
610
- item.errRule = rest[0].rule;
611
- return Promise.reject(rest);
612
- })
613
- );
571
+ return Promise.all(syncVailds).then(() => {
572
+ if (errorRules.length) {
573
+ errorMaps[property] = errorRules.map((rule) => {
574
+ return {
575
+ $form: $xeForm,
576
+ rule,
577
+ data,
578
+ field: property,
579
+ property
580
+ };
581
+ });
582
+ }
583
+ });
584
+ })
585
+ ).then(() => {
586
+ if (!XEUtils.isEmpty(errorMaps)) {
587
+ return Promise.reject(errorMaps);
614
588
  }
615
589
  });
616
- return Promise.all(itemValids).then(() => {
617
- if (callback) {
618
- callback();
619
- }
620
- }).catch(() => {
621
- return new Promise((resolve) => {
622
- internalData.meTimeout = setTimeout(() => {
623
- itemList.forEach((item) => {
624
- if (item.errRule) {
625
- item.showError = true;
626
- }
627
- });
628
- }, 20);
629
- if (validOpts.autoPos !== false) {
630
- nextTick(() => {
631
- handleFocus(validFields);
632
- });
590
+ };
591
+ const beginValidate = (itemList, type, callback) => {
592
+ const { data, rules: formRules } = props;
593
+ const validOpts = computeValidOpts.value;
594
+ const validRest = {};
595
+ const validFields = [];
596
+ const itemValids = [];
597
+ clearTimeout(internalData.meTimeout);
598
+ if (data && formRules) {
599
+ itemList.forEach((item) => {
600
+ const { field } = item;
601
+ if (field && !isHiddenItem($xeForm, item) && isActiveItem($xeForm, item)) {
602
+ itemValids.push(
603
+ validItemRules(type || "all", field).then(() => {
604
+ item.errRule = null;
605
+ }).catch((errorMaps) => {
606
+ const rest = errorMaps[field];
607
+ if (!validRest[field]) {
608
+ validRest[field] = [];
609
+ }
610
+ validRest[field].push(rest);
611
+ validFields.push(field);
612
+ item.errRule = rest[0].rule;
613
+ return Promise.reject(rest);
614
+ })
615
+ );
633
616
  }
617
+ });
618
+ return Promise.all(itemValids).then(() => {
634
619
  if (callback) {
635
- callback(validRest);
636
- resolve();
637
- } else {
638
- resolve(validRest);
620
+ callback();
639
621
  }
622
+ }).catch(() => {
623
+ return new Promise((resolve) => {
624
+ internalData.meTimeout = setTimeout(() => {
625
+ itemList.forEach((item) => {
626
+ if (item.errRule) {
627
+ item.showError = true;
628
+ }
629
+ });
630
+ }, 20);
631
+ if (validOpts.autoPos !== false) {
632
+ nextTick(() => {
633
+ handleFocus(validFields);
634
+ });
635
+ }
636
+ if (callback) {
637
+ callback(validRest);
638
+ resolve();
639
+ } else {
640
+ resolve(validRest);
641
+ }
642
+ });
640
643
  });
641
- });
642
- }
643
- if (callback) {
644
- callback();
645
- }
646
- return Promise.resolve();
647
- };
648
- const validate = (callback) => {
649
- const { readonly } = props;
650
- const { fullItemList } = internalData;
651
- clearValidate();
652
- if (readonly) {
653
- return Promise.resolve();
654
- }
655
- return beginValidate(fullItemList, "", callback).then((params) => {
656
- recalculate();
657
- return params;
658
- });
659
- };
660
- const validateField = (fieldOrItem, callback) => {
661
- const { readonly } = props;
662
- if (readonly) {
663
- return Promise.resolve();
664
- }
665
- let fields = [];
666
- if (fieldOrItem) {
667
- if (XEUtils.isArray(fieldOrItem)) {
668
- fields = fieldOrItem;
669
- } else {
670
- fields = [fieldOrItem];
671
644
  }
672
- }
673
- const itemList = fields.map((field) => handleFieldOrItem($xeForm, field));
674
- return beginValidate(itemList, "", callback).then((params) => {
675
- recalculate();
676
- return params;
677
- });
678
- };
679
- const handleSubmitEvent = (evnt) => {
680
- const { readonly } = props;
681
- const { fullItemList } = internalData;
682
- clearValidate();
683
- if (readonly) {
684
- dispatchEvent("submit", { data: props.data }, evnt);
685
- recalculate();
686
- return;
687
- }
688
- beginValidate(fullItemList).then((errMap) => {
689
- if (errMap) {
690
- dispatchEvent("submit-invalid", { data: props.data, errMap }, evnt);
691
- } else {
692
- dispatchEvent("submit", { data: props.data }, evnt);
645
+ if (callback) {
646
+ callback();
693
647
  }
694
- recalculate();
695
- });
696
- };
697
- const submitEvent = (evnt) => {
698
- evnt.preventDefault();
699
- if (!props.preventSubmit) {
700
- handleSubmitEvent(evnt);
701
- }
702
- };
703
- const closeTooltip = () => {
704
- const { tooltipStore } = internalData;
705
- const $tooltip = refTooltip.value;
706
- if (tooltipStore.visible) {
707
- Object.assign(tooltipStore, {
708
- item: null,
709
- visible: false
710
- });
711
- if ($tooltip) {
712
- $tooltip.close();
648
+ return Promise.resolve();
649
+ };
650
+ const validate = (callback) => {
651
+ const { readonly } = props;
652
+ const { fullItemList } = internalData;
653
+ clearValidate();
654
+ if (readonly) {
655
+ return Promise.resolve();
713
656
  }
714
- }
715
- return nextTick();
716
- };
717
- const triggerTitleTipEvent = (evnt, params) => {
718
- const { item } = params;
719
- const { tooltipStore } = internalData;
720
- const $tooltip = refTooltip.value;
721
- const overflowElem = evnt.currentTarget.children[0];
722
- const content = (overflowElem.textContent || "").trim();
723
- const isCellOverflow = overflowElem.scrollWidth > overflowElem.clientWidth;
724
- clearTimeout(internalData.stTimeout);
725
- if (tooltipStore.item !== item) {
726
- closeTooltip();
727
- }
728
- if (content && isCellOverflow) {
729
- Object.assign(tooltipStore, {
730
- item,
731
- visible: true
657
+ return beginValidate(fullItemList, "", callback).then((params) => {
658
+ recalculate();
659
+ return params;
732
660
  });
733
- if ($tooltip) {
734
- $tooltip.open(overflowElem, content);
661
+ };
662
+ const validateField = (fieldOrItem, callback) => {
663
+ const { readonly } = props;
664
+ if (readonly) {
665
+ return Promise.resolve();
735
666
  }
736
- }
737
- };
738
- const handleTitleTipLeaveEvent = () => {
739
- const tooltipOpts = computeTooltipOpts.value;
740
- let $tooltip = refTooltip.value;
741
- if ($tooltip) {
742
- $tooltip.setActived(false);
743
- }
744
- if (tooltipOpts.enterable) {
745
- internalData.stTimeout = setTimeout(() => {
746
- $tooltip = refTooltip.value;
747
- if ($tooltip && !$tooltip.isActived()) {
748
- closeTooltip();
749
- }
750
- }, tooltipOpts.leaveDelay);
751
- } else {
752
- closeTooltip();
753
- }
754
- };
755
- const triggerItemEvent = (evnt, field, itemValue) => {
756
- if (field) {
757
- return validItemRules(evnt ? ["blur"].includes(evnt.type) ? "blur" : "change" : "all", field, itemValue).then(() => {
758
- clearValidate(field);
759
- }).catch((errorMaps) => {
760
- const rest = errorMaps[field];
761
- const item = getItemByField(field);
762
- if (rest && item) {
763
- item.showError = true;
764
- item.errRule = rest[0].rule;
667
+ let fields = [];
668
+ if (fieldOrItem) {
669
+ if (XEUtils.isArray(fieldOrItem)) {
670
+ fields = fieldOrItem;
671
+ } else {
672
+ fields = [fieldOrItem];
765
673
  }
674
+ }
675
+ const itemList = fields.map((field) => handleFieldOrItem($xeForm, field));
676
+ return beginValidate(itemList, "", callback).then((params) => {
677
+ recalculate();
678
+ return params;
766
679
  });
767
- }
768
- return nextTick();
769
- };
770
- const updateStatus = (scope, itemValue) => {
771
- const { field } = scope;
772
- return triggerItemEvent(new Event("change"), field, itemValue);
773
- };
774
- const recalculate = () => {
775
- const autoItemWidthList = computeAutoItemWidthList.value;
776
- const el = refElem.value;
777
- if (el && autoItemWidthList.length) {
778
- const itemElList = el.querySelectorAll(autoItemWidthList.map((item) => `.vxe-form--item-title[itemid="${item.id}"]`).join(","));
779
- let maxItemWidth = 0;
780
- XEUtils.arrayEach(itemElList, (itemEl) => {
781
- itemEl.style.width = "";
782
- maxItemWidth = Math.max(maxItemWidth, Math.ceil(itemEl.clientWidth + 2));
783
- });
784
- XEUtils.arrayEach(itemElList, (itemEl) => {
785
- itemEl.style.width = `${maxItemWidth}px`;
786
- });
787
- }
788
- return nextTick();
789
- };
790
- const handleGlobalResizeEvent = () => {
791
- recalculate();
792
- };
793
- const handleItemVisible = (visible) => {
794
- return function(fieldOrItems) {
795
- const objs = XEUtils.isArray(fieldOrItems) ? fieldOrItems : [fieldOrItems];
796
- objs.forEach((obj) => {
797
- const item = handleFieldOrItem($xeForm, obj);
798
- if (item) {
799
- item.visible = visible;
680
+ };
681
+ const handleSubmitEvent = (evnt) => {
682
+ const { readonly } = props;
683
+ const { fullItemList } = internalData;
684
+ clearValidate();
685
+ if (readonly) {
686
+ dispatchEvent("submit", { data: props.data }, evnt);
687
+ recalculate();
688
+ return;
689
+ }
690
+ beginValidate(fullItemList).then((errMap) => {
691
+ if (errMap) {
692
+ dispatchEvent("submit-invalid", { data: props.data, errMap }, evnt);
693
+ } else {
694
+ dispatchEvent("submit", { data: props.data }, evnt);
800
695
  }
696
+ recalculate();
801
697
  });
698
+ };
699
+ const submitEvent = (evnt) => {
700
+ evnt.preventDefault();
701
+ if (!props.preventSubmit) {
702
+ handleSubmitEvent(evnt);
703
+ }
704
+ };
705
+ const closeTooltip = () => {
706
+ const { tooltipStore } = internalData;
707
+ const $tooltip = refTooltip.value;
708
+ if (tooltipStore.visible) {
709
+ Object.assign(tooltipStore, {
710
+ item: null,
711
+ visible: false
712
+ });
713
+ if ($tooltip) {
714
+ $tooltip.close();
715
+ }
716
+ }
802
717
  return nextTick();
803
718
  };
804
- };
805
- const formMethods = {
806
- dispatchEvent,
807
- loadItems,
808
- showItem: handleItemVisible(true),
809
- hideItem: handleItemVisible(false),
810
- reset,
811
- validate,
812
- validateField,
813
- clearValidate,
814
- updateStatus,
815
- toggleCollapse,
816
- getItems,
817
- getFlatItems,
818
- getNestedItems,
819
- getItemByField,
820
- closeTooltip,
821
- recalculate
822
- };
823
- const formPrivateMethods = {
824
- callSlot,
825
- triggerItemEvent,
826
- toggleCollapseEvent,
827
- triggerTitleTipEvent,
828
- handleTitleTipLeaveEvent,
829
- handleValidIconEvent(evnt, params) {
719
+ const triggerTitleTipEvent = (evnt, params) => {
830
720
  const { item } = params;
831
- item.showIconMsg = !item.showIconMsg;
832
- },
833
- handleSubmitEvent
834
- };
835
- Object.assign($xeForm, formMethods, formPrivateMethods);
836
- const renderVN = () => {
837
- const { loading, border, className, data, customLayout } = props;
838
- const { formItems } = reactData;
839
- const vSize = computeSize.value;
840
- const tooltipOpts = computeTooltipOpts.value;
841
- const defaultSlot = slots.default;
842
- return h(
843
- "form",
844
- {
845
- ref: refElem,
846
- class: [
847
- "vxe-form",
848
- className ? XEUtils.isFunction(className) ? className({ items: formItems, data, $form: $xeForm }) : className : "",
849
- {
850
- [`size--${vSize}`]: vSize,
851
- "is--border": border,
852
- "custom--layout": customLayout,
853
- "is--loading": loading
721
+ const { tooltipStore } = internalData;
722
+ const $tooltip = refTooltip.value;
723
+ const overflowElem = evnt.currentTarget.children[0];
724
+ const content = (overflowElem.textContent || "").trim();
725
+ const isCellOverflow = overflowElem.scrollWidth > overflowElem.clientWidth;
726
+ clearTimeout(internalData.stTimeout);
727
+ if (tooltipStore.item !== item) {
728
+ closeTooltip();
729
+ }
730
+ if (content && isCellOverflow) {
731
+ Object.assign(tooltipStore, {
732
+ item,
733
+ visible: true
734
+ });
735
+ if ($tooltip) {
736
+ $tooltip.open(overflowElem, content);
737
+ }
738
+ }
739
+ };
740
+ const handleTitleTipLeaveEvent = () => {
741
+ const tooltipOpts = computeTooltipOpts.value;
742
+ let $tooltip = refTooltip.value;
743
+ if ($tooltip) {
744
+ $tooltip.setActived(false);
745
+ }
746
+ if (tooltipOpts.enterable) {
747
+ internalData.stTimeout = setTimeout(() => {
748
+ $tooltip = refTooltip.value;
749
+ if ($tooltip && !$tooltip.isActived()) {
750
+ closeTooltip();
751
+ }
752
+ }, tooltipOpts.leaveDelay);
753
+ } else {
754
+ closeTooltip();
755
+ }
756
+ };
757
+ const triggerItemEvent = (evnt, field, itemValue) => {
758
+ if (field) {
759
+ return validItemRules(evnt ? ["blur"].includes(evnt.type) ? "blur" : "change" : "all", field, itemValue).then(() => {
760
+ clearValidate(field);
761
+ }).catch((errorMaps) => {
762
+ const rest = errorMaps[field];
763
+ const item = getItemByField(field);
764
+ if (rest && item) {
765
+ item.showError = true;
766
+ item.errRule = rest[0].rule;
854
767
  }
855
- ],
856
- onSubmit: submitEvent,
857
- onReset: resetEvent
768
+ });
769
+ }
770
+ return nextTick();
771
+ };
772
+ const updateStatus = (scope, itemValue) => {
773
+ const { field } = scope;
774
+ return triggerItemEvent(new Event("change"), field, itemValue);
775
+ };
776
+ const recalculate = () => {
777
+ const autoItemWidthList = computeAutoItemWidthList.value;
778
+ const el = refElem.value;
779
+ if (el && autoItemWidthList.length) {
780
+ const itemElList = el.querySelectorAll(autoItemWidthList.map((item) => `.vxe-form--item-title[itemid="${item.id}"]`).join(","));
781
+ let maxItemWidth = 0;
782
+ XEUtils.arrayEach(itemElList, (itemEl) => {
783
+ itemEl.style.width = "";
784
+ maxItemWidth = Math.max(maxItemWidth, Math.ceil(itemEl.clientWidth + 2));
785
+ });
786
+ XEUtils.arrayEach(itemElList, (itemEl) => {
787
+ itemEl.style.width = `${maxItemWidth}px`;
788
+ });
789
+ }
790
+ return nextTick();
791
+ };
792
+ const handleGlobalResizeEvent = () => {
793
+ recalculate();
794
+ };
795
+ const handleItemVisible = (visible) => {
796
+ return function(fieldOrItems) {
797
+ const objs = XEUtils.isArray(fieldOrItems) ? fieldOrItems : [fieldOrItems];
798
+ objs.forEach((obj) => {
799
+ const item = handleFieldOrItem($xeForm, obj);
800
+ if (item) {
801
+ item.visible = visible;
802
+ }
803
+ });
804
+ return nextTick();
805
+ };
806
+ };
807
+ const formMethods = {
808
+ dispatchEvent,
809
+ loadItems,
810
+ showItem: handleItemVisible(true),
811
+ hideItem: handleItemVisible(false),
812
+ reset,
813
+ validate,
814
+ validateField,
815
+ clearValidate,
816
+ updateStatus,
817
+ toggleCollapse,
818
+ getItems,
819
+ getFlatItems,
820
+ getNestedItems,
821
+ getItemByField,
822
+ closeTooltip,
823
+ recalculate
824
+ };
825
+ const formPrivateMethods = {
826
+ callSlot,
827
+ triggerItemEvent,
828
+ toggleCollapseEvent,
829
+ triggerTitleTipEvent,
830
+ handleTitleTipLeaveEvent,
831
+ handleValidIconEvent(evnt, params) {
832
+ const { item } = params;
833
+ item.showIconMsg = !item.showIconMsg;
858
834
  },
859
- [
860
- h(
861
- "div",
862
- {
863
- class: "vxe-form--wrapper vxe-form--item-row"
864
- },
865
- customLayout ? defaultSlot ? defaultSlot({}) : [] : formItems.map((item, index) => {
866
- return h(VxeFormConfigItem, {
867
- key: index,
868
- itemConfig: item,
869
- visible: item.visible
870
- });
835
+ handleSubmitEvent
836
+ };
837
+ Object.assign($xeForm, formMethods, formPrivateMethods);
838
+ const renderVN = () => {
839
+ const { loading, border, className, data, customLayout } = props;
840
+ const { formItems } = reactData;
841
+ const vSize = computeSize.value;
842
+ const tooltipOpts = computeTooltipOpts.value;
843
+ const defaultSlot = slots.default;
844
+ return h(
845
+ "form",
846
+ {
847
+ ref: refElem,
848
+ class: [
849
+ "vxe-form",
850
+ className ? XEUtils.isFunction(className) ? className({ items: formItems, data, $form: $xeForm }) : className : "",
851
+ {
852
+ [`size--${vSize}`]: vSize,
853
+ "is--border": border,
854
+ "custom--layout": customLayout,
855
+ "is--loading": loading
856
+ }
857
+ ],
858
+ onSubmit: submitEvent,
859
+ onReset: resetEvent
860
+ },
861
+ [
862
+ h(
863
+ "div",
864
+ {
865
+ class: "vxe-form--wrapper vxe-form--item-row"
866
+ },
867
+ customLayout ? defaultSlot ? defaultSlot({}) : [] : formItems.map((item, index) => {
868
+ return h(VxeFormConfigItem, {
869
+ key: index,
870
+ itemConfig: item,
871
+ visible: item.visible
872
+ });
873
+ })
874
+ ),
875
+ h(
876
+ "div",
877
+ {
878
+ class: "vxe-form-slots"
879
+ },
880
+ customLayout ? [] : defaultSlot ? defaultSlot({}) : []
881
+ ),
882
+ /**
883
+ * 加载中
884
+ */
885
+ h(VxeLoadingComponent, {
886
+ class: "vxe-form--loading",
887
+ modelValue: loading
888
+ }),
889
+ /**
890
+ * 工具提示
891
+ */
892
+ h(VxeTooltipComponent, {
893
+ ref: refTooltip,
894
+ ...tooltipOpts
871
895
  })
872
- ),
873
- h(
874
- "div",
875
- {
876
- class: "vxe-form-slots"
877
- },
878
- customLayout ? [] : defaultSlot ? defaultSlot({}) : []
879
- ),
880
- /**
881
- * 加载中
882
- */
883
- h(VxeLoadingComponent, {
884
- class: "vxe-form--loading",
885
- modelValue: loading
886
- }),
887
- /**
888
- * 工具提示
889
- */
890
- h(VxeTooltipComponent, {
891
- ref: refTooltip,
892
- ...tooltipOpts
893
- })
894
- ]
896
+ ]
897
+ );
898
+ };
899
+ const recalcFlag = ref(0);
900
+ watch(
901
+ () => props.vertical,
902
+ () => {
903
+ recalcFlag.value++;
904
+ }
895
905
  );
896
- };
897
- const recalcFlag = ref(0);
898
- watch(
899
- () => props.vertical,
900
- () => {
901
- recalcFlag.value++;
902
- }
903
- );
904
- watch(
905
- () => props.titleWidth,
906
- () => {
906
+ watch(
907
+ () => props.titleWidth,
908
+ () => {
909
+ recalcFlag.value++;
910
+ }
911
+ );
912
+ watch(recalcFlag, () => {
913
+ nextTick().then(() => {
914
+ recalculate();
915
+ });
916
+ });
917
+ const staticItemFlag = ref(0);
918
+ watch(
919
+ () => reactData.staticItems.length,
920
+ () => {
921
+ staticItemFlag.value++;
922
+ }
923
+ );
924
+ watch(
925
+ () => reactData.staticItems,
926
+ () => {
927
+ staticItemFlag.value++;
928
+ }
929
+ );
930
+ watch(staticItemFlag, () => {
931
+ reactData.formItems = reactData.staticItems;
907
932
  recalcFlag.value++;
908
- }
909
- );
910
- watch(recalcFlag, () => {
911
- nextTick().then(() => {
912
- recalculate();
933
+ cacheItem();
913
934
  });
914
- });
915
- const staticItemFlag = ref(0);
916
- watch(
917
- () => reactData.staticItems.length,
918
- () => {
919
- staticItemFlag.value++;
920
- }
921
- );
922
- watch(
923
- () => reactData.staticItems,
924
- () => {
925
- staticItemFlag.value++;
926
- }
927
- );
928
- watch(staticItemFlag, () => {
929
- reactData.formItems = reactData.staticItems;
930
- recalcFlag.value++;
931
- cacheItem();
932
- });
933
- const itemFlag = ref(0);
934
- watch(
935
- () => props.items ? props.items.length : -1,
936
- () => {
937
- itemFlag.value++;
938
- }
939
- );
940
- watch(
941
- () => props.items,
942
- () => {
943
- itemFlag.value++;
944
- }
945
- );
946
- watch(itemFlag, () => {
947
- loadItems(props.items || []);
948
- });
949
- watch(
950
- () => props.collapseStatus,
951
- (value) => {
952
- reactData.collapseAll = !!value;
953
- }
954
- );
955
- watch(
956
- () => props.readonly,
957
- () => {
958
- clearValidate();
959
- }
960
- );
961
- watch(
962
- () => props.disabled,
963
- () => {
964
- clearValidate();
965
- }
966
- );
967
- onMounted(() => {
968
- nextTick(() => {
969
- if (props.customLayout && props.items) {
970
- errLog("vxe.error.errConflicts", ["custom-layout", "items"]);
935
+ const itemFlag = ref(0);
936
+ watch(
937
+ () => props.items ? props.items.length : -1,
938
+ () => {
939
+ itemFlag.value++;
971
940
  }
941
+ );
942
+ watch(
943
+ () => props.items,
944
+ () => {
945
+ itemFlag.value++;
946
+ }
947
+ );
948
+ watch(itemFlag, () => {
949
+ loadItems(props.items || []);
972
950
  });
973
- globalEvents.on($xeForm, "resize", handleGlobalResizeEvent);
974
- });
975
- onUnmounted(() => {
976
- globalEvents.off($xeForm, "resize");
977
- XEUtils.assign(reactData, createReactData());
978
- XEUtils.assign(internalData, createInternalData());
979
- });
980
- reactData.collapseAll = !!props.collapseStatus;
981
- if (props.items) {
982
- loadItems(props.items);
951
+ watch(
952
+ () => props.collapseStatus,
953
+ (value) => {
954
+ reactData.collapseAll = !!value;
955
+ }
956
+ );
957
+ watch(
958
+ () => props.readonly,
959
+ () => {
960
+ clearValidate();
961
+ }
962
+ );
963
+ watch(
964
+ () => props.disabled,
965
+ () => {
966
+ clearValidate();
967
+ }
968
+ );
969
+ onMounted(() => {
970
+ nextTick(() => {
971
+ if (props.customLayout && props.items) {
972
+ errLog("vxe.error.errConflicts", ["custom-layout", "items"]);
973
+ }
974
+ });
975
+ globalEvents.on($xeForm, "resize", handleGlobalResizeEvent);
976
+ });
977
+ onUnmounted(() => {
978
+ globalEvents.off($xeForm, "resize");
979
+ XEUtils.assign(reactData, createReactData());
980
+ XEUtils.assign(internalData, createInternalData());
981
+ });
982
+ reactData.collapseAll = !!props.collapseStatus;
983
+ if (props.items) {
984
+ loadItems(props.items);
985
+ }
986
+ provide("xeFormItemInfo", null);
987
+ provide("$xeForm", $xeForm);
988
+ provide("$xeFormGroup", null);
989
+ provide("$xeFormItem", null);
990
+ $xeForm.renderVN = renderVN;
991
+ return $xeForm;
992
+ },
993
+ render() {
994
+ return this.renderVN();
983
995
  }
984
- provide("xeFormItemInfo", null);
985
- provide("$xeForm", $xeForm);
986
- provide("$xeFormGroup", null);
987
- provide("$xeFormItem", null);
988
- $xeForm.renderVN = renderVN;
989
- return $xeForm;
990
- },
991
- render() {
992
- return this.renderVN();
993
- }
994
- });
996
+ })
997
+ );
995
998
  export {
996
999
  createReactData,
997
1000
  form_default as default