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,695 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _comp = require("../../ui/src/comp");
8
+ var _xeUtils = _interopRequireDefault(require("xe-utils"));
9
+ var _ui = require("../../ui");
10
+ var _dom = require("../../ui/src/dom");
11
+ var _utils = require("../../ui/src/utils");
12
+ var _input = _interopRequireDefault(require("../../input/src/input"));
13
+ var _tree = _interopRequireDefault(require("../../tree/src/tree"));
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
16
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
+ function getOptUniqueId() {
20
+ return _xeUtils.default.uniqueId('node_');
21
+ }
22
+ var _default2 = exports.default = (0, _comp.defineVxeComponent)({
23
+ name: 'VxeTreeSelect',
24
+ mixins: [_ui.globalMixins.sizeMixin],
25
+ props: {
26
+ value: [String, Number, Array],
27
+ clearable: Boolean,
28
+ placeholder: {
29
+ type: String,
30
+ default: function _default() {
31
+ return _xeUtils.default.eqNull((0, _ui.getConfig)().select.placeholder) ? (0, _ui.getI18n)('vxe.base.pleaseSelect') : (0, _ui.getConfig)().select.placeholder;
32
+ }
33
+ },
34
+ readonly: {
35
+ type: Boolean,
36
+ default: null
37
+ },
38
+ loading: Boolean,
39
+ disabled: {
40
+ type: Boolean,
41
+ default: null
42
+ },
43
+ multiple: Boolean,
44
+ className: [String, Function],
45
+ popupClassName: [String, Function],
46
+ prefixIcon: String,
47
+ placement: String,
48
+ options: Array,
49
+ optionProps: Object,
50
+ size: {
51
+ type: String,
52
+ default: function _default() {
53
+ return (0, _ui.getConfig)().select.size || (0, _ui.getConfig)().size;
54
+ }
55
+ },
56
+ remote: Boolean,
57
+ remoteMethod: Function,
58
+ treeConfig: Object,
59
+ transfer: {
60
+ type: Boolean,
61
+ default: null
62
+ }
63
+ },
64
+ inject: {
65
+ $xeModal: {
66
+ default: null
67
+ },
68
+ $xeDrawer: {
69
+ default: null
70
+ },
71
+ $xeTable: {
72
+ default: null
73
+ },
74
+ $xeForm: {
75
+ default: null
76
+ },
77
+ formItemInfo: {
78
+ from: 'xeFormItemInfo',
79
+ default: null
80
+ }
81
+ },
82
+ provide: function provide() {
83
+ var $xeTreeSelect = this;
84
+ return {
85
+ $xeTreeSelect: $xeTreeSelect
86
+ };
87
+ },
88
+ data: function data() {
89
+ var xID = _xeUtils.default.uniqueId();
90
+ var reactData = {
91
+ initialized: false,
92
+ fullOptionList: [],
93
+ fullNodeMaps: {},
94
+ visibleOptionList: [],
95
+ panelIndex: 0,
96
+ panelStyle: {},
97
+ panelPlacement: null,
98
+ triggerFocusPanel: false,
99
+ visiblePanel: false,
100
+ visibleAnimate: false,
101
+ isActivated: false
102
+ };
103
+ var internalData = {
104
+ hpTimeout: undefined
105
+ };
106
+ return {
107
+ xID: xID,
108
+ reactData: reactData,
109
+ internalData: internalData
110
+ };
111
+ },
112
+ computed: Object.assign(Object.assign({}, {}), {
113
+ computeFormReadonly: function computeFormReadonly() {
114
+ var $xeTreeSelect = this;
115
+ var props = $xeTreeSelect;
116
+ var $xeForm = $xeTreeSelect.$xeForm;
117
+ var readonly = props.readonly;
118
+ if (readonly === null) {
119
+ if ($xeForm) {
120
+ return $xeForm.readonly;
121
+ }
122
+ return false;
123
+ }
124
+ return readonly;
125
+ },
126
+ computeIsDisabled: function computeIsDisabled() {
127
+ var $xeTreeSelect = this;
128
+ var props = $xeTreeSelect;
129
+ var $xeForm = $xeTreeSelect.$xeForm;
130
+ var disabled = props.disabled;
131
+ if (disabled === null) {
132
+ if ($xeForm) {
133
+ return $xeForm.disabled;
134
+ }
135
+ return false;
136
+ }
137
+ return disabled;
138
+ },
139
+ computeBtnTransfer: function computeBtnTransfer() {
140
+ var $xeTreeSelect = this;
141
+ var props = $xeTreeSelect;
142
+ var $xeTable = $xeTreeSelect.$xeTable;
143
+ var $xeModal = $xeTreeSelect.$xeModal;
144
+ var $xeDrawer = $xeTreeSelect.$xeDrawer;
145
+ var $xeForm = $xeTreeSelect.$xeForm;
146
+ var transfer = props.transfer;
147
+ if (transfer === null) {
148
+ var globalTransfer = (0, _ui.getConfig)().select.transfer;
149
+ if (_xeUtils.default.isBoolean(globalTransfer)) {
150
+ return globalTransfer;
151
+ }
152
+ if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
153
+ return true;
154
+ }
155
+ }
156
+ return transfer;
157
+ },
158
+ computeTreeOpts: function computeTreeOpts() {
159
+ var $xeTreeSelect = this;
160
+ var props = $xeTreeSelect;
161
+ return Object.assign({}, (0, _ui.getConfig)().treeSelect.treeConfig, props.treeConfig);
162
+ },
163
+ computeTreeNodeOpts: function computeTreeNodeOpts() {
164
+ var $xeTreeSelect = this;
165
+ var treeOpts = $xeTreeSelect.computeTreeOpts;
166
+ return Object.assign({
167
+ isHover: true
168
+ }, treeOpts.nodeConfig);
169
+ },
170
+ computeTreeCheckboxOpts: function computeTreeCheckboxOpts() {
171
+ var $xeTreeSelect = this;
172
+ var treeOpts = $xeTreeSelect.computeTreeOpts;
173
+ return Object.assign({
174
+ showIcon: !!treeOpts.showCheckbox
175
+ }, treeOpts.checkboxConfig, {
176
+ trigger: 'node'
177
+ });
178
+ },
179
+ computeTreeRadioOpts: function computeTreeRadioOpts() {
180
+ var $xeTreeSelect = this;
181
+ var treeOpts = $xeTreeSelect.computeTreeOpts;
182
+ return Object.assign({
183
+ showIcon: !!treeOpts.showRadio
184
+ }, treeOpts.radioConfig, {
185
+ trigger: 'node'
186
+ });
187
+ },
188
+ computePropsOpts: function computePropsOpts() {
189
+ var $xeTreeSelect = this;
190
+ var props = $xeTreeSelect;
191
+ return Object.assign({}, props.optionProps);
192
+ },
193
+ computeLabelField: function computeLabelField() {
194
+ var $xeTreeSelect = this;
195
+ var propsOpts = $xeTreeSelect.computePropsOpts;
196
+ return propsOpts.label || 'label';
197
+ },
198
+ computeValueField: function computeValueField() {
199
+ var $xeTreeSelect = this;
200
+ var propsOpts = $xeTreeSelect.computePropsOpts;
201
+ return propsOpts.value || 'value';
202
+ },
203
+ computeChildrenField: function computeChildrenField() {
204
+ var $xeTreeSelect = this;
205
+ var propsOpts = $xeTreeSelect.computePropsOpts;
206
+ return propsOpts.children || 'children';
207
+ },
208
+ computeParentField: function computeParentField() {
209
+ var $xeTreeSelect = this;
210
+ var propsOpts = $xeTreeSelect.computePropsOpts;
211
+ return propsOpts.parent || 'parentField';
212
+ },
213
+ computeHasChildField: function computeHasChildField() {
214
+ var $xeTreeSelect = this;
215
+ var propsOpts = $xeTreeSelect.computePropsOpts;
216
+ return propsOpts.hasChild || 'hasChild';
217
+ },
218
+ computeSelectLabel: function computeSelectLabel() {
219
+ var $xeTreeSelect = this;
220
+ var props = $xeTreeSelect;
221
+ var reactData = $xeTreeSelect.reactData;
222
+ var value = props.value;
223
+ var fullNodeMaps = reactData.fullNodeMaps;
224
+ var labelField = $xeTreeSelect.computeLabelField;
225
+ return (_xeUtils.default.isArray(value) ? value : [value]).map(function (value) {
226
+ var cacheItem = fullNodeMaps[value];
227
+ return cacheItem ? cacheItem.item[labelField] : value;
228
+ }).join(', ');
229
+ }
230
+ }),
231
+ methods: {
232
+ //
233
+ // Method
234
+ //
235
+ dispatchEvent: function dispatchEvent(type, params, evnt) {
236
+ var $xeTreeSelect = this;
237
+ $xeTreeSelect.$emit(type, (0, _ui.createEvent)(evnt, {
238
+ $treeSelect: $xeTreeSelect
239
+ }, params));
240
+ },
241
+ emitModel: function emitModel(value) {
242
+ var $xeTreeSelect = this;
243
+ $xeTreeSelect.$emit('input', value);
244
+ $xeTreeSelect.$emit('modelValue', value);
245
+ },
246
+ getOptid: function getOptid(option) {
247
+ var $xeTreeSelect = this;
248
+ var valueField = $xeTreeSelect.computeValueField;
249
+ var optid = option[valueField];
250
+ return optid ? encodeURIComponent(optid) : '';
251
+ },
252
+ /**
253
+ * 刷新选项,当选项被动态显示/隐藏时可能会用到
254
+ */
255
+ refreshOption: function refreshOption() {
256
+ var $xeTreeSelect = this;
257
+ return $xeTreeSelect.$nextTick();
258
+ },
259
+ cacheItemMap: function cacheItemMap() {
260
+ var $xeTreeSelect = this;
261
+ var props = $xeTreeSelect;
262
+ var reactData = $xeTreeSelect.reactData;
263
+ var options = props.options;
264
+ var valueField = $xeTreeSelect.computeValueField;
265
+ var childrenField = $xeTreeSelect.computeChildrenField;
266
+ var nodeMaps = {};
267
+ _xeUtils.default.eachTree(options, function (item, index, items, path, parent, nodes) {
268
+ var nodeid = $xeTreeSelect.getOptid(item);
269
+ if (!nodeid) {
270
+ nodeid = getOptUniqueId();
271
+ item[valueField] = nodeid;
272
+ }
273
+ nodeMaps[nodeid] = {
274
+ item: item,
275
+ index: index,
276
+ items: items,
277
+ parent: parent,
278
+ nodes: nodes
279
+ };
280
+ }, {
281
+ children: childrenField
282
+ });
283
+ reactData.fullOptionList = options || [];
284
+ reactData.fullNodeMaps = nodeMaps;
285
+ $xeTreeSelect.refreshOption();
286
+ },
287
+ updateZindex: function updateZindex() {
288
+ var $xeTreeSelect = this;
289
+ var reactData = $xeTreeSelect.reactData;
290
+ if (reactData.panelIndex < (0, _utils.getLastZIndex)()) {
291
+ reactData.panelIndex = (0, _utils.nextZIndex)();
292
+ }
293
+ },
294
+ updatePlacement: function updatePlacement() {
295
+ var $xeTreeSelect = this;
296
+ var props = $xeTreeSelect;
297
+ var reactData = $xeTreeSelect.reactData;
298
+ return $xeTreeSelect.$nextTick().then(function () {
299
+ var placement = props.placement;
300
+ var panelIndex = reactData.panelIndex;
301
+ var el = $xeTreeSelect.$refs.refElem;
302
+ var panelElem = $xeTreeSelect.$refs.refOptionPanel;
303
+ var btnTransfer = $xeTreeSelect.computeBtnTransfer;
304
+ if (panelElem && el) {
305
+ var targetHeight = el.offsetHeight;
306
+ var targetWidth = el.offsetWidth;
307
+ var panelHeight = panelElem.offsetHeight;
308
+ var panelWidth = panelElem.offsetWidth;
309
+ var marginSize = 5;
310
+ var panelStyle = {
311
+ zIndex: panelIndex
312
+ };
313
+ var _getAbsolutePos = (0, _dom.getAbsolutePos)(el),
314
+ boundingTop = _getAbsolutePos.boundingTop,
315
+ boundingLeft = _getAbsolutePos.boundingLeft,
316
+ visibleHeight = _getAbsolutePos.visibleHeight,
317
+ visibleWidth = _getAbsolutePos.visibleWidth;
318
+ var panelPlacement = 'bottom';
319
+ if (btnTransfer) {
320
+ var left = boundingLeft;
321
+ var top = boundingTop + targetHeight;
322
+ if (placement === 'top') {
323
+ panelPlacement = 'top';
324
+ top = boundingTop - panelHeight;
325
+ } else if (!placement) {
326
+ // 如果下面不够放,则向上
327
+ if (top + panelHeight + marginSize > visibleHeight) {
328
+ panelPlacement = 'top';
329
+ top = boundingTop - panelHeight;
330
+ }
331
+ // 如果上面不够放,则向下(优先)
332
+ if (top < marginSize) {
333
+ panelPlacement = 'bottom';
334
+ top = boundingTop + targetHeight;
335
+ }
336
+ }
337
+ // 如果溢出右边
338
+ if (left + panelWidth + marginSize > visibleWidth) {
339
+ left -= left + panelWidth + marginSize - visibleWidth;
340
+ }
341
+ // 如果溢出左边
342
+ if (left < marginSize) {
343
+ left = marginSize;
344
+ }
345
+ Object.assign(panelStyle, {
346
+ left: "".concat(left, "px"),
347
+ top: "".concat(top, "px"),
348
+ minWidth: "".concat(targetWidth, "px")
349
+ });
350
+ } else {
351
+ if (placement === 'top') {
352
+ panelPlacement = 'top';
353
+ panelStyle.bottom = "".concat(targetHeight, "px");
354
+ } else if (!placement) {
355
+ // 如果下面不够放,则向上
356
+ if (boundingTop + targetHeight + panelHeight > visibleHeight) {
357
+ // 如果上面不够放,则向下(优先)
358
+ if (boundingTop - targetHeight - panelHeight > marginSize) {
359
+ panelPlacement = 'top';
360
+ panelStyle.bottom = "".concat(targetHeight, "px");
361
+ }
362
+ }
363
+ }
364
+ }
365
+ reactData.panelStyle = panelStyle;
366
+ reactData.panelPlacement = panelPlacement;
367
+ return $xeTreeSelect.$nextTick();
368
+ }
369
+ });
370
+ },
371
+ showOptionPanel: function showOptionPanel() {
372
+ var $xeTreeSelect = this;
373
+ var props = $xeTreeSelect;
374
+ var reactData = $xeTreeSelect.reactData;
375
+ var internalData = $xeTreeSelect.internalData;
376
+ var loading = props.loading;
377
+ var isDisabled = $xeTreeSelect.computeIsDisabled;
378
+ if (!loading && !isDisabled) {
379
+ clearTimeout(internalData.hpTimeout);
380
+ if (!reactData.initialized) {
381
+ reactData.initialized = true;
382
+ var btnTransfer = $xeTreeSelect.computeBtnTransfer;
383
+ var panelElem = $xeTreeSelect.$refs.refOptionPanel;
384
+ if (btnTransfer) {
385
+ if (panelElem) {
386
+ document.body.appendChild(panelElem);
387
+ }
388
+ }
389
+ }
390
+ reactData.isActivated = true;
391
+ reactData.visibleAnimate = true;
392
+ setTimeout(function () {
393
+ reactData.visiblePanel = true;
394
+ }, 10);
395
+ $xeTreeSelect.updateZindex();
396
+ $xeTreeSelect.updatePlacement();
397
+ }
398
+ },
399
+ hideOptionPanel: function hideOptionPanel() {
400
+ var $xeTreeSelect = this;
401
+ var reactData = $xeTreeSelect.reactData;
402
+ var internalData = $xeTreeSelect.internalData;
403
+ reactData.visiblePanel = false;
404
+ internalData.hpTimeout = window.setTimeout(function () {
405
+ reactData.visibleAnimate = false;
406
+ }, 350);
407
+ },
408
+ changeEvent: function changeEvent(evnt, selectValue) {
409
+ var $xeTreeSelect = this;
410
+ var props = $xeTreeSelect;
411
+ var reactData = $xeTreeSelect.reactData;
412
+ var $xeForm = $xeTreeSelect.$xeForm;
413
+ var formItemInfo = $xeTreeSelect.formItemInfo;
414
+ var fullNodeMaps = reactData.fullNodeMaps;
415
+ $xeTreeSelect.emitModel(selectValue);
416
+ if (selectValue !== props.value) {
417
+ var cacheItem = fullNodeMaps[selectValue];
418
+ $xeTreeSelect.dispatchEvent('change', {
419
+ value: selectValue,
420
+ option: cacheItem ? cacheItem.item : null
421
+ }, evnt);
422
+ // 自动更新校验状态
423
+ if ($xeForm && formItemInfo) {
424
+ $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, selectValue);
425
+ }
426
+ }
427
+ },
428
+ clearValueEvent: function clearValueEvent(evnt, selectValue) {
429
+ var $xeTreeSelect = this;
430
+ $xeTreeSelect.changeEvent(evnt, selectValue);
431
+ $xeTreeSelect.dispatchEvent('clear', {
432
+ value: selectValue
433
+ }, evnt);
434
+ },
435
+ clearEvent: function clearEvent(params, evnt) {
436
+ var $xeTreeSelect = this;
437
+ $xeTreeSelect.clearValueEvent(evnt, null);
438
+ $xeTreeSelect.hideOptionPanel();
439
+ },
440
+ handleGlobalMousewheelEvent: function handleGlobalMousewheelEvent(evnt) {
441
+ var $xeTreeSelect = this;
442
+ var reactData = $xeTreeSelect.reactData;
443
+ var visiblePanel = reactData.visiblePanel;
444
+ var isDisabled = $xeTreeSelect.computeIsDisabled;
445
+ if (!isDisabled) {
446
+ if (visiblePanel) {
447
+ var panelElem = $xeTreeSelect.$refs.refOptionPanel;
448
+ if ((0, _dom.getEventTargetNode)(evnt, panelElem).flag) {
449
+ $xeTreeSelect.updatePlacement();
450
+ } else {
451
+ $xeTreeSelect.hideOptionPanel();
452
+ }
453
+ }
454
+ }
455
+ },
456
+ handleGlobalMousedownEvent: function handleGlobalMousedownEvent(evnt) {
457
+ var $xeTreeSelect = this;
458
+ var reactData = $xeTreeSelect.reactData;
459
+ var visiblePanel = reactData.visiblePanel;
460
+ var isDisabled = $xeTreeSelect.computeIsDisabled;
461
+ if (!isDisabled) {
462
+ var el = $xeTreeSelect.$refs.refElem;
463
+ var panelElem = $xeTreeSelect.$refs.refOptionPanel;
464
+ reactData.isActivated = (0, _dom.getEventTargetNode)(evnt, el).flag || (0, _dom.getEventTargetNode)(evnt, panelElem).flag;
465
+ if (visiblePanel && !reactData.isActivated) {
466
+ $xeTreeSelect.hideOptionPanel();
467
+ }
468
+ }
469
+ },
470
+ handleGlobalBlurEvent: function handleGlobalBlurEvent() {
471
+ var $xeTreeSelect = this;
472
+ $xeTreeSelect.hideOptionPanel();
473
+ },
474
+ focusEvent: function focusEvent(evnt) {
475
+ var $xeTreeSelect = this;
476
+ var reactData = $xeTreeSelect.reactData;
477
+ var isDisabled = $xeTreeSelect.computeIsDisabled;
478
+ if (!isDisabled) {
479
+ if (!reactData.visiblePanel) {
480
+ reactData.triggerFocusPanel = true;
481
+ $xeTreeSelect.showOptionPanel();
482
+ setTimeout(function () {
483
+ reactData.triggerFocusPanel = false;
484
+ }, 150);
485
+ }
486
+ }
487
+ $xeTreeSelect.dispatchEvent('focus', {}, evnt);
488
+ },
489
+ clickEvent: function clickEvent(evnt) {
490
+ var $xeTreeSelect = this;
491
+ $xeTreeSelect.togglePanelEvent(evnt);
492
+ $xeTreeSelect.dispatchEvent('click', {}, evnt);
493
+ },
494
+ blurEvent: function blurEvent(evnt) {
495
+ var $xeTreeSelect = this;
496
+ var reactData = $xeTreeSelect.reactData;
497
+ reactData.isActivated = false;
498
+ $xeTreeSelect.dispatchEvent('blur', {}, evnt);
499
+ },
500
+ togglePanelEvent: function togglePanelEvent(params) {
501
+ var $xeTreeSelect = this;
502
+ var reactData = $xeTreeSelect.reactData;
503
+ var $event = params.$event;
504
+ $event.preventDefault();
505
+ if (reactData.triggerFocusPanel) {
506
+ reactData.triggerFocusPanel = false;
507
+ } else {
508
+ if (reactData.visiblePanel) {
509
+ $xeTreeSelect.hideOptionPanel();
510
+ } else {
511
+ $xeTreeSelect.showOptionPanel();
512
+ }
513
+ }
514
+ },
515
+ nodeClickEvent: function nodeClickEvent(params) {
516
+ var $xeTreeSelect = this;
517
+ var $event = params.$event;
518
+ $xeTreeSelect.dispatchEvent('node-click', params, $event);
519
+ },
520
+ radioChangeEvent: function radioChangeEvent(params) {
521
+ var $xeTreeSelect = this;
522
+ var value = params.value,
523
+ $event = params.$event;
524
+ $xeTreeSelect.changeEvent($event, value);
525
+ $xeTreeSelect.hideOptionPanel();
526
+ },
527
+ checkboxChangeEvent: function checkboxChangeEvent(params) {
528
+ var $xeTreeSelect = this;
529
+ var value = params.value,
530
+ $event = params.$event;
531
+ $xeTreeSelect.changeEvent($event, value);
532
+ },
533
+ //
534
+ // Render
535
+ //
536
+ renderVN: function renderVN(h) {
537
+ var $xeTreeSelect = this;
538
+ var props = $xeTreeSelect;
539
+ var slots = $xeTreeSelect.$scopedSlots;
540
+ var reactData = $xeTreeSelect.reactData;
541
+ var className = props.className,
542
+ value = props.value,
543
+ multiple = props.multiple,
544
+ options = props.options,
545
+ popupClassName = props.popupClassName,
546
+ loading = props.loading;
547
+ var initialized = reactData.initialized,
548
+ isActivated = reactData.isActivated,
549
+ visiblePanel = reactData.visiblePanel;
550
+ var vSize = $xeTreeSelect.computeSize;
551
+ var isDisabled = $xeTreeSelect.computeIsDisabled;
552
+ var selectLabel = $xeTreeSelect.computeSelectLabel;
553
+ var btnTransfer = $xeTreeSelect.computeBtnTransfer;
554
+ var formReadonly = $xeTreeSelect.computeFormReadonly;
555
+ var defaultSlot = slots.default;
556
+ var headerSlot = slots.header;
557
+ var footerSlot = slots.footer;
558
+ var prefixSlot = slots.prefix;
559
+ var treeOpts = $xeTreeSelect.computeTreeOpts;
560
+ var treeNodeOpts = $xeTreeSelect.computeTreeNodeOpts;
561
+ var treeCheckboxOpts = $xeTreeSelect.computeTreeCheckboxOpts;
562
+ var treeRadioOpts = $xeTreeSelect.computeTreeRadioOpts;
563
+ var labelField = $xeTreeSelect.computeLabelField;
564
+ var valueField = $xeTreeSelect.computeValueField;
565
+ var childrenField = $xeTreeSelect.computeChildrenField;
566
+ var parentField = $xeTreeSelect.computeParentField;
567
+ var hasChildField = $xeTreeSelect.computeHasChildField;
568
+ if (formReadonly) {
569
+ return h('div', {
570
+ ref: 'refElem',
571
+ class: ['vxe-tree-select--readonly', className]
572
+ }, [h('div', {
573
+ class: 'vxe-tree-select-slots',
574
+ ref: 'hideOption'
575
+ }, defaultSlot ? defaultSlot({}) : []), h('span', {
576
+ class: 'vxe-tree-select-label'
577
+ }, selectLabel)]);
578
+ }
579
+ return h('div', {
580
+ ref: 'refElem',
581
+ class: ['vxe-tree-select', className ? _xeUtils.default.isFunction(className) ? className({
582
+ $treeSelect: $xeTreeSelect
583
+ }) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--visible', visiblePanel), 'is--disabled', isDisabled), 'is--loading', loading), 'is--active', isActivated)]
584
+ }, [h(_input.default, {
585
+ ref: 'refInput',
586
+ props: {
587
+ clearable: props.clearable,
588
+ placeholder: props.placeholder,
589
+ readonly: true,
590
+ disabled: isDisabled,
591
+ type: 'text',
592
+ prefixIcon: props.prefixIcon,
593
+ suffixIcon: loading ? (0, _ui.getIcon)().TREE_SELECT_LOADED : visiblePanel ? (0, _ui.getIcon)().TREE_SELECT_OPEN : (0, _ui.getIcon)().TREE_SELECT_CLOSE,
594
+ value: selectLabel
595
+ },
596
+ on: {
597
+ clear: $xeTreeSelect.clearEvent,
598
+ click: $xeTreeSelect.clickEvent,
599
+ focus: $xeTreeSelect.focusEvent,
600
+ blur: $xeTreeSelect.blurEvent,
601
+ suffixClick: $xeTreeSelect.togglePanelEvent
602
+ },
603
+ scopedSlots: prefixSlot ? {
604
+ prefix: function prefix() {
605
+ return prefixSlot({});
606
+ }
607
+ } : {}
608
+ }), h('div', {
609
+ ref: 'refOptionPanel',
610
+ class: ['vxe-table--ignore-clear vxe-tree-select--panel', popupClassName ? _xeUtils.default.isFunction(popupClassName) ? popupClassName({
611
+ $treeSelect: $xeTreeSelect
612
+ }) : popupClassName : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--transfer', btnTransfer), 'ani--leave', !loading && reactData.visibleAnimate), 'ani--enter', !loading && visiblePanel)],
613
+ attrs: {
614
+ placement: reactData.panelPlacement
615
+ },
616
+ style: reactData.panelStyle
617
+ }, initialized ? [h('div', {
618
+ class: 'vxe-tree-select--panel-wrapper'
619
+ }, [headerSlot ? h('div', {
620
+ class: 'vxe-tree-select--panel-header'
621
+ }, headerSlot({})) : (0, _ui.renderEmptyElement)($xeTreeSelect), h('div', {
622
+ class: 'vxe-tree-select--panel-body'
623
+ }, [h('div', {
624
+ ref: 'refOptionWrapper',
625
+ class: 'vxe-tree-select-option--wrapper'
626
+ }, [h(_tree.default, {
627
+ class: 'vxe-tree-select--tree',
628
+ props: {
629
+ data: options,
630
+ indent: treeOpts.indent,
631
+ showRadio: !multiple,
632
+ radioConfig: treeRadioOpts,
633
+ checkNodeKey: multiple ? null : value,
634
+ showCheckbox: !!multiple,
635
+ checkNodeKeys: multiple ? value : null,
636
+ checkboxConfig: treeCheckboxOpts,
637
+ titleField: labelField,
638
+ valueField: valueField,
639
+ keyField: treeOpts.keyField,
640
+ childrenField: treeOpts.childrenField || childrenField,
641
+ parentField: treeOpts.parentField || parentField,
642
+ hasChildField: treeOpts.hasChildField || hasChildField,
643
+ accordion: treeOpts.accordion,
644
+ nodeConfig: treeNodeOpts,
645
+ lazy: treeOpts.lazy,
646
+ loadMethod: treeOpts.loadMethod,
647
+ toggleMethod: treeOpts.toggleMethod,
648
+ transform: treeOpts.transform,
649
+ trigger: treeOpts.trigger,
650
+ showIcon: treeOpts.showIcon,
651
+ showLine: treeOpts.showLine,
652
+ iconOpen: treeOpts.iconOpen,
653
+ iconLoaded: treeOpts.iconLoaded,
654
+ iconClose: treeOpts.iconClose
655
+ },
656
+ on: {
657
+ 'node-click': $xeTreeSelect.nodeClickEvent,
658
+ 'radio-change': $xeTreeSelect.radioChangeEvent,
659
+ 'checkbox-change': $xeTreeSelect.checkboxChangeEvent
660
+ }
661
+ })])]), footerSlot ? h('div', {
662
+ class: 'vxe-tree-select--panel-footer'
663
+ }, footerSlot({})) : (0, _ui.renderEmptyElement)($xeTreeSelect)])] : [])]);
664
+ }
665
+ },
666
+ watch: {
667
+ options: function options() {
668
+ var $xeTreeSelect = this;
669
+ $xeTreeSelect.cacheItemMap();
670
+ }
671
+ },
672
+ created: function created() {
673
+ var $xeTreeSelect = this;
674
+ $xeTreeSelect.cacheItemMap();
675
+ },
676
+ mounted: function mounted() {
677
+ var $xeTreeSelect = this;
678
+ _ui.globalEvents.on($xeTreeSelect, 'mousewheel', $xeTreeSelect.handleGlobalMousewheelEvent);
679
+ _ui.globalEvents.on($xeTreeSelect, 'mousedown', $xeTreeSelect.handleGlobalMousedownEvent);
680
+ _ui.globalEvents.on($xeTreeSelect, 'blur', $xeTreeSelect.handleGlobalBlurEvent);
681
+ },
682
+ beforeDestroy: function beforeDestroy() {
683
+ var $xeTreeSelect = this;
684
+ var panelElem = $xeTreeSelect.$refs.refOptionPanel;
685
+ if (panelElem && panelElem.parentNode) {
686
+ panelElem.parentNode.removeChild(panelElem);
687
+ }
688
+ _ui.globalEvents.off($xeTreeSelect, 'mousewheel');
689
+ _ui.globalEvents.off($xeTreeSelect, 'mousedown');
690
+ _ui.globalEvents.off($xeTreeSelect, 'blur');
691
+ },
692
+ render: function render(h) {
693
+ return this.renderVN(h);
694
+ }
695
+ });