vxe-pc-ui 3.0.1 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/README.md +23 -25
  2. package/es/calendar/index.js +12 -0
  3. package/es/calendar/src/calendar.js +1227 -0
  4. package/es/calendar/style.css +247 -0
  5. package/es/calendar/style.min.css +1 -0
  6. package/es/checkbox/src/checkbox.js +6 -1
  7. package/es/checkbox/src/group.js +6 -1
  8. package/es/collapse/index.js +12 -0
  9. package/es/collapse/src/collapse-pane.js +39 -0
  10. package/es/collapse/src/collapse.js +39 -0
  11. package/es/collapse/style.css +0 -0
  12. package/es/collapse/style.min.css +0 -0
  13. package/es/collapse-pane/index.js +12 -0
  14. package/es/collapse-pane/style.css +0 -0
  15. package/es/collapse-pane/style.min.css +0 -0
  16. package/es/components.js +27 -27
  17. package/es/date-picker/src/date-picker.js +17 -13
  18. package/es/drawer/src/drawer.js +17 -12
  19. package/es/form/index.js +13 -0
  20. package/es/form/render/index.js +461 -0
  21. package/es/form/src/form-config-item.js +201 -0
  22. package/es/form/src/form-gather.js +87 -0
  23. package/es/form/src/form-item.js +291 -0
  24. package/es/form/src/form.js +762 -0
  25. package/es/form/src/itemInfo.js +43 -0
  26. package/es/form/src/render.js +78 -0
  27. package/es/form/src/util.js +66 -0
  28. package/es/form/style.css +470 -0
  29. package/es/form/style.min.css +1 -0
  30. package/es/form-gather/index.js +12 -0
  31. package/es/form-gather/style.css +0 -0
  32. package/es/form-gather/style.min.css +0 -0
  33. package/es/form-item/index.js +12 -0
  34. package/es/form-item/style.css +0 -0
  35. package/es/form-item/style.min.css +0 -0
  36. package/es/icon/style.css +1 -1
  37. package/es/icon-picker/src/icon-picker.js +5 -1
  38. package/es/image/src/preview.js +1 -2
  39. package/es/input/src/input.js +19 -15
  40. package/es/list/index.js +12 -0
  41. package/es/list/src/list.js +373 -0
  42. package/es/list/style.css +28 -0
  43. package/es/list/style.min.css +1 -0
  44. package/es/loading/src/loading.js +5 -0
  45. package/es/menu/src/menu.js +6 -2
  46. package/es/modal/src/modal.js +7 -4
  47. package/es/number-input/src/number-input.js +11 -7
  48. package/es/pager/style.css +303 -0
  49. package/es/pager/style.min.css +1 -0
  50. package/es/password-input/src/password-input.js +7 -3
  51. package/es/pulldown/src/pulldown.js +6 -2
  52. package/es/radio/src/button.js +6 -2
  53. package/es/radio/src/group.js +6 -2
  54. package/es/radio/src/radio.js +6 -2
  55. package/es/select/src/select.js +16 -1
  56. package/es/select/src/util.js +2 -1
  57. package/es/style.css +1 -1
  58. package/es/style.min.css +1 -1
  59. package/es/switch/src/switch.js +6 -2
  60. package/es/tabs/src/tabs.js +8 -3
  61. package/es/textarea/src/textarea.js +9 -5
  62. package/es/tooltip/src/tooltip.js +6 -1
  63. package/es/tree/index.js +12 -0
  64. package/es/tree/src/tree.js +1216 -0
  65. package/es/tree/style.css +219 -0
  66. package/es/tree/style.min.css +1 -0
  67. package/es/tree-select/index.js +12 -0
  68. package/es/tree-select/src/tree-select.js +685 -0
  69. package/es/tree-select/style.css +129 -0
  70. package/es/tree-select/style.min.css +1 -0
  71. package/es/ui/index.js +1 -1
  72. package/es/ui/src/log.js +1 -1
  73. package/es/ui/src/vn.js +1 -1
  74. package/es/upload/src/upload.js +9 -5
  75. package/es/vxe-calendar/index.js +3 -0
  76. package/es/vxe-calendar/style.css +247 -0
  77. package/es/vxe-calendar/style.min.css +1 -0
  78. package/es/vxe-collapse/index.js +3 -0
  79. package/es/vxe-collapse/style.css +0 -0
  80. package/es/vxe-collapse/style.min.css +0 -0
  81. package/es/vxe-collapse-pane/index.js +3 -0
  82. package/es/vxe-collapse-pane/style.css +0 -0
  83. package/es/vxe-collapse-pane/style.min.css +0 -0
  84. package/es/vxe-form/index.js +3 -0
  85. package/es/vxe-form/style.css +470 -0
  86. package/es/vxe-form/style.min.css +1 -0
  87. package/es/vxe-form-gather/index.js +3 -0
  88. package/es/vxe-form-gather/style.css +0 -0
  89. package/es/vxe-form-gather/style.min.css +0 -0
  90. package/es/vxe-form-item/index.js +3 -0
  91. package/es/vxe-form-item/style.css +0 -0
  92. package/es/vxe-form-item/style.min.css +0 -0
  93. package/es/vxe-list/index.js +3 -0
  94. package/es/vxe-list/style.css +28 -0
  95. package/es/vxe-list/style.min.css +1 -0
  96. package/es/vxe-pager/index.js +3 -0
  97. package/es/vxe-pager/style.css +303 -0
  98. package/es/vxe-pager/style.min.css +1 -0
  99. package/es/vxe-tree/index.js +3 -0
  100. package/es/vxe-tree/style.css +219 -0
  101. package/es/vxe-tree/style.min.css +1 -0
  102. package/es/vxe-tree-select/index.js +3 -0
  103. package/es/vxe-tree-select/style.css +129 -0
  104. package/es/vxe-tree-select/style.min.css +1 -0
  105. package/lib/calendar/index.js +19 -0
  106. package/lib/calendar/index.min.js +1 -0
  107. package/lib/calendar/src/calendar.js +1286 -0
  108. package/lib/calendar/src/calendar.min.js +1 -0
  109. package/lib/calendar/style/index.js +1 -0
  110. package/lib/calendar/style/style.css +247 -0
  111. package/lib/calendar/style/style.min.css +1 -0
  112. package/lib/checkbox/src/checkbox.js +6 -1
  113. package/lib/checkbox/src/checkbox.min.js +1 -1
  114. package/lib/checkbox/src/group.js +6 -1
  115. package/lib/checkbox/src/group.min.js +1 -1
  116. package/lib/collapse/index.js +19 -0
  117. package/lib/collapse/index.min.js +1 -0
  118. package/lib/collapse/src/collapse-pane.js +48 -0
  119. package/lib/collapse/src/collapse-pane.min.js +1 -0
  120. package/lib/collapse/src/collapse.js +48 -0
  121. package/lib/collapse/src/collapse.min.js +1 -0
  122. package/lib/collapse/style/index.js +1 -0
  123. package/lib/collapse/style/style.css +0 -0
  124. package/lib/collapse/style/style.min.css +0 -0
  125. package/lib/collapse-pane/index.js +19 -0
  126. package/lib/collapse-pane/index.min.js +1 -0
  127. package/lib/collapse-pane/style/index.js +1 -0
  128. package/lib/collapse-pane/style/style.css +0 -0
  129. package/lib/collapse-pane/style/style.min.css +0 -0
  130. package/lib/components.js +114 -39
  131. package/lib/components.min.js +1 -1
  132. package/lib/date-picker/src/date-picker.js +17 -13
  133. package/lib/date-picker/src/date-picker.min.js +1 -1
  134. package/lib/drawer/src/drawer.js +17 -12
  135. package/lib/drawer/src/drawer.min.js +1 -1
  136. package/lib/form/index.js +20 -0
  137. package/lib/form/index.min.js +1 -0
  138. package/lib/form/render/index.js +509 -0
  139. package/lib/form/render/index.min.js +1 -0
  140. package/lib/form/src/form-config-item.js +210 -0
  141. package/lib/form/src/form-config-item.min.js +1 -0
  142. package/lib/form/src/form-gather.js +99 -0
  143. package/lib/form/src/form-gather.min.js +1 -0
  144. package/lib/form/src/form-item.js +299 -0
  145. package/lib/form/src/form-item.min.js +1 -0
  146. package/lib/form/src/form.js +856 -0
  147. package/lib/form/src/form.min.js +1 -0
  148. package/lib/form/src/itemInfo.js +60 -0
  149. package/lib/form/src/itemInfo.min.js +1 -0
  150. package/lib/form/src/render.js +94 -0
  151. package/lib/form/src/render.min.js +1 -0
  152. package/lib/form/src/util.js +93 -0
  153. package/lib/form/src/util.min.js +1 -0
  154. package/lib/form/style/index.js +1 -0
  155. package/lib/form/style/style.css +470 -0
  156. package/lib/form/style/style.min.css +1 -0
  157. package/lib/form-gather/index.js +19 -0
  158. package/lib/form-gather/index.min.js +1 -0
  159. package/lib/form-gather/style/index.js +1 -0
  160. package/lib/form-gather/style/style.css +0 -0
  161. package/lib/form-gather/style/style.min.css +0 -0
  162. package/lib/form-item/index.js +19 -0
  163. package/lib/form-item/index.min.js +1 -0
  164. package/lib/form-item/style/index.js +1 -0
  165. package/lib/form-item/style/style.css +0 -0
  166. package/lib/form-item/style/style.min.css +0 -0
  167. package/lib/icon/style/style.css +1 -1
  168. package/lib/icon/style/style.min.css +1 -1
  169. package/lib/icon-picker/src/icon-picker.js +5 -1
  170. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  171. package/lib/image/src/preview.js +1 -2
  172. package/lib/image/src/preview.min.js +1 -1
  173. package/lib/index.umd.js +11284 -5009
  174. package/lib/index.umd.min.js +1 -1
  175. package/lib/input/src/input.js +19 -15
  176. package/lib/input/src/input.min.js +1 -1
  177. package/lib/list/index.js +19 -0
  178. package/lib/list/index.min.js +1 -0
  179. package/lib/list/src/list.js +415 -0
  180. package/lib/list/src/list.min.js +1 -0
  181. package/lib/list/style/index.js +1 -0
  182. package/lib/list/style/style.css +28 -0
  183. package/lib/list/style/style.min.css +1 -0
  184. package/lib/loading/src/loading.js +5 -0
  185. package/lib/loading/src/loading.min.js +1 -1
  186. package/lib/menu/src/menu.js +6 -2
  187. package/lib/menu/src/menu.min.js +1 -1
  188. package/lib/modal/src/modal.js +7 -4
  189. package/lib/modal/src/modal.min.js +1 -1
  190. package/lib/number-input/src/number-input.js +11 -7
  191. package/lib/number-input/src/number-input.min.js +1 -1
  192. package/lib/pager/style/index.js +1 -0
  193. package/lib/pager/style/style.css +303 -0
  194. package/lib/pager/style/style.min.css +1 -0
  195. package/lib/password-input/src/password-input.js +7 -3
  196. package/lib/password-input/src/password-input.min.js +1 -1
  197. package/lib/pulldown/src/pulldown.js +6 -2
  198. package/lib/pulldown/src/pulldown.min.js +1 -1
  199. package/lib/radio/src/button.js +6 -2
  200. package/lib/radio/src/button.min.js +1 -1
  201. package/lib/radio/src/group.js +6 -2
  202. package/lib/radio/src/group.min.js +1 -1
  203. package/lib/radio/src/radio.js +6 -2
  204. package/lib/radio/src/radio.min.js +1 -1
  205. package/lib/select/src/select.js +16 -1
  206. package/lib/select/src/select.min.js +1 -1
  207. package/lib/select/src/util.js +2 -1
  208. package/lib/style.css +1 -1
  209. package/lib/style.min.css +1 -1
  210. package/lib/switch/src/switch.js +6 -2
  211. package/lib/switch/src/switch.min.js +1 -1
  212. package/lib/tabs/src/tabs.js +8 -3
  213. package/lib/tabs/src/tabs.min.js +1 -1
  214. package/lib/textarea/src/textarea.js +9 -5
  215. package/lib/textarea/src/textarea.min.js +1 -1
  216. package/lib/tooltip/src/tooltip.js +6 -1
  217. package/lib/tooltip/src/tooltip.min.js +1 -1
  218. package/lib/tree/index.js +19 -0
  219. package/lib/tree/index.min.js +1 -0
  220. package/lib/tree/src/tree.js +1324 -0
  221. package/lib/tree/src/tree.min.js +1 -0
  222. package/lib/tree/style/index.js +1 -0
  223. package/lib/tree/style/style.css +219 -0
  224. package/lib/tree/style/style.min.css +1 -0
  225. package/lib/tree-select/index.js +19 -0
  226. package/lib/tree-select/index.min.js +1 -0
  227. package/lib/tree-select/src/tree-select.js +695 -0
  228. package/lib/tree-select/src/tree-select.min.js +1 -0
  229. package/lib/tree-select/style/index.js +1 -0
  230. package/lib/tree-select/style/style.css +129 -0
  231. package/lib/tree-select/style/style.min.css +1 -0
  232. package/lib/ui/index.js +1 -1
  233. package/lib/ui/index.min.js +1 -1
  234. package/lib/ui/src/log.js +1 -1
  235. package/lib/ui/src/log.min.js +1 -1
  236. package/lib/ui/src/vn.js +1 -1
  237. package/lib/ui/src/vn.min.js +1 -1
  238. package/lib/upload/src/upload.js +9 -5
  239. package/lib/upload/src/upload.min.js +1 -1
  240. package/lib/vxe-calendar/index.js +23 -0
  241. package/lib/vxe-calendar/index.min.js +1 -0
  242. package/lib/vxe-calendar/style/index.js +1 -0
  243. package/lib/vxe-calendar/style/style.css +247 -0
  244. package/lib/vxe-calendar/style/style.min.css +1 -0
  245. package/lib/vxe-collapse/index.js +23 -0
  246. package/lib/vxe-collapse/index.min.js +1 -0
  247. package/lib/vxe-collapse/style/index.js +1 -0
  248. package/lib/vxe-collapse/style/style.css +0 -0
  249. package/lib/vxe-collapse/style/style.min.css +0 -0
  250. package/lib/vxe-collapse-pane/index.js +23 -0
  251. package/lib/vxe-collapse-pane/index.min.js +1 -0
  252. package/lib/vxe-collapse-pane/style/index.js +1 -0
  253. package/lib/vxe-collapse-pane/style/style.css +0 -0
  254. package/lib/vxe-collapse-pane/style/style.min.css +0 -0
  255. package/lib/vxe-form/index.js +23 -0
  256. package/lib/vxe-form/index.min.js +1 -0
  257. package/lib/vxe-form/style/index.js +1 -0
  258. package/lib/vxe-form/style/style.css +470 -0
  259. package/lib/vxe-form/style/style.min.css +1 -0
  260. package/lib/vxe-form-gather/index.js +23 -0
  261. package/lib/vxe-form-gather/index.min.js +1 -0
  262. package/lib/vxe-form-gather/style/index.js +1 -0
  263. package/lib/vxe-form-gather/style/style.css +0 -0
  264. package/lib/vxe-form-gather/style/style.min.css +0 -0
  265. package/lib/vxe-form-item/index.js +23 -0
  266. package/lib/vxe-form-item/index.min.js +1 -0
  267. package/lib/vxe-form-item/style/index.js +1 -0
  268. package/lib/vxe-form-item/style/style.css +0 -0
  269. package/lib/vxe-form-item/style/style.min.css +0 -0
  270. package/lib/vxe-list/index.js +23 -0
  271. package/lib/vxe-list/index.min.js +1 -0
  272. package/lib/vxe-list/style/index.js +1 -0
  273. package/lib/vxe-list/style/style.css +28 -0
  274. package/lib/vxe-list/style/style.min.css +1 -0
  275. package/lib/vxe-pager/index.js +23 -0
  276. package/lib/vxe-pager/index.min.js +1 -0
  277. package/lib/vxe-pager/style/index.js +1 -0
  278. package/lib/vxe-pager/style/style.css +303 -0
  279. package/lib/vxe-pager/style/style.min.css +1 -0
  280. package/lib/vxe-tree/index.js +23 -0
  281. package/lib/vxe-tree/index.min.js +1 -0
  282. package/lib/vxe-tree/style/index.js +1 -0
  283. package/lib/vxe-tree/style/style.css +219 -0
  284. package/lib/vxe-tree/style/style.min.css +1 -0
  285. package/lib/vxe-tree-select/index.js +23 -0
  286. package/lib/vxe-tree-select/index.min.js +1 -0
  287. package/lib/vxe-tree-select/style/index.js +1 -0
  288. package/lib/vxe-tree-select/style/style.css +129 -0
  289. package/lib/vxe-tree-select/style/style.min.css +1 -0
  290. package/package.json +1 -1
  291. package/packages/calendar/index.ts +16 -0
  292. package/packages/calendar/src/calendar.ts +1281 -0
  293. package/packages/checkbox/src/checkbox.ts +7 -1
  294. package/packages/checkbox/src/group.ts +8 -2
  295. package/packages/collapse/index.ts +16 -0
  296. package/packages/collapse/src/collapse-pane.ts +47 -0
  297. package/packages/collapse/src/collapse.ts +47 -0
  298. package/packages/collapse-pane/index.ts +16 -0
  299. package/packages/components.ts +27 -27
  300. package/packages/date-picker/src/date-picker.ts +18 -13
  301. package/packages/drawer/src/drawer.ts +18 -12
  302. package/packages/form/index.ts +17 -0
  303. package/packages/form/render/index.ts +499 -0
  304. package/packages/form/src/form-config-item.ts +219 -0
  305. package/packages/form/src/form-gather.ts +104 -0
  306. package/packages/form/src/form-item.ts +322 -0
  307. package/packages/form/src/form.ts +809 -0
  308. package/packages/form/src/itemInfo.ts +47 -0
  309. package/packages/form/src/render.ts +98 -0
  310. package/packages/form/src/util.ts +80 -0
  311. package/packages/form-gather/index.ts +16 -0
  312. package/packages/form-item/index.ts +16 -0
  313. package/packages/icon-picker/src/icon-picker.ts +6 -1
  314. package/packages/image/src/preview.ts +1 -2
  315. package/packages/input/src/input.ts +20 -15
  316. package/packages/layout-footer/src/layout-footer.ts +1 -0
  317. package/packages/list/index.ts +16 -0
  318. package/packages/list/src/list.ts +403 -0
  319. package/packages/loading/src/loading.ts +6 -0
  320. package/packages/menu/src/menu.ts +7 -2
  321. package/packages/modal/src/modal.ts +8 -4
  322. package/packages/number-input/src/number-input.ts +12 -7
  323. package/packages/password-input/src/password-input.ts +8 -3
  324. package/packages/pulldown/src/pulldown.ts +7 -2
  325. package/packages/radio/src/button.ts +7 -2
  326. package/packages/radio/src/group.ts +7 -2
  327. package/packages/radio/src/radio.ts +7 -2
  328. package/packages/select/src/select.ts +17 -1
  329. package/packages/select/src/util.ts +4 -3
  330. package/packages/switch/src/switch.ts +7 -2
  331. package/packages/tabs/src/tabs.ts +9 -3
  332. package/packages/textarea/src/textarea.ts +10 -5
  333. package/packages/tooltip/src/tooltip.ts +7 -1
  334. package/packages/tree/index.ts +16 -0
  335. package/packages/tree/src/tree.ts +1292 -0
  336. package/packages/tree-select/index.ts +16 -0
  337. package/packages/tree-select/src/tree-select.ts +743 -0
  338. package/packages/ui/src/vn.ts +1 -1
  339. package/packages/upload/src/upload.ts +10 -5
  340. package/types/components/calendar.d.ts +6 -0
  341. package/types/components/colgroup.d.ts +1 -0
  342. package/types/components/column.d.ts +1 -0
  343. package/types/components/drawer.d.ts +11 -10
  344. package/types/components/form-item.d.ts +1 -1
  345. package/types/components/form.d.ts +8 -1
  346. package/types/components/list.d.ts +1 -0
  347. package/types/components/table.d.ts +43 -4
  348. package/types/components/toolbar.d.ts +5 -0
  349. package/types/components/tree-select.d.ts +4 -0
  350. package/types/ui/index.d.ts +0 -5
  351. package/types/ui/renderer.d.ts +37 -36
  352. package/types/handles/form-design.d.ts +0 -4
  353. package/types/handles/index.d.ts +0 -3
  354. package/types/handles/list-design.d.ts +0 -4
  355. package/types/handles/table.d.ts +0 -4
  356. /package/es/icon/style/{iconfont.1725723159302.ttf → iconfont.1725869586078.ttf} +0 -0
  357. /package/es/icon/style/{iconfont.1725723159302.woff → iconfont.1725869586078.woff} +0 -0
  358. /package/es/icon/style/{iconfont.1725723159302.woff2 → iconfont.1725869586078.woff2} +0 -0
  359. /package/es/{iconfont.1725723159302.ttf → iconfont.1725869586078.ttf} +0 -0
  360. /package/es/{iconfont.1725723159302.woff → iconfont.1725869586078.woff} +0 -0
  361. /package/es/{iconfont.1725723159302.woff2 → iconfont.1725869586078.woff2} +0 -0
  362. /package/lib/icon/style/{iconfont.1725723159302.ttf → iconfont.1725869586078.ttf} +0 -0
  363. /package/lib/icon/style/{iconfont.1725723159302.woff → iconfont.1725869586078.woff} +0 -0
  364. /package/lib/icon/style/{iconfont.1725723159302.woff2 → iconfont.1725869586078.woff2} +0 -0
  365. /package/lib/{iconfont.1725723159302.ttf → iconfont.1725869586078.ttf} +0 -0
  366. /package/lib/{iconfont.1725723159302.woff → iconfont.1725869586078.woff} +0 -0
  367. /package/lib/{iconfont.1725723159302.woff2 → iconfont.1725869586078.woff2} +0 -0
@@ -0,0 +1,47 @@
1
+ import XEUtils from 'xe-utils'
2
+
3
+ export class ItemInfo {
4
+ constructor ($xeForm: any, item: any) {
5
+ Object.assign(this, {
6
+ id: XEUtils.uniqueId('item_'),
7
+ title: item.title,
8
+ field: item.field,
9
+ span: item.span,
10
+ align: item.align,
11
+ titleBold: item.titleBold,
12
+ titleAlign: item.titleAlign,
13
+ titleWidth: item.titleWidth,
14
+ titleColon: item.titleColon,
15
+ vertical: item.vertical,
16
+ padding: item.padding,
17
+ titleAsterisk: item.titleAsterisk,
18
+ titlePrefix: item.titlePrefix,
19
+ titleSuffix: item.titleSuffix,
20
+ titleOverflow: item.titleOverflow,
21
+ showTitle: item.showTitle,
22
+ resetValue: item.resetValue,
23
+ visibleMethod: item.visibleMethod,
24
+ visible: item.visible,
25
+ folding: item.folding,
26
+ collapseNode: item.collapseNode,
27
+ className: item.className,
28
+ contentClassName: item.contentClassName,
29
+ contentStyle: item.contentStyle,
30
+ titleClassName: item.titleClassName,
31
+ titleStyle: item.titleStyle,
32
+ itemRender: item.itemRender,
33
+ rules: item.rules,
34
+ // 渲染属性
35
+ showError: false,
36
+ errRule: null,
37
+ slots: item.slots,
38
+ children: []
39
+ })
40
+ }
41
+
42
+ update (name: string, value: any) {
43
+ this[name] = value
44
+ }
45
+
46
+ [key: string]: any;
47
+ }
@@ -0,0 +1,98 @@
1
+ import { CreateElement, VNode } from 'vue'
2
+ import { getIcon, renderer, renderEmptyElement } from '../../ui'
3
+ import { getFuncText, isEnableConf } from '../../ui/src/utils'
4
+ import { getSlotVNs } from '../../ui/src/vn'
5
+ import VxeTooltipComponent from '../../tooltip/src/tooltip'
6
+ import VxeIconComponent from '../../icon/src/icon'
7
+
8
+ import type { VxeFormConstructor, VxeFormDefines, VxeFormItemPropTypes, VxeFormItemConstructor, VxeFormGatherConstructor, VxeFormPrivateMethods } from '../../../types'
9
+
10
+ function renderPrefixIcon (h: CreateElement, titlePrefix: VxeFormItemPropTypes.TitlePrefix) {
11
+ return h('span', {
12
+ class: 'vxe-form--item-title-prefix'
13
+ }, [
14
+ h(VxeIconComponent, {
15
+ class: titlePrefix.icon || getIcon().FORM_PREFIX,
16
+ props: {
17
+ status: titlePrefix.iconStatus
18
+ }
19
+ })
20
+ ])
21
+ }
22
+
23
+ function renderSuffixIcon (h: CreateElement, titleSuffix: VxeFormItemPropTypes.TitleSuffix) {
24
+ return h('span', {
25
+ class: 'vxe-form--item-title-suffix'
26
+ }, [
27
+ h(VxeIconComponent, {
28
+ class: titleSuffix.icon || getIcon().FORM_SUFFIX,
29
+ props: {
30
+ status: titleSuffix.iconStatus
31
+ }
32
+ })
33
+ ])
34
+ }
35
+
36
+ export function renderTitle (h: CreateElement, _vm: VxeFormItemConstructor | VxeFormGatherConstructor, $xeForm: VxeFormConstructor & VxeFormPrivateMethods, item: VxeFormDefines.ItemInfo) {
37
+ const formProps = $xeForm
38
+ const { data, readonly, disabled } = formProps
39
+ const { slots, field, itemRender, titlePrefix, titleSuffix } = item
40
+ const tooltipOpts = $xeForm.computeTooltipOpts
41
+ const compConf = isEnableConf(itemRender) ? renderer.get(itemRender.name) : null
42
+ const params = { data, readonly, disabled, field, property: field, item, $form: $xeForm, $grid: $xeForm.xegrid }
43
+ const titleSlot = slots ? slots.title : null
44
+ const extraSlot = slots ? slots.extra : null
45
+ const titVNs: VNode[] = []
46
+ if (titlePrefix) {
47
+ titVNs.push(
48
+ (titlePrefix.content || titlePrefix.message)
49
+ ? h(VxeTooltipComponent, {
50
+ props: {
51
+ ...tooltipOpts,
52
+ ...titlePrefix,
53
+ content: getFuncText(titlePrefix.content || titlePrefix.message)
54
+ },
55
+ scopedSlots: {
56
+ default: () => renderPrefixIcon(h, titlePrefix)
57
+ }
58
+ })
59
+ : renderPrefixIcon(h, titlePrefix)
60
+ )
61
+ }
62
+ const rftTitle = compConf ? (compConf.renderFormItemTitle || compConf.renderItemTitle) : null
63
+ titVNs.push(
64
+ h('span', {
65
+ class: 'vxe-form--item-title-label'
66
+ }, titleSlot ? $xeForm.callSlot(titleSlot, params) : (rftTitle ? getSlotVNs(rftTitle(h, itemRender, params)) : getFuncText(item.title)))
67
+ )
68
+ const fixVNs = []
69
+ if (titleSuffix) {
70
+ fixVNs.push(
71
+ (titleSuffix.content || titleSuffix.message)
72
+ ? h(VxeTooltipComponent, {
73
+ props: {
74
+ ...tooltipOpts,
75
+ ...titleSuffix,
76
+ content: getFuncText(titleSuffix.content || titleSuffix.message)
77
+ },
78
+ scopedSlots: {
79
+ default: () => renderSuffixIcon(h, titleSuffix)
80
+ }
81
+ })
82
+ : renderSuffixIcon(h, titleSuffix)
83
+ )
84
+ }
85
+ return [
86
+ h('div', {
87
+ class: 'vxe-form--item-title-content'
88
+ }, titVNs),
89
+ h('div', {
90
+ class: 'vxe-form--item-title-postfix'
91
+ }, fixVNs),
92
+ extraSlot
93
+ ? h('div', {
94
+ class: 'vxe-form--item-title-extra'
95
+ }, $xeForm.callSlot(extraSlot, params))
96
+ : renderEmptyElement(_vm)
97
+ ]
98
+ }
@@ -0,0 +1,80 @@
1
+ import { renderer } from '../../ui'
2
+ import XEUtils from 'xe-utils'
3
+ import { ItemInfo } from './itemInfo'
4
+ import { isEnableConf } from '../../ui/src/utils'
5
+
6
+ import type { VxeFormItemConstructor, VxeFormGatherConstructor, VxeFormConstructor, VxeFormDefines } from '../../../types'
7
+
8
+ export interface XEFormItemProvide {
9
+ formItem: ItemInfo;
10
+ }
11
+
12
+ export function isFormItem (item: any): item is ItemInfo {
13
+ return item instanceof ItemInfo
14
+ }
15
+
16
+ export function createItem ($xeForm: VxeFormConstructor, _vm: any) {
17
+ return isFormItem(_vm) ? _vm : new ItemInfo($xeForm, _vm)
18
+ }
19
+
20
+ export function handleFieldOrItem ($xeForm: VxeFormConstructor, fieldOrItem: string | VxeFormDefines.ItemInfo) {
21
+ if (fieldOrItem) {
22
+ return XEUtils.isString(fieldOrItem) ? $xeForm.getItemByField(fieldOrItem) : fieldOrItem
23
+ }
24
+ return null
25
+ }
26
+
27
+ export function isHiddenItem ($xeForm: VxeFormConstructor, formItem: VxeFormDefines.ItemInfo) {
28
+ const { reactData } = $xeForm
29
+ const { collapseAll } = reactData
30
+ const { folding, visible } = formItem
31
+ return visible === false || (folding && collapseAll)
32
+ }
33
+
34
+ export function isActiveItem ($xeForm: VxeFormConstructor, formItem: VxeFormDefines.ItemInfo) {
35
+ let { visibleMethod, itemRender, visible, field } = formItem
36
+ if (visible === false) {
37
+ return visible
38
+ }
39
+ const compConf = isEnableConf(itemRender) ? renderer.get(itemRender.name) : null
40
+ const fiVisibleMethod = compConf ? (compConf.formItemVisibleMethod || compConf.itemVisibleMethod) : null
41
+ if (!visibleMethod && fiVisibleMethod) {
42
+ visibleMethod = fiVisibleMethod
43
+ }
44
+ if (!visibleMethod) {
45
+ return true
46
+ }
47
+ const formProps = $xeForm
48
+ const { data } = formProps
49
+ return visibleMethod({ data, field, property: field, item: formItem, $form: $xeForm, $grid: $xeForm.xegrid })
50
+ }
51
+
52
+ export function watchItem (_vm: VxeFormItemConstructor | VxeFormGatherConstructor, formItemPropKeys: string[], formItem: ItemInfo) {
53
+ formItemPropKeys.forEach(name => {
54
+ _vm.$watch(name, (val) => {
55
+ formItem.update(name, val)
56
+ })
57
+ })
58
+ }
59
+
60
+ export function assembleItem ($xeForm: VxeFormConstructor, el: HTMLDivElement, formItem: ItemInfo, formGather: XEFormItemProvide | null) {
61
+ const { reactData } = $xeForm
62
+ const { staticItems } = reactData
63
+ const parentElem = el.parentNode
64
+ const parentItem = formGather ? formGather.formItem : null
65
+ const parentItems = parentItem ? parentItem.children : staticItems
66
+ if (parentElem) {
67
+ parentItems.splice(XEUtils.arrayIndexOf(parentElem.children, el), 0, formItem)
68
+ reactData.staticItems = staticItems.slice(0)
69
+ }
70
+ }
71
+
72
+ export function destroyItem ($xeForm: VxeFormConstructor, formItem: ItemInfo) {
73
+ const { reactData } = $xeForm
74
+ const { staticItems } = reactData
75
+ const index = XEUtils.findIndexOf(staticItems, item => item.id === formItem.id)
76
+ if (index > -1) {
77
+ staticItems.splice(index, 1)
78
+ }
79
+ reactData.staticItems = staticItems.slice(0)
80
+ }
@@ -0,0 +1,16 @@
1
+ import { VueConstructor } from 'vue'
2
+ import { VxeUI } from '@vxe-ui/core'
3
+ import VxeFormGatherComponent from '../form/src/form-gather'
4
+ import { dynamicApp } from '../dynamics'
5
+
6
+ export const VxeFormGather = Object.assign(VxeFormGatherComponent, {
7
+ install (app: VueConstructor) {
8
+ app.component(VxeFormGatherComponent.name as string, VxeFormGatherComponent)
9
+ }
10
+ })
11
+
12
+ dynamicApp.use(VxeFormGather)
13
+ VxeUI.component(VxeFormGatherComponent)
14
+
15
+ export const FormGather = VxeFormGather
16
+ export default VxeFormGather
@@ -0,0 +1,16 @@
1
+ import { VueConstructor } from 'vue'
2
+ import { VxeUI } from '@vxe-ui/core'
3
+ import VxeFormItemComponent from '../form/src/form-item'
4
+ import { dynamicApp } from '../dynamics'
5
+
6
+ export const VxeFormItem = Object.assign(VxeFormItemComponent, {
7
+ install (app: VueConstructor) {
8
+ app.component(VxeFormItemComponent.name as string, VxeFormItemComponent)
9
+ }
10
+ })
11
+
12
+ dynamicApp.use(VxeFormItem)
13
+ VxeUI.component(VxeFormItemComponent)
14
+
15
+ export const FormItem = VxeFormItem
16
+ export default VxeFormItem
@@ -193,6 +193,11 @@ export default defineVxeComponent({
193
193
  const $xeIconPicker = this
194
194
  $xeIconPicker.$emit(type, createEvent(evnt, { $iconPicker: $xeIconPicker }, params))
195
195
  },
196
+ emitModel (value: any) {
197
+ const $xeDrawer = this
198
+
199
+ $xeDrawer.$emit('modelValue', value)
200
+ },
196
201
  isPanelVisible () {
197
202
  const $xeIconPicker = this
198
203
  const reactData = $xeIconPicker.reactData
@@ -378,7 +383,7 @@ export default defineVxeComponent({
378
383
 
379
384
  reactData.selectIcon = selectValue
380
385
  if (selectValue !== props.value) {
381
- $xeIconPicker.$emit('modelValue', selectValue)
386
+ $xeIconPicker.emitModel(selectValue)
382
387
  $xeIconPicker.dispatchEvent('change', { value: selectValue }, evnt)
383
388
  // 自动更新校验状态
384
389
  if ($xeForm && formItemInfo) {
@@ -166,10 +166,9 @@ export default defineVxeComponent({
166
166
  },
167
167
  emitModel (value: VxeImagePreviewPropTypes.ModelValue) {
168
168
  const $xeImagePreview = this
169
- const reactData = $xeImagePreview.reactData
170
169
 
171
- reactData.activeIndex = value
172
170
  $xeImagePreview.$emit('input', value)
171
+ $xeImagePreview.$emit('modelValue', value)
173
172
  },
174
173
  handleCloseEvent (evnt: MouseEvent) {
175
174
  const $xeImagePreview = this
@@ -865,6 +865,11 @@ export default defineVxeComponent({
865
865
  const $xeInput = this
866
866
  $xeInput.$emit(type, createEvent(evnt, { $input: $xeInput }, params))
867
867
  },
868
+ emitModel (value: any) {
869
+ const $xeInput = this
870
+
871
+ $xeInput.$emit('modelValue', value)
872
+ },
868
873
  focus () {
869
874
  const $xeInput = this
870
875
  const reactData = $xeInput.reactData
@@ -922,7 +927,7 @@ export default defineVxeComponent({
922
927
  const { inputValue } = reactData
923
928
  $xeInput.dispatchEvent(evnt.type, { value: inputValue }, evnt)
924
929
  },
925
- emitModel (value: string, evnt: Event | { type: string }) {
930
+ handleChange (value: string, evnt: Event | { type: string }) {
926
931
  const $xeInput = this
927
932
  const props = $xeInput
928
933
  const reactData = $xeInput.reactData
@@ -930,7 +935,7 @@ export default defineVxeComponent({
930
935
  const formItemInfo = $xeInput.formItemInfo
931
936
 
932
937
  reactData.inputValue = value
933
- $xeInput.$emit('modelValue', value)
938
+ $xeInput.emitModel(value)
934
939
  $xeInput.dispatchEvent('input', { value }, evnt as any)
935
940
  if (XEUtils.toValueString(props.value) !== value) {
936
941
  $xeInput.dispatchEvent('change', { value }, evnt as any)
@@ -949,7 +954,7 @@ export default defineVxeComponent({
949
954
  reactData.inputValue = value
950
955
  if (!isDatePickerType) {
951
956
  if (inpImmediate) {
952
- $xeInput.emitModel(value, evnt)
957
+ $xeInput.handleChange(value, evnt)
953
958
  } else {
954
959
  $xeInput.dispatchEvent('input', { value }, evnt)
955
960
  }
@@ -1017,7 +1022,7 @@ export default defineVxeComponent({
1017
1022
  if (isNumType || ['text', 'search', 'password'].indexOf(type) > -1) {
1018
1023
  $xeInput.focus()
1019
1024
  }
1020
- $xeInput.emitModel('', evnt)
1025
+ $xeInput.handleChange('', evnt)
1021
1026
  $xeInput.dispatchEvent('clear', { value }, evnt)
1022
1027
  },
1023
1028
  clickSuffixEvent (evnt: Event) {
@@ -1098,7 +1103,7 @@ export default defineVxeComponent({
1098
1103
  if (inputValue) {
1099
1104
  const validValue = toFloatValueFixed(inputValue, digitsValue)
1100
1105
  if (inputValue !== validValue) {
1101
- $xeInput.emitModel(validValue, { type: 'init' })
1106
+ $xeInput.handleChange(validValue, { type: 'init' })
1102
1107
  }
1103
1108
  }
1104
1109
  }
@@ -1172,19 +1177,19 @@ export default defineVxeComponent({
1172
1177
  datetimeRest.push(item)
1173
1178
  }
1174
1179
  })
1175
- $xeInput.emitModel(datetimeRest.map(date => XEUtils.toDateString(date, dateValueFormat)).join(','), { type: 'update' })
1180
+ $xeInput.handleChange(datetimeRest.map(date => XEUtils.toDateString(date, dateValueFormat)).join(','), { type: 'update' })
1176
1181
  } else {
1177
1182
  // 如果是日期类型
1178
1183
  if (dateMultipleValue.some(val => XEUtils.isEqual(val, inpVal))) {
1179
- $xeInput.emitModel(dateMultipleValue.filter(val => !XEUtils.isEqual(val, inpVal)).join(','), { type: 'update' })
1184
+ $xeInput.handleChange(dateMultipleValue.filter(val => !XEUtils.isEqual(val, inpVal)).join(','), { type: 'update' })
1180
1185
  } else {
1181
- $xeInput.emitModel(dateMultipleValue.concat([inpVal]).join(','), { type: 'update' })
1186
+ $xeInput.handleChange(dateMultipleValue.concat([inpVal]).join(','), { type: 'update' })
1182
1187
  }
1183
1188
  }
1184
1189
  } else {
1185
1190
  // 如果为单选
1186
1191
  if (!XEUtils.isEqual(props.value, inpVal)) {
1187
- $xeInput.emitModel(inpVal, { type: 'update' })
1192
+ $xeInput.handleChange(inpVal, { type: 'update' })
1188
1193
  }
1189
1194
  }
1190
1195
  },
@@ -1214,7 +1219,7 @@ export default defineVxeComponent({
1214
1219
  inpNumVal = inpStringVal
1215
1220
  }
1216
1221
  }
1217
- $xeInput.emitModel($xeInput.getNumberValue(inpNumVal), { type: 'check' })
1222
+ $xeInput.handleChange($xeInput.getNumberValue(inpNumVal), { type: 'check' })
1218
1223
  }
1219
1224
  } else if (isDatePickerType) {
1220
1225
  if (inputValue) {
@@ -1223,7 +1228,7 @@ export default defineVxeComponent({
1223
1228
  if (type === 'time') {
1224
1229
  inpDateVal = XEUtils.toDateString(inpDateVal, dateLabelFormat)
1225
1230
  if (inputValue !== inpDateVal) {
1226
- $xeInput.emitModel(inpDateVal, { type: 'check' })
1231
+ $xeInput.handleChange(inpDateVal, { type: 'check' })
1227
1232
  }
1228
1233
  reactData.inputValue = inpDateVal
1229
1234
  } else {
@@ -1249,7 +1254,7 @@ export default defineVxeComponent({
1249
1254
  $xeInput.dateRevert()
1250
1255
  }
1251
1256
  } else {
1252
- $xeInput.emitModel('', { type: 'check' })
1257
+ $xeInput.handleChange('', { type: 'check' })
1253
1258
  }
1254
1259
  }
1255
1260
  }
@@ -1261,7 +1266,7 @@ export default defineVxeComponent({
1261
1266
  const { inputValue } = reactData
1262
1267
  const inpImmediate = $xeInput.computeInpImmediate
1263
1268
  if (!inpImmediate) {
1264
- $xeInput.emitModel(inputValue, evnt)
1269
+ $xeInput.handleChange(inputValue, evnt)
1265
1270
  }
1266
1271
  $xeInput.afterCheckValue()
1267
1272
  if (!reactData.visiblePanel) {
@@ -1727,10 +1732,10 @@ export default defineVxeComponent({
1727
1732
  datetimeRest.push(item)
1728
1733
  }
1729
1734
  })
1730
- $xeInput.emitModel(datetimeRest.map(date => XEUtils.toDateString(date, dateValueFormat)).join(','), { type: 'update' })
1735
+ $xeInput.handleChange(datetimeRest.map(date => XEUtils.toDateString(date, dateValueFormat)).join(','), { type: 'update' })
1731
1736
  } else {
1732
1737
  // 如果是日期类型
1733
- $xeInput.emitModel(dateMultipleValue.join(','), { type: 'update' })
1738
+ $xeInput.handleChange(dateMultipleValue.join(','), { type: 'update' })
1734
1739
  }
1735
1740
  } else {
1736
1741
  $xeInput.dateChange(dateValue || reactData.currentDate)
@@ -28,6 +28,7 @@ export default defineVxeComponent({
28
28
  const $xeLayoutFooter = this
29
29
  $xeLayoutFooter.$emit(type, createEvent(evnt, { $layoutFooter: $xeLayoutFooter }, params))
30
30
  },
31
+
31
32
  //
32
33
  // Render
33
34
  //
@@ -0,0 +1,16 @@
1
+ import { VueConstructor } from 'vue'
2
+ import { VxeUI } from '@vxe-ui/core'
3
+ import VxeListComponent from './src/list'
4
+ import { dynamicApp } from '../dynamics'
5
+
6
+ export const VxeList = Object.assign(VxeListComponent, {
7
+ install (app: VueConstructor) {
8
+ app.component(VxeListComponent.name as string, VxeListComponent)
9
+ }
10
+ })
11
+
12
+ dynamicApp.use(VxeList)
13
+ VxeUI.component(VxeListComponent)
14
+
15
+ export const List = VxeList
16
+ export default VxeList