vxe-pc-ui 3.16.0 → 3.16.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 (2031) hide show
  1. package/es/alert/index.js +12 -0
  2. package/es/alert/src/alert.js +99 -0
  3. package/es/alert/style.css +129 -0
  4. package/es/alert/style.min.css +1 -0
  5. package/es/anchor/index.js +12 -0
  6. package/es/anchor/src/anchor-link.js +137 -0
  7. package/es/anchor/src/anchor.js +249 -0
  8. package/es/anchor/src/util.js +19 -0
  9. package/es/anchor/style.css +42 -0
  10. package/es/anchor/style.min.css +1 -0
  11. package/es/anchor-link/index.js +12 -0
  12. package/es/anchor-link/style.css +0 -0
  13. package/es/anchor-link/style.min.css +0 -0
  14. package/es/avatar/index.js +12 -0
  15. package/es/avatar/src/avatar.js +126 -0
  16. package/es/avatar/style.css +98 -0
  17. package/es/avatar/style.min.css +1 -0
  18. package/es/backtop/index.js +12 -0
  19. package/es/backtop/src/backtop.js +305 -0
  20. package/es/backtop/style.css +72 -0
  21. package/es/backtop/style.min.css +1 -0
  22. package/es/badge/index.js +12 -0
  23. package/es/badge/src/badge.js +74 -0
  24. package/es/badge/style.css +42 -0
  25. package/es/badge/style.min.css +1 -0
  26. package/es/breadcrumb/index.js +12 -0
  27. package/es/breadcrumb/src/breadcrumb-item.js +102 -0
  28. package/es/breadcrumb/src/breadcrumb.js +76 -0
  29. package/es/breadcrumb/style.css +33 -0
  30. package/es/breadcrumb/style.min.css +1 -0
  31. package/es/breadcrumb-item/index.js +12 -0
  32. package/es/breadcrumb-item/style.css +0 -0
  33. package/es/breadcrumb-item/style.min.css +0 -0
  34. package/es/button/index.js +12 -0
  35. package/es/button/src/button-group.js +97 -0
  36. package/es/button/src/button.js +875 -0
  37. package/es/button/style.css +638 -0
  38. package/es/button/style.min.css +1 -0
  39. package/es/button-group/index.js +12 -0
  40. package/es/button-group/style.css +27 -0
  41. package/es/button-group/style.min.css +1 -0
  42. package/es/calendar/index.js +12 -0
  43. package/es/calendar/src/calendar.js +1469 -0
  44. package/es/calendar/style.css +350 -0
  45. package/es/calendar/style.min.css +1 -0
  46. package/es/card/index.js +12 -0
  47. package/es/card/src/card.js +149 -0
  48. package/es/card/style.css +107 -0
  49. package/es/card/style.min.css +1 -0
  50. package/es/carousel/index.js +12 -0
  51. package/es/carousel/src/carousel-item.js +102 -0
  52. package/es/carousel/src/carousel.js +429 -0
  53. package/es/carousel/src/util.js +17 -0
  54. package/es/carousel/style.css +185 -0
  55. package/es/carousel/style.min.css +1 -0
  56. package/es/carousel-item/index.js +12 -0
  57. package/es/carousel-item/style.css +0 -0
  58. package/es/carousel-item/style.min.css +0 -0
  59. package/es/cascader/index.js +12 -0
  60. package/es/cascader/src/cascader.js +1985 -0
  61. package/es/cascader/src/util.js +7 -0
  62. package/es/cascader/style.css +346 -0
  63. package/es/cascader/style.min.css +1 -0
  64. package/es/checkbox/index.js +12 -0
  65. package/es/checkbox/src/button.js +244 -0
  66. package/es/checkbox/src/checkbox.js +217 -0
  67. package/es/checkbox/src/group.js +280 -0
  68. package/es/checkbox/style.css +113 -0
  69. package/es/checkbox/style.min.css +1 -0
  70. package/es/checkbox-button/index.js +12 -0
  71. package/es/checkbox-button/style.css +202 -0
  72. package/es/checkbox-button/style.min.css +1 -0
  73. package/es/checkbox-group/index.js +12 -0
  74. package/es/checkbox-group/style.css +0 -0
  75. package/es/checkbox-group/style.min.css +0 -0
  76. package/es/col/index.js +12 -0
  77. package/es/col/style.css +0 -0
  78. package/es/col/style.min.css +0 -0
  79. package/es/collapse/index.js +12 -0
  80. package/es/collapse/src/collapse-pane.js +116 -0
  81. package/es/collapse/src/collapse.js +360 -0
  82. package/es/collapse/src/util.js +17 -0
  83. package/es/collapse/style.css +83 -0
  84. package/es/collapse/style.min.css +1 -0
  85. package/es/collapse-pane/index.js +12 -0
  86. package/es/collapse-pane/style.css +0 -0
  87. package/es/collapse-pane/style.min.css +0 -0
  88. package/es/color-picker/index.js +12 -0
  89. package/es/color-picker/src/color-picker.js +1221 -0
  90. package/es/color-picker/src/util.js +190 -0
  91. package/es/color-picker/style.css +485 -0
  92. package/es/color-picker/style.min.css +1 -0
  93. package/es/components.js +299 -0
  94. package/es/context-menu/index.js +46 -0
  95. package/es/context-menu/src/context-menu.js +684 -0
  96. package/es/context-menu/style.css +109 -0
  97. package/es/context-menu/style.min.css +1 -0
  98. package/es/countdown/index.js +12 -0
  99. package/es/countdown/src/countdown.js +249 -0
  100. package/es/countdown/style.css +38 -0
  101. package/es/countdown/style.min.css +1 -0
  102. package/es/date-panel/index.js +12 -0
  103. package/es/date-panel/src/date-panel.js +2013 -0
  104. package/es/date-panel/src/util.js +295 -0
  105. package/es/date-panel/style.css +453 -0
  106. package/es/date-panel/style.min.css +1 -0
  107. package/es/date-picker/index.js +13 -0
  108. package/es/date-picker/src/date-picker.js +1833 -0
  109. package/es/date-picker/style.css +283 -0
  110. package/es/date-picker/style.min.css +1 -0
  111. package/es/date-range-picker/index.js +12 -0
  112. package/es/date-range-picker/src/date-range-picker.js +1679 -0
  113. package/es/date-range-picker/style.css +289 -0
  114. package/es/date-range-picker/style.min.css +1 -0
  115. package/es/drawer/index.js +68 -0
  116. package/es/drawer/src/drawer.js +735 -0
  117. package/es/drawer/style.css +270 -0
  118. package/es/drawer/style.min.css +1 -0
  119. package/es/dynamics/index.js +107 -0
  120. package/es/empty/index.js +12 -0
  121. package/es/empty/src/empty.js +73 -0
  122. package/es/empty/style.css +54 -0
  123. package/es/empty/style.min.css +1 -0
  124. package/es/form/index.js +12 -0
  125. package/es/form/render/index.js +588 -0
  126. package/es/form/src/form-config-item.js +73 -0
  127. package/es/form/src/form-group.js +108 -0
  128. package/es/form/src/form-item.js +198 -0
  129. package/es/form/src/form.js +1012 -0
  130. package/es/form/src/itemInfo.js +76 -0
  131. package/es/form/src/render.js +357 -0
  132. package/es/form/src/util.js +78 -0
  133. package/es/form/style.css +621 -0
  134. package/es/form/style.min.css +1 -0
  135. package/es/form-gather/index.js +13 -0
  136. package/es/form-gather/style.css +0 -0
  137. package/es/form-gather/style.min.css +0 -0
  138. package/es/form-group/index.js +12 -0
  139. package/es/form-group/style.css +0 -0
  140. package/es/form-group/style.min.css +0 -0
  141. package/es/form-item/index.js +12 -0
  142. package/es/form-item/style.css +0 -0
  143. package/es/form-item/style.min.css +0 -0
  144. package/es/icon/iconfont.1783571795939.ttf +0 -0
  145. package/es/icon/iconfont.1783571795939.woff +0 -0
  146. package/es/icon/iconfont.1783571795939.woff2 +0 -0
  147. package/es/icon/index.js +12 -0
  148. package/es/icon/src/icon.js +62 -0
  149. package/es/icon/style.css +1034 -0
  150. package/es/icon/style.min.css +1 -0
  151. package/es/icon-picker/index.js +12 -0
  152. package/es/icon-picker/src/icon-picker.js +834 -0
  153. package/es/icon-picker/style.css +242 -0
  154. package/es/icon-picker/style.min.css +1 -0
  155. package/es/iconfont.1783571795939.ttf +0 -0
  156. package/es/iconfont.1783571795939.woff +0 -0
  157. package/es/iconfont.1783571795939.woff2 +0 -0
  158. package/es/image/index.js +12 -0
  159. package/es/image/src/group.js +144 -0
  160. package/es/image/src/image.js +274 -0
  161. package/es/image/src/preview.js +707 -0
  162. package/es/image/src/util.js +59 -0
  163. package/es/image/style.css +17 -0
  164. package/es/image/style.min.css +1 -0
  165. package/es/image-group/index.js +12 -0
  166. package/es/image-group/style.css +3 -0
  167. package/es/image-group/style.min.css +1 -0
  168. package/es/image-preview/index.js +14 -0
  169. package/es/image-preview/style.css +218 -0
  170. package/es/image-preview/style.min.css +1 -0
  171. package/es/index.esm.js +6 -0
  172. package/es/input/index.js +12 -0
  173. package/es/input/src/input.js +3084 -0
  174. package/es/input/style.css +1025 -0
  175. package/es/input/style.min.css +1 -0
  176. package/es/language/ar-EG.d.ts +2 -0
  177. package/es/language/ar-EG.js +874 -0
  178. package/es/language/de-DE.d.ts +2 -0
  179. package/es/language/de-DE.js +874 -0
  180. package/es/language/en-US.d.ts +2 -0
  181. package/es/language/en-US.js +874 -0
  182. package/es/language/es-ES.d.ts +2 -0
  183. package/es/language/es-ES.js +874 -0
  184. package/es/language/fr-FR.d.ts +2 -0
  185. package/es/language/fr-FR.js +874 -0
  186. package/es/language/hu-HU.d.ts +2 -0
  187. package/es/language/hu-HU.js +874 -0
  188. package/es/language/hy-AM.d.ts +2 -0
  189. package/es/language/hy-AM.js +874 -0
  190. package/es/language/id-ID.d.ts +2 -0
  191. package/es/language/id-ID.js +874 -0
  192. package/es/language/it-IT.d.ts +2 -0
  193. package/es/language/it-IT.js +874 -0
  194. package/es/language/ja-JP.d.ts +2 -0
  195. package/es/language/ja-JP.js +874 -0
  196. package/es/language/ko-KR.d.ts +2 -0
  197. package/es/language/ko-KR.js +874 -0
  198. package/es/language/ms-MY.d.ts +2 -0
  199. package/es/language/ms-MY.js +874 -0
  200. package/es/language/nb-NO.d.ts +2 -0
  201. package/es/language/nb-NO.js +874 -0
  202. package/es/language/pt-BR.d.ts +2 -0
  203. package/es/language/pt-BR.js +874 -0
  204. package/es/language/ru-RU.d.ts +2 -0
  205. package/es/language/ru-RU.js +874 -0
  206. package/es/language/th-TH.d.ts +2 -0
  207. package/es/language/th-TH.js +874 -0
  208. package/es/language/ug-CN.d.ts +2 -0
  209. package/es/language/ug-CN.js +874 -0
  210. package/es/language/uk-UA.d.ts +2 -0
  211. package/es/language/uk-UA.js +874 -0
  212. package/es/language/uz-UZ.d.ts +2 -0
  213. package/es/language/uz-UZ.js +874 -0
  214. package/es/language/vi-VN.d.ts +2 -0
  215. package/es/language/vi-VN.js +874 -0
  216. package/es/language/zh-CHT.d.ts +2 -0
  217. package/es/language/zh-CHT.js +874 -0
  218. package/es/language/zh-CN.d.ts +2 -0
  219. package/es/language/zh-CN.js +874 -0
  220. package/es/language/zh-HK.d.ts +2 -0
  221. package/es/language/zh-HK.js +2 -0
  222. package/es/language/zh-MO.d.ts +2 -0
  223. package/es/language/zh-MO.js +2 -0
  224. package/es/language/zh-TC.js +2 -0
  225. package/es/language/zh-TW.d.ts +2 -0
  226. package/es/language/zh-TW.js +2 -0
  227. package/es/layout-aside/index.js +12 -0
  228. package/es/layout-aside/src/layout-aside.js +111 -0
  229. package/es/layout-aside/style.css +26 -0
  230. package/es/layout-aside/style.min.css +1 -0
  231. package/es/layout-body/index.js +12 -0
  232. package/es/layout-body/src/layout-body.js +127 -0
  233. package/es/layout-body/style.css +16 -0
  234. package/es/layout-body/style.min.css +1 -0
  235. package/es/layout-container/index.js +12 -0
  236. package/es/layout-container/src/layout-container.js +54 -0
  237. package/es/layout-container/style.css +28 -0
  238. package/es/layout-container/style.min.css +1 -0
  239. package/es/layout-footer/index.js +12 -0
  240. package/es/layout-footer/src/layout-footer.js +45 -0
  241. package/es/layout-footer/style.css +14 -0
  242. package/es/layout-footer/style.min.css +1 -0
  243. package/es/layout-header/index.js +12 -0
  244. package/es/layout-header/src/layout-header.js +43 -0
  245. package/es/layout-header/style.css +11 -0
  246. package/es/layout-header/style.min.css +1 -0
  247. package/es/link/index.js +12 -0
  248. package/es/link/src/link.js +137 -0
  249. package/es/link/style.css +111 -0
  250. package/es/link/style.min.css +1 -0
  251. package/es/list/index.js +12 -0
  252. package/es/list/src/list.js +2242 -0
  253. package/es/list/src/store.js +8 -0
  254. package/es/list/src/util.js +8 -0
  255. package/es/list/style.css +379 -0
  256. package/es/list/style.min.css +1 -0
  257. package/es/loading/index.js +27 -0
  258. package/es/loading/src/loading.js +147 -0
  259. package/es/loading/style.css +120 -0
  260. package/es/loading/style.min.css +1 -0
  261. package/es/mention/index.js +12 -0
  262. package/es/mention/src/mention.js +44 -0
  263. package/es/mention/style.css +0 -0
  264. package/es/mention/style.min.css +0 -0
  265. package/es/menu/index.js +12 -0
  266. package/es/menu/src/menu.js +589 -0
  267. package/es/menu/style.css +140 -0
  268. package/es/menu/style.min.css +1 -0
  269. package/es/modal/index.js +130 -0
  270. package/es/modal/src/modal.js +1608 -0
  271. package/es/modal/style.css +415 -0
  272. package/es/modal/style.min.css +1 -0
  273. package/es/notice-bar/index.js +12 -0
  274. package/es/notice-bar/src/notice-bar.js +163 -0
  275. package/es/notice-bar/style.css +78 -0
  276. package/es/notice-bar/style.min.css +1 -0
  277. package/es/number-input/index.js +12 -0
  278. package/es/number-input/src/number-input.js +1201 -0
  279. package/es/number-input/src/util.js +22 -0
  280. package/es/number-input/style.css +274 -0
  281. package/es/number-input/style.min.css +1 -0
  282. package/es/optgroup/index.js +12 -0
  283. package/es/optgroup/style.css +0 -0
  284. package/es/optgroup/style.min.css +0 -0
  285. package/es/option/index.js +12 -0
  286. package/es/option/style.css +0 -0
  287. package/es/option/style.min.css +0 -0
  288. package/es/pager/index.js +12 -0
  289. package/es/pager/src/pager.js +844 -0
  290. package/es/pager/style.css +341 -0
  291. package/es/pager/style.min.css +1 -0
  292. package/es/password-input/index.js +12 -0
  293. package/es/password-input/src/password-input.js +428 -0
  294. package/es/password-input/style.css +598 -0
  295. package/es/password-input/style.min.css +1 -0
  296. package/es/print/index.js +14 -0
  297. package/es/print/src/page-break.js +66 -0
  298. package/es/print/src/print.js +252 -0
  299. package/es/print/src/util.js +261 -0
  300. package/es/print/style.css +4 -0
  301. package/es/print/style.min.css +1 -0
  302. package/es/print-page-break/index.js +10 -0
  303. package/es/print-page-break/style.css +0 -0
  304. package/es/print-page-break/style.min.css +0 -0
  305. package/es/pulldown/index.js +12 -0
  306. package/es/pulldown/src/pulldown.js +502 -0
  307. package/es/pulldown/style.css +109 -0
  308. package/es/pulldown/style.min.css +1 -0
  309. package/es/radio/index.js +12 -0
  310. package/es/radio/src/button.js +265 -0
  311. package/es/radio/src/group.js +258 -0
  312. package/es/radio/src/radio.js +239 -0
  313. package/es/radio/style.css +108 -0
  314. package/es/radio/style.min.css +1 -0
  315. package/es/radio-button/index.js +12 -0
  316. package/es/radio-button/style.css +202 -0
  317. package/es/radio-button/style.min.css +1 -0
  318. package/es/radio-group/index.js +12 -0
  319. package/es/radio-group/style.css +0 -0
  320. package/es/radio-group/style.min.css +0 -0
  321. package/es/rate/index.js +12 -0
  322. package/es/rate/src/rate.js +178 -0
  323. package/es/rate/style.css +54 -0
  324. package/es/rate/style.min.css +1 -0
  325. package/es/result/index.js +12 -0
  326. package/es/result/src/result.js +86 -0
  327. package/es/result/style.css +68 -0
  328. package/es/result/style.min.css +1 -0
  329. package/es/row/index.js +12 -0
  330. package/es/row/src/col.js +115 -0
  331. package/es/row/src/row.js +99 -0
  332. package/es/row/style.css +116 -0
  333. package/es/row/style.min.css +1 -0
  334. package/es/segmented/index.js +12 -0
  335. package/es/segmented/src/segmented.js +255 -0
  336. package/es/segmented/style.css +197 -0
  337. package/es/segmented/style.min.css +1 -0
  338. package/es/select/index.js +12 -0
  339. package/es/select/src/optgroup.js +90 -0
  340. package/es/select/src/option-info.js +16 -0
  341. package/es/select/src/option.js +86 -0
  342. package/es/select/src/select.js +2065 -0
  343. package/es/select/src/util.js +36 -0
  344. package/es/select/style.css +370 -0
  345. package/es/select/style.min.css +1 -0
  346. package/es/slider/index.js +12 -0
  347. package/es/slider/src/slider.js +307 -0
  348. package/es/slider/style.css +143 -0
  349. package/es/slider/style.min.css +1 -0
  350. package/es/split/index.js +12 -0
  351. package/es/split/style.css +295 -0
  352. package/es/split/style.min.css +1 -0
  353. package/es/split-pane/index.js +13 -0
  354. package/es/split-pane/style.css +0 -0
  355. package/es/split-pane/style.min.css +0 -0
  356. package/es/splitter/index.js +12 -0
  357. package/es/splitter/src/splitter-panel.js +149 -0
  358. package/es/splitter/src/splitter.js +1002 -0
  359. package/es/splitter/src/util.js +17 -0
  360. package/es/splitter/style.css +295 -0
  361. package/es/splitter/style.min.css +1 -0
  362. package/es/splitter-panel/index.js +12 -0
  363. package/es/splitter-panel/style.css +0 -0
  364. package/es/splitter-panel/style.min.css +0 -0
  365. package/es/steps/index.js +12 -0
  366. package/es/steps/src/steps.js +49 -0
  367. package/es/steps/style.css +0 -0
  368. package/es/steps/style.min.css +0 -0
  369. package/es/style.css +1 -0
  370. package/es/style.min.css +1 -0
  371. package/es/switch/index.js +12 -0
  372. package/es/switch/src/switch.js +261 -0
  373. package/es/switch/style.css +111 -0
  374. package/es/switch/style.min.css +1 -0
  375. package/es/tab-pane/index.js +12 -0
  376. package/es/tab-pane/style.css +0 -0
  377. package/es/tab-pane/style.min.css +0 -0
  378. package/es/table-select/index.js +12 -0
  379. package/es/table-select/src/table-select.js +839 -0
  380. package/es/table-select/style.css +134 -0
  381. package/es/table-select/style.min.css +1 -0
  382. package/es/table-transfer/index.js +12 -0
  383. package/es/table-transfer/src/table-transfer.js +71 -0
  384. package/es/table-transfer/style.css +0 -0
  385. package/es/table-transfer/style.min.css +0 -0
  386. package/es/tabs/index.js +12 -0
  387. package/es/tabs/src/tab-pane.js +119 -0
  388. package/es/tabs/src/tabs.js +958 -0
  389. package/es/tabs/src/util.js +17 -0
  390. package/es/tabs/style.css +705 -0
  391. package/es/tabs/style.min.css +1 -0
  392. package/es/tag/index.js +12 -0
  393. package/es/tag/src/tag.js +177 -0
  394. package/es/tag/style.css +187 -0
  395. package/es/tag/style.min.css +1 -0
  396. package/es/text/index.js +12 -0
  397. package/es/text/src/text.js +239 -0
  398. package/es/text/style.css +138 -0
  399. package/es/text/style.min.css +1 -0
  400. package/es/text-ellipsis/index.js +12 -0
  401. package/es/text-ellipsis/src/text-ellipsis.js +268 -0
  402. package/es/text-ellipsis/style.css +115 -0
  403. package/es/text-ellipsis/style.min.css +1 -0
  404. package/es/textarea/index.js +12 -0
  405. package/es/textarea/src/textarea.js +456 -0
  406. package/es/textarea/style.css +119 -0
  407. package/es/textarea/style.min.css +1 -0
  408. package/es/timeline/index.js +12 -0
  409. package/es/timeline/src/timeline-item.js +35 -0
  410. package/es/timeline/src/timeline.js +44 -0
  411. package/es/timeline/style.css +0 -0
  412. package/es/timeline/style.min.css +0 -0
  413. package/es/timeline-item/index.js +12 -0
  414. package/es/timeline-item/style.css +0 -0
  415. package/es/timeline-item/style.min.css +0 -0
  416. package/es/tip/index.js +14 -0
  417. package/es/tip/src/tip.js +100 -0
  418. package/es/tip/style.css +107 -0
  419. package/es/tip/style.min.css +1 -0
  420. package/es/tooltip/index.js +12 -0
  421. package/es/tooltip/src/tooltip.js +657 -0
  422. package/es/tooltip/style.css +117 -0
  423. package/es/tooltip/style.min.css +1 -0
  424. package/es/tour/index.js +12 -0
  425. package/es/tour/src/tour.js +44 -0
  426. package/es/tour/style.css +0 -0
  427. package/es/tour/style.min.css +0 -0
  428. package/es/transfer/index.js +12 -0
  429. package/es/transfer/src/transfer.js +86 -0
  430. package/es/transfer/style.css +0 -0
  431. package/es/transfer/style.min.css +0 -0
  432. package/es/tree/index.js +12 -0
  433. package/es/tree/src/store.js +8 -0
  434. package/es/tree/src/tree.js +3699 -0
  435. package/es/tree/src/util.js +46 -0
  436. package/es/tree/style.css +385 -0
  437. package/es/tree/style.min.css +1 -0
  438. package/es/tree-select/index.js +12 -0
  439. package/es/tree-select/src/tree-select.js +1160 -0
  440. package/es/tree-select/style.css +194 -0
  441. package/es/tree-select/style.min.css +1 -0
  442. package/es/ui/index.js +695 -0
  443. package/es/ui/src/anime.js +46 -0
  444. package/es/ui/src/comp.js +1 -0
  445. package/es/ui/src/dom.js +255 -0
  446. package/es/ui/src/log.js +15 -0
  447. package/es/ui/src/utils.js +52 -0
  448. package/es/ui/src/vn.js +51 -0
  449. package/es/ui/style.css +0 -0
  450. package/es/ui/style.min.css +0 -0
  451. package/es/upload/index.js +15 -0
  452. package/es/upload/src/upload.js +2080 -0
  453. package/es/upload/src/util.js +103 -0
  454. package/es/upload/style.css +483 -0
  455. package/es/upload/style.min.css +1 -0
  456. package/es/vxe-alert/index.js +3 -0
  457. package/es/vxe-alert/style.css +129 -0
  458. package/es/vxe-alert/style.min.css +1 -0
  459. package/es/vxe-anchor/index.js +3 -0
  460. package/es/vxe-anchor/style.css +42 -0
  461. package/es/vxe-anchor/style.min.css +1 -0
  462. package/es/vxe-anchor-link/index.js +3 -0
  463. package/es/vxe-anchor-link/style.css +0 -0
  464. package/es/vxe-anchor-link/style.min.css +0 -0
  465. package/es/vxe-avatar/index.js +3 -0
  466. package/es/vxe-avatar/style.css +98 -0
  467. package/es/vxe-avatar/style.min.css +1 -0
  468. package/es/vxe-backtop/index.js +3 -0
  469. package/es/vxe-backtop/style.css +72 -0
  470. package/es/vxe-backtop/style.min.css +1 -0
  471. package/es/vxe-badge/index.js +3 -0
  472. package/es/vxe-badge/style.css +42 -0
  473. package/es/vxe-badge/style.min.css +1 -0
  474. package/es/vxe-breadcrumb/index.js +3 -0
  475. package/es/vxe-breadcrumb/style.css +33 -0
  476. package/es/vxe-breadcrumb/style.min.css +1 -0
  477. package/es/vxe-breadcrumb-item/index.js +3 -0
  478. package/es/vxe-breadcrumb-item/style.css +0 -0
  479. package/es/vxe-breadcrumb-item/style.min.css +0 -0
  480. package/es/vxe-button/index.js +3 -0
  481. package/es/vxe-button/style.css +638 -0
  482. package/es/vxe-button/style.min.css +1 -0
  483. package/es/vxe-button-group/index.js +3 -0
  484. package/es/vxe-button-group/style.css +27 -0
  485. package/es/vxe-button-group/style.min.css +1 -0
  486. package/es/vxe-calendar/index.js +3 -0
  487. package/es/vxe-calendar/style.css +350 -0
  488. package/es/vxe-calendar/style.min.css +1 -0
  489. package/es/vxe-card/index.js +3 -0
  490. package/es/vxe-card/style.css +107 -0
  491. package/es/vxe-card/style.min.css +1 -0
  492. package/es/vxe-carousel/index.js +3 -0
  493. package/es/vxe-carousel/style.css +185 -0
  494. package/es/vxe-carousel/style.min.css +1 -0
  495. package/es/vxe-carousel-item/index.js +3 -0
  496. package/es/vxe-carousel-item/style.css +0 -0
  497. package/es/vxe-carousel-item/style.min.css +0 -0
  498. package/es/vxe-cascader/index.js +3 -0
  499. package/es/vxe-cascader/style.css +346 -0
  500. package/es/vxe-cascader/style.min.css +1 -0
  501. package/es/vxe-checkbox/index.js +3 -0
  502. package/es/vxe-checkbox/style.css +113 -0
  503. package/es/vxe-checkbox/style.min.css +1 -0
  504. package/es/vxe-checkbox-button/index.js +3 -0
  505. package/es/vxe-checkbox-button/style.css +202 -0
  506. package/es/vxe-checkbox-button/style.min.css +1 -0
  507. package/es/vxe-checkbox-group/index.js +3 -0
  508. package/es/vxe-checkbox-group/style.css +0 -0
  509. package/es/vxe-checkbox-group/style.min.css +0 -0
  510. package/es/vxe-col/index.js +3 -0
  511. package/es/vxe-col/style.css +0 -0
  512. package/es/vxe-col/style.min.css +0 -0
  513. package/es/vxe-collapse/index.js +3 -0
  514. package/es/vxe-collapse/style.css +83 -0
  515. package/es/vxe-collapse/style.min.css +1 -0
  516. package/es/vxe-collapse-pane/index.js +3 -0
  517. package/es/vxe-collapse-pane/style.css +0 -0
  518. package/es/vxe-collapse-pane/style.min.css +0 -0
  519. package/es/vxe-color-picker/index.js +3 -0
  520. package/es/vxe-color-picker/style.css +485 -0
  521. package/es/vxe-color-picker/style.min.css +1 -0
  522. package/es/vxe-context-menu/index.js +3 -0
  523. package/es/vxe-context-menu/style.css +109 -0
  524. package/es/vxe-context-menu/style.min.css +1 -0
  525. package/es/vxe-countdown/index.js +3 -0
  526. package/es/vxe-countdown/style.css +38 -0
  527. package/es/vxe-countdown/style.min.css +1 -0
  528. package/es/vxe-date-panel/index.js +3 -0
  529. package/es/vxe-date-panel/style.css +453 -0
  530. package/es/vxe-date-panel/style.min.css +1 -0
  531. package/es/vxe-date-picker/index.js +3 -0
  532. package/es/vxe-date-picker/style.css +283 -0
  533. package/es/vxe-date-picker/style.min.css +1 -0
  534. package/es/vxe-date-range-picker/index.js +3 -0
  535. package/es/vxe-date-range-picker/style.css +289 -0
  536. package/es/vxe-date-range-picker/style.min.css +1 -0
  537. package/es/vxe-drawer/index.js +3 -0
  538. package/es/vxe-drawer/style.css +270 -0
  539. package/es/vxe-drawer/style.min.css +1 -0
  540. package/es/vxe-empty/index.js +3 -0
  541. package/es/vxe-empty/style.css +54 -0
  542. package/es/vxe-empty/style.min.css +1 -0
  543. package/es/vxe-form/index.js +3 -0
  544. package/es/vxe-form/style.css +621 -0
  545. package/es/vxe-form/style.min.css +1 -0
  546. package/es/vxe-form-gather/index.js +3 -0
  547. package/es/vxe-form-gather/style.css +0 -0
  548. package/es/vxe-form-gather/style.min.css +0 -0
  549. package/es/vxe-form-group/index.js +3 -0
  550. package/es/vxe-form-group/style.css +0 -0
  551. package/es/vxe-form-group/style.min.css +0 -0
  552. package/es/vxe-form-item/index.js +3 -0
  553. package/es/vxe-form-item/style.css +0 -0
  554. package/es/vxe-form-item/style.min.css +0 -0
  555. package/es/vxe-icon/index.js +3 -0
  556. package/es/vxe-icon/style.css +1034 -0
  557. package/es/vxe-icon/style.min.css +1 -0
  558. package/es/vxe-icon-picker/index.js +3 -0
  559. package/es/vxe-icon-picker/style.css +242 -0
  560. package/es/vxe-icon-picker/style.min.css +1 -0
  561. package/es/vxe-image/index.js +3 -0
  562. package/es/vxe-image/style.css +17 -0
  563. package/es/vxe-image/style.min.css +1 -0
  564. package/es/vxe-image-group/index.js +3 -0
  565. package/es/vxe-image-group/style.css +3 -0
  566. package/es/vxe-image-group/style.min.css +1 -0
  567. package/es/vxe-image-preview/index.js +3 -0
  568. package/es/vxe-image-preview/style.css +218 -0
  569. package/es/vxe-image-preview/style.min.css +1 -0
  570. package/es/vxe-input/index.js +3 -0
  571. package/es/vxe-input/style.css +1025 -0
  572. package/es/vxe-input/style.min.css +1 -0
  573. package/es/vxe-layout-aside/index.js +3 -0
  574. package/es/vxe-layout-aside/style.css +26 -0
  575. package/es/vxe-layout-aside/style.min.css +1 -0
  576. package/es/vxe-layout-body/index.js +3 -0
  577. package/es/vxe-layout-body/style.css +16 -0
  578. package/es/vxe-layout-body/style.min.css +1 -0
  579. package/es/vxe-layout-container/index.js +3 -0
  580. package/es/vxe-layout-container/style.css +28 -0
  581. package/es/vxe-layout-container/style.min.css +1 -0
  582. package/es/vxe-layout-footer/index.js +3 -0
  583. package/es/vxe-layout-footer/style.css +14 -0
  584. package/es/vxe-layout-footer/style.min.css +1 -0
  585. package/es/vxe-layout-header/index.js +3 -0
  586. package/es/vxe-layout-header/style.css +11 -0
  587. package/es/vxe-layout-header/style.min.css +1 -0
  588. package/es/vxe-link/index.js +3 -0
  589. package/es/vxe-link/style.css +111 -0
  590. package/es/vxe-link/style.min.css +1 -0
  591. package/es/vxe-list/index.js +3 -0
  592. package/es/vxe-list/style.css +379 -0
  593. package/es/vxe-list/style.min.css +1 -0
  594. package/es/vxe-loading/index.js +3 -0
  595. package/es/vxe-loading/style.css +120 -0
  596. package/es/vxe-loading/style.min.css +1 -0
  597. package/es/vxe-mention/index.js +3 -0
  598. package/es/vxe-mention/style.css +0 -0
  599. package/es/vxe-mention/style.min.css +0 -0
  600. package/es/vxe-menu/index.js +3 -0
  601. package/es/vxe-menu/style.css +140 -0
  602. package/es/vxe-menu/style.min.css +1 -0
  603. package/es/vxe-modal/index.js +3 -0
  604. package/es/vxe-modal/style.css +415 -0
  605. package/es/vxe-modal/style.min.css +1 -0
  606. package/es/vxe-notice-bar/index.js +3 -0
  607. package/es/vxe-notice-bar/style.css +78 -0
  608. package/es/vxe-notice-bar/style.min.css +1 -0
  609. package/es/vxe-number-input/index.js +3 -0
  610. package/es/vxe-number-input/style.css +274 -0
  611. package/es/vxe-number-input/style.min.css +1 -0
  612. package/es/vxe-optgroup/index.js +3 -0
  613. package/es/vxe-optgroup/style.css +0 -0
  614. package/es/vxe-optgroup/style.min.css +0 -0
  615. package/es/vxe-option/index.js +3 -0
  616. package/es/vxe-option/style.css +0 -0
  617. package/es/vxe-option/style.min.css +0 -0
  618. package/es/vxe-pager/index.js +3 -0
  619. package/es/vxe-pager/style.css +341 -0
  620. package/es/vxe-pager/style.min.css +1 -0
  621. package/es/vxe-password-input/index.js +3 -0
  622. package/es/vxe-password-input/style.css +598 -0
  623. package/es/vxe-password-input/style.min.css +1 -0
  624. package/es/vxe-print/index.js +3 -0
  625. package/es/vxe-print/style.css +4 -0
  626. package/es/vxe-print/style.min.css +1 -0
  627. package/es/vxe-print-page-break/index.js +3 -0
  628. package/es/vxe-print-page-break/style.css +0 -0
  629. package/es/vxe-print-page-break/style.min.css +0 -0
  630. package/es/vxe-pulldown/index.js +3 -0
  631. package/es/vxe-pulldown/style.css +109 -0
  632. package/es/vxe-pulldown/style.min.css +1 -0
  633. package/es/vxe-radio/index.js +3 -0
  634. package/es/vxe-radio/style.css +108 -0
  635. package/es/vxe-radio/style.min.css +1 -0
  636. package/es/vxe-radio-button/index.js +3 -0
  637. package/es/vxe-radio-button/style.css +202 -0
  638. package/es/vxe-radio-button/style.min.css +1 -0
  639. package/es/vxe-radio-group/index.js +3 -0
  640. package/es/vxe-radio-group/style.css +0 -0
  641. package/es/vxe-radio-group/style.min.css +0 -0
  642. package/es/vxe-rate/index.js +3 -0
  643. package/es/vxe-rate/style.css +54 -0
  644. package/es/vxe-rate/style.min.css +1 -0
  645. package/es/vxe-result/index.js +3 -0
  646. package/es/vxe-result/style.css +68 -0
  647. package/es/vxe-result/style.min.css +1 -0
  648. package/es/vxe-row/index.js +3 -0
  649. package/es/vxe-row/style.css +116 -0
  650. package/es/vxe-row/style.min.css +1 -0
  651. package/es/vxe-segmented/index.js +3 -0
  652. package/es/vxe-segmented/style.css +197 -0
  653. package/es/vxe-segmented/style.min.css +1 -0
  654. package/es/vxe-select/index.js +3 -0
  655. package/es/vxe-select/style.css +370 -0
  656. package/es/vxe-select/style.min.css +1 -0
  657. package/es/vxe-slider/index.js +3 -0
  658. package/es/vxe-slider/style.css +143 -0
  659. package/es/vxe-slider/style.min.css +1 -0
  660. package/es/vxe-split/index.js +3 -0
  661. package/es/vxe-split/style.css +295 -0
  662. package/es/vxe-split/style.min.css +1 -0
  663. package/es/vxe-split-pane/index.js +3 -0
  664. package/es/vxe-split-pane/style.css +0 -0
  665. package/es/vxe-split-pane/style.min.css +0 -0
  666. package/es/vxe-splitter/index.js +3 -0
  667. package/es/vxe-splitter/style.css +295 -0
  668. package/es/vxe-splitter/style.min.css +1 -0
  669. package/es/vxe-splitter-panel/index.js +3 -0
  670. package/es/vxe-splitter-panel/style.css +0 -0
  671. package/es/vxe-splitter-panel/style.min.css +0 -0
  672. package/es/vxe-steps/index.js +3 -0
  673. package/es/vxe-steps/style.css +0 -0
  674. package/es/vxe-steps/style.min.css +0 -0
  675. package/es/vxe-switch/index.js +3 -0
  676. package/es/vxe-switch/style.css +111 -0
  677. package/es/vxe-switch/style.min.css +1 -0
  678. package/es/vxe-tab-pane/index.js +3 -0
  679. package/es/vxe-tab-pane/style.css +0 -0
  680. package/es/vxe-tab-pane/style.min.css +0 -0
  681. package/es/vxe-table-select/index.js +3 -0
  682. package/es/vxe-table-select/style.css +134 -0
  683. package/es/vxe-table-select/style.min.css +1 -0
  684. package/es/vxe-table-transfer/index.js +3 -0
  685. package/es/vxe-table-transfer/style.css +0 -0
  686. package/es/vxe-table-transfer/style.min.css +0 -0
  687. package/es/vxe-tabs/index.js +3 -0
  688. package/es/vxe-tabs/style.css +705 -0
  689. package/es/vxe-tabs/style.min.css +1 -0
  690. package/es/vxe-tag/index.js +3 -0
  691. package/es/vxe-tag/style.css +187 -0
  692. package/es/vxe-tag/style.min.css +1 -0
  693. package/es/vxe-text/index.js +3 -0
  694. package/es/vxe-text/style.css +138 -0
  695. package/es/vxe-text/style.min.css +1 -0
  696. package/es/vxe-text-ellipsis/index.js +3 -0
  697. package/es/vxe-text-ellipsis/style.css +115 -0
  698. package/es/vxe-text-ellipsis/style.min.css +1 -0
  699. package/es/vxe-textarea/index.js +3 -0
  700. package/es/vxe-textarea/style.css +119 -0
  701. package/es/vxe-textarea/style.min.css +1 -0
  702. package/es/vxe-timeline/index.js +3 -0
  703. package/es/vxe-timeline/style.css +0 -0
  704. package/es/vxe-timeline/style.min.css +0 -0
  705. package/es/vxe-timeline-item/index.js +3 -0
  706. package/es/vxe-timeline-item/style.css +0 -0
  707. package/es/vxe-timeline-item/style.min.css +0 -0
  708. package/es/vxe-tip/index.js +3 -0
  709. package/es/vxe-tip/style.css +107 -0
  710. package/es/vxe-tip/style.min.css +1 -0
  711. package/es/vxe-tooltip/index.js +3 -0
  712. package/es/vxe-tooltip/style.css +117 -0
  713. package/es/vxe-tooltip/style.min.css +1 -0
  714. package/es/vxe-tour/index.js +3 -0
  715. package/es/vxe-tour/style.css +0 -0
  716. package/es/vxe-tour/style.min.css +0 -0
  717. package/es/vxe-transfer/index.js +3 -0
  718. package/es/vxe-transfer/style.css +0 -0
  719. package/es/vxe-transfer/style.min.css +0 -0
  720. package/es/vxe-tree/index.js +3 -0
  721. package/es/vxe-tree/style.css +385 -0
  722. package/es/vxe-tree/style.min.css +1 -0
  723. package/es/vxe-tree-select/index.js +3 -0
  724. package/es/vxe-tree-select/style.css +194 -0
  725. package/es/vxe-tree-select/style.min.css +1 -0
  726. package/es/vxe-u-i/index.js +3 -0
  727. package/es/vxe-ui/index.js +3 -0
  728. package/es/vxe-ui/style.css +0 -0
  729. package/es/vxe-ui/style.min.css +0 -0
  730. package/es/vxe-upload/index.js +3 -0
  731. package/es/vxe-upload/style.css +483 -0
  732. package/es/vxe-upload/style.min.css +1 -0
  733. package/es/vxe-watermark/index.js +3 -0
  734. package/es/vxe-watermark/style.css +30 -0
  735. package/es/vxe-watermark/style.min.css +1 -0
  736. package/es/watermark/index.js +24 -0
  737. package/es/watermark/src/util.js +149 -0
  738. package/es/watermark/src/watermark.js +148 -0
  739. package/es/watermark/style.css +30 -0
  740. package/es/watermark/style.min.css +1 -0
  741. package/lib/alert/index.js +19 -0
  742. package/lib/alert/index.min.js +1 -0
  743. package/lib/alert/src/alert.js +101 -0
  744. package/lib/alert/src/alert.min.js +1 -0
  745. package/lib/alert/style/index.js +1 -0
  746. package/lib/alert/style/style.css +129 -0
  747. package/lib/alert/style/style.min.css +1 -0
  748. package/lib/anchor/index.js +19 -0
  749. package/lib/anchor/index.min.js +1 -0
  750. package/lib/anchor/src/anchor-link.js +146 -0
  751. package/lib/anchor/src/anchor-link.min.js +1 -0
  752. package/lib/anchor/src/anchor.js +263 -0
  753. package/lib/anchor/src/anchor.min.js +1 -0
  754. package/lib/anchor/src/util.js +31 -0
  755. package/lib/anchor/src/util.min.js +1 -0
  756. package/lib/anchor/style/index.js +1 -0
  757. package/lib/anchor/style/style.css +42 -0
  758. package/lib/anchor/style/style.min.css +1 -0
  759. package/lib/anchor-link/index.js +19 -0
  760. package/lib/anchor-link/index.min.js +1 -0
  761. package/lib/anchor-link/style/index.js +1 -0
  762. package/lib/anchor-link/style/style.css +0 -0
  763. package/lib/anchor-link/style/style.min.css +0 -0
  764. package/lib/avatar/index.js +19 -0
  765. package/lib/avatar/index.min.js +1 -0
  766. package/lib/avatar/src/avatar.js +139 -0
  767. package/lib/avatar/src/avatar.min.js +1 -0
  768. package/lib/avatar/style/index.js +1 -0
  769. package/lib/avatar/style/style.css +98 -0
  770. package/lib/avatar/style/style.min.css +1 -0
  771. package/lib/backtop/index.js +19 -0
  772. package/lib/backtop/index.min.js +1 -0
  773. package/lib/backtop/src/backtop.js +347 -0
  774. package/lib/backtop/src/backtop.min.js +1 -0
  775. package/lib/backtop/style/index.js +1 -0
  776. package/lib/backtop/style/style.css +72 -0
  777. package/lib/backtop/style/style.min.css +1 -0
  778. package/lib/badge/index.js +19 -0
  779. package/lib/badge/index.min.js +1 -0
  780. package/lib/badge/src/badge.js +81 -0
  781. package/lib/badge/src/badge.min.js +1 -0
  782. package/lib/badge/style/index.js +1 -0
  783. package/lib/badge/style/style.css +42 -0
  784. package/lib/badge/style/style.min.css +1 -0
  785. package/lib/breadcrumb/index.js +19 -0
  786. package/lib/breadcrumb/index.min.js +1 -0
  787. package/lib/breadcrumb/src/breadcrumb-item.js +102 -0
  788. package/lib/breadcrumb/src/breadcrumb-item.min.js +1 -0
  789. package/lib/breadcrumb/src/breadcrumb.js +88 -0
  790. package/lib/breadcrumb/src/breadcrumb.min.js +1 -0
  791. package/lib/breadcrumb/style/index.js +1 -0
  792. package/lib/breadcrumb/style/style.css +33 -0
  793. package/lib/breadcrumb/style/style.min.css +1 -0
  794. package/lib/breadcrumb-item/index.js +19 -0
  795. package/lib/breadcrumb-item/index.min.js +1 -0
  796. package/lib/breadcrumb-item/style/index.js +1 -0
  797. package/lib/breadcrumb-item/style/style.css +0 -0
  798. package/lib/breadcrumb-item/style/style.min.css +0 -0
  799. package/lib/button/index.js +19 -0
  800. package/lib/button/index.min.js +1 -0
  801. package/lib/button/src/button-group.js +110 -0
  802. package/lib/button/src/button-group.min.js +1 -0
  803. package/lib/button/src/button.js +874 -0
  804. package/lib/button/src/button.min.js +1 -0
  805. package/lib/button/style/index.js +1 -0
  806. package/lib/button/style/style.css +638 -0
  807. package/lib/button/style/style.min.css +1 -0
  808. package/lib/button-group/index.js +19 -0
  809. package/lib/button-group/index.min.js +1 -0
  810. package/lib/button-group/style/index.js +1 -0
  811. package/lib/button-group/style/style.css +27 -0
  812. package/lib/button-group/style/style.min.css +1 -0
  813. package/lib/calendar/index.js +19 -0
  814. package/lib/calendar/index.min.js +1 -0
  815. package/lib/calendar/src/calendar.js +1563 -0
  816. package/lib/calendar/src/calendar.min.js +1 -0
  817. package/lib/calendar/style/index.js +1 -0
  818. package/lib/calendar/style/style.css +350 -0
  819. package/lib/calendar/style/style.min.css +1 -0
  820. package/lib/card/index.js +19 -0
  821. package/lib/card/index.min.js +1 -0
  822. package/lib/card/src/card.js +151 -0
  823. package/lib/card/src/card.min.js +1 -0
  824. package/lib/card/style/index.js +1 -0
  825. package/lib/card/style/style.css +107 -0
  826. package/lib/card/style/style.min.css +1 -0
  827. package/lib/carousel/index.js +19 -0
  828. package/lib/carousel/index.min.js +1 -0
  829. package/lib/carousel/src/carousel-item.js +110 -0
  830. package/lib/carousel/src/carousel-item.min.js +1 -0
  831. package/lib/carousel/src/carousel.js +448 -0
  832. package/lib/carousel/src/carousel.min.js +1 -0
  833. package/lib/carousel/src/util.js +27 -0
  834. package/lib/carousel/src/util.min.js +1 -0
  835. package/lib/carousel/style/index.js +1 -0
  836. package/lib/carousel/style/style.css +185 -0
  837. package/lib/carousel/style/style.min.css +1 -0
  838. package/lib/carousel-item/index.js +19 -0
  839. package/lib/carousel-item/index.min.js +1 -0
  840. package/lib/carousel-item/style/index.js +1 -0
  841. package/lib/carousel-item/style/style.css +0 -0
  842. package/lib/carousel-item/style/style.min.css +0 -0
  843. package/lib/cascader/index.js +19 -0
  844. package/lib/cascader/index.min.js +1 -0
  845. package/lib/cascader/src/cascader.js +2097 -0
  846. package/lib/cascader/src/cascader.min.js +1 -0
  847. package/lib/cascader/src/util.js +15 -0
  848. package/lib/cascader/src/util.min.js +1 -0
  849. package/lib/cascader/style/index.js +1 -0
  850. package/lib/cascader/style/style.css +346 -0
  851. package/lib/cascader/style/style.min.css +1 -0
  852. package/lib/checkbox/index.js +19 -0
  853. package/lib/checkbox/index.min.js +1 -0
  854. package/lib/checkbox/src/button.js +239 -0
  855. package/lib/checkbox/src/button.min.js +1 -0
  856. package/lib/checkbox/src/checkbox.js +227 -0
  857. package/lib/checkbox/src/checkbox.min.js +1 -0
  858. package/lib/checkbox/src/group.js +300 -0
  859. package/lib/checkbox/src/group.min.js +1 -0
  860. package/lib/checkbox/style/index.js +1 -0
  861. package/lib/checkbox/style/style.css +113 -0
  862. package/lib/checkbox/style/style.min.css +1 -0
  863. package/lib/checkbox-button/index.js +19 -0
  864. package/lib/checkbox-button/index.min.js +1 -0
  865. package/lib/checkbox-button/style/index.js +1 -0
  866. package/lib/checkbox-button/style/style.css +202 -0
  867. package/lib/checkbox-button/style/style.min.css +1 -0
  868. package/lib/checkbox-group/index.js +19 -0
  869. package/lib/checkbox-group/index.min.js +1 -0
  870. package/lib/checkbox-group/style/index.js +1 -0
  871. package/lib/checkbox-group/style/style.css +0 -0
  872. package/lib/checkbox-group/style/style.min.css +0 -0
  873. package/lib/col/index.js +19 -0
  874. package/lib/col/index.min.js +1 -0
  875. package/lib/col/style/index.js +1 -0
  876. package/lib/col/style/style.css +0 -0
  877. package/lib/col/style/style.min.css +0 -0
  878. package/lib/collapse/index.js +19 -0
  879. package/lib/collapse/index.min.js +1 -0
  880. package/lib/collapse/src/collapse-pane.js +126 -0
  881. package/lib/collapse/src/collapse-pane.min.js +1 -0
  882. package/lib/collapse/src/collapse.js +377 -0
  883. package/lib/collapse/src/collapse.min.js +1 -0
  884. package/lib/collapse/src/util.js +29 -0
  885. package/lib/collapse/src/util.min.js +1 -0
  886. package/lib/collapse/style/index.js +1 -0
  887. package/lib/collapse/style/style.css +83 -0
  888. package/lib/collapse/style/style.min.css +1 -0
  889. package/lib/collapse-pane/index.js +19 -0
  890. package/lib/collapse-pane/index.min.js +1 -0
  891. package/lib/collapse-pane/style/index.js +1 -0
  892. package/lib/collapse-pane/style/style.css +0 -0
  893. package/lib/collapse-pane/style/style.min.css +0 -0
  894. package/lib/color-picker/index.js +19 -0
  895. package/lib/color-picker/index.min.js +1 -0
  896. package/lib/color-picker/src/color-picker.js +1183 -0
  897. package/lib/color-picker/src/color-picker.min.js +1 -0
  898. package/lib/color-picker/src/util.js +215 -0
  899. package/lib/color-picker/src/util.min.js +1 -0
  900. package/lib/color-picker/style/index.js +1 -0
  901. package/lib/color-picker/style/style.css +485 -0
  902. package/lib/color-picker/style/style.min.css +1 -0
  903. package/lib/components.js +1154 -0
  904. package/lib/components.min.js +1 -0
  905. package/lib/context-menu/index.js +56 -0
  906. package/lib/context-menu/index.min.js +1 -0
  907. package/lib/context-menu/src/context-menu.js +682 -0
  908. package/lib/context-menu/src/context-menu.min.js +1 -0
  909. package/lib/context-menu/style/index.js +1 -0
  910. package/lib/context-menu/style/style.css +109 -0
  911. package/lib/context-menu/style/style.min.css +1 -0
  912. package/lib/countdown/index.js +19 -0
  913. package/lib/countdown/index.min.js +1 -0
  914. package/lib/countdown/src/countdown.js +251 -0
  915. package/lib/countdown/src/countdown.min.js +1 -0
  916. package/lib/countdown/style/index.js +1 -0
  917. package/lib/countdown/style/style.css +38 -0
  918. package/lib/countdown/style/style.min.css +1 -0
  919. package/lib/date-panel/index.js +19 -0
  920. package/lib/date-panel/index.min.js +1 -0
  921. package/lib/date-panel/src/date-panel.js +2132 -0
  922. package/lib/date-panel/src/date-panel.min.js +1 -0
  923. package/lib/date-panel/src/util.js +327 -0
  924. package/lib/date-panel/src/util.min.js +1 -0
  925. package/lib/date-panel/style/index.js +1 -0
  926. package/lib/date-panel/style/style.css +453 -0
  927. package/lib/date-panel/style/style.min.css +1 -0
  928. package/lib/date-picker/index.js +20 -0
  929. package/lib/date-picker/index.min.js +1 -0
  930. package/lib/date-picker/src/date-picker.js +1878 -0
  931. package/lib/date-picker/src/date-picker.min.js +1 -0
  932. package/lib/date-picker/style/index.js +1 -0
  933. package/lib/date-picker/style/style.css +283 -0
  934. package/lib/date-picker/style/style.min.css +1 -0
  935. package/lib/date-range-picker/index.js +19 -0
  936. package/lib/date-range-picker/index.min.js +1 -0
  937. package/lib/date-range-picker/src/date-range-picker.js +1722 -0
  938. package/lib/date-range-picker/src/date-range-picker.min.js +1 -0
  939. package/lib/date-range-picker/style/index.js +1 -0
  940. package/lib/date-range-picker/style/style.css +289 -0
  941. package/lib/date-range-picker/style/style.min.css +1 -0
  942. package/lib/drawer/index.js +84 -0
  943. package/lib/drawer/index.min.js +1 -0
  944. package/lib/drawer/src/drawer.js +801 -0
  945. package/lib/drawer/src/drawer.min.js +1 -0
  946. package/lib/drawer/style/index.js +1 -0
  947. package/lib/drawer/style/style.css +270 -0
  948. package/lib/drawer/style/style.min.css +1 -0
  949. package/lib/dynamics/index.js +110 -0
  950. package/lib/dynamics/index.min.js +1 -0
  951. package/lib/empty/index.js +19 -0
  952. package/lib/empty/index.min.js +1 -0
  953. package/lib/empty/src/empty.js +78 -0
  954. package/lib/empty/src/empty.min.js +1 -0
  955. package/lib/empty/style/index.js +1 -0
  956. package/lib/empty/style/style.css +54 -0
  957. package/lib/empty/style/style.min.css +1 -0
  958. package/lib/form/index.js +19 -0
  959. package/lib/form/index.min.js +1 -0
  960. package/lib/form/render/index.js +650 -0
  961. package/lib/form/render/index.min.js +1 -0
  962. package/lib/form/src/form-config-item.js +87 -0
  963. package/lib/form/src/form-config-item.min.js +1 -0
  964. package/lib/form/src/form-group.js +125 -0
  965. package/lib/form/src/form-group.min.js +1 -0
  966. package/lib/form/src/form-item.js +211 -0
  967. package/lib/form/src/form-item.min.js +1 -0
  968. package/lib/form/src/form.js +1130 -0
  969. package/lib/form/src/form.min.js +1 -0
  970. package/lib/form/src/itemInfo.js +95 -0
  971. package/lib/form/src/itemInfo.min.js +1 -0
  972. package/lib/form/src/render.js +406 -0
  973. package/lib/form/src/render.min.js +1 -0
  974. package/lib/form/src/util.js +106 -0
  975. package/lib/form/src/util.min.js +1 -0
  976. package/lib/form/style/index.js +1 -0
  977. package/lib/form/style/style.css +621 -0
  978. package/lib/form/style/style.min.css +1 -0
  979. package/lib/form-gather/index.js +22 -0
  980. package/lib/form-gather/index.min.js +1 -0
  981. package/lib/form-gather/style/index.js +1 -0
  982. package/lib/form-gather/style/style.css +0 -0
  983. package/lib/form-gather/style/style.min.css +0 -0
  984. package/lib/form-group/index.js +19 -0
  985. package/lib/form-group/index.min.js +1 -0
  986. package/lib/form-group/style/index.js +1 -0
  987. package/lib/form-group/style/style.css +0 -0
  988. package/lib/form-group/style/style.min.css +0 -0
  989. package/lib/form-item/index.js +19 -0
  990. package/lib/form-item/index.min.js +1 -0
  991. package/lib/form-item/style/index.js +1 -0
  992. package/lib/form-item/style/style.css +0 -0
  993. package/lib/form-item/style/style.min.css +0 -0
  994. package/lib/icon/index.js +19 -0
  995. package/lib/icon/index.min.js +1 -0
  996. package/lib/icon/src/icon.js +75 -0
  997. package/lib/icon/src/icon.min.js +1 -0
  998. package/lib/icon/style/iconfont.1783571795939.ttf +0 -0
  999. package/lib/icon/style/iconfont.1783571795939.woff +0 -0
  1000. package/lib/icon/style/iconfont.1783571795939.woff2 +0 -0
  1001. package/lib/icon/style/index.js +1 -0
  1002. package/lib/icon/style/style.css +1034 -0
  1003. package/lib/icon/style/style.min.css +1034 -0
  1004. package/lib/icon-picker/index.js +19 -0
  1005. package/lib/icon-picker/index.min.js +1 -0
  1006. package/lib/icon-picker/src/icon-picker.js +829 -0
  1007. package/lib/icon-picker/src/icon-picker.min.js +1 -0
  1008. package/lib/icon-picker/style/index.js +1 -0
  1009. package/lib/icon-picker/style/style.css +242 -0
  1010. package/lib/icon-picker/style/style.min.css +1 -0
  1011. package/lib/iconfont.1783571795939.ttf +0 -0
  1012. package/lib/iconfont.1783571795939.woff +0 -0
  1013. package/lib/iconfont.1783571795939.woff2 +0 -0
  1014. package/lib/image/index.js +19 -0
  1015. package/lib/image/index.min.js +1 -0
  1016. package/lib/image/src/group.js +171 -0
  1017. package/lib/image/src/group.min.js +1 -0
  1018. package/lib/image/src/image.js +317 -0
  1019. package/lib/image/src/image.min.js +1 -0
  1020. package/lib/image/src/preview.js +683 -0
  1021. package/lib/image/src/preview.min.js +1 -0
  1022. package/lib/image/src/util.js +70 -0
  1023. package/lib/image/src/util.min.js +1 -0
  1024. package/lib/image/style/index.js +1 -0
  1025. package/lib/image/style/style.css +17 -0
  1026. package/lib/image/style/style.min.css +1 -0
  1027. package/lib/image-group/index.js +19 -0
  1028. package/lib/image-group/index.min.js +1 -0
  1029. package/lib/image-group/style/index.js +1 -0
  1030. package/lib/image-group/style/style.css +3 -0
  1031. package/lib/image-group/style/style.min.css +1 -0
  1032. package/lib/image-preview/index.js +21 -0
  1033. package/lib/image-preview/index.min.js +1 -0
  1034. package/lib/image-preview/style/index.js +1 -0
  1035. package/lib/image-preview/style/style.css +218 -0
  1036. package/lib/image-preview/style/style.min.css +1 -0
  1037. package/lib/index.common.js +25 -0
  1038. package/lib/index.umd.js +70070 -0
  1039. package/lib/index.umd.min.js +1 -0
  1040. package/lib/input/index.js +19 -0
  1041. package/lib/input/index.min.js +1 -0
  1042. package/lib/input/src/input.js +3098 -0
  1043. package/lib/input/src/input.min.js +1 -0
  1044. package/lib/input/style/index.js +1 -0
  1045. package/lib/input/style/style.css +1025 -0
  1046. package/lib/input/style/style.min.css +1 -0
  1047. package/lib/language/ar-EG.d.ts +2 -0
  1048. package/lib/language/ar-EG.js +880 -0
  1049. package/lib/language/ar-EG.min.js +1 -0
  1050. package/lib/language/ar-EG.umd.js +894 -0
  1051. package/lib/language/de-DE.d.ts +2 -0
  1052. package/lib/language/de-DE.js +880 -0
  1053. package/lib/language/de-DE.min.js +1 -0
  1054. package/lib/language/de-DE.umd.js +894 -0
  1055. package/lib/language/en-US.d.ts +2 -0
  1056. package/lib/language/en-US.js +880 -0
  1057. package/lib/language/en-US.min.js +1 -0
  1058. package/lib/language/en-US.umd.js +894 -0
  1059. package/lib/language/es-ES.d.ts +2 -0
  1060. package/lib/language/es-ES.js +880 -0
  1061. package/lib/language/es-ES.min.js +1 -0
  1062. package/lib/language/es-ES.umd.js +894 -0
  1063. package/lib/language/fr-FR.d.ts +2 -0
  1064. package/lib/language/fr-FR.js +880 -0
  1065. package/lib/language/fr-FR.min.js +1 -0
  1066. package/lib/language/fr-FR.umd.js +894 -0
  1067. package/lib/language/hu-HU.d.ts +2 -0
  1068. package/lib/language/hu-HU.js +880 -0
  1069. package/lib/language/hu-HU.min.js +1 -0
  1070. package/lib/language/hu-HU.umd.js +894 -0
  1071. package/lib/language/hy-AM.d.ts +2 -0
  1072. package/lib/language/hy-AM.js +880 -0
  1073. package/lib/language/hy-AM.min.js +1 -0
  1074. package/lib/language/hy-AM.umd.js +894 -0
  1075. package/lib/language/id-ID.d.ts +2 -0
  1076. package/lib/language/id-ID.js +880 -0
  1077. package/lib/language/id-ID.min.js +1 -0
  1078. package/lib/language/id-ID.umd.js +894 -0
  1079. package/lib/language/it-IT.d.ts +2 -0
  1080. package/lib/language/it-IT.js +880 -0
  1081. package/lib/language/it-IT.min.js +1 -0
  1082. package/lib/language/it-IT.umd.js +894 -0
  1083. package/lib/language/ja-JP.d.ts +2 -0
  1084. package/lib/language/ja-JP.js +880 -0
  1085. package/lib/language/ja-JP.min.js +1 -0
  1086. package/lib/language/ja-JP.umd.js +894 -0
  1087. package/lib/language/ko-KR.d.ts +2 -0
  1088. package/lib/language/ko-KR.js +880 -0
  1089. package/lib/language/ko-KR.min.js +1 -0
  1090. package/lib/language/ko-KR.umd.js +894 -0
  1091. package/lib/language/ms-MY.d.ts +2 -0
  1092. package/lib/language/ms-MY.js +880 -0
  1093. package/lib/language/ms-MY.min.js +1 -0
  1094. package/lib/language/ms-MY.umd.js +894 -0
  1095. package/lib/language/nb-NO.d.ts +2 -0
  1096. package/lib/language/nb-NO.js +880 -0
  1097. package/lib/language/nb-NO.min.js +1 -0
  1098. package/lib/language/nb-NO.umd.js +894 -0
  1099. package/lib/language/pt-BR.d.ts +2 -0
  1100. package/lib/language/pt-BR.js +880 -0
  1101. package/lib/language/pt-BR.min.js +1 -0
  1102. package/lib/language/pt-BR.umd.js +894 -0
  1103. package/lib/language/ru-RU.d.ts +2 -0
  1104. package/lib/language/ru-RU.js +880 -0
  1105. package/lib/language/ru-RU.min.js +1 -0
  1106. package/lib/language/ru-RU.umd.js +894 -0
  1107. package/lib/language/th-TH.d.ts +2 -0
  1108. package/lib/language/th-TH.js +880 -0
  1109. package/lib/language/th-TH.min.js +1 -0
  1110. package/lib/language/th-TH.umd.js +894 -0
  1111. package/lib/language/ug-CN.d.ts +2 -0
  1112. package/lib/language/ug-CN.js +880 -0
  1113. package/lib/language/ug-CN.min.js +1 -0
  1114. package/lib/language/ug-CN.umd.js +894 -0
  1115. package/lib/language/uk-UA.d.ts +2 -0
  1116. package/lib/language/uk-UA.js +880 -0
  1117. package/lib/language/uk-UA.min.js +1 -0
  1118. package/lib/language/uk-UA.umd.js +894 -0
  1119. package/lib/language/uz-UZ.d.ts +2 -0
  1120. package/lib/language/uz-UZ.js +880 -0
  1121. package/lib/language/uz-UZ.min.js +1 -0
  1122. package/lib/language/uz-UZ.umd.js +894 -0
  1123. package/lib/language/vi-VN.d.ts +2 -0
  1124. package/lib/language/vi-VN.js +880 -0
  1125. package/lib/language/vi-VN.min.js +1 -0
  1126. package/lib/language/vi-VN.umd.js +894 -0
  1127. package/lib/language/zh-CHT.d.ts +2 -0
  1128. package/lib/language/zh-CHT.js +880 -0
  1129. package/lib/language/zh-CHT.min.js +1 -0
  1130. package/lib/language/zh-CHT.umd.js +894 -0
  1131. package/lib/language/zh-CN.d.ts +2 -0
  1132. package/lib/language/zh-CN.js +880 -0
  1133. package/lib/language/zh-CN.min.js +1 -0
  1134. package/lib/language/zh-CN.umd.js +894 -0
  1135. package/lib/language/zh-HK.d.ts +2 -0
  1136. package/lib/language/zh-HK.js +9 -0
  1137. package/lib/language/zh-HK.min.js +1 -0
  1138. package/lib/language/zh-HK.umd.js +23 -0
  1139. package/lib/language/zh-MO.d.ts +2 -0
  1140. package/lib/language/zh-MO.js +9 -0
  1141. package/lib/language/zh-MO.min.js +1 -0
  1142. package/lib/language/zh-MO.umd.js +23 -0
  1143. package/lib/language/zh-TC.js +9 -0
  1144. package/lib/language/zh-TC.min.js +1 -0
  1145. package/lib/language/zh-TW.d.ts +2 -0
  1146. package/lib/language/zh-TW.js +9 -0
  1147. package/lib/language/zh-TW.min.js +1 -0
  1148. package/lib/language/zh-TW.umd.js +23 -0
  1149. package/lib/layout-aside/index.js +19 -0
  1150. package/lib/layout-aside/index.min.js +1 -0
  1151. package/lib/layout-aside/src/layout-aside.js +120 -0
  1152. package/lib/layout-aside/src/layout-aside.min.js +1 -0
  1153. package/lib/layout-aside/style/index.js +1 -0
  1154. package/lib/layout-aside/style/style.css +26 -0
  1155. package/lib/layout-aside/style/style.min.css +1 -0
  1156. package/lib/layout-body/index.js +19 -0
  1157. package/lib/layout-body/index.min.js +1 -0
  1158. package/lib/layout-body/src/layout-body.js +141 -0
  1159. package/lib/layout-body/src/layout-body.min.js +1 -0
  1160. package/lib/layout-body/style/index.js +1 -0
  1161. package/lib/layout-body/style/style.css +16 -0
  1162. package/lib/layout-body/style/style.min.css +1 -0
  1163. package/lib/layout-container/index.js +19 -0
  1164. package/lib/layout-container/index.min.js +1 -0
  1165. package/lib/layout-container/src/layout-container.js +65 -0
  1166. package/lib/layout-container/src/layout-container.min.js +1 -0
  1167. package/lib/layout-container/style/index.js +1 -0
  1168. package/lib/layout-container/style/style.css +28 -0
  1169. package/lib/layout-container/style/style.min.css +1 -0
  1170. package/lib/layout-footer/index.js +19 -0
  1171. package/lib/layout-footer/index.min.js +1 -0
  1172. package/lib/layout-footer/src/layout-footer.js +56 -0
  1173. package/lib/layout-footer/src/layout-footer.min.js +1 -0
  1174. package/lib/layout-footer/style/index.js +1 -0
  1175. package/lib/layout-footer/style/style.css +14 -0
  1176. package/lib/layout-footer/style/style.min.css +1 -0
  1177. package/lib/layout-header/index.js +19 -0
  1178. package/lib/layout-header/index.min.js +1 -0
  1179. package/lib/layout-header/src/layout-header.js +53 -0
  1180. package/lib/layout-header/src/layout-header.min.js +1 -0
  1181. package/lib/layout-header/style/index.js +1 -0
  1182. package/lib/layout-header/style/style.css +11 -0
  1183. package/lib/layout-header/style/style.min.css +1 -0
  1184. package/lib/link/index.js +19 -0
  1185. package/lib/link/index.min.js +1 -0
  1186. package/lib/link/src/link.js +138 -0
  1187. package/lib/link/src/link.min.js +1 -0
  1188. package/lib/link/style/index.js +1 -0
  1189. package/lib/link/style/style.css +111 -0
  1190. package/lib/link/style/style.min.css +1 -0
  1191. package/lib/list/index.js +19 -0
  1192. package/lib/list/index.min.js +1 -0
  1193. package/lib/list/src/list.js +2412 -0
  1194. package/lib/list/src/list.min.js +1 -0
  1195. package/lib/list/src/store.js +15 -0
  1196. package/lib/list/src/store.min.js +1 -0
  1197. package/lib/list/src/util.js +14 -0
  1198. package/lib/list/src/util.min.js +1 -0
  1199. package/lib/list/style/index.js +1 -0
  1200. package/lib/list/style/style.css +379 -0
  1201. package/lib/list/style/style.min.css +1 -0
  1202. package/lib/loading/index.js +34 -0
  1203. package/lib/loading/index.min.js +1 -0
  1204. package/lib/loading/src/loading.js +151 -0
  1205. package/lib/loading/src/loading.min.js +1 -0
  1206. package/lib/loading/style/index.js +1 -0
  1207. package/lib/loading/style/style.css +120 -0
  1208. package/lib/loading/style/style.min.css +1 -0
  1209. package/lib/mention/index.js +19 -0
  1210. package/lib/mention/index.min.js +1 -0
  1211. package/lib/mention/src/mention.js +54 -0
  1212. package/lib/mention/src/mention.min.js +1 -0
  1213. package/lib/mention/style/index.js +1 -0
  1214. package/lib/mention/style/style.css +0 -0
  1215. package/lib/mention/style/style.min.css +0 -0
  1216. package/lib/menu/index.js +19 -0
  1217. package/lib/menu/index.min.js +1 -0
  1218. package/lib/menu/src/menu.js +613 -0
  1219. package/lib/menu/src/menu.min.js +1 -0
  1220. package/lib/menu/style/index.js +1 -0
  1221. package/lib/menu/style/style.css +140 -0
  1222. package/lib/menu/style/style.min.css +1 -0
  1223. package/lib/modal/index.js +149 -0
  1224. package/lib/modal/index.min.js +1 -0
  1225. package/lib/modal/src/modal.js +1730 -0
  1226. package/lib/modal/src/modal.min.js +1 -0
  1227. package/lib/modal/style/index.js +1 -0
  1228. package/lib/modal/style/style.css +415 -0
  1229. package/lib/modal/style/style.min.css +1 -0
  1230. package/lib/notice-bar/index.js +19 -0
  1231. package/lib/notice-bar/index.min.js +1 -0
  1232. package/lib/notice-bar/src/notice-bar.js +175 -0
  1233. package/lib/notice-bar/src/notice-bar.min.js +1 -0
  1234. package/lib/notice-bar/style/index.js +1 -0
  1235. package/lib/notice-bar/style/style.css +78 -0
  1236. package/lib/notice-bar/style/style.min.css +1 -0
  1237. package/lib/number-input/index.js +19 -0
  1238. package/lib/number-input/index.min.js +1 -0
  1239. package/lib/number-input/src/number-input.js +1227 -0
  1240. package/lib/number-input/src/number-input.min.js +1 -0
  1241. package/lib/number-input/src/util.js +29 -0
  1242. package/lib/number-input/src/util.min.js +1 -0
  1243. package/lib/number-input/style/index.js +1 -0
  1244. package/lib/number-input/style/style.css +274 -0
  1245. package/lib/number-input/style/style.min.css +1 -0
  1246. package/lib/optgroup/index.js +19 -0
  1247. package/lib/optgroup/index.min.js +1 -0
  1248. package/lib/optgroup/style/index.js +1 -0
  1249. package/lib/optgroup/style/style.css +0 -0
  1250. package/lib/optgroup/style/style.min.css +0 -0
  1251. package/lib/option/index.js +19 -0
  1252. package/lib/option/index.min.js +1 -0
  1253. package/lib/option/style/index.js +1 -0
  1254. package/lib/option/style/style.css +0 -0
  1255. package/lib/option/style/style.min.css +0 -0
  1256. package/lib/pager/index.js +19 -0
  1257. package/lib/pager/index.min.js +1 -0
  1258. package/lib/pager/src/pager.js +951 -0
  1259. package/lib/pager/src/pager.min.js +1 -0
  1260. package/lib/pager/style/index.js +1 -0
  1261. package/lib/pager/style/style.css +341 -0
  1262. package/lib/pager/style/style.min.css +1 -0
  1263. package/lib/password-input/index.js +19 -0
  1264. package/lib/password-input/index.min.js +1 -0
  1265. package/lib/password-input/src/password-input.js +438 -0
  1266. package/lib/password-input/src/password-input.min.js +1 -0
  1267. package/lib/password-input/style/index.js +1 -0
  1268. package/lib/password-input/style/style.css +598 -0
  1269. package/lib/password-input/style/style.min.css +1 -0
  1270. package/lib/print/index.js +21 -0
  1271. package/lib/print/index.min.js +1 -0
  1272. package/lib/print/src/page-break.js +76 -0
  1273. package/lib/print/src/page-break.min.js +1 -0
  1274. package/lib/print/src/print.js +258 -0
  1275. package/lib/print/src/print.min.js +1 -0
  1276. package/lib/print/src/util.js +239 -0
  1277. package/lib/print/src/util.min.js +1 -0
  1278. package/lib/print/style/index.js +1 -0
  1279. package/lib/print/style/style.css +4 -0
  1280. package/lib/print/style/style.min.css +1 -0
  1281. package/lib/print-page-break/index.js +17 -0
  1282. package/lib/print-page-break/index.min.js +1 -0
  1283. package/lib/print-page-break/style/index.js +1 -0
  1284. package/lib/print-page-break/style/style.css +0 -0
  1285. package/lib/print-page-break/style/style.min.css +0 -0
  1286. package/lib/pulldown/index.js +19 -0
  1287. package/lib/pulldown/index.min.js +1 -0
  1288. package/lib/pulldown/src/pulldown.js +522 -0
  1289. package/lib/pulldown/src/pulldown.min.js +1 -0
  1290. package/lib/pulldown/style/index.js +1 -0
  1291. package/lib/pulldown/style/style.css +109 -0
  1292. package/lib/pulldown/style/style.min.css +1 -0
  1293. package/lib/radio/index.js +19 -0
  1294. package/lib/radio/index.min.js +1 -0
  1295. package/lib/radio/src/button.js +263 -0
  1296. package/lib/radio/src/button.min.js +1 -0
  1297. package/lib/radio/src/group.js +283 -0
  1298. package/lib/radio/src/group.min.js +1 -0
  1299. package/lib/radio/src/radio.js +252 -0
  1300. package/lib/radio/src/radio.min.js +1 -0
  1301. package/lib/radio/style/index.js +1 -0
  1302. package/lib/radio/style/style.css +108 -0
  1303. package/lib/radio/style/style.min.css +1 -0
  1304. package/lib/radio-button/index.js +19 -0
  1305. package/lib/radio-button/index.min.js +1 -0
  1306. package/lib/radio-button/style/index.js +1 -0
  1307. package/lib/radio-button/style/style.css +202 -0
  1308. package/lib/radio-button/style/style.min.css +1 -0
  1309. package/lib/radio-group/index.js +19 -0
  1310. package/lib/radio-group/index.min.js +1 -0
  1311. package/lib/radio-group/style/index.js +1 -0
  1312. package/lib/radio-group/style/style.css +0 -0
  1313. package/lib/radio-group/style/style.min.css +0 -0
  1314. package/lib/rate/index.js +19 -0
  1315. package/lib/rate/index.min.js +1 -0
  1316. package/lib/rate/src/rate.js +187 -0
  1317. package/lib/rate/src/rate.min.js +1 -0
  1318. package/lib/rate/style/index.js +1 -0
  1319. package/lib/rate/style/style.css +54 -0
  1320. package/lib/rate/style/style.min.css +1 -0
  1321. package/lib/result/index.js +19 -0
  1322. package/lib/result/index.min.js +1 -0
  1323. package/lib/result/src/result.js +88 -0
  1324. package/lib/result/src/result.min.js +1 -0
  1325. package/lib/result/style/index.js +1 -0
  1326. package/lib/result/style/style.css +68 -0
  1327. package/lib/result/style/style.min.css +1 -0
  1328. package/lib/row/index.js +19 -0
  1329. package/lib/row/index.min.js +1 -0
  1330. package/lib/row/src/col.js +138 -0
  1331. package/lib/row/src/col.min.js +1 -0
  1332. package/lib/row/src/row.js +122 -0
  1333. package/lib/row/src/row.min.js +1 -0
  1334. package/lib/row/style/index.js +1 -0
  1335. package/lib/row/style/style.css +116 -0
  1336. package/lib/row/style/style.min.css +1 -0
  1337. package/lib/segmented/index.js +19 -0
  1338. package/lib/segmented/index.min.js +1 -0
  1339. package/lib/segmented/src/segmented.js +260 -0
  1340. package/lib/segmented/src/segmented.min.js +1 -0
  1341. package/lib/segmented/style/index.js +1 -0
  1342. package/lib/segmented/style/style.css +197 -0
  1343. package/lib/segmented/style/style.min.css +1 -0
  1344. package/lib/select/index.js +19 -0
  1345. package/lib/select/index.min.js +1 -0
  1346. package/lib/select/src/optgroup.js +98 -0
  1347. package/lib/select/src/optgroup.min.js +1 -0
  1348. package/lib/select/src/option-info.js +33 -0
  1349. package/lib/select/src/option-info.min.js +1 -0
  1350. package/lib/select/src/option.js +94 -0
  1351. package/lib/select/src/option.min.js +1 -0
  1352. package/lib/select/src/select.js +2112 -0
  1353. package/lib/select/src/select.min.js +1 -0
  1354. package/lib/select/src/util.js +51 -0
  1355. package/lib/select/src/util.min.js +1 -0
  1356. package/lib/select/style/index.js +1 -0
  1357. package/lib/select/style/style.css +370 -0
  1358. package/lib/select/style/style.min.css +1 -0
  1359. package/lib/slider/index.js +19 -0
  1360. package/lib/slider/index.min.js +1 -0
  1361. package/lib/slider/src/slider.js +336 -0
  1362. package/lib/slider/src/slider.min.js +1 -0
  1363. package/lib/slider/style/index.js +1 -0
  1364. package/lib/slider/style/style.css +143 -0
  1365. package/lib/slider/style/style.min.css +1 -0
  1366. package/lib/split/index.js +19 -0
  1367. package/lib/split/index.min.js +1 -0
  1368. package/lib/split/style/index.js +1 -0
  1369. package/lib/split/style/style.css +295 -0
  1370. package/lib/split/style/style.min.css +1 -0
  1371. package/lib/split-pane/index.js +20 -0
  1372. package/lib/split-pane/index.min.js +1 -0
  1373. package/lib/split-pane/style/index.js +1 -0
  1374. package/lib/split-pane/style/style.css +0 -0
  1375. package/lib/split-pane/style/style.min.css +0 -0
  1376. package/lib/splitter/index.js +19 -0
  1377. package/lib/splitter/index.min.js +1 -0
  1378. package/lib/splitter/src/splitter-panel.js +161 -0
  1379. package/lib/splitter/src/splitter-panel.min.js +1 -0
  1380. package/lib/splitter/src/splitter.js +1036 -0
  1381. package/lib/splitter/src/splitter.min.js +1 -0
  1382. package/lib/splitter/src/util.js +27 -0
  1383. package/lib/splitter/src/util.min.js +1 -0
  1384. package/lib/splitter/style/index.js +1 -0
  1385. package/lib/splitter/style/style.css +295 -0
  1386. package/lib/splitter/style/style.min.css +1 -0
  1387. package/lib/splitter-panel/index.js +19 -0
  1388. package/lib/splitter-panel/index.min.js +1 -0
  1389. package/lib/splitter-panel/style/index.js +1 -0
  1390. package/lib/splitter-panel/style/style.css +0 -0
  1391. package/lib/splitter-panel/style/style.min.css +0 -0
  1392. package/lib/steps/index.js +19 -0
  1393. package/lib/steps/index.min.js +1 -0
  1394. package/lib/steps/src/steps.js +58 -0
  1395. package/lib/steps/src/steps.min.js +1 -0
  1396. package/lib/steps/style/index.js +1 -0
  1397. package/lib/steps/style/style.css +0 -0
  1398. package/lib/steps/style/style.min.css +0 -0
  1399. package/lib/style.css +1 -0
  1400. package/lib/style.min.css +1 -0
  1401. package/lib/switch/index.js +19 -0
  1402. package/lib/switch/index.min.js +1 -0
  1403. package/lib/switch/src/switch.js +256 -0
  1404. package/lib/switch/src/switch.min.js +1 -0
  1405. package/lib/switch/style/index.js +1 -0
  1406. package/lib/switch/style/style.css +111 -0
  1407. package/lib/switch/style/style.min.css +1 -0
  1408. package/lib/tab-pane/index.js +19 -0
  1409. package/lib/tab-pane/index.min.js +1 -0
  1410. package/lib/tab-pane/style/index.js +1 -0
  1411. package/lib/tab-pane/style/style.css +0 -0
  1412. package/lib/tab-pane/style/style.min.css +0 -0
  1413. package/lib/table-select/index.js +19 -0
  1414. package/lib/table-select/index.min.js +1 -0
  1415. package/lib/table-select/src/table-select.js +871 -0
  1416. package/lib/table-select/src/table-select.min.js +1 -0
  1417. package/lib/table-select/style/index.js +1 -0
  1418. package/lib/table-select/style/style.css +134 -0
  1419. package/lib/table-select/style/style.min.css +1 -0
  1420. package/lib/table-transfer/index.js +19 -0
  1421. package/lib/table-transfer/index.min.js +1 -0
  1422. package/lib/table-transfer/src/table-transfer.js +84 -0
  1423. package/lib/table-transfer/src/table-transfer.min.js +1 -0
  1424. package/lib/table-transfer/style/index.js +1 -0
  1425. package/lib/table-transfer/style/style.css +0 -0
  1426. package/lib/table-transfer/style/style.min.css +0 -0
  1427. package/lib/tabs/index.js +19 -0
  1428. package/lib/tabs/index.min.js +1 -0
  1429. package/lib/tabs/src/tab-pane.js +129 -0
  1430. package/lib/tabs/src/tab-pane.min.js +1 -0
  1431. package/lib/tabs/src/tabs.js +1031 -0
  1432. package/lib/tabs/src/tabs.min.js +1 -0
  1433. package/lib/tabs/src/util.js +29 -0
  1434. package/lib/tabs/src/util.min.js +1 -0
  1435. package/lib/tabs/style/index.js +1 -0
  1436. package/lib/tabs/style/style.css +705 -0
  1437. package/lib/tabs/style/style.min.css +1 -0
  1438. package/lib/tag/index.js +19 -0
  1439. package/lib/tag/index.min.js +1 -0
  1440. package/lib/tag/src/tag.js +183 -0
  1441. package/lib/tag/src/tag.min.js +1 -0
  1442. package/lib/tag/style/index.js +1 -0
  1443. package/lib/tag/style/style.css +187 -0
  1444. package/lib/tag/style/style.min.css +1 -0
  1445. package/lib/text/index.js +19 -0
  1446. package/lib/text/index.min.js +1 -0
  1447. package/lib/text/src/text.js +244 -0
  1448. package/lib/text/src/text.min.js +1 -0
  1449. package/lib/text/style/index.js +1 -0
  1450. package/lib/text/style/style.css +138 -0
  1451. package/lib/text/style/style.min.css +1 -0
  1452. package/lib/text-ellipsis/index.js +19 -0
  1453. package/lib/text-ellipsis/index.min.js +1 -0
  1454. package/lib/text-ellipsis/src/text-ellipsis.js +282 -0
  1455. package/lib/text-ellipsis/src/text-ellipsis.min.js +1 -0
  1456. package/lib/text-ellipsis/style/index.js +1 -0
  1457. package/lib/text-ellipsis/style/style.css +115 -0
  1458. package/lib/text-ellipsis/style/style.min.css +1 -0
  1459. package/lib/textarea/index.js +19 -0
  1460. package/lib/textarea/index.min.js +1 -0
  1461. package/lib/textarea/src/textarea.js +491 -0
  1462. package/lib/textarea/src/textarea.min.js +1 -0
  1463. package/lib/textarea/style/index.js +1 -0
  1464. package/lib/textarea/style/style.css +119 -0
  1465. package/lib/textarea/style/style.min.css +1 -0
  1466. package/lib/timeline/index.js +19 -0
  1467. package/lib/timeline/index.min.js +1 -0
  1468. package/lib/timeline/src/timeline-item.js +45 -0
  1469. package/lib/timeline/src/timeline-item.min.js +1 -0
  1470. package/lib/timeline/src/timeline.js +54 -0
  1471. package/lib/timeline/src/timeline.min.js +1 -0
  1472. package/lib/timeline/style/index.js +1 -0
  1473. package/lib/timeline/style/style.css +0 -0
  1474. package/lib/timeline/style/style.min.css +0 -0
  1475. package/lib/timeline-item/index.js +19 -0
  1476. package/lib/timeline-item/index.min.js +1 -0
  1477. package/lib/timeline-item/style/index.js +1 -0
  1478. package/lib/timeline-item/style/style.css +0 -0
  1479. package/lib/timeline-item/style/style.min.css +0 -0
  1480. package/lib/tip/index.js +21 -0
  1481. package/lib/tip/index.min.js +1 -0
  1482. package/lib/tip/src/tip.js +102 -0
  1483. package/lib/tip/src/tip.min.js +1 -0
  1484. package/lib/tip/style/index.js +1 -0
  1485. package/lib/tip/style/style.css +107 -0
  1486. package/lib/tip/style/style.min.css +1 -0
  1487. package/lib/tooltip/index.js +19 -0
  1488. package/lib/tooltip/index.min.js +1 -0
  1489. package/lib/tooltip/src/tooltip.js +721 -0
  1490. package/lib/tooltip/src/tooltip.min.js +1 -0
  1491. package/lib/tooltip/style/index.js +1 -0
  1492. package/lib/tooltip/style/style.css +117 -0
  1493. package/lib/tooltip/style/style.min.css +1 -0
  1494. package/lib/tour/index.js +19 -0
  1495. package/lib/tour/index.min.js +1 -0
  1496. package/lib/tour/src/tour.js +54 -0
  1497. package/lib/tour/src/tour.min.js +1 -0
  1498. package/lib/tour/style/index.js +1 -0
  1499. package/lib/tour/style/style.css +0 -0
  1500. package/lib/tour/style/style.min.css +0 -0
  1501. package/lib/transfer/index.js +19 -0
  1502. package/lib/transfer/index.min.js +1 -0
  1503. package/lib/transfer/src/transfer.js +93 -0
  1504. package/lib/transfer/src/transfer.min.js +1 -0
  1505. package/lib/transfer/style/index.js +1 -0
  1506. package/lib/transfer/style/style.css +0 -0
  1507. package/lib/transfer/style/style.min.css +0 -0
  1508. package/lib/tree/index.js +19 -0
  1509. package/lib/tree/index.min.js +1 -0
  1510. package/lib/tree/src/store.js +15 -0
  1511. package/lib/tree/src/store.min.js +1 -0
  1512. package/lib/tree/src/tree.js +3952 -0
  1513. package/lib/tree/src/tree.min.js +1 -0
  1514. package/lib/tree/src/util.js +53 -0
  1515. package/lib/tree/src/util.min.js +1 -0
  1516. package/lib/tree/style/index.js +1 -0
  1517. package/lib/tree/style/style.css +385 -0
  1518. package/lib/tree/style/style.min.css +1 -0
  1519. package/lib/tree-select/index.js +19 -0
  1520. package/lib/tree-select/index.min.js +1 -0
  1521. package/lib/tree-select/src/tree-select.js +1205 -0
  1522. package/lib/tree-select/src/tree-select.min.js +1 -0
  1523. package/lib/tree-select/style/index.js +1 -0
  1524. package/lib/tree-select/style/style.css +194 -0
  1525. package/lib/tree-select/style/style.min.css +1 -0
  1526. package/lib/ui/index.js +719 -0
  1527. package/lib/ui/index.min.js +1 -0
  1528. package/lib/ui/src/anime.js +64 -0
  1529. package/lib/ui/src/anime.min.js +1 -0
  1530. package/lib/ui/src/comp.js +9 -0
  1531. package/lib/ui/src/comp.min.js +1 -0
  1532. package/lib/ui/src/dom.js +304 -0
  1533. package/lib/ui/src/dom.min.js +1 -0
  1534. package/lib/ui/src/log.js +22 -0
  1535. package/lib/ui/src/log.min.js +1 -0
  1536. package/lib/ui/src/utils.js +70 -0
  1537. package/lib/ui/src/utils.min.js +1 -0
  1538. package/lib/ui/src/vn.js +63 -0
  1539. package/lib/ui/src/vn.min.js +1 -0
  1540. package/lib/ui/style/index.js +1 -0
  1541. package/lib/ui/style/style.css +0 -0
  1542. package/lib/ui/style/style.min.css +0 -0
  1543. package/lib/upload/index.js +22 -0
  1544. package/lib/upload/index.min.js +1 -0
  1545. package/lib/upload/src/upload.js +2174 -0
  1546. package/lib/upload/src/upload.min.js +1 -0
  1547. package/lib/upload/src/util.js +130 -0
  1548. package/lib/upload/src/util.min.js +1 -0
  1549. package/lib/upload/style/index.js +1 -0
  1550. package/lib/upload/style/style.css +483 -0
  1551. package/lib/upload/style/style.min.css +1 -0
  1552. package/lib/vxe-alert/index.js +22 -0
  1553. package/lib/vxe-alert/index.min.js +1 -0
  1554. package/lib/vxe-alert/style/index.js +1 -0
  1555. package/lib/vxe-alert/style/style.css +129 -0
  1556. package/lib/vxe-alert/style/style.min.css +1 -0
  1557. package/lib/vxe-anchor/index.js +22 -0
  1558. package/lib/vxe-anchor/index.min.js +1 -0
  1559. package/lib/vxe-anchor/style/index.js +1 -0
  1560. package/lib/vxe-anchor/style/style.css +42 -0
  1561. package/lib/vxe-anchor/style/style.min.css +1 -0
  1562. package/lib/vxe-anchor-link/index.js +22 -0
  1563. package/lib/vxe-anchor-link/index.min.js +1 -0
  1564. package/lib/vxe-anchor-link/style/index.js +1 -0
  1565. package/lib/vxe-anchor-link/style/style.css +0 -0
  1566. package/lib/vxe-anchor-link/style/style.min.css +0 -0
  1567. package/lib/vxe-avatar/index.js +22 -0
  1568. package/lib/vxe-avatar/index.min.js +1 -0
  1569. package/lib/vxe-avatar/style/index.js +1 -0
  1570. package/lib/vxe-avatar/style/style.css +98 -0
  1571. package/lib/vxe-avatar/style/style.min.css +1 -0
  1572. package/lib/vxe-backtop/index.js +22 -0
  1573. package/lib/vxe-backtop/index.min.js +1 -0
  1574. package/lib/vxe-backtop/style/index.js +1 -0
  1575. package/lib/vxe-backtop/style/style.css +72 -0
  1576. package/lib/vxe-backtop/style/style.min.css +1 -0
  1577. package/lib/vxe-badge/index.js +22 -0
  1578. package/lib/vxe-badge/index.min.js +1 -0
  1579. package/lib/vxe-badge/style/index.js +1 -0
  1580. package/lib/vxe-badge/style/style.css +42 -0
  1581. package/lib/vxe-badge/style/style.min.css +1 -0
  1582. package/lib/vxe-breadcrumb/index.js +22 -0
  1583. package/lib/vxe-breadcrumb/index.min.js +1 -0
  1584. package/lib/vxe-breadcrumb/style/index.js +1 -0
  1585. package/lib/vxe-breadcrumb/style/style.css +33 -0
  1586. package/lib/vxe-breadcrumb/style/style.min.css +1 -0
  1587. package/lib/vxe-breadcrumb-item/index.js +22 -0
  1588. package/lib/vxe-breadcrumb-item/index.min.js +1 -0
  1589. package/lib/vxe-breadcrumb-item/style/index.js +1 -0
  1590. package/lib/vxe-breadcrumb-item/style/style.css +0 -0
  1591. package/lib/vxe-breadcrumb-item/style/style.min.css +0 -0
  1592. package/lib/vxe-button/index.js +22 -0
  1593. package/lib/vxe-button/index.min.js +1 -0
  1594. package/lib/vxe-button/style/index.js +1 -0
  1595. package/lib/vxe-button/style/style.css +638 -0
  1596. package/lib/vxe-button/style/style.min.css +1 -0
  1597. package/lib/vxe-button-group/index.js +22 -0
  1598. package/lib/vxe-button-group/index.min.js +1 -0
  1599. package/lib/vxe-button-group/style/index.js +1 -0
  1600. package/lib/vxe-button-group/style/style.css +27 -0
  1601. package/lib/vxe-button-group/style/style.min.css +1 -0
  1602. package/lib/vxe-calendar/index.js +22 -0
  1603. package/lib/vxe-calendar/index.min.js +1 -0
  1604. package/lib/vxe-calendar/style/index.js +1 -0
  1605. package/lib/vxe-calendar/style/style.css +350 -0
  1606. package/lib/vxe-calendar/style/style.min.css +1 -0
  1607. package/lib/vxe-card/index.js +22 -0
  1608. package/lib/vxe-card/index.min.js +1 -0
  1609. package/lib/vxe-card/style/index.js +1 -0
  1610. package/lib/vxe-card/style/style.css +107 -0
  1611. package/lib/vxe-card/style/style.min.css +1 -0
  1612. package/lib/vxe-carousel/index.js +22 -0
  1613. package/lib/vxe-carousel/index.min.js +1 -0
  1614. package/lib/vxe-carousel/style/index.js +1 -0
  1615. package/lib/vxe-carousel/style/style.css +185 -0
  1616. package/lib/vxe-carousel/style/style.min.css +1 -0
  1617. package/lib/vxe-carousel-item/index.js +22 -0
  1618. package/lib/vxe-carousel-item/index.min.js +1 -0
  1619. package/lib/vxe-carousel-item/style/index.js +1 -0
  1620. package/lib/vxe-carousel-item/style/style.css +0 -0
  1621. package/lib/vxe-carousel-item/style/style.min.css +0 -0
  1622. package/lib/vxe-cascader/index.js +22 -0
  1623. package/lib/vxe-cascader/index.min.js +1 -0
  1624. package/lib/vxe-cascader/style/index.js +1 -0
  1625. package/lib/vxe-cascader/style/style.css +346 -0
  1626. package/lib/vxe-cascader/style/style.min.css +1 -0
  1627. package/lib/vxe-checkbox/index.js +22 -0
  1628. package/lib/vxe-checkbox/index.min.js +1 -0
  1629. package/lib/vxe-checkbox/style/index.js +1 -0
  1630. package/lib/vxe-checkbox/style/style.css +113 -0
  1631. package/lib/vxe-checkbox/style/style.min.css +1 -0
  1632. package/lib/vxe-checkbox-button/index.js +22 -0
  1633. package/lib/vxe-checkbox-button/index.min.js +1 -0
  1634. package/lib/vxe-checkbox-button/style/index.js +1 -0
  1635. package/lib/vxe-checkbox-button/style/style.css +202 -0
  1636. package/lib/vxe-checkbox-button/style/style.min.css +1 -0
  1637. package/lib/vxe-checkbox-group/index.js +22 -0
  1638. package/lib/vxe-checkbox-group/index.min.js +1 -0
  1639. package/lib/vxe-checkbox-group/style/index.js +1 -0
  1640. package/lib/vxe-checkbox-group/style/style.css +0 -0
  1641. package/lib/vxe-checkbox-group/style/style.min.css +0 -0
  1642. package/lib/vxe-col/index.js +22 -0
  1643. package/lib/vxe-col/index.min.js +1 -0
  1644. package/lib/vxe-col/style/index.js +1 -0
  1645. package/lib/vxe-col/style/style.css +0 -0
  1646. package/lib/vxe-col/style/style.min.css +0 -0
  1647. package/lib/vxe-collapse/index.js +22 -0
  1648. package/lib/vxe-collapse/index.min.js +1 -0
  1649. package/lib/vxe-collapse/style/index.js +1 -0
  1650. package/lib/vxe-collapse/style/style.css +83 -0
  1651. package/lib/vxe-collapse/style/style.min.css +1 -0
  1652. package/lib/vxe-collapse-pane/index.js +22 -0
  1653. package/lib/vxe-collapse-pane/index.min.js +1 -0
  1654. package/lib/vxe-collapse-pane/style/index.js +1 -0
  1655. package/lib/vxe-collapse-pane/style/style.css +0 -0
  1656. package/lib/vxe-collapse-pane/style/style.min.css +0 -0
  1657. package/lib/vxe-color-picker/index.js +22 -0
  1658. package/lib/vxe-color-picker/index.min.js +1 -0
  1659. package/lib/vxe-color-picker/style/index.js +1 -0
  1660. package/lib/vxe-color-picker/style/style.css +485 -0
  1661. package/lib/vxe-color-picker/style/style.min.css +1 -0
  1662. package/lib/vxe-context-menu/index.js +22 -0
  1663. package/lib/vxe-context-menu/index.min.js +1 -0
  1664. package/lib/vxe-context-menu/style/index.js +1 -0
  1665. package/lib/vxe-context-menu/style/style.css +109 -0
  1666. package/lib/vxe-context-menu/style/style.min.css +1 -0
  1667. package/lib/vxe-countdown/index.js +22 -0
  1668. package/lib/vxe-countdown/index.min.js +1 -0
  1669. package/lib/vxe-countdown/style/index.js +1 -0
  1670. package/lib/vxe-countdown/style/style.css +38 -0
  1671. package/lib/vxe-countdown/style/style.min.css +1 -0
  1672. package/lib/vxe-date-panel/index.js +22 -0
  1673. package/lib/vxe-date-panel/index.min.js +1 -0
  1674. package/lib/vxe-date-panel/style/index.js +1 -0
  1675. package/lib/vxe-date-panel/style/style.css +453 -0
  1676. package/lib/vxe-date-panel/style/style.min.css +1 -0
  1677. package/lib/vxe-date-picker/index.js +22 -0
  1678. package/lib/vxe-date-picker/index.min.js +1 -0
  1679. package/lib/vxe-date-picker/style/index.js +1 -0
  1680. package/lib/vxe-date-picker/style/style.css +283 -0
  1681. package/lib/vxe-date-picker/style/style.min.css +1 -0
  1682. package/lib/vxe-date-range-picker/index.js +22 -0
  1683. package/lib/vxe-date-range-picker/index.min.js +1 -0
  1684. package/lib/vxe-date-range-picker/style/index.js +1 -0
  1685. package/lib/vxe-date-range-picker/style/style.css +289 -0
  1686. package/lib/vxe-date-range-picker/style/style.min.css +1 -0
  1687. package/lib/vxe-drawer/index.js +22 -0
  1688. package/lib/vxe-drawer/index.min.js +1 -0
  1689. package/lib/vxe-drawer/style/index.js +1 -0
  1690. package/lib/vxe-drawer/style/style.css +270 -0
  1691. package/lib/vxe-drawer/style/style.min.css +1 -0
  1692. package/lib/vxe-empty/index.js +22 -0
  1693. package/lib/vxe-empty/index.min.js +1 -0
  1694. package/lib/vxe-empty/style/index.js +1 -0
  1695. package/lib/vxe-empty/style/style.css +54 -0
  1696. package/lib/vxe-empty/style/style.min.css +1 -0
  1697. package/lib/vxe-form/index.js +22 -0
  1698. package/lib/vxe-form/index.min.js +1 -0
  1699. package/lib/vxe-form/style/index.js +1 -0
  1700. package/lib/vxe-form/style/style.css +621 -0
  1701. package/lib/vxe-form/style/style.min.css +1 -0
  1702. package/lib/vxe-form-gather/index.js +22 -0
  1703. package/lib/vxe-form-gather/index.min.js +1 -0
  1704. package/lib/vxe-form-gather/style/index.js +1 -0
  1705. package/lib/vxe-form-gather/style/style.css +0 -0
  1706. package/lib/vxe-form-gather/style/style.min.css +0 -0
  1707. package/lib/vxe-form-group/index.js +22 -0
  1708. package/lib/vxe-form-group/index.min.js +1 -0
  1709. package/lib/vxe-form-group/style/index.js +1 -0
  1710. package/lib/vxe-form-group/style/style.css +0 -0
  1711. package/lib/vxe-form-group/style/style.min.css +0 -0
  1712. package/lib/vxe-form-item/index.js +22 -0
  1713. package/lib/vxe-form-item/index.min.js +1 -0
  1714. package/lib/vxe-form-item/style/index.js +1 -0
  1715. package/lib/vxe-form-item/style/style.css +0 -0
  1716. package/lib/vxe-form-item/style/style.min.css +0 -0
  1717. package/lib/vxe-icon/index.js +22 -0
  1718. package/lib/vxe-icon/index.min.js +1 -0
  1719. package/lib/vxe-icon/style/index.js +1 -0
  1720. package/lib/vxe-icon/style/style.css +1034 -0
  1721. package/lib/vxe-icon/style/style.min.css +1 -0
  1722. package/lib/vxe-icon-picker/index.js +22 -0
  1723. package/lib/vxe-icon-picker/index.min.js +1 -0
  1724. package/lib/vxe-icon-picker/style/index.js +1 -0
  1725. package/lib/vxe-icon-picker/style/style.css +242 -0
  1726. package/lib/vxe-icon-picker/style/style.min.css +1 -0
  1727. package/lib/vxe-image/index.js +22 -0
  1728. package/lib/vxe-image/index.min.js +1 -0
  1729. package/lib/vxe-image/style/index.js +1 -0
  1730. package/lib/vxe-image/style/style.css +17 -0
  1731. package/lib/vxe-image/style/style.min.css +1 -0
  1732. package/lib/vxe-image-group/index.js +22 -0
  1733. package/lib/vxe-image-group/index.min.js +1 -0
  1734. package/lib/vxe-image-group/style/index.js +1 -0
  1735. package/lib/vxe-image-group/style/style.css +3 -0
  1736. package/lib/vxe-image-group/style/style.min.css +1 -0
  1737. package/lib/vxe-image-preview/index.js +22 -0
  1738. package/lib/vxe-image-preview/index.min.js +1 -0
  1739. package/lib/vxe-image-preview/style/index.js +1 -0
  1740. package/lib/vxe-image-preview/style/style.css +218 -0
  1741. package/lib/vxe-image-preview/style/style.min.css +1 -0
  1742. package/lib/vxe-input/index.js +22 -0
  1743. package/lib/vxe-input/index.min.js +1 -0
  1744. package/lib/vxe-input/style/index.js +1 -0
  1745. package/lib/vxe-input/style/style.css +1025 -0
  1746. package/lib/vxe-input/style/style.min.css +1 -0
  1747. package/lib/vxe-layout-aside/index.js +22 -0
  1748. package/lib/vxe-layout-aside/index.min.js +1 -0
  1749. package/lib/vxe-layout-aside/style/index.js +1 -0
  1750. package/lib/vxe-layout-aside/style/style.css +26 -0
  1751. package/lib/vxe-layout-aside/style/style.min.css +1 -0
  1752. package/lib/vxe-layout-body/index.js +22 -0
  1753. package/lib/vxe-layout-body/index.min.js +1 -0
  1754. package/lib/vxe-layout-body/style/index.js +1 -0
  1755. package/lib/vxe-layout-body/style/style.css +16 -0
  1756. package/lib/vxe-layout-body/style/style.min.css +1 -0
  1757. package/lib/vxe-layout-container/index.js +22 -0
  1758. package/lib/vxe-layout-container/index.min.js +1 -0
  1759. package/lib/vxe-layout-container/style/index.js +1 -0
  1760. package/lib/vxe-layout-container/style/style.css +28 -0
  1761. package/lib/vxe-layout-container/style/style.min.css +1 -0
  1762. package/lib/vxe-layout-footer/index.js +22 -0
  1763. package/lib/vxe-layout-footer/index.min.js +1 -0
  1764. package/lib/vxe-layout-footer/style/index.js +1 -0
  1765. package/lib/vxe-layout-footer/style/style.css +14 -0
  1766. package/lib/vxe-layout-footer/style/style.min.css +1 -0
  1767. package/lib/vxe-layout-header/index.js +22 -0
  1768. package/lib/vxe-layout-header/index.min.js +1 -0
  1769. package/lib/vxe-layout-header/style/index.js +1 -0
  1770. package/lib/vxe-layout-header/style/style.css +11 -0
  1771. package/lib/vxe-layout-header/style/style.min.css +1 -0
  1772. package/lib/vxe-link/index.js +22 -0
  1773. package/lib/vxe-link/index.min.js +1 -0
  1774. package/lib/vxe-link/style/index.js +1 -0
  1775. package/lib/vxe-link/style/style.css +111 -0
  1776. package/lib/vxe-link/style/style.min.css +1 -0
  1777. package/lib/vxe-list/index.js +22 -0
  1778. package/lib/vxe-list/index.min.js +1 -0
  1779. package/lib/vxe-list/style/index.js +1 -0
  1780. package/lib/vxe-list/style/style.css +379 -0
  1781. package/lib/vxe-list/style/style.min.css +1 -0
  1782. package/lib/vxe-loading/index.js +22 -0
  1783. package/lib/vxe-loading/index.min.js +1 -0
  1784. package/lib/vxe-loading/style/index.js +1 -0
  1785. package/lib/vxe-loading/style/style.css +120 -0
  1786. package/lib/vxe-loading/style/style.min.css +1 -0
  1787. package/lib/vxe-mention/index.js +22 -0
  1788. package/lib/vxe-mention/index.min.js +1 -0
  1789. package/lib/vxe-mention/style/index.js +1 -0
  1790. package/lib/vxe-mention/style/style.css +0 -0
  1791. package/lib/vxe-mention/style/style.min.css +0 -0
  1792. package/lib/vxe-menu/index.js +22 -0
  1793. package/lib/vxe-menu/index.min.js +1 -0
  1794. package/lib/vxe-menu/style/index.js +1 -0
  1795. package/lib/vxe-menu/style/style.css +140 -0
  1796. package/lib/vxe-menu/style/style.min.css +1 -0
  1797. package/lib/vxe-modal/index.js +22 -0
  1798. package/lib/vxe-modal/index.min.js +1 -0
  1799. package/lib/vxe-modal/style/index.js +1 -0
  1800. package/lib/vxe-modal/style/style.css +415 -0
  1801. package/lib/vxe-modal/style/style.min.css +1 -0
  1802. package/lib/vxe-notice-bar/index.js +22 -0
  1803. package/lib/vxe-notice-bar/index.min.js +1 -0
  1804. package/lib/vxe-notice-bar/style/index.js +1 -0
  1805. package/lib/vxe-notice-bar/style/style.css +78 -0
  1806. package/lib/vxe-notice-bar/style/style.min.css +1 -0
  1807. package/lib/vxe-number-input/index.js +22 -0
  1808. package/lib/vxe-number-input/index.min.js +1 -0
  1809. package/lib/vxe-number-input/style/index.js +1 -0
  1810. package/lib/vxe-number-input/style/style.css +274 -0
  1811. package/lib/vxe-number-input/style/style.min.css +1 -0
  1812. package/lib/vxe-optgroup/index.js +22 -0
  1813. package/lib/vxe-optgroup/index.min.js +1 -0
  1814. package/lib/vxe-optgroup/style/index.js +1 -0
  1815. package/lib/vxe-optgroup/style/style.css +0 -0
  1816. package/lib/vxe-optgroup/style/style.min.css +0 -0
  1817. package/lib/vxe-option/index.js +22 -0
  1818. package/lib/vxe-option/index.min.js +1 -0
  1819. package/lib/vxe-option/style/index.js +1 -0
  1820. package/lib/vxe-option/style/style.css +0 -0
  1821. package/lib/vxe-option/style/style.min.css +0 -0
  1822. package/lib/vxe-pager/index.js +22 -0
  1823. package/lib/vxe-pager/index.min.js +1 -0
  1824. package/lib/vxe-pager/style/index.js +1 -0
  1825. package/lib/vxe-pager/style/style.css +341 -0
  1826. package/lib/vxe-pager/style/style.min.css +1 -0
  1827. package/lib/vxe-password-input/index.js +22 -0
  1828. package/lib/vxe-password-input/index.min.js +1 -0
  1829. package/lib/vxe-password-input/style/index.js +1 -0
  1830. package/lib/vxe-password-input/style/style.css +598 -0
  1831. package/lib/vxe-password-input/style/style.min.css +1 -0
  1832. package/lib/vxe-print/index.js +22 -0
  1833. package/lib/vxe-print/index.min.js +1 -0
  1834. package/lib/vxe-print/style/index.js +1 -0
  1835. package/lib/vxe-print/style/style.css +4 -0
  1836. package/lib/vxe-print/style/style.min.css +1 -0
  1837. package/lib/vxe-print-page-break/index.js +22 -0
  1838. package/lib/vxe-print-page-break/index.min.js +1 -0
  1839. package/lib/vxe-print-page-break/style/index.js +1 -0
  1840. package/lib/vxe-print-page-break/style/style.css +0 -0
  1841. package/lib/vxe-print-page-break/style/style.min.css +0 -0
  1842. package/lib/vxe-pulldown/index.js +22 -0
  1843. package/lib/vxe-pulldown/index.min.js +1 -0
  1844. package/lib/vxe-pulldown/style/index.js +1 -0
  1845. package/lib/vxe-pulldown/style/style.css +109 -0
  1846. package/lib/vxe-pulldown/style/style.min.css +1 -0
  1847. package/lib/vxe-radio/index.js +22 -0
  1848. package/lib/vxe-radio/index.min.js +1 -0
  1849. package/lib/vxe-radio/style/index.js +1 -0
  1850. package/lib/vxe-radio/style/style.css +108 -0
  1851. package/lib/vxe-radio/style/style.min.css +1 -0
  1852. package/lib/vxe-radio-button/index.js +22 -0
  1853. package/lib/vxe-radio-button/index.min.js +1 -0
  1854. package/lib/vxe-radio-button/style/index.js +1 -0
  1855. package/lib/vxe-radio-button/style/style.css +202 -0
  1856. package/lib/vxe-radio-button/style/style.min.css +1 -0
  1857. package/lib/vxe-radio-group/index.js +22 -0
  1858. package/lib/vxe-radio-group/index.min.js +1 -0
  1859. package/lib/vxe-radio-group/style/index.js +1 -0
  1860. package/lib/vxe-radio-group/style/style.css +0 -0
  1861. package/lib/vxe-radio-group/style/style.min.css +0 -0
  1862. package/lib/vxe-rate/index.js +22 -0
  1863. package/lib/vxe-rate/index.min.js +1 -0
  1864. package/lib/vxe-rate/style/index.js +1 -0
  1865. package/lib/vxe-rate/style/style.css +54 -0
  1866. package/lib/vxe-rate/style/style.min.css +1 -0
  1867. package/lib/vxe-result/index.js +22 -0
  1868. package/lib/vxe-result/index.min.js +1 -0
  1869. package/lib/vxe-result/style/index.js +1 -0
  1870. package/lib/vxe-result/style/style.css +68 -0
  1871. package/lib/vxe-result/style/style.min.css +1 -0
  1872. package/lib/vxe-row/index.js +22 -0
  1873. package/lib/vxe-row/index.min.js +1 -0
  1874. package/lib/vxe-row/style/index.js +1 -0
  1875. package/lib/vxe-row/style/style.css +116 -0
  1876. package/lib/vxe-row/style/style.min.css +1 -0
  1877. package/lib/vxe-segmented/index.js +22 -0
  1878. package/lib/vxe-segmented/index.min.js +1 -0
  1879. package/lib/vxe-segmented/style/index.js +1 -0
  1880. package/lib/vxe-segmented/style/style.css +197 -0
  1881. package/lib/vxe-segmented/style/style.min.css +1 -0
  1882. package/lib/vxe-select/index.js +22 -0
  1883. package/lib/vxe-select/index.min.js +1 -0
  1884. package/lib/vxe-select/style/index.js +1 -0
  1885. package/lib/vxe-select/style/style.css +370 -0
  1886. package/lib/vxe-select/style/style.min.css +1 -0
  1887. package/lib/vxe-slider/index.js +22 -0
  1888. package/lib/vxe-slider/index.min.js +1 -0
  1889. package/lib/vxe-slider/style/index.js +1 -0
  1890. package/lib/vxe-slider/style/style.css +143 -0
  1891. package/lib/vxe-slider/style/style.min.css +1 -0
  1892. package/lib/vxe-split/index.js +22 -0
  1893. package/lib/vxe-split/index.min.js +1 -0
  1894. package/lib/vxe-split/style/index.js +1 -0
  1895. package/lib/vxe-split/style/style.css +295 -0
  1896. package/lib/vxe-split/style/style.min.css +1 -0
  1897. package/lib/vxe-split-pane/index.js +22 -0
  1898. package/lib/vxe-split-pane/index.min.js +1 -0
  1899. package/lib/vxe-split-pane/style/index.js +1 -0
  1900. package/lib/vxe-split-pane/style/style.css +0 -0
  1901. package/lib/vxe-split-pane/style/style.min.css +0 -0
  1902. package/lib/vxe-splitter/index.js +22 -0
  1903. package/lib/vxe-splitter/index.min.js +1 -0
  1904. package/lib/vxe-splitter/style/index.js +1 -0
  1905. package/lib/vxe-splitter/style/style.css +295 -0
  1906. package/lib/vxe-splitter/style/style.min.css +1 -0
  1907. package/lib/vxe-splitter-panel/index.js +22 -0
  1908. package/lib/vxe-splitter-panel/index.min.js +1 -0
  1909. package/lib/vxe-splitter-panel/style/index.js +1 -0
  1910. package/lib/vxe-splitter-panel/style/style.css +0 -0
  1911. package/lib/vxe-splitter-panel/style/style.min.css +0 -0
  1912. package/lib/vxe-steps/index.js +22 -0
  1913. package/lib/vxe-steps/index.min.js +1 -0
  1914. package/lib/vxe-steps/style/index.js +1 -0
  1915. package/lib/vxe-steps/style/style.css +0 -0
  1916. package/lib/vxe-steps/style/style.min.css +0 -0
  1917. package/lib/vxe-switch/index.js +22 -0
  1918. package/lib/vxe-switch/index.min.js +1 -0
  1919. package/lib/vxe-switch/style/index.js +1 -0
  1920. package/lib/vxe-switch/style/style.css +111 -0
  1921. package/lib/vxe-switch/style/style.min.css +1 -0
  1922. package/lib/vxe-tab-pane/index.js +22 -0
  1923. package/lib/vxe-tab-pane/index.min.js +1 -0
  1924. package/lib/vxe-tab-pane/style/index.js +1 -0
  1925. package/lib/vxe-tab-pane/style/style.css +0 -0
  1926. package/lib/vxe-tab-pane/style/style.min.css +0 -0
  1927. package/lib/vxe-table-select/index.js +22 -0
  1928. package/lib/vxe-table-select/index.min.js +1 -0
  1929. package/lib/vxe-table-select/style/index.js +1 -0
  1930. package/lib/vxe-table-select/style/style.css +134 -0
  1931. package/lib/vxe-table-select/style/style.min.css +1 -0
  1932. package/lib/vxe-table-transfer/index.js +22 -0
  1933. package/lib/vxe-table-transfer/index.min.js +1 -0
  1934. package/lib/vxe-table-transfer/style/index.js +1 -0
  1935. package/lib/vxe-table-transfer/style/style.css +0 -0
  1936. package/lib/vxe-table-transfer/style/style.min.css +0 -0
  1937. package/lib/vxe-tabs/index.js +22 -0
  1938. package/lib/vxe-tabs/index.min.js +1 -0
  1939. package/lib/vxe-tabs/style/index.js +1 -0
  1940. package/lib/vxe-tabs/style/style.css +705 -0
  1941. package/lib/vxe-tabs/style/style.min.css +1 -0
  1942. package/lib/vxe-tag/index.js +22 -0
  1943. package/lib/vxe-tag/index.min.js +1 -0
  1944. package/lib/vxe-tag/style/index.js +1 -0
  1945. package/lib/vxe-tag/style/style.css +187 -0
  1946. package/lib/vxe-tag/style/style.min.css +1 -0
  1947. package/lib/vxe-text/index.js +22 -0
  1948. package/lib/vxe-text/index.min.js +1 -0
  1949. package/lib/vxe-text/style/index.js +1 -0
  1950. package/lib/vxe-text/style/style.css +138 -0
  1951. package/lib/vxe-text/style/style.min.css +1 -0
  1952. package/lib/vxe-text-ellipsis/index.js +22 -0
  1953. package/lib/vxe-text-ellipsis/index.min.js +1 -0
  1954. package/lib/vxe-text-ellipsis/style/index.js +1 -0
  1955. package/lib/vxe-text-ellipsis/style/style.css +115 -0
  1956. package/lib/vxe-text-ellipsis/style/style.min.css +1 -0
  1957. package/lib/vxe-textarea/index.js +22 -0
  1958. package/lib/vxe-textarea/index.min.js +1 -0
  1959. package/lib/vxe-textarea/style/index.js +1 -0
  1960. package/lib/vxe-textarea/style/style.css +119 -0
  1961. package/lib/vxe-textarea/style/style.min.css +1 -0
  1962. package/lib/vxe-timeline/index.js +22 -0
  1963. package/lib/vxe-timeline/index.min.js +1 -0
  1964. package/lib/vxe-timeline/style/index.js +1 -0
  1965. package/lib/vxe-timeline/style/style.css +0 -0
  1966. package/lib/vxe-timeline/style/style.min.css +0 -0
  1967. package/lib/vxe-timeline-item/index.js +22 -0
  1968. package/lib/vxe-timeline-item/index.min.js +1 -0
  1969. package/lib/vxe-timeline-item/style/index.js +1 -0
  1970. package/lib/vxe-timeline-item/style/style.css +0 -0
  1971. package/lib/vxe-timeline-item/style/style.min.css +0 -0
  1972. package/lib/vxe-tip/index.js +22 -0
  1973. package/lib/vxe-tip/index.min.js +1 -0
  1974. package/lib/vxe-tip/style/index.js +1 -0
  1975. package/lib/vxe-tip/style/style.css +107 -0
  1976. package/lib/vxe-tip/style/style.min.css +1 -0
  1977. package/lib/vxe-tooltip/index.js +22 -0
  1978. package/lib/vxe-tooltip/index.min.js +1 -0
  1979. package/lib/vxe-tooltip/style/index.js +1 -0
  1980. package/lib/vxe-tooltip/style/style.css +117 -0
  1981. package/lib/vxe-tooltip/style/style.min.css +1 -0
  1982. package/lib/vxe-tour/index.js +22 -0
  1983. package/lib/vxe-tour/index.min.js +1 -0
  1984. package/lib/vxe-tour/style/index.js +1 -0
  1985. package/lib/vxe-tour/style/style.css +0 -0
  1986. package/lib/vxe-tour/style/style.min.css +0 -0
  1987. package/lib/vxe-transfer/index.js +22 -0
  1988. package/lib/vxe-transfer/index.min.js +1 -0
  1989. package/lib/vxe-transfer/style/index.js +1 -0
  1990. package/lib/vxe-transfer/style/style.css +0 -0
  1991. package/lib/vxe-transfer/style/style.min.css +0 -0
  1992. package/lib/vxe-tree/index.js +22 -0
  1993. package/lib/vxe-tree/index.min.js +1 -0
  1994. package/lib/vxe-tree/style/index.js +1 -0
  1995. package/lib/vxe-tree/style/style.css +385 -0
  1996. package/lib/vxe-tree/style/style.min.css +1 -0
  1997. package/lib/vxe-tree-select/index.js +22 -0
  1998. package/lib/vxe-tree-select/index.min.js +1 -0
  1999. package/lib/vxe-tree-select/style/index.js +1 -0
  2000. package/lib/vxe-tree-select/style/style.css +194 -0
  2001. package/lib/vxe-tree-select/style/style.min.css +1 -0
  2002. package/lib/vxe-u-i/index.js +22 -0
  2003. package/lib/vxe-u-i/index.min.js +1 -0
  2004. package/lib/vxe-ui/index.js +22 -0
  2005. package/lib/vxe-ui/index.min.js +1 -0
  2006. package/lib/vxe-ui/style/index.js +1 -0
  2007. package/lib/vxe-ui/style/style.css +0 -0
  2008. package/lib/vxe-ui/style/style.min.css +0 -0
  2009. package/lib/vxe-upload/index.js +22 -0
  2010. package/lib/vxe-upload/index.min.js +1 -0
  2011. package/lib/vxe-upload/style/index.js +1 -0
  2012. package/lib/vxe-upload/style/style.css +483 -0
  2013. package/lib/vxe-upload/style/style.min.css +1 -0
  2014. package/lib/vxe-watermark/index.js +22 -0
  2015. package/lib/vxe-watermark/index.min.js +1 -0
  2016. package/lib/vxe-watermark/style/index.js +1 -0
  2017. package/lib/vxe-watermark/style/style.css +30 -0
  2018. package/lib/vxe-watermark/style/style.min.css +1 -0
  2019. package/lib/watermark/index.js +31 -0
  2020. package/lib/watermark/index.min.js +1 -0
  2021. package/lib/watermark/src/util.js +164 -0
  2022. package/lib/watermark/src/util.min.js +1 -0
  2023. package/lib/watermark/src/watermark.js +170 -0
  2024. package/lib/watermark/src/watermark.min.js +1 -0
  2025. package/lib/watermark/style/index.js +1 -0
  2026. package/lib/watermark/style/style.css +30 -0
  2027. package/lib/watermark/style/style.min.css +1 -0
  2028. package/package.json +1 -1
  2029. package/packages/cascader/src/cascader.ts +7 -9
  2030. package/packages/upload/src/upload.ts +5 -3
  2031. package/types/all.d.ts +75 -1
@@ -0,0 +1,3699 @@
1
+ import { defineVxeComponent } from '../../ui/src/comp';
2
+ import XEUtils from 'xe-utils';
3
+ import { VxeUI, createEvent, globalEvents, globalResize, renderEmptyElement, globalMixins } from '../../ui';
4
+ import { calcTreeLine, getItemCacheObj } from './util';
5
+ import { createComponentLog } from '../../ui/src/log';
6
+ import { getSlotVNs } from '../../ui/src/vn';
7
+ import { crossTreeDragNodeGlobal, getCrossTreeDragNodeInfo } from './store';
8
+ import { toCssUnit, isScale, getPaddingTopBottomSize, addClass, removeClass, getTpImg, hasControlKey, getEventTargetNode } from '../../ui/src/dom';
9
+ import { isEnableConf, enModelValue, deModelValue, getText } from '../../ui/src/utils';
10
+ import { moveRowAnimateToTb, clearRowAnimate } from '../../ui/src/anime';
11
+ import VxeLoadingComponent from '../../loading';
12
+ import VxeTooltipComponent from '../../tooltip';
13
+ const { warnLog, errLog } = createComponentLog('tree');
14
+ const { menus, getConfig, getI18n, getIcon } = VxeUI;
15
+ let crossTreeDragNodeObj = null;
16
+ /**
17
+ * 生成节点的唯一主键
18
+ */
19
+ function getNodeUniqueId() {
20
+ return XEUtils.uniqueId('node_');
21
+ }
22
+ function handleSetExpand(nodeid, expanded, expandedMaps) {
23
+ if (expanded) {
24
+ if (!expandedMaps[nodeid]) {
25
+ expandedMaps[nodeid] = true;
26
+ }
27
+ }
28
+ else {
29
+ if (expandedMaps[nodeid]) {
30
+ delete expandedMaps[nodeid];
31
+ }
32
+ }
33
+ }
34
+ function handleScrollTo($xeTree, scrollLeft, scrollTop) {
35
+ const reactData = $xeTree.reactData;
36
+ const scrollBodyElem = $xeTree.$refs.refVirtualWrapper;
37
+ if (scrollLeft) {
38
+ if (!XEUtils.isNumber(scrollLeft)) {
39
+ scrollTop = scrollLeft.top;
40
+ scrollLeft = scrollLeft.left;
41
+ }
42
+ }
43
+ if (scrollBodyElem) {
44
+ if (XEUtils.isNumber(scrollLeft)) {
45
+ scrollBodyElem.scrollLeft = scrollLeft;
46
+ }
47
+ if (XEUtils.isNumber(scrollTop)) {
48
+ scrollBodyElem.scrollTop = scrollTop;
49
+ }
50
+ }
51
+ if (reactData.scrollYLoad) {
52
+ return new Promise(resolve => {
53
+ setTimeout(() => {
54
+ $xeTree.$nextTick(() => {
55
+ resolve();
56
+ });
57
+ }, 50);
58
+ });
59
+ }
60
+ return $xeTree.$nextTick();
61
+ }
62
+ function handleNodeDragEndClearStatus($xeTree) {
63
+ clearNodeDragData($xeTree);
64
+ clearCrossTreeDragStatus($xeTree);
65
+ $xeTree.recalculate();
66
+ }
67
+ function clearNodeDropOrigin($xeTree) {
68
+ const el = $xeTree.$refs.refElem;
69
+ if (el) {
70
+ const clss = 'node--drag-origin';
71
+ XEUtils.arrayEach(el.querySelectorAll(`.${clss}`), (elem) => {
72
+ elem.draggable = false;
73
+ removeClass(elem, clss);
74
+ });
75
+ }
76
+ }
77
+ function updateNodeDropOrigin($xeTree, node) {
78
+ const el = $xeTree.$refs.refElem;
79
+ if (el) {
80
+ const clss = 'node--drag-origin';
81
+ const nodeid = $xeTree.getNodeId(node);
82
+ XEUtils.arrayEach(el.querySelectorAll(`.vxe-tree--node-wrapper[nodeid="${nodeid}"]`), (elem) => {
83
+ addClass(elem, clss);
84
+ });
85
+ }
86
+ }
87
+ function updateNodeDropTipContent($xeTree, itemEl) {
88
+ const reactData = $xeTree.reactData;
89
+ const { dragNode } = reactData;
90
+ const dragOpts = $xeTree.computeDragOpts;
91
+ const { tooltipMethod } = dragOpts;
92
+ const rTooltipMethod = tooltipMethod;
93
+ let tipContent = '';
94
+ if (rTooltipMethod) {
95
+ const rtParams = {
96
+ $tree: $xeTree,
97
+ node: dragNode
98
+ };
99
+ tipContent = `${rTooltipMethod(rtParams) || ''}`;
100
+ }
101
+ else {
102
+ tipContent = getI18n('vxe.tree.dragTip', [itemEl.textContent || '']);
103
+ }
104
+ reactData.dragTipText = tipContent;
105
+ }
106
+ function hideDropTip($xeTree) {
107
+ const rdTipEl = $xeTree.$refs.refDragTipElem;
108
+ const rdLineEl = $xeTree.$refs.refDragNodeLineElem;
109
+ if (rdTipEl) {
110
+ rdTipEl.style.display = '';
111
+ }
112
+ if (rdLineEl) {
113
+ rdLineEl.style.display = '';
114
+ }
115
+ }
116
+ function clearCrossTreeDragStatus($xeTree) {
117
+ const crossTreeDragNodeInfo = getCrossTreeDragNodeInfo($xeTree);
118
+ crossTreeDragNodeObj = null;
119
+ crossTreeDragNodeInfo.node = null;
120
+ }
121
+ function clearDragStatus($xeTree) {
122
+ const reactData = $xeTree.reactData;
123
+ const { dragNode } = reactData;
124
+ if (dragNode) {
125
+ hideDropTip($xeTree);
126
+ clearNodeDropOrigin($xeTree);
127
+ clearCrossTreeDragStatus($xeTree);
128
+ reactData.dragNode = null;
129
+ }
130
+ }
131
+ function showDropTip($xeTree, evnt, itemEl, showLine, dragPos) {
132
+ const internalData = $xeTree.internalData;
133
+ const wrapperEl = $xeTree.$refs.refElem;
134
+ if (!wrapperEl) {
135
+ return;
136
+ }
137
+ const { prevDragToChild } = internalData;
138
+ const wrapperRect = wrapperEl.getBoundingClientRect();
139
+ const wrapperHeight = wrapperEl.clientHeight;
140
+ if (itemEl) {
141
+ const rdLineEl = $xeTree.$refs.refDragNodeLineElem;
142
+ if (rdLineEl) {
143
+ if (showLine) {
144
+ const trRect = itemEl.getBoundingClientRect();
145
+ let itemHeight = itemEl.clientHeight;
146
+ const offsetTop = Math.max(1, trRect.y - wrapperRect.y);
147
+ if (offsetTop + itemHeight > wrapperHeight) {
148
+ itemHeight = wrapperHeight - offsetTop;
149
+ }
150
+ rdLineEl.style.display = 'block';
151
+ rdLineEl.style.top = `${offsetTop}px`;
152
+ rdLineEl.style.height = `${itemHeight}px`;
153
+ rdLineEl.setAttribute('drag-pos', dragPos);
154
+ rdLineEl.setAttribute('drag-to-child', prevDragToChild ? 'y' : 'n');
155
+ }
156
+ else {
157
+ rdLineEl.style.display = '';
158
+ }
159
+ }
160
+ }
161
+ const rdTipEl = $xeTree.$refs.refDragTipElem;
162
+ if (rdTipEl) {
163
+ rdTipEl.style.display = 'block';
164
+ rdTipEl.style.top = `${Math.min(wrapperEl.clientHeight - wrapperEl.scrollTop - rdTipEl.clientHeight, evnt.clientY - wrapperRect.y)}px`;
165
+ rdTipEl.style.left = `${Math.min(wrapperEl.clientWidth - wrapperEl.scrollLeft - rdTipEl.clientWidth - 1, evnt.clientX - wrapperRect.x)}px`;
166
+ rdTipEl.setAttribute('drag-status', showLine ? (prevDragToChild ? 'sub' : 'normal') : 'disabled');
167
+ }
168
+ }
169
+ function clearNodeDragData($xeTree) {
170
+ const reactData = $xeTree.reactData;
171
+ const internalData = $xeTree.internalData;
172
+ const wrapperEl = $xeTree.$refs.refElem;
173
+ const dtClss = ['.vxe-tree--node-wrapper'];
174
+ hideDropTip($xeTree);
175
+ clearNodeDropOrigin($xeTree);
176
+ clearRowAnimate(wrapperEl, dtClss);
177
+ internalData.prevDragToChild = false;
178
+ reactData.dragNode = null;
179
+ }
180
+ function handleNodeDragSwapEvent($xeTree, evnt, dragNode, prevDragNode, prevDragPos, prevDragToChild) {
181
+ const props = $xeTree;
182
+ const reactData = $xeTree.reactData;
183
+ const internalData = $xeTree.internalData;
184
+ const { transform } = props;
185
+ const { nodeMaps, treeFullData, afterVisibleList } = internalData;
186
+ const dragConfig = $xeTree.computeDragOpts;
187
+ const { animation, isCrossDrag, isPeerDrag, isSelfToChildDrag, dragEndMethod, dragToChildMethod } = dragConfig;
188
+ const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
189
+ const keyField = $xeTree.computeKeyField;
190
+ const parentField = $xeTree.computeParentField;
191
+ const childrenField = $xeTree.computeChildrenField;
192
+ const mapChildrenField = $xeTree.computeMapChildrenField;
193
+ const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
194
+ const el = $xeTree.$refs.refElem;
195
+ const errRest = {
196
+ status: false
197
+ };
198
+ if (!(el && prevDragNode && dragNode)) {
199
+ handleNodeDragEndClearStatus($xeTree);
200
+ return Promise.resolve(errRest);
201
+ }
202
+ // 判断是否有拖动
203
+ if (prevDragNode !== dragNode) {
204
+ const dragParams = {
205
+ oldNode: dragNode,
206
+ newNode: prevDragNode,
207
+ dragNode,
208
+ dragPos: prevDragPos,
209
+ dragToChild: !!prevDragToChild,
210
+ offsetIndex: dragOffsetIndex
211
+ };
212
+ const dragNodeid = $xeTree.getNodeId(dragNode);
213
+ const dragNodeRest = nodeMaps[dragNodeid] || {};
214
+ const _dragNodeIndex = dragNodeRest._index;
215
+ const newNodeid = $xeTree.getNodeId(prevDragNode);
216
+ let dragNodeHeight = 0;
217
+ let dragOffsetTop = -1;
218
+ if (animation) {
219
+ const prevItemEl = el.querySelector(`.vxe-tree--node-wrapper[nodeid="${newNodeid}"]`);
220
+ const oldItemEl = el.querySelector(`.vxe-tree--node-wrapper[nodeid="${dragNodeid}"]`);
221
+ const targetItemEl = prevItemEl || oldItemEl;
222
+ if (targetItemEl) {
223
+ dragNodeHeight = targetItemEl.offsetHeight;
224
+ }
225
+ if (oldItemEl) {
226
+ dragOffsetTop = oldItemEl.offsetTop;
227
+ }
228
+ }
229
+ let oafIndex = -1;
230
+ let nafIndex = -1;
231
+ const oldAllMaps = {};
232
+ let isSelfToChildStatus = false;
233
+ const oldRest = dragNodeRest;
234
+ const newRest = nodeMaps[newNodeid];
235
+ if (transform) {
236
+ if (oldRest && newRest) {
237
+ const { level: oldLevel } = oldRest;
238
+ const { level: newLevel } = newRest;
239
+ XEUtils.eachTree([dragNode], item => {
240
+ oldAllMaps[$xeTree.getNodeId(item)] = item;
241
+ }, { children: mapChildrenField });
242
+ if (oldLevel && newLevel) {
243
+ // 子到子
244
+ if (isPeerDrag && !isCrossDrag) {
245
+ if (oldRest.item[parentField] !== newRest.item[parentField]) {
246
+ // 非同级
247
+ handleNodeDragEndClearStatus($xeTree);
248
+ return errRest;
249
+ }
250
+ }
251
+ else {
252
+ if (!isCrossDrag) {
253
+ handleNodeDragEndClearStatus($xeTree);
254
+ return errRest;
255
+ }
256
+ if (oldAllMaps[newNodeid]) {
257
+ isSelfToChildStatus = true;
258
+ if (!(isCrossDrag && isSelfToChildDrag)) {
259
+ if (VxeUI.modal) {
260
+ VxeUI.modal.message({
261
+ status: 'error',
262
+ content: getI18n('vxe.error.treeDragChild')
263
+ });
264
+ }
265
+ handleNodeDragEndClearStatus($xeTree);
266
+ return errRest;
267
+ }
268
+ }
269
+ }
270
+ }
271
+ else if (oldLevel) {
272
+ // 子到根
273
+ if (!isCrossDrag) {
274
+ handleNodeDragEndClearStatus($xeTree);
275
+ return errRest;
276
+ }
277
+ }
278
+ else if (newLevel) {
279
+ // 根到子
280
+ if (!isCrossDrag) {
281
+ handleNodeDragEndClearStatus($xeTree);
282
+ return errRest;
283
+ }
284
+ if (oldAllMaps[newNodeid]) {
285
+ isSelfToChildStatus = true;
286
+ if (!(isCrossDrag && isSelfToChildDrag)) {
287
+ if (VxeUI.modal) {
288
+ VxeUI.modal.message({
289
+ status: 'error',
290
+ content: getI18n('vxe.error.treeDragChild')
291
+ });
292
+ }
293
+ handleNodeDragEndClearStatus($xeTree);
294
+ return errRest;
295
+ }
296
+ }
297
+ }
298
+ else {
299
+ // 根到根
300
+ }
301
+ }
302
+ }
303
+ const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
304
+ return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
305
+ if (!status) {
306
+ return errRest;
307
+ }
308
+ if (transform) {
309
+ // 移出源位置
310
+ if (oldRest && newRest) {
311
+ const fullList = XEUtils.toTreeArray(internalData.afterTreeList, {
312
+ updated: false,
313
+ key: keyField,
314
+ parentKey: parentField,
315
+ children: mapChildrenField
316
+ });
317
+ // 移出
318
+ const otfIndex = $xeTree.findNodeIndexOf(fullList, dragNode);
319
+ fullList.splice(otfIndex, 1);
320
+ // 插入
321
+ const ptfIndex = $xeTree.findNodeIndexOf(fullList, prevDragNode);
322
+ const ntfIndex = ptfIndex + dragOffsetIndex;
323
+ fullList.splice(ntfIndex, 0, dragNode);
324
+ // 改变层级
325
+ if (isSelfToChildStatus && (isCrossDrag && isSelfToChildDrag)) {
326
+ XEUtils.each(dragNode[childrenField], childNode => {
327
+ childNode[parentField] = dragNode[parentField];
328
+ });
329
+ }
330
+ dragNode[parentField] = isDragToChildFlag ? prevDragNode[keyField] : prevDragNode[parentField];
331
+ internalData.treeFullData = XEUtils.toArrayTree(fullList, {
332
+ key: keyField,
333
+ parentKey: parentField,
334
+ children: childrenField,
335
+ mapChildren: mapChildrenField
336
+ });
337
+ }
338
+ }
339
+ else {
340
+ // 移出
341
+ oafIndex = $xeTree.findNodeIndexOf(afterVisibleList, dragNode);
342
+ const otfIndex = $xeTree.findNodeIndexOf(treeFullData, dragNode);
343
+ afterVisibleList.splice(oafIndex, 1);
344
+ treeFullData.splice(otfIndex, 1);
345
+ // 插入
346
+ const pafIndex = $xeTree.findNodeIndexOf(afterVisibleList, prevDragNode);
347
+ const ptfIndex = $xeTree.findNodeIndexOf(treeFullData, prevDragNode);
348
+ nafIndex = pafIndex + dragOffsetIndex;
349
+ const ntfIndex = ptfIndex + dragOffsetIndex;
350
+ afterVisibleList.splice(nafIndex, 0, dragNode);
351
+ treeFullData.splice(ntfIndex, 0, dragNode);
352
+ }
353
+ $xeTree.cacheNodeMap();
354
+ $xeTree.handleData(transform);
355
+ if (!(transform)) {
356
+ $xeTree.updateAfterDataIndex();
357
+ }
358
+ $xeTree.updateCheckboxStatus();
359
+ if (reactData.scrollYLoad) {
360
+ $xeTree.updateYSpace();
361
+ }
362
+ if (evnt) {
363
+ $xeTree.dispatchEvent('node-dragend', {
364
+ oldNode: dragNode,
365
+ newNode: prevDragNode,
366
+ dragNode,
367
+ dragPos: prevDragPos,
368
+ dragToChild: isDragToChildFlag,
369
+ offsetIndex: dragOffsetIndex,
370
+ _index: {
371
+ newIndex: nafIndex,
372
+ oldIndex: oafIndex
373
+ }
374
+ }, evnt);
375
+ }
376
+ return $xeTree.$nextTick().then(() => {
377
+ if (animation) {
378
+ const { treeList } = reactData;
379
+ const { nodeMaps } = internalData;
380
+ const dragNodeRest = nodeMaps[dragNodeid];
381
+ const _newNodeIndex = dragNodeRest._index;
382
+ const firstNode = treeList[0];
383
+ const firstNodeRest = nodeMaps[$xeTree.getNodeId(firstNode)];
384
+ const wrapperEl = el;
385
+ if (firstNodeRest) {
386
+ const _firstNodeIndex = firstNodeRest._index;
387
+ const _lastNodeIndex = _firstNodeIndex + treeList.length;
388
+ let rsIndex = -1;
389
+ let reIndex = -1;
390
+ let offsetRate = 1;
391
+ if (_dragNodeIndex < _firstNodeIndex) {
392
+ // 从上往下虚拟拖拽
393
+ rsIndex = 0;
394
+ reIndex = _newNodeIndex - _firstNodeIndex;
395
+ }
396
+ else if (_dragNodeIndex > _lastNodeIndex) {
397
+ // 从下往上虚拟拖拽
398
+ const $newNodeIndex = dragNodeRest.$index;
399
+ rsIndex = $newNodeIndex + 1;
400
+ reIndex = treeList.length;
401
+ offsetRate = -1;
402
+ }
403
+ else {
404
+ if (_newNodeIndex > _dragNodeIndex) {
405
+ // 从上往下拖拽
406
+ rsIndex = _dragNodeIndex - _firstNodeIndex;
407
+ reIndex = rsIndex + _newNodeIndex - _dragNodeIndex;
408
+ }
409
+ else {
410
+ // 从下往上拖拽
411
+ rsIndex = _newNodeIndex - _firstNodeIndex;
412
+ reIndex = rsIndex + _dragNodeIndex - _newNodeIndex + 1;
413
+ offsetRate = -1;
414
+ }
415
+ }
416
+ const dragRangeList = treeList.slice(rsIndex, reIndex);
417
+ if (dragRangeList.length) {
418
+ const dtClss = [];
419
+ dragRangeList.forEach(item => {
420
+ const nodeid = $xeTree.getNodeId(item);
421
+ dtClss.push(`.vxe-tree--node-wrapper[nodeid="${nodeid}"]`);
422
+ });
423
+ const dtTrList = wrapperEl.querySelectorAll(dtClss.join(','));
424
+ moveRowAnimateToTb(dtTrList, offsetRate * dragNodeHeight);
425
+ }
426
+ }
427
+ const drClss = [`.vxe-tree--node-wrapper[nodeid="${dragNodeid}"]`];
428
+ const newDtTrList = wrapperEl.querySelectorAll(drClss.join(','));
429
+ const newTrEl = newDtTrList[0];
430
+ if (dragOffsetTop > -1 && newTrEl) {
431
+ moveRowAnimateToTb(newDtTrList, dragOffsetTop - newTrEl.offsetTop);
432
+ }
433
+ }
434
+ $xeTree.recalculate();
435
+ }).then(() => {
436
+ return {
437
+ status: true
438
+ };
439
+ });
440
+ }).catch(() => {
441
+ return errRest;
442
+ }).then((rest) => {
443
+ handleNodeDragEndClearStatus($xeTree);
444
+ return rest;
445
+ });
446
+ }
447
+ handleNodeDragEndClearStatus($xeTree);
448
+ return Promise.resolve(errRest);
449
+ }
450
+ function handleVisibleOrCheckMode(mode, isExistChild, nLevel) {
451
+ if (mode) {
452
+ if (mode === 'first') {
453
+ return !nLevel;
454
+ }
455
+ if (mode === 'last') {
456
+ return !isExistChild;
457
+ }
458
+ }
459
+ return true;
460
+ }
461
+ function insertTreeNode($xeTree, newRecords, isAppend) {
462
+ const internalData = $xeTree.internalData;
463
+ const { treeFullData, nodeMaps } = internalData;
464
+ const keyField = $xeTree.computeKeyField;
465
+ const parentField = $xeTree.computeParentField;
466
+ const childrenField = $xeTree.computeChildrenField;
467
+ const mapChildrenField = $xeTree.computeMapChildrenField;
468
+ const funcName = isAppend ? 'push' : 'unshift';
469
+ newRecords.forEach((item) => {
470
+ const parentNodeId = item[parentField];
471
+ const nodeid = $xeTree.getNodeId(item);
472
+ const matchObj = parentNodeId ? XEUtils.findTree(treeFullData, (item) => parentNodeId === item[keyField], { children: mapChildrenField }) : null;
473
+ const itemRest = getItemCacheObj(item);
474
+ if (matchObj) {
475
+ const { item: parentItem } = matchObj;
476
+ const parentRest = nodeMaps[$xeTree.getNodeId(parentItem)];
477
+ const parentLevel = parentRest ? parentRest.level : 0;
478
+ let pChilds = parentItem[childrenField];
479
+ let pMapChilds = parentItem[mapChildrenField];
480
+ if (!XEUtils.isArray(pChilds)) {
481
+ pChilds = parentItem[childrenField] = [];
482
+ }
483
+ if (!XEUtils.isArray(pMapChilds)) {
484
+ pMapChilds = parentItem[mapChildrenField] = [];
485
+ }
486
+ itemRest.parent = parentItem;
487
+ itemRest.items = pChilds;
488
+ itemRest.level = parentLevel;
489
+ pChilds[funcName](item);
490
+ pMapChilds[funcName](item);
491
+ }
492
+ else {
493
+ if (parentNodeId) {
494
+ warnLog('vxe.error.unableInsert');
495
+ }
496
+ treeFullData[funcName](item);
497
+ }
498
+ nodeMaps[nodeid] = itemRest;
499
+ });
500
+ }
501
+ function createInternalData() {
502
+ return {
503
+ // initialized: false,
504
+ // lastFilterValue: '',
505
+ treeFullData: [],
506
+ afterTreeList: [],
507
+ afterVisibleList: [],
508
+ nodeMaps: {},
509
+ selectCheckboxMaps: {},
510
+ indeterminateNodeMaps: {},
511
+ treeExpandedMaps: {},
512
+ treeExpandLazyLoadedMaps: {},
513
+ lastScrollLeft: 0,
514
+ lastScrollTop: 0,
515
+ scrollYStore: {
516
+ startIndex: 0,
517
+ endIndex: 0,
518
+ visibleSize: 0,
519
+ offsetSize: 0,
520
+ rowHeight: 0
521
+ },
522
+ removeNodeMaps: {},
523
+ insertNodeMaps: {},
524
+ // prevDragNode: null,
525
+ // prevDragToChild: false,
526
+ // prevDragPos: ''
527
+ lastScrollTime: 0
528
+ // hpTimeout: undefined
529
+ };
530
+ }
531
+ function createReactData() {
532
+ return {
533
+ parentHeight: 0,
534
+ customHeight: 0,
535
+ customMinHeight: 0,
536
+ customMaxHeight: 0,
537
+ currentNode: null,
538
+ scrollYLoad: false,
539
+ bodyHeight: 0,
540
+ topSpaceHeight: 0,
541
+ selectRadioKey: null,
542
+ treeList: [],
543
+ updateExpandedFlag: 1,
544
+ updateCheckboxFlag: 1,
545
+ insertNodeFlag: 1,
546
+ removeNodeFlag: 1,
547
+ dragNode: null,
548
+ dragTipText: '',
549
+ isCrossDragNode: false,
550
+ tooltipStore: {
551
+ visible: false,
552
+ node: null
553
+ }
554
+ };
555
+ }
556
+ export default {
557
+ name: 'VxeTree',
558
+ mixins: [
559
+ globalMixins.sizeMixin
560
+ ],
561
+ props: {
562
+ data: Array,
563
+ autoResize: {
564
+ type: Boolean,
565
+ default: () => getConfig().tree.autoResize
566
+ },
567
+ height: [String, Number],
568
+ maxHeight: {
569
+ type: [String, Number],
570
+ default: () => getConfig().tree.maxHeight
571
+ },
572
+ minHeight: {
573
+ type: [String, Number],
574
+ default: () => getConfig().tree.minHeight
575
+ },
576
+ loading: Boolean,
577
+ loadingConfig: Object,
578
+ accordion: {
579
+ type: Boolean,
580
+ default: () => getConfig().tree.accordion
581
+ },
582
+ childrenField: {
583
+ type: String,
584
+ default: () => getConfig().tree.childrenField
585
+ },
586
+ valueField: {
587
+ type: String,
588
+ default: () => getConfig().tree.valueField
589
+ },
590
+ keyField: {
591
+ type: String,
592
+ default: () => getConfig().tree.keyField
593
+ },
594
+ parentField: {
595
+ type: String,
596
+ default: () => getConfig().tree.parentField
597
+ },
598
+ titleField: {
599
+ type: String,
600
+ default: () => getConfig().tree.titleField
601
+ },
602
+ hasChildField: {
603
+ type: String,
604
+ default: () => getConfig().tree.hasChildField
605
+ },
606
+ mapChildrenField: {
607
+ type: String,
608
+ default: () => getConfig().tree.mapChildrenField
609
+ },
610
+ transform: Boolean,
611
+ // 已废弃
612
+ isCurrent: Boolean,
613
+ // 已废弃
614
+ isHover: Boolean,
615
+ expandAll: Boolean,
616
+ expandNodeKeys: Array,
617
+ showLine: {
618
+ type: Boolean,
619
+ default: () => getConfig().tree.showLine
620
+ },
621
+ trigger: String,
622
+ indent: {
623
+ type: Number,
624
+ default: () => getConfig().tree.indent
625
+ },
626
+ showRadio: {
627
+ type: Boolean,
628
+ default: () => getConfig().tree.showRadio
629
+ },
630
+ checkNodeKey: [String, Number],
631
+ radioConfig: Object,
632
+ showCheckbox: {
633
+ type: Boolean,
634
+ default: () => getConfig().tree.showCheckbox
635
+ },
636
+ checkNodeKeys: Array,
637
+ checkboxConfig: Object,
638
+ nodeConfig: Object,
639
+ lazy: Boolean,
640
+ visibleMethod: Function,
641
+ toggleMethod: Function,
642
+ loadMethod: Function,
643
+ showOverflow: {
644
+ type: Boolean,
645
+ default: () => getConfig().tree.showOverflow
646
+ },
647
+ tooltipConfig: Object,
648
+ drag: {
649
+ type: Boolean,
650
+ default: () => getConfig().tree.drag
651
+ },
652
+ dragConfig: Object,
653
+ menuConfig: Object,
654
+ showIcon: {
655
+ type: Boolean,
656
+ default: true
657
+ },
658
+ iconOpen: {
659
+ type: String,
660
+ default: () => getConfig().tree.iconOpen
661
+ },
662
+ iconClose: {
663
+ type: String,
664
+ default: () => getConfig().tree.iconClose
665
+ },
666
+ iconLoaded: {
667
+ type: String,
668
+ default: () => getConfig().tree.iconLoaded
669
+ },
670
+ rootParentValue: {
671
+ type: [String, Number],
672
+ default: () => getConfig().tree.rootParentValue
673
+ },
674
+ rootValues: {
675
+ type: Array,
676
+ default: () => getConfig().tree.rootValues
677
+ },
678
+ filterValue: [String, Number],
679
+ filterConfig: Object,
680
+ size: {
681
+ type: String,
682
+ default: () => getConfig().tree.size || getConfig().size
683
+ },
684
+ virtualYConfig: Object
685
+ },
686
+ provide() {
687
+ const $xeTree = this;
688
+ return {
689
+ $xeTree
690
+ };
691
+ },
692
+ data() {
693
+ const xID = XEUtils.uniqueId();
694
+ const reactData = createReactData();
695
+ return Object.assign(Object.assign({}, {}), { xID,
696
+ reactData, crossTreeDragNodeInfo: crossTreeDragNodeGlobal, hFlag: 0, dataFlag: 0 });
697
+ },
698
+ computed: Object.assign(Object.assign({}, {}), { computeTitleField() {
699
+ const $xeTree = this;
700
+ const props = $xeTree;
701
+ return props.titleField || 'title';
702
+ },
703
+ computeKeyField() {
704
+ const $xeTree = this;
705
+ const props = $xeTree;
706
+ return props.keyField || 'id';
707
+ },
708
+ computeValueField() {
709
+ const $xeTree = this;
710
+ const props = $xeTree;
711
+ const keyField = $xeTree.computeKeyField;
712
+ return props.valueField || keyField;
713
+ },
714
+ computeParentField() {
715
+ const $xeTree = this;
716
+ const props = $xeTree;
717
+ return props.parentField || 'parentId';
718
+ },
719
+ computeChildrenField() {
720
+ const $xeTree = this;
721
+ const props = $xeTree;
722
+ return props.childrenField || 'children';
723
+ },
724
+ computeMapChildrenField() {
725
+ const $xeTree = this;
726
+ const props = $xeTree;
727
+ return props.mapChildrenField || 'mapChildren';
728
+ },
729
+ computeHasChildField() {
730
+ const $xeTree = this;
731
+ const props = $xeTree;
732
+ return props.hasChildField || 'hasChild';
733
+ },
734
+ computeVirtualYOpts() {
735
+ const $xeTree = this;
736
+ const props = $xeTree;
737
+ return Object.assign({}, getConfig().tree.virtualYConfig, props.virtualYConfig);
738
+ },
739
+ computeIsNodeCurrent() {
740
+ const $xeTree = this;
741
+ const props = $xeTree;
742
+ const nodeOpts = $xeTree.computeNodeOpts;
743
+ const { isCurrent } = nodeOpts;
744
+ if (XEUtils.isBoolean(isCurrent)) {
745
+ return isCurrent;
746
+ }
747
+ return props.isCurrent;
748
+ },
749
+ computeIsNodeHover() {
750
+ const $xeTree = this;
751
+ const props = $xeTree;
752
+ const nodeOpts = $xeTree.computeNodeOpts;
753
+ const { isHover } = nodeOpts;
754
+ if (XEUtils.isBoolean(isHover)) {
755
+ return isHover;
756
+ }
757
+ return props.isHover;
758
+ },
759
+ computeRadioOpts() {
760
+ const $xeTree = this;
761
+ const props = $xeTree;
762
+ return Object.assign({ showIcon: true }, getConfig().tree.radioConfig, props.radioConfig);
763
+ },
764
+ computeCheckboxOpts() {
765
+ const $xeTree = this;
766
+ const props = $xeTree;
767
+ return Object.assign({ showIcon: true }, getConfig().tree.checkboxConfig, props.checkboxConfig);
768
+ },
769
+ computeNodeOpts() {
770
+ const $xeTree = this;
771
+ const props = $xeTree;
772
+ return Object.assign({}, getConfig().tree.nodeConfig, props.nodeConfig);
773
+ },
774
+ computeLoadingOpts() {
775
+ const $xeTree = this;
776
+ const props = $xeTree;
777
+ return Object.assign({}, getConfig().tree.loadingConfig, props.loadingConfig);
778
+ },
779
+ computeDragOpts() {
780
+ const $xeTree = this;
781
+ const props = $xeTree;
782
+ return Object.assign({}, getConfig().tree.dragConfig, props.dragConfig);
783
+ },
784
+ computeTooltipOpts() {
785
+ const $xeTree = this;
786
+ const props = $xeTree;
787
+ return Object.assign({}, getConfig().tree.tooltipConfig, props.tooltipConfig);
788
+ },
789
+ computeMenuOpts() {
790
+ const $xeTree = this;
791
+ const props = $xeTree;
792
+ return Object.assign({}, getConfig().tree.menuConfig, props.menuConfig);
793
+ },
794
+ computeTreeStyle() {
795
+ const $xeTree = this;
796
+ const props = $xeTree;
797
+ const reactData = $xeTree.reactData;
798
+ const { indent } = props;
799
+ const { customHeight, customMinHeight, customMaxHeight } = reactData;
800
+ const checkboxOpts = $xeTree.computeCheckboxOpts;
801
+ const { nodeStyle } = checkboxOpts;
802
+ const stys = {};
803
+ if (customHeight) {
804
+ stys.height = toCssUnit(customHeight);
805
+ }
806
+ if (customMinHeight) {
807
+ stys.minHeight = toCssUnit(customMinHeight);
808
+ }
809
+ if (customMaxHeight) {
810
+ stys.maxHeight = toCssUnit(customMaxHeight);
811
+ }
812
+ if (indent) {
813
+ stys['--vxe-ui-tree-node-indent'] = toCssUnit(indent);
814
+ }
815
+ if (nodeStyle) {
816
+ const { indeterminateColor, checkedColor } = nodeStyle;
817
+ if (indeterminateColor) {
818
+ stys['--vxe-ui-tree-node-checkbox-indeterminate-color'] = indeterminateColor;
819
+ }
820
+ if (checkedColor) {
821
+ stys['--vxe-ui-tree-node-checkbox-checked-color'] = checkedColor;
822
+ }
823
+ }
824
+ return stys;
825
+ },
826
+ computeFilterOpts() {
827
+ const $xeTree = this;
828
+ const props = $xeTree;
829
+ return Object.assign({}, getConfig().tree.filterConfig, props.filterConfig);
830
+ } }),
831
+ methods: {
832
+ //
833
+ // Method
834
+ //
835
+ dispatchEvent(type, params, evnt) {
836
+ const $xeTree = this;
837
+ $xeTree.$emit(type, createEvent(evnt, { $tree: $xeTree }, params));
838
+ },
839
+ getNodeId(node) {
840
+ const $xeTree = this;
841
+ if (!node) {
842
+ return '';
843
+ }
844
+ const valueField = $xeTree.computeValueField;
845
+ const nodeKey = XEUtils.get(node, valueField);
846
+ return enModelValue(nodeKey);
847
+ },
848
+ getNodeById(nodeid) {
849
+ const $xeTree = this;
850
+ const internalData = $xeTree.internalData;
851
+ const { nodeMaps } = internalData;
852
+ if (nodeid) {
853
+ const nodeItem = nodeMaps[nodeid];
854
+ if (nodeItem) {
855
+ return nodeItem.item;
856
+ }
857
+ }
858
+ return null;
859
+ },
860
+ isExpandByNode(node) {
861
+ const $xeTree = this;
862
+ const reactData = $xeTree.reactData;
863
+ const internalData = $xeTree.internalData;
864
+ const { updateExpandedFlag } = reactData;
865
+ const { treeExpandedMaps } = internalData;
866
+ const nodeid = $xeTree.getNodeId(node);
867
+ return !!(updateExpandedFlag && treeExpandedMaps[nodeid]);
868
+ },
869
+ isCheckedByRadioNodeId(nodeid) {
870
+ const $xeTree = this;
871
+ const reactData = $xeTree.reactData;
872
+ const { selectRadioKey } = reactData;
873
+ return selectRadioKey === nodeid;
874
+ },
875
+ isCheckedByRadioNode(node) {
876
+ const $xeTree = this;
877
+ return $xeTree.isCheckedByRadioNodeId($xeTree.getNodeId(node));
878
+ },
879
+ isCheckedByCheckboxNodeId(nodeid) {
880
+ const $xeTree = this;
881
+ const reactData = $xeTree.reactData;
882
+ const internalData = $xeTree.internalData;
883
+ const { updateCheckboxFlag } = reactData;
884
+ const { selectCheckboxMaps } = internalData;
885
+ return !!(updateCheckboxFlag && selectCheckboxMaps[nodeid]);
886
+ },
887
+ isCheckedByCheckboxNode(node) {
888
+ const $xeTree = this;
889
+ return $xeTree.isCheckedByCheckboxNodeId($xeTree.getNodeId(node));
890
+ },
891
+ isIndeterminateByCheckboxNodeid(nodeid) {
892
+ const $xeTree = this;
893
+ const reactData = $xeTree.reactData;
894
+ const internalData = $xeTree.internalData;
895
+ const { updateCheckboxFlag } = reactData;
896
+ const { indeterminateNodeMaps } = internalData;
897
+ return !!(updateCheckboxFlag && indeterminateNodeMaps[nodeid]);
898
+ },
899
+ isIndeterminateByCheckboxNode(node) {
900
+ const $xeTree = this;
901
+ return $xeTree.isIndeterminateByCheckboxNodeid($xeTree.getNodeId(node));
902
+ },
903
+ emitCheckboxMode(value) {
904
+ const $xeTree = this;
905
+ $xeTree.$emit('update:checkNodeKeys', value);
906
+ },
907
+ emitRadioMode(value) {
908
+ const $xeTree = this;
909
+ $xeTree.$emit('update:checkNodeKey', value);
910
+ },
911
+ setRadioNode(node) {
912
+ const $xeTree = this;
913
+ const reactData = $xeTree.reactData;
914
+ if (node) {
915
+ const nodeid = $xeTree.getNodeId(node);
916
+ reactData.selectRadioKey = nodeid;
917
+ $xeTree.emitRadioMode(deModelValue(nodeid));
918
+ }
919
+ else {
920
+ $xeTree.emitRadioMode(null);
921
+ }
922
+ return $xeTree.$nextTick();
923
+ },
924
+ setCheckboxNode(nodeList, checked) {
925
+ const $xeTree = this;
926
+ if (nodeList) {
927
+ if (!XEUtils.isArray(nodeList)) {
928
+ nodeList = [nodeList];
929
+ }
930
+ $xeTree.handleCheckedCheckboxNode(nodeList, checked);
931
+ }
932
+ $xeTree.emitCheckboxMode($xeTree.getCheckboxNodeIds());
933
+ return $xeTree.$nextTick();
934
+ },
935
+ setCheckboxByNodeId(nodeKeys, checked) {
936
+ const $xeTree = this;
937
+ $xeTree.handleSetCheckboxByNodeId(nodeKeys, checked);
938
+ $xeTree.emitCheckboxMode($xeTree.getCheckboxNodeIds());
939
+ return $xeTree.$nextTick();
940
+ },
941
+ handleSetCheckboxByNodeId(nodeKeys, checked) {
942
+ const $xeTree = this;
943
+ const internalData = $xeTree.internalData;
944
+ const { nodeMaps } = internalData;
945
+ if (nodeKeys) {
946
+ if (!XEUtils.isArray(nodeKeys)) {
947
+ nodeKeys = [nodeKeys];
948
+ }
949
+ const nodeList = [];
950
+ nodeKeys.forEach((nodeKey) => {
951
+ const nodeid = enModelValue(nodeKey);
952
+ const nodeItem = nodeMaps[nodeid];
953
+ if (nodeItem) {
954
+ nodeList.push(nodeItem.item);
955
+ }
956
+ });
957
+ $xeTree.handleCheckedCheckboxNode(nodeList, checked);
958
+ }
959
+ return $xeTree.$nextTick();
960
+ },
961
+ handleCheckedCheckboxNode(nodeList, checked) {
962
+ const $xeTree = this;
963
+ const props = $xeTree;
964
+ const reactData = $xeTree.reactData;
965
+ const internalData = $xeTree.internalData;
966
+ const { transform } = props;
967
+ const { selectCheckboxMaps } = internalData;
968
+ const mapChildrenField = $xeTree.computeMapChildrenField;
969
+ const childrenField = $xeTree.computeChildrenField;
970
+ const checkboxOpts = $xeTree.computeCheckboxOpts;
971
+ const { checkStrictly } = checkboxOpts;
972
+ const handleSelect = (node) => {
973
+ const nodeid = $xeTree.getNodeId(node);
974
+ if (checked) {
975
+ if (!selectCheckboxMaps[nodeid]) {
976
+ selectCheckboxMaps[nodeid] = node;
977
+ }
978
+ }
979
+ else {
980
+ if (selectCheckboxMaps[nodeid]) {
981
+ delete selectCheckboxMaps[nodeid];
982
+ }
983
+ }
984
+ };
985
+ if (checkStrictly) {
986
+ nodeList.forEach(handleSelect);
987
+ }
988
+ else {
989
+ XEUtils.eachTree(nodeList, handleSelect, { children: transform ? mapChildrenField : childrenField });
990
+ }
991
+ reactData.updateCheckboxFlag++;
992
+ $xeTree.updateCheckboxStatus();
993
+ },
994
+ updateCheckboxChecked(nodeKeys) {
995
+ const $xeTree = this;
996
+ const internalData = $xeTree.internalData;
997
+ internalData.selectCheckboxMaps = {};
998
+ $xeTree.handleSetCheckboxByNodeId(nodeKeys, true);
999
+ },
1000
+ handleSetExpand(nodeid, expanded, expandedMaps) {
1001
+ if (expanded) {
1002
+ if (!expandedMaps[nodeid]) {
1003
+ expandedMaps[nodeid] = true;
1004
+ }
1005
+ }
1006
+ else {
1007
+ if (expandedMaps[nodeid]) {
1008
+ delete expandedMaps[nodeid];
1009
+ }
1010
+ }
1011
+ },
1012
+ getParentElem() {
1013
+ const $xeTree = this;
1014
+ const el = $xeTree.$refs.refElem;
1015
+ return el ? el.parentElement : null;
1016
+ },
1017
+ calcTreeHeight(key) {
1018
+ const $xeTree = this;
1019
+ const props = $xeTree;
1020
+ const reactData = $xeTree.reactData;
1021
+ const { parentHeight } = reactData;
1022
+ const val = props[key];
1023
+ let num = 0;
1024
+ if (val) {
1025
+ if (val === '100%' || val === 'auto') {
1026
+ num = parentHeight;
1027
+ }
1028
+ else {
1029
+ if (isScale(val)) {
1030
+ num = Math.floor((XEUtils.toInteger(val) || 1) / 100 * parentHeight);
1031
+ }
1032
+ else {
1033
+ num = XEUtils.toNumber(val);
1034
+ }
1035
+ num = Math.max(40, num);
1036
+ }
1037
+ }
1038
+ return num;
1039
+ },
1040
+ updateHeight() {
1041
+ const $xeTree = this;
1042
+ const reactData = $xeTree.reactData;
1043
+ reactData.customHeight = $xeTree.calcTreeHeight('height');
1044
+ reactData.customMinHeight = $xeTree.calcTreeHeight('minHeight');
1045
+ reactData.customMaxHeight = $xeTree.calcTreeHeight('maxHeight');
1046
+ // 如果启用虚拟滚动,默认高度
1047
+ if (reactData.scrollYLoad && !(reactData.customHeight || reactData.customMinHeight)) {
1048
+ reactData.customHeight = 300;
1049
+ }
1050
+ },
1051
+ createNode(records) {
1052
+ const $xeTree = this;
1053
+ const valueField = $xeTree.computeValueField;
1054
+ return Promise.resolve(records.map(obj => {
1055
+ const item = Object.assign({}, obj);
1056
+ let nodeid = $xeTree.getNodeId(item);
1057
+ if (!nodeid) {
1058
+ nodeid = getNodeUniqueId();
1059
+ XEUtils.set(item, valueField, nodeid);
1060
+ }
1061
+ return item;
1062
+ }));
1063
+ },
1064
+ cacheNodeMap() {
1065
+ const $xeTree = this;
1066
+ const internalData = $xeTree.internalData;
1067
+ const { treeFullData } = internalData;
1068
+ const valueField = $xeTree.computeValueField;
1069
+ const childrenField = $xeTree.computeChildrenField;
1070
+ const keyMaps = {};
1071
+ XEUtils.eachTree(treeFullData, (item, index, items, path, parenItem, nodes) => {
1072
+ let nodeid = $xeTree.getNodeId(item);
1073
+ if (!nodeid) {
1074
+ nodeid = getNodeUniqueId();
1075
+ XEUtils.set(item, valueField, nodeid);
1076
+ }
1077
+ keyMaps[nodeid] = {
1078
+ item,
1079
+ index,
1080
+ $index: -1,
1081
+ _index: -1,
1082
+ items,
1083
+ parent: parenItem,
1084
+ nodes,
1085
+ level: nodes.length - 1,
1086
+ treeIndex: index,
1087
+ lineCount: 0,
1088
+ treeLoaded: false
1089
+ };
1090
+ }, { children: childrenField });
1091
+ internalData.nodeMaps = keyMaps;
1092
+ },
1093
+ updateAfterDataIndex() {
1094
+ const $xeTree = this;
1095
+ const props = $xeTree;
1096
+ const internalData = $xeTree.internalData;
1097
+ const { transform } = props;
1098
+ const { afterTreeList, nodeMaps } = internalData;
1099
+ const childrenField = $xeTree.computeChildrenField;
1100
+ const mapChildrenField = $xeTree.computeMapChildrenField;
1101
+ let vtIndex = 0;
1102
+ XEUtils.eachTree(afterTreeList, (item, index, items, path, parenItem, nodes) => {
1103
+ const nodeid = $xeTree.getNodeId(item);
1104
+ const nodeItem = nodeMaps[nodeid];
1105
+ if (nodeItem) {
1106
+ nodeItem.items = items;
1107
+ nodeItem.treeIndex = index;
1108
+ nodeItem._index = vtIndex;
1109
+ }
1110
+ else {
1111
+ const rest = {
1112
+ item,
1113
+ index,
1114
+ $index: -1,
1115
+ _index: vtIndex,
1116
+ items,
1117
+ parent: parenItem,
1118
+ nodes,
1119
+ level: nodes.length - 1,
1120
+ treeIndex: index,
1121
+ lineCount: 0,
1122
+ treeLoaded: false
1123
+ };
1124
+ nodeMaps[nodeid] = rest;
1125
+ }
1126
+ vtIndex++;
1127
+ }, { children: transform ? mapChildrenField : childrenField });
1128
+ },
1129
+ updateAfterFullData() {
1130
+ const $xeTree = this;
1131
+ const props = $xeTree;
1132
+ const internalData = $xeTree.internalData;
1133
+ const { transform, filterValue } = props;
1134
+ const { treeFullData, lastFilterValue } = internalData;
1135
+ const titleField = $xeTree.computeTitleField;
1136
+ const childrenField = $xeTree.computeChildrenField;
1137
+ const mapChildrenField = $xeTree.computeMapChildrenField;
1138
+ const filterOpts = $xeTree.computeFilterOpts;
1139
+ const { autoExpandAll, beforeFilterMethod, filterMethod, afterFilterMethod } = filterOpts;
1140
+ let fullList = treeFullData;
1141
+ let treeList = fullList;
1142
+ let filterStr = '';
1143
+ if (filterValue || filterValue === 0) {
1144
+ filterStr = `${filterValue}`;
1145
+ const handleSearch = filterMethod
1146
+ ? (item) => {
1147
+ return filterMethod({
1148
+ $tree: $xeTree,
1149
+ node: item,
1150
+ filterValue: filterStr
1151
+ });
1152
+ }
1153
+ : (item) => {
1154
+ return String(item[titleField]).toLowerCase().indexOf(filterStr.toLowerCase()) > -1;
1155
+ };
1156
+ const bafParams = { $tree: $xeTree, filterValue: filterStr };
1157
+ if (beforeFilterMethod) {
1158
+ beforeFilterMethod(bafParams);
1159
+ }
1160
+ if (transform) {
1161
+ treeList = XEUtils.searchTree(treeFullData, handleSearch, {
1162
+ original: true,
1163
+ isEvery: true,
1164
+ children: childrenField,
1165
+ mapChildren: mapChildrenField
1166
+ });
1167
+ fullList = treeList;
1168
+ }
1169
+ else {
1170
+ fullList = treeFullData.filter(handleSearch);
1171
+ }
1172
+ internalData.lastFilterValue = filterStr;
1173
+ $xeTree.$nextTick(() => {
1174
+ // 筛选时自动展开
1175
+ if (autoExpandAll) {
1176
+ $xeTree.setAllExpandNode(true).then(() => {
1177
+ if (afterFilterMethod) {
1178
+ afterFilterMethod(bafParams);
1179
+ }
1180
+ });
1181
+ }
1182
+ else {
1183
+ if (afterFilterMethod) {
1184
+ afterFilterMethod(bafParams);
1185
+ }
1186
+ }
1187
+ });
1188
+ }
1189
+ else {
1190
+ if (transform) {
1191
+ treeList = XEUtils.searchTree(treeFullData, () => true, {
1192
+ original: true,
1193
+ isEvery: true,
1194
+ children: childrenField,
1195
+ mapChildren: mapChildrenField
1196
+ });
1197
+ fullList = treeList;
1198
+ if (lastFilterValue) {
1199
+ const bafParams = { $tree: $xeTree, filterValue: filterStr };
1200
+ if (beforeFilterMethod) {
1201
+ beforeFilterMethod(bafParams);
1202
+ }
1203
+ // 取消筛选时自动收起
1204
+ $xeTree.$nextTick(() => {
1205
+ if (autoExpandAll) {
1206
+ $xeTree.clearAllExpandNode().then(() => {
1207
+ if (afterFilterMethod) {
1208
+ afterFilterMethod(bafParams);
1209
+ }
1210
+ });
1211
+ }
1212
+ else {
1213
+ if (afterFilterMethod) {
1214
+ afterFilterMethod(bafParams);
1215
+ }
1216
+ }
1217
+ });
1218
+ }
1219
+ }
1220
+ internalData.lastFilterValue = '';
1221
+ }
1222
+ internalData.afterVisibleList = fullList;
1223
+ internalData.afterTreeList = treeList;
1224
+ $xeTree.updateAfterDataIndex();
1225
+ },
1226
+ /**
1227
+ * 如果为虚拟树、则将树结构拍平
1228
+ */
1229
+ handleTreeToList() {
1230
+ const $xeTree = this;
1231
+ const props = $xeTree;
1232
+ const internalData = $xeTree.internalData;
1233
+ const { transform } = props;
1234
+ const { afterTreeList, treeExpandedMaps } = internalData;
1235
+ const mapChildrenField = $xeTree.computeMapChildrenField;
1236
+ const expandMaps = {};
1237
+ if (transform) {
1238
+ const fullData = [];
1239
+ XEUtils.eachTree(afterTreeList, (item, index, items, path, parentNode) => {
1240
+ const nodeid = $xeTree.getNodeId(item);
1241
+ const parentNodeid = $xeTree.getNodeId(parentNode);
1242
+ if (!parentNode || (expandMaps[parentNodeid] && treeExpandedMaps[parentNodeid])) {
1243
+ expandMaps[nodeid] = 1;
1244
+ fullData.push(item);
1245
+ }
1246
+ }, { children: mapChildrenField });
1247
+ $xeTree.updateScrollYStatus(fullData);
1248
+ internalData.afterVisibleList = fullData;
1249
+ return fullData;
1250
+ }
1251
+ return internalData.afterVisibleList;
1252
+ },
1253
+ handleData(force) {
1254
+ const $xeTree = this;
1255
+ const reactData = $xeTree.reactData;
1256
+ const internalData = $xeTree.internalData;
1257
+ const { scrollYLoad } = reactData;
1258
+ const { scrollYStore, nodeMaps } = internalData;
1259
+ let fullList = internalData.afterVisibleList;
1260
+ if (force) {
1261
+ // 更新数据,处理筛选和排序
1262
+ $xeTree.updateAfterFullData();
1263
+ // 如果为虚拟树,将树结构拍平
1264
+ fullList = $xeTree.handleTreeToList();
1265
+ }
1266
+ const treeList = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
1267
+ treeList.forEach((item, $index) => {
1268
+ const nodeid = $xeTree.getNodeId(item);
1269
+ const itemRest = nodeMaps[nodeid];
1270
+ if (itemRest) {
1271
+ itemRest.$index = $index;
1272
+ }
1273
+ });
1274
+ reactData.treeList = treeList;
1275
+ },
1276
+ triggerSearchEvent: XEUtils.debounce(function () {
1277
+ const $xeSelect = this;
1278
+ $xeSelect.handleData(true);
1279
+ }, 350, { trailing: true }),
1280
+ loadData(list) {
1281
+ const $xeTree = this;
1282
+ const props = $xeTree;
1283
+ const reactData = $xeTree.reactData;
1284
+ const internalData = $xeTree.internalData;
1285
+ const { expandAll, expandNodeKeys, transform, rootParentValue, rootValues } = props;
1286
+ const { initialized, scrollYStore } = internalData;
1287
+ const keyField = $xeTree.computeKeyField;
1288
+ const parentField = $xeTree.computeParentField;
1289
+ const childrenField = $xeTree.computeChildrenField;
1290
+ const fullData = transform
1291
+ ? XEUtils.toArrayTree(list, {
1292
+ key: keyField,
1293
+ parentKey: parentField,
1294
+ mapChildren: childrenField,
1295
+ rootParentValue,
1296
+ rootValues
1297
+ })
1298
+ : list ? list.slice(0) : [];
1299
+ internalData.treeFullData = fullData;
1300
+ internalData.insertNodeMaps = {};
1301
+ reactData.insertNodeFlag++;
1302
+ internalData.removeNodeMaps = {};
1303
+ reactData.removeNodeFlag++;
1304
+ Object.assign(scrollYStore, {
1305
+ startIndex: 0,
1306
+ endIndex: 1,
1307
+ visibleSize: 0
1308
+ });
1309
+ const sYLoad = $xeTree.updateScrollYStatus(fullData);
1310
+ $xeTree.cacheNodeMap();
1311
+ $xeTree.handleData(true);
1312
+ if (sYLoad) {
1313
+ if (!(props.height || props.maxHeight)) {
1314
+ errLog('vxe.error.reqProp', ['height | max-height | virtual-y-config.enabled=false']);
1315
+ }
1316
+ }
1317
+ return $xeTree.computeScrollLoad().then(() => {
1318
+ if (!initialized) {
1319
+ if (list && list.length) {
1320
+ internalData.initialized = true;
1321
+ if (expandAll) {
1322
+ $xeTree.setAllExpandNode(true);
1323
+ }
1324
+ else if (expandNodeKeys && expandNodeKeys.length) {
1325
+ $xeTree.setExpandByNodeId(expandNodeKeys, true);
1326
+ }
1327
+ $xeTree.handleSetCheckboxByNodeId(props.checkNodeKeys || [], true);
1328
+ }
1329
+ }
1330
+ $xeTree.updateHeight();
1331
+ $xeTree.refreshScroll();
1332
+ });
1333
+ },
1334
+ updateScrollYStatus(fullData) {
1335
+ const $xeTree = this;
1336
+ const props = $xeTree;
1337
+ const reactData = $xeTree.reactData;
1338
+ const internalData = $xeTree.internalData;
1339
+ const { transform } = props;
1340
+ const virtualYOpts = $xeTree.computeVirtualYOpts;
1341
+ const allList = fullData || internalData.treeFullData;
1342
+ // 如果gt为0,则总是启用
1343
+ const scrollYLoad = !!transform && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length);
1344
+ reactData.scrollYLoad = scrollYLoad;
1345
+ return scrollYLoad;
1346
+ },
1347
+ updateYSpace() {
1348
+ const $xeTree = this;
1349
+ const reactData = $xeTree.reactData;
1350
+ const internalData = $xeTree.internalData;
1351
+ const { scrollYLoad } = reactData;
1352
+ const { scrollYStore, afterVisibleList } = internalData;
1353
+ reactData.bodyHeight = scrollYLoad ? afterVisibleList.length * scrollYStore.rowHeight : 0;
1354
+ reactData.topSpaceHeight = scrollYLoad ? Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0) : 0;
1355
+ },
1356
+ updateYData() {
1357
+ const $xeTree = this;
1358
+ $xeTree.handleData();
1359
+ $xeTree.updateYSpace();
1360
+ },
1361
+ computeScrollLoad() {
1362
+ const $xeTree = this;
1363
+ const reactData = $xeTree.reactData;
1364
+ const internalData = $xeTree.internalData;
1365
+ return $xeTree.$nextTick().then(() => {
1366
+ const { scrollYLoad } = reactData;
1367
+ const { scrollYStore } = internalData;
1368
+ const virtualBodyElem = $xeTree.$refs.refVirtualBody;
1369
+ const virtualYOpts = $xeTree.computeVirtualYOpts;
1370
+ let rowHeight = 0;
1371
+ let firstItemElem;
1372
+ if (virtualBodyElem) {
1373
+ if (!firstItemElem) {
1374
+ firstItemElem = virtualBodyElem.children[0];
1375
+ }
1376
+ }
1377
+ if (firstItemElem) {
1378
+ rowHeight = firstItemElem.offsetHeight;
1379
+ }
1380
+ rowHeight = Math.max(20, rowHeight);
1381
+ scrollYStore.rowHeight = rowHeight;
1382
+ // 计算 Y 逻辑
1383
+ if (scrollYLoad) {
1384
+ const scrollBodyElem = $xeTree.$refs.refVirtualWrapper;
1385
+ const visibleYSize = Math.max(8, scrollBodyElem ? Math.ceil(scrollBodyElem.clientHeight / rowHeight) : 0);
1386
+ const offsetYSize = Math.max(0, Math.min(2, XEUtils.toNumber(virtualYOpts.oSize)));
1387
+ scrollYStore.offsetSize = offsetYSize;
1388
+ scrollYStore.visibleSize = visibleYSize;
1389
+ scrollYStore.endIndex = Math.max(scrollYStore.startIndex, visibleYSize + offsetYSize, scrollYStore.endIndex);
1390
+ $xeTree.updateYData();
1391
+ }
1392
+ else {
1393
+ $xeTree.updateYSpace();
1394
+ }
1395
+ });
1396
+ },
1397
+ /**
1398
+ * 如果有滚动条,则滚动到对应的位置
1399
+ */
1400
+ scrollTo(scrollLeft, scrollTop) {
1401
+ const $xeTree = this;
1402
+ return handleScrollTo($xeTree, scrollLeft, scrollTop);
1403
+ },
1404
+ scrollToNode(node) {
1405
+ const $xeTree = this;
1406
+ return $xeTree.scrollToNodeId($xeTree.getNodeId(node));
1407
+ },
1408
+ scrollToNodeId(nodeid) {
1409
+ const $xeTree = this;
1410
+ const props = $xeTree;
1411
+ const internalData = $xeTree.internalData;
1412
+ const { transform } = props;
1413
+ const { scrollYStore, afterTreeList } = internalData;
1414
+ const childrenField = $xeTree.computeChildrenField;
1415
+ const mapChildrenField = $xeTree.computeMapChildrenField;
1416
+ const scrollBodyElem = $xeTree.$refs.refVirtualWrapper;
1417
+ if (nodeid && scrollBodyElem) {
1418
+ if (transform) {
1419
+ const matchObj = XEUtils.findTree(afterTreeList, item => $xeTree.getNodeId(item) === nodeid, { children: transform ? mapChildrenField : childrenField });
1420
+ if (matchObj) {
1421
+ return $xeTree.setExpandNode(matchObj.nodes, true).then(() => {
1422
+ const itemIndex = XEUtils.findIndexOf(internalData.afterVisibleList, item => $xeTree.getNodeId(item) === nodeid);
1423
+ if (itemIndex > -1) {
1424
+ const targetTop = Math.max(0, (itemIndex - 1) * scrollYStore.rowHeight);
1425
+ return handleScrollTo($xeTree, scrollBodyElem.scrollLeft, targetTop);
1426
+ }
1427
+ });
1428
+ }
1429
+ }
1430
+ else {
1431
+ const itemEl = scrollBodyElem.querySelector(`.vxe-tree--node-wrapper[nodeid="${nodeid}"]`);
1432
+ if (itemEl) {
1433
+ return handleScrollTo($xeTree, scrollBodyElem.scrollLeft, itemEl.offsetTop);
1434
+ }
1435
+ }
1436
+ }
1437
+ return $xeTree.recalculate();
1438
+ },
1439
+ /**
1440
+ * 刷新滚动条
1441
+ */
1442
+ refreshScroll() {
1443
+ const $xeTree = this;
1444
+ const internalData = $xeTree.internalData;
1445
+ const { lastScrollLeft, lastScrollTop } = internalData;
1446
+ return $xeTree.clearScroll().then(() => {
1447
+ if (lastScrollLeft || lastScrollTop) {
1448
+ internalData.lastScrollLeft = 0;
1449
+ internalData.lastScrollTop = 0;
1450
+ return scrollTo(lastScrollLeft, lastScrollTop);
1451
+ }
1452
+ });
1453
+ },
1454
+ /**
1455
+ * 重新计算列表
1456
+ */
1457
+ recalculate() {
1458
+ const $xeTree = this;
1459
+ const reactData = $xeTree.reactData;
1460
+ const internalData = $xeTree.internalData;
1461
+ const { scrollYStore } = internalData;
1462
+ const { rowHeight } = scrollYStore;
1463
+ const el = $xeTree.$refs.refElem;
1464
+ if (el && el.clientWidth && el.clientHeight) {
1465
+ const parentEl = $xeTree.getParentElem();
1466
+ const headerWrapperEl = $xeTree.$refs.refHeaderWrapperElem;
1467
+ const footerWrapperEl = $xeTree.$refs.refFooterWrapperElem;
1468
+ const headHeight = headerWrapperEl ? headerWrapperEl.clientHeight : 0;
1469
+ const footHeight = footerWrapperEl ? footerWrapperEl.clientHeight : 0;
1470
+ if (parentEl) {
1471
+ const parentPaddingSize = getPaddingTopBottomSize(parentEl);
1472
+ reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
1473
+ }
1474
+ $xeTree.updateHeight();
1475
+ return $xeTree.computeScrollLoad().then(() => {
1476
+ $xeTree.updateHeight();
1477
+ $xeTree.updateYSpace();
1478
+ });
1479
+ }
1480
+ return $xeTree.$nextTick();
1481
+ },
1482
+ getFullData() {
1483
+ const $xeTree = this;
1484
+ const internalData = $xeTree.internalData;
1485
+ const { treeFullData } = internalData;
1486
+ return treeFullData.slice(0);
1487
+ },
1488
+ loadYData() {
1489
+ const $xeTree = this;
1490
+ const internalData = $xeTree.internalData;
1491
+ const { scrollYStore } = internalData;
1492
+ const { startIndex, endIndex, visibleSize, offsetSize, rowHeight } = scrollYStore;
1493
+ const scrollBodyElem = $xeTree.$refs.refVirtualWrapper;
1494
+ if (!scrollBodyElem) {
1495
+ return;
1496
+ }
1497
+ const scrollTop = scrollBodyElem.scrollTop;
1498
+ const toVisibleIndex = Math.floor(scrollTop / rowHeight);
1499
+ const offsetStartIndex = Math.max(0, toVisibleIndex - 1 - offsetSize);
1500
+ const offsetEndIndex = toVisibleIndex + visibleSize + offsetSize;
1501
+ if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
1502
+ if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
1503
+ scrollYStore.startIndex = offsetStartIndex;
1504
+ scrollYStore.endIndex = offsetEndIndex;
1505
+ $xeTree.updateYData();
1506
+ }
1507
+ }
1508
+ },
1509
+ scrollEvent(evnt) {
1510
+ const $xeTree = this;
1511
+ const reactData = $xeTree.reactData;
1512
+ const internalData = $xeTree.internalData;
1513
+ const scrollBodyElem = evnt.target;
1514
+ const scrollTop = scrollBodyElem.scrollTop;
1515
+ const scrollLeft = scrollBodyElem.scrollLeft;
1516
+ const isX = scrollLeft !== internalData.lastScrollLeft;
1517
+ const isY = scrollTop !== internalData.lastScrollTop;
1518
+ internalData.lastScrollTop = scrollTop;
1519
+ internalData.lastScrollLeft = scrollLeft;
1520
+ if (reactData.scrollYLoad) {
1521
+ $xeTree.loadYData();
1522
+ }
1523
+ internalData.lastScrollTime = Date.now();
1524
+ $xeTree.dispatchEvent('scroll', { scrollLeft, scrollTop, isX, isY }, evnt);
1525
+ },
1526
+ clearScroll() {
1527
+ const $xeTree = this;
1528
+ const internalData = $xeTree.internalData;
1529
+ const scrollBodyElem = $xeTree.$refs.refVirtualWrapper;
1530
+ if (scrollBodyElem) {
1531
+ scrollBodyElem.scrollTop = 0;
1532
+ scrollBodyElem.scrollLeft = 0;
1533
+ }
1534
+ internalData.lastScrollTop = 0;
1535
+ internalData.lastScrollLeft = 0;
1536
+ return $xeTree.$nextTick();
1537
+ },
1538
+ handleInsertNodeAt(records, targetNodeOrNodeid, isInsertNextNode) {
1539
+ const $xeTree = this;
1540
+ const props = $xeTree;
1541
+ const reactData = $xeTree.reactData;
1542
+ const internalData = $xeTree.internalData;
1543
+ const { transform } = props;
1544
+ const { treeFullData, nodeMaps, removeNodeMaps, insertNodeMaps } = internalData;
1545
+ const keyField = $xeTree.computeKeyField;
1546
+ const parentField = $xeTree.computeParentField;
1547
+ const childrenField = $xeTree.computeChildrenField;
1548
+ const mapChildrenField = $xeTree.computeMapChildrenField;
1549
+ if (!transform) {
1550
+ errLog('vxe.error.reqSupportProp', ['insert() | insertAt() | insertNextAt()', 'transform']);
1551
+ return Promise.resolve({ node: null, nodes: [] });
1552
+ }
1553
+ if (!XEUtils.isArray(records)) {
1554
+ records = [records];
1555
+ }
1556
+ let targetNode = targetNodeOrNodeid;
1557
+ if (XEUtils.isString(targetNodeOrNodeid) || XEUtils.isNumber(targetNodeOrNodeid)) {
1558
+ const nodeRest = nodeMaps[targetNodeOrNodeid];
1559
+ if (nodeRest) {
1560
+ targetNode = nodeRest.item;
1561
+ }
1562
+ }
1563
+ if (!records.length) {
1564
+ return Promise.resolve({ node: null, nodes: [] });
1565
+ }
1566
+ const newRecords = records.map(record => XEUtils.assign({ [mapChildrenField]: [], [childrenField]: [] }, record));
1567
+ const treeRecords = XEUtils.toArrayTree(newRecords, { key: keyField, parentKey: parentField, children: childrenField });
1568
+ if (XEUtils.eqNull(targetNode)) {
1569
+ insertTreeNode($xeTree, newRecords, false);
1570
+ }
1571
+ else {
1572
+ if (targetNode === -1) {
1573
+ insertTreeNode($xeTree, newRecords, true);
1574
+ }
1575
+ else {
1576
+ const matchMapObj = XEUtils.findTree(treeFullData, item => targetNode[keyField] === item[keyField], { children: mapChildrenField });
1577
+ if (matchMapObj) {
1578
+ const { parent: parentNode } = matchMapObj;
1579
+ const parentMapChilds = parentNode ? parentNode[mapChildrenField] : treeFullData;
1580
+ const parentRest = nodeMaps[$xeTree.getNodeId(parentNode)];
1581
+ const parentLevel = parentRest ? parentRest.level : 0;
1582
+ treeRecords.forEach((item, i) => {
1583
+ if (parentNode) {
1584
+ if (item[parentField] !== parentNode[keyField]) {
1585
+ errLog('vxe.error.errProp', [`${parentField}=${item[parentField]}`, `${parentField}=${parentNode[keyField]}`]);
1586
+ item[parentField] = parentNode[keyField];
1587
+ }
1588
+ }
1589
+ else {
1590
+ if (item[parentField] !== null) {
1591
+ if (!XEUtils.eqNull(item[parentField])) {
1592
+ errLog('vxe.error.errProp', [`${parentField}=${item[parentField]}`, 'null']);
1593
+ }
1594
+ item[parentField] = null;
1595
+ }
1596
+ }
1597
+ let targetIndex = matchMapObj.index + i;
1598
+ if (isInsertNextNode) {
1599
+ targetIndex = targetIndex + 1;
1600
+ }
1601
+ parentMapChilds.splice(targetIndex, 0, item);
1602
+ });
1603
+ XEUtils.eachTree(treeRecords, (item) => {
1604
+ const nodeid = $xeTree.getNodeId(item);
1605
+ const nodeRest = getItemCacheObj(item);
1606
+ nodeRest.level = parentLevel;
1607
+ if (item[childrenField]) {
1608
+ item[mapChildrenField] = item[childrenField];
1609
+ }
1610
+ nodeMaps[nodeid] = nodeRest;
1611
+ }, { children: childrenField });
1612
+ // 源
1613
+ if (parentNode) {
1614
+ const matchObj = XEUtils.findTree(treeFullData, item => targetNode[keyField] === item[keyField], { children: childrenField });
1615
+ if (matchObj) {
1616
+ const parentChilds = matchObj.items;
1617
+ let targetIndex = matchObj.index;
1618
+ if (isInsertNextNode) {
1619
+ targetIndex = targetIndex + 1;
1620
+ }
1621
+ parentChilds.splice(targetIndex, 0, ...treeRecords);
1622
+ }
1623
+ }
1624
+ }
1625
+ else {
1626
+ warnLog('vxe.error.unableInsert');
1627
+ insertTreeNode($xeTree, newRecords, true);
1628
+ }
1629
+ }
1630
+ }
1631
+ const handleStatus = (newItem) => {
1632
+ const nodeid = $xeTree.getNodeId(newItem);
1633
+ // 如果是被删除的数据,则还原状态
1634
+ if (removeNodeMaps[nodeid]) {
1635
+ delete removeNodeMaps[nodeid];
1636
+ if (insertNodeMaps[nodeid]) {
1637
+ delete insertNodeMaps[nodeid];
1638
+ }
1639
+ }
1640
+ else {
1641
+ insertNodeMaps[nodeid] = newItem;
1642
+ }
1643
+ };
1644
+ XEUtils.eachTree(treeRecords, handleStatus, { children: mapChildrenField });
1645
+ reactData.removeNodeFlag++;
1646
+ reactData.insertNodeFlag++;
1647
+ $xeTree.cacheNodeMap();
1648
+ $xeTree.handleData(true);
1649
+ $xeTree.updateAfterDataIndex();
1650
+ $xeTree.updateCheckboxStatus();
1651
+ if (reactData.scrollYLoad) {
1652
+ $xeTree.updateYSpace();
1653
+ }
1654
+ return $xeTree.$nextTick().then(() => {
1655
+ return {
1656
+ node: newRecords.length ? newRecords[newRecords.length - 1] : null,
1657
+ nodes: newRecords
1658
+ };
1659
+ });
1660
+ },
1661
+ insert(records) {
1662
+ const $xeTree = this;
1663
+ return $xeTree.handleInsertNodeAt(records, null);
1664
+ },
1665
+ insertAt(records, targetNodeOrNodeid) {
1666
+ const $xeTree = this;
1667
+ return $xeTree.handleInsertNodeAt(records, targetNodeOrNodeid);
1668
+ },
1669
+ insertNextAt(records, targetNodeOrNodeid) {
1670
+ const $xeTree = this;
1671
+ return $xeTree.handleInsertNodeAt(records, targetNodeOrNodeid, true);
1672
+ },
1673
+ handleInsertChildNodeAt(records, parentNodeOrParentId, targetNodeOrNodeid, isInsertNextNode) {
1674
+ const $xeTree = this;
1675
+ const props = $xeTree;
1676
+ const internalData = $xeTree.internalData;
1677
+ const { transform } = props;
1678
+ const { nodeMaps } = internalData;
1679
+ const keyField = $xeTree.computeKeyField;
1680
+ const parentField = $xeTree.computeParentField;
1681
+ if (!transform) {
1682
+ errLog('vxe.error.reqSupportProp', ['insertChild() | insertChildAt() | insertChildNextAt()', 'transform']);
1683
+ return Promise.resolve({ node: null, nodes: [] });
1684
+ }
1685
+ if (!XEUtils.isArray(records)) {
1686
+ records = [records];
1687
+ }
1688
+ let parentNode = parentNodeOrParentId;
1689
+ if (XEUtils.isString(parentNodeOrParentId) || XEUtils.isNumber(parentNodeOrParentId)) {
1690
+ const nodeRest = nodeMaps[parentNodeOrParentId];
1691
+ if (nodeRest) {
1692
+ parentNode = nodeRest.item;
1693
+ }
1694
+ }
1695
+ return $xeTree.handleInsertNodeAt(records.map((item) => Object.assign({}, item, { [parentField]: parentNode[keyField] })), targetNodeOrNodeid, isInsertNextNode);
1696
+ },
1697
+ insertChild(records, parentNodeOrParentId) {
1698
+ const $xeTree = this;
1699
+ return $xeTree.handleInsertChildNodeAt(records, parentNodeOrParentId, null);
1700
+ },
1701
+ insertChildAt(records, parentNodeOrParentId, targetNode) {
1702
+ const $xeTree = this;
1703
+ return $xeTree.handleInsertChildNodeAt(records, parentNodeOrParentId, targetNode);
1704
+ },
1705
+ insertChildNextAt(records, parentNodeOrParentId, targetNode) {
1706
+ const $xeTree = this;
1707
+ return $xeTree.handleInsertChildNodeAt(records, parentNodeOrParentId, targetNode, true);
1708
+ },
1709
+ getInsertRecords() {
1710
+ const $xeTree = this;
1711
+ const internalData = $xeTree.internalData;
1712
+ const { insertNodeMaps } = internalData;
1713
+ const insertRecords = [];
1714
+ XEUtils.each(insertNodeMaps, (item) => {
1715
+ insertRecords.push(item);
1716
+ });
1717
+ return insertRecords;
1718
+ },
1719
+ isInsertByNode(node) {
1720
+ const $xeTree = this;
1721
+ const reactData = $xeTree.reactData;
1722
+ const internalData = $xeTree.internalData;
1723
+ const nodeid = $xeTree.getNodeId(node);
1724
+ return !!reactData.insertNodeFlag && !!internalData.insertNodeMaps[nodeid];
1725
+ },
1726
+ remove(nodes) {
1727
+ const $xeTree = this;
1728
+ const props = $xeTree;
1729
+ const reactData = $xeTree.reactData;
1730
+ const internalData = $xeTree.internalData;
1731
+ const { transform } = props;
1732
+ const { treeFullData, insertNodeMaps, removeNodeMaps } = internalData;
1733
+ const childrenField = $xeTree.computeChildrenField;
1734
+ const mapChildrenField = $xeTree.computeMapChildrenField;
1735
+ if (!transform) {
1736
+ errLog('vxe.error.reqSupportProp', ['remove()', 'transform']);
1737
+ return Promise.resolve({ node: null, nodes: [] });
1738
+ }
1739
+ let delList = [];
1740
+ if (!nodes) {
1741
+ nodes = treeFullData;
1742
+ }
1743
+ else if (!XEUtils.isArray(nodes)) {
1744
+ nodes = [nodes];
1745
+ }
1746
+ if (!nodes.length) {
1747
+ return Promise.resolve({ node: null, nodes: [] });
1748
+ }
1749
+ // 如果是新增,则保存记录
1750
+ nodes.forEach((item) => {
1751
+ if (!$xeTree.isInsertByNode(item)) {
1752
+ const nodeid = $xeTree.getNodeId(item);
1753
+ removeNodeMaps[nodeid] = item;
1754
+ }
1755
+ });
1756
+ // 从数据源中移除
1757
+ if (treeFullData === nodes) {
1758
+ nodes = delList = treeFullData.slice(0);
1759
+ internalData.treeFullData = [];
1760
+ }
1761
+ else {
1762
+ nodes.forEach((item) => {
1763
+ const nodeid = $xeTree.getNodeId(item);
1764
+ const matchMapObj = XEUtils.findTree(treeFullData, item => nodeid === $xeTree.getNodeId(item), { children: mapChildrenField });
1765
+ if (matchMapObj) {
1766
+ const rItems = matchMapObj.items.splice(matchMapObj.index, 1);
1767
+ delList.push(rItems[0]);
1768
+ }
1769
+ const matchObj = XEUtils.findTree(treeFullData, item => nodeid === $xeTree.getNodeId(item), { children: childrenField });
1770
+ if (matchObj) {
1771
+ const rItems = matchObj.items.splice(matchObj.index, 1);
1772
+ delList.push(rItems[0]);
1773
+ }
1774
+ });
1775
+ }
1776
+ // 从新增中移除已删除的数据
1777
+ nodes.forEach((item) => {
1778
+ const nodeid = $xeTree.getNodeId(item);
1779
+ if (insertNodeMaps[nodeid]) {
1780
+ delete insertNodeMaps[nodeid];
1781
+ }
1782
+ });
1783
+ reactData.removeNodeFlag++;
1784
+ reactData.insertNodeFlag++;
1785
+ $xeTree.cacheNodeMap();
1786
+ $xeTree.handleData(true);
1787
+ $xeTree.updateAfterDataIndex();
1788
+ $xeTree.updateCheckboxStatus();
1789
+ if (reactData.scrollYLoad) {
1790
+ $xeTree.updateYSpace();
1791
+ }
1792
+ return $xeTree.$nextTick().then(() => {
1793
+ return $xeTree.recalculate();
1794
+ }).then(() => {
1795
+ return { node: delList.length ? delList[delList.length - 1] : null, nodes: delList };
1796
+ });
1797
+ },
1798
+ getRemoveRecords() {
1799
+ const $xeTree = this;
1800
+ const internalData = $xeTree.internalData;
1801
+ const { removeNodeMaps } = internalData;
1802
+ const removeRecords = [];
1803
+ XEUtils.each(removeNodeMaps, (item) => {
1804
+ removeRecords.push(item);
1805
+ });
1806
+ return removeRecords;
1807
+ },
1808
+ isRemoveByNode(node) {
1809
+ const $xeTree = this;
1810
+ const reactData = $xeTree.reactData;
1811
+ const internalData = $xeTree.internalData;
1812
+ const nodeid = $xeTree.getNodeId(node);
1813
+ return !!reactData.removeNodeFlag && !!internalData.removeNodeMaps[nodeid];
1814
+ },
1815
+ handleNodeMousedownEvent(evnt, node) {
1816
+ const $xeTree = this;
1817
+ const props = $xeTree;
1818
+ const internalData = $xeTree.internalData;
1819
+ const { drag } = props;
1820
+ const { nodeMaps } = internalData;
1821
+ const targetEl = evnt.currentTarget;
1822
+ const dragConfig = $xeTree.computeDragOpts;
1823
+ const { trigger, isCrossDrag, isPeerDrag, disabledMethod } = dragConfig;
1824
+ const nodeid = $xeTree.getNodeId(node);
1825
+ const triggerTreeNode = getEventTargetNode(evnt, targetEl, 'vxe-tree--node-item-switcher').flag;
1826
+ let isNodeDrag = false;
1827
+ if (drag) {
1828
+ isNodeDrag = trigger === 'node';
1829
+ }
1830
+ if (!triggerTreeNode) {
1831
+ const params = { node, $tree: $xeTree };
1832
+ const itemRest = nodeMaps[nodeid];
1833
+ if (isNodeDrag && (isCrossDrag || isPeerDrag || (itemRest && !itemRest.level)) && !(disabledMethod && disabledMethod(params))) {
1834
+ $xeTree.handleNodeDragMousedownEvent(evnt, { node });
1835
+ }
1836
+ }
1837
+ },
1838
+ handleNodeClickEvent(evnt, node) {
1839
+ const $xeTree = this;
1840
+ const props = $xeTree;
1841
+ const reactData = $xeTree.reactData;
1842
+ const { showRadio, showCheckbox, trigger } = props;
1843
+ const radioOpts = $xeTree.computeRadioOpts;
1844
+ const checkboxOpts = $xeTree.computeCheckboxOpts;
1845
+ const isNodeCurrent = $xeTree.computeIsNodeCurrent;
1846
+ let triggerCurrent = false;
1847
+ let triggerRadio = false;
1848
+ let triggerCheckbox = false;
1849
+ let triggerExpand = false;
1850
+ if (isNodeCurrent) {
1851
+ triggerCurrent = true;
1852
+ $xeTree.changeCurrentEvent(evnt, node);
1853
+ }
1854
+ else if (reactData.currentNode) {
1855
+ reactData.currentNode = null;
1856
+ }
1857
+ if (trigger === 'node') {
1858
+ triggerExpand = true;
1859
+ $xeTree.toggleExpandEvent(evnt, node);
1860
+ }
1861
+ if (showRadio && radioOpts.trigger === 'node') {
1862
+ triggerRadio = true;
1863
+ $xeTree.changeRadioEvent(evnt, node);
1864
+ }
1865
+ if (showCheckbox && checkboxOpts.trigger === 'node') {
1866
+ triggerCheckbox = true;
1867
+ $xeTree.changeCheckboxEvent(evnt, node);
1868
+ }
1869
+ $xeTree.dispatchEvent('node-click', { node, triggerCurrent, triggerRadio, triggerCheckbox, triggerExpand }, evnt);
1870
+ },
1871
+ handleNodeDblclickEvent(evnt, node) {
1872
+ const $xeTree = this;
1873
+ $xeTree.dispatchEvent('node-dblclick', { node }, evnt);
1874
+ },
1875
+ handleNodeMouseenterEvent(evnt, node) {
1876
+ const $xeTree = this;
1877
+ const reactData = $xeTree.reactData;
1878
+ const internalData = $xeTree.internalData;
1879
+ const $tooltip = $xeTree.$refs.refTooltip;
1880
+ if (!$tooltip) {
1881
+ return;
1882
+ }
1883
+ const { tooltipStore } = reactData;
1884
+ const { tipTimeout } = internalData;
1885
+ const nodeEl = evnt.currentTarget;
1886
+ const tooltipOpts = $xeTree.computeTooltipOpts;
1887
+ const { showAll, contentMethod } = tooltipOpts;
1888
+ if (tipTimeout) {
1889
+ clearTimeout(tipTimeout);
1890
+ internalData.tipTimeout = undefined;
1891
+ }
1892
+ const titleEl = nodeEl.querySelector('.vxe-tree--node-item-title');
1893
+ const tipOverEl = nodeEl.querySelector('.vxe-tree--node-item-wrapper');
1894
+ if (!tipOverEl) {
1895
+ return;
1896
+ }
1897
+ const cellText = XEUtils.toString(tipOverEl.textContent).trim();
1898
+ const isOver = tipOverEl.scrollWidth > tipOverEl.clientWidth;
1899
+ let isShow = false;
1900
+ let customContent = null;
1901
+ let content = '';
1902
+ if (contentMethod) {
1903
+ customContent = contentMethod({ node, $event: evnt, $tree: $xeTree });
1904
+ }
1905
+ // 是否全部展示
1906
+ if (showAll) {
1907
+ // 如果为 null 默认显示
1908
+ if (XEUtils.eqNull(customContent)) {
1909
+ isShow = true;
1910
+ content = cellText;
1911
+ }
1912
+ else if (customContent !== '' && customContent !== false) {
1913
+ // 如果为 '' | false 则不显示
1914
+ isShow = true;
1915
+ content = '' + customContent;
1916
+ }
1917
+ }
1918
+ else {
1919
+ // 如果为 null 使用默认逻辑
1920
+ if (XEUtils.eqNull(customContent)) {
1921
+ isShow = isOver;
1922
+ content = cellText;
1923
+ }
1924
+ else if (customContent !== '' && customContent !== false) {
1925
+ // 如果为 '' | false 则不显示
1926
+ isShow = true;
1927
+ content = '' + customContent;
1928
+ }
1929
+ else {
1930
+ content = cellText;
1931
+ }
1932
+ }
1933
+ if (isShow && content) {
1934
+ const tipContent = getText(content);
1935
+ tooltipStore.visible = true;
1936
+ tooltipStore.node = node;
1937
+ if ($tooltip.open) {
1938
+ $tooltip.open((isOver ? tipOverEl : titleEl) || tipOverEl, tipContent);
1939
+ }
1940
+ }
1941
+ },
1942
+ handleNodeMouseleaveEvent() {
1943
+ const $xeTree = this;
1944
+ const internalData = $xeTree.internalData;
1945
+ let $tooltip = $xeTree.$refs.refTooltip;
1946
+ const tooltipOpts = $xeTree.computeTooltipOpts;
1947
+ if ($tooltip && $tooltip.setActived) {
1948
+ $tooltip.setActived(false);
1949
+ }
1950
+ if (tooltipOpts.enterable) {
1951
+ internalData.tipTimeout = setTimeout(() => {
1952
+ $tooltip = $xeTree.$refs.refTooltip;
1953
+ if ($tooltip && $tooltip.isActived && !$tooltip.isActived()) {
1954
+ $xeTree.closeTooltip();
1955
+ }
1956
+ internalData.tipTimeout = undefined;
1957
+ }, tooltipOpts.leaveDelay);
1958
+ }
1959
+ else {
1960
+ $xeTree.closeTooltip();
1961
+ }
1962
+ },
1963
+ closeTooltip() {
1964
+ const $xeTree = this;
1965
+ const reactData = $xeTree.reactData;
1966
+ const { tooltipStore } = reactData;
1967
+ if (tooltipStore.visible) {
1968
+ tooltipStore.visible = false;
1969
+ tooltipStore.node = null;
1970
+ const $tooltip = $xeTree.$refs.refTooltip;
1971
+ if ($tooltip) {
1972
+ $tooltip.close();
1973
+ }
1974
+ }
1975
+ return $xeTree.$nextTick();
1976
+ },
1977
+ handleContextmenuEvent(evnt, node) {
1978
+ const $xeTree = this;
1979
+ const props = $xeTree;
1980
+ const reactData = $xeTree.reactData;
1981
+ const { menuConfig } = props;
1982
+ const isNodeCurrent = $xeTree.computeIsNodeCurrent;
1983
+ const menuOpts = $xeTree.computeMenuOpts;
1984
+ if (menuConfig ? isEnableConf(menuOpts) : menuOpts.enabled) {
1985
+ const { options, visibleMethod } = menuOpts;
1986
+ if (!visibleMethod || visibleMethod({ $tree: $xeTree, options, node })) {
1987
+ if (isNodeCurrent) {
1988
+ $xeTree.changeCurrentEvent(evnt, node);
1989
+ }
1990
+ else if (reactData.currentNode) {
1991
+ reactData.currentNode = null;
1992
+ }
1993
+ if (VxeUI.contextMenu) {
1994
+ VxeUI.contextMenu.openByEvent(evnt, {
1995
+ options,
1996
+ events: {
1997
+ optionClick(eventParams) {
1998
+ const { option } = eventParams;
1999
+ const gMenuOpts = menus.get(option.code);
2000
+ const tmMethod = gMenuOpts ? gMenuOpts.treeMenuMethod : null;
2001
+ const params = {
2002
+ menu: option,
2003
+ node,
2004
+ $event: evnt,
2005
+ $tree: $xeTree,
2006
+ /**
2007
+ * @@deprecated
2008
+ */
2009
+ option
2010
+ };
2011
+ if (tmMethod) {
2012
+ tmMethod(params, evnt);
2013
+ }
2014
+ $xeTree.dispatchEvent('menu-click', params, eventParams.$event);
2015
+ }
2016
+ }
2017
+ });
2018
+ }
2019
+ }
2020
+ }
2021
+ $xeTree.dispatchEvent('node-menu', { node }, evnt);
2022
+ },
2023
+ handleAsyncTreeExpandChilds(node) {
2024
+ const $xeTree = this;
2025
+ const props = $xeTree;
2026
+ const reactData = $xeTree.reactData;
2027
+ const internalData = $xeTree.internalData;
2028
+ const checkboxOpts = $xeTree.computeCheckboxOpts;
2029
+ const { loadMethod } = props;
2030
+ const { checkStrictly } = checkboxOpts;
2031
+ return new Promise(resolve => {
2032
+ if (loadMethod) {
2033
+ const { nodeMaps } = internalData;
2034
+ const nodeid = $xeTree.getNodeId(node);
2035
+ const nodeItem = nodeMaps[nodeid];
2036
+ internalData.treeExpandLazyLoadedMaps[nodeid] = true;
2037
+ Promise.resolve(loadMethod({ $tree: $xeTree, node })).then((childRecords) => {
2038
+ const { treeExpandLazyLoadedMaps } = internalData;
2039
+ nodeItem.treeLoaded = true;
2040
+ if (treeExpandLazyLoadedMaps[nodeid]) {
2041
+ treeExpandLazyLoadedMaps[nodeid] = false;
2042
+ }
2043
+ if (!XEUtils.isArray(childRecords)) {
2044
+ childRecords = [];
2045
+ }
2046
+ if (childRecords) {
2047
+ return $xeTree.loadChildrenNode(node, childRecords).then(childNodes => {
2048
+ const { treeExpandedMaps } = internalData;
2049
+ if (childNodes.length && !treeExpandedMaps[nodeid]) {
2050
+ treeExpandedMaps[nodeid] = true;
2051
+ }
2052
+ reactData.updateExpandedFlag++;
2053
+ // 如果当前节点已选中,则展开后子节点也被选中
2054
+ if (!checkStrictly && $xeTree.isCheckedByCheckboxNodeId(nodeid)) {
2055
+ $xeTree.handleCheckedCheckboxNode(childNodes, true);
2056
+ }
2057
+ $xeTree.dispatchEvent('load-success', { node, data: childRecords }, new Event('load-success'));
2058
+ return $xeTree.$nextTick();
2059
+ });
2060
+ }
2061
+ else {
2062
+ $xeTree.dispatchEvent('load-success', { node, data: childRecords }, new Event('load-success'));
2063
+ }
2064
+ }).catch((e) => {
2065
+ const { treeExpandLazyLoadedMaps } = internalData;
2066
+ nodeItem.treeLoaded = false;
2067
+ if (treeExpandLazyLoadedMaps[nodeid]) {
2068
+ treeExpandLazyLoadedMaps[nodeid] = false;
2069
+ }
2070
+ $xeTree.dispatchEvent('load-error', { node, data: e }, new Event('load-error'));
2071
+ }).finally(() => {
2072
+ $xeTree.handleTreeToList();
2073
+ $xeTree.handleData();
2074
+ return $xeTree.recalculate();
2075
+ });
2076
+ }
2077
+ else {
2078
+ resolve();
2079
+ }
2080
+ });
2081
+ },
2082
+ /**
2083
+ * 展开与收起树节点
2084
+ * @param nodeList
2085
+ * @param expanded
2086
+ * @returns
2087
+ */
2088
+ handleBaseTreeExpand(nodeList, expanded) {
2089
+ const $xeTree = this;
2090
+ const props = $xeTree;
2091
+ const reactData = $xeTree.reactData;
2092
+ const internalData = $xeTree.internalData;
2093
+ const { lazy, accordion, toggleMethod } = props;
2094
+ const { treeExpandLazyLoadedMaps, treeExpandedMaps } = internalData;
2095
+ const { nodeMaps } = internalData;
2096
+ const childrenField = $xeTree.computeChildrenField;
2097
+ const hasChildField = $xeTree.computeHasChildField;
2098
+ const result = [];
2099
+ let validNodes = toggleMethod ? nodeList.filter((node) => toggleMethod({ $tree: $xeTree, expanded, node })) : nodeList;
2100
+ if (accordion) {
2101
+ validNodes = validNodes.length ? [validNodes[validNodes.length - 1]] : [];
2102
+ // 同一级只能展开一个
2103
+ const nodeid = $xeTree.getNodeId(validNodes[0]);
2104
+ const nodeItem = nodeMaps[nodeid];
2105
+ if (nodeItem) {
2106
+ nodeItem.items.forEach(item => {
2107
+ const itemNodeId = $xeTree.getNodeId(item);
2108
+ if (treeExpandedMaps[itemNodeId]) {
2109
+ delete treeExpandedMaps[itemNodeId];
2110
+ }
2111
+ });
2112
+ }
2113
+ }
2114
+ const expandNodes = [];
2115
+ if (expanded) {
2116
+ validNodes.forEach((item) => {
2117
+ const itemNodeId = $xeTree.getNodeId(item);
2118
+ if (!treeExpandedMaps[itemNodeId]) {
2119
+ const nodeItem = nodeMaps[itemNodeId];
2120
+ const isLoad = lazy && item[hasChildField] && !nodeItem.treeLoaded && !treeExpandLazyLoadedMaps[itemNodeId];
2121
+ // 是否使用懒加载
2122
+ if (isLoad) {
2123
+ result.push($xeTree.handleAsyncTreeExpandChilds(item));
2124
+ }
2125
+ else {
2126
+ if (item[childrenField] && item[childrenField].length) {
2127
+ treeExpandedMaps[itemNodeId] = true;
2128
+ expandNodes.push(item);
2129
+ }
2130
+ }
2131
+ }
2132
+ });
2133
+ }
2134
+ else {
2135
+ validNodes.forEach(item => {
2136
+ const itemNodeId = $xeTree.getNodeId(item);
2137
+ if (treeExpandedMaps[itemNodeId]) {
2138
+ delete treeExpandedMaps[itemNodeId];
2139
+ expandNodes.push(item);
2140
+ }
2141
+ });
2142
+ }
2143
+ reactData.updateExpandedFlag++;
2144
+ $xeTree.handleTreeToList();
2145
+ $xeTree.handleData();
2146
+ return Promise.all(result).then(() => $xeTree.recalculate());
2147
+ },
2148
+ toggleExpandEvent(evnt, node) {
2149
+ const $xeTree = this;
2150
+ const props = $xeTree;
2151
+ const internalData = $xeTree.internalData;
2152
+ const { lazy } = props;
2153
+ const { treeExpandedMaps, treeExpandLazyLoadedMaps } = internalData;
2154
+ const nodeid = $xeTree.getNodeId(node);
2155
+ const expanded = !treeExpandedMaps[nodeid];
2156
+ evnt.stopPropagation();
2157
+ if (!lazy || !treeExpandLazyLoadedMaps[nodeid]) {
2158
+ $xeTree.handleBaseTreeExpand([node], expanded);
2159
+ }
2160
+ $xeTree.dispatchEvent('node-expand', { node, expanded }, evnt);
2161
+ },
2162
+ updateCheckboxStatus() {
2163
+ const $xeTree = this;
2164
+ const props = $xeTree;
2165
+ const reactData = $xeTree.reactData;
2166
+ const internalData = $xeTree.internalData;
2167
+ const { transform } = props;
2168
+ const { selectCheckboxMaps, indeterminateNodeMaps, afterTreeList } = internalData;
2169
+ const childrenField = $xeTree.computeChildrenField;
2170
+ const mapChildrenField = $xeTree.computeMapChildrenField;
2171
+ const checkboxOpts = $xeTree.computeCheckboxOpts;
2172
+ const { checkStrictly, checkMethod } = checkboxOpts;
2173
+ if (!checkStrictly) {
2174
+ const childNodeMaps = {};
2175
+ const childNodeList = [];
2176
+ XEUtils.eachTree(afterTreeList, (node) => {
2177
+ const nodeid = $xeTree.getNodeId(node);
2178
+ const childList = node[childrenField];
2179
+ if (childList && childList.length && !childNodeMaps[nodeid]) {
2180
+ childNodeMaps[nodeid] = 1;
2181
+ childNodeList.unshift([node, nodeid, childList]);
2182
+ }
2183
+ }, { children: transform ? mapChildrenField : childrenField });
2184
+ childNodeList.forEach(vals => {
2185
+ const node = vals[0];
2186
+ const nodeid = vals[1];
2187
+ const childList = vals[2];
2188
+ let sLen = 0; // 已选
2189
+ let hLen = 0; // 半选
2190
+ let vLen = 0; // 有效子行
2191
+ const cLen = childList.length; // 子行
2192
+ childList.forEach(checkMethod
2193
+ ? (item) => {
2194
+ const childNodeid = $xeTree.getNodeId(item);
2195
+ const isSelect = selectCheckboxMaps[childNodeid];
2196
+ if (checkMethod({ $tree: $xeTree, node: item })) {
2197
+ if (isSelect) {
2198
+ sLen++;
2199
+ }
2200
+ else if (indeterminateNodeMaps[childNodeid]) {
2201
+ hLen++;
2202
+ }
2203
+ vLen++;
2204
+ }
2205
+ else {
2206
+ if (isSelect) {
2207
+ sLen++;
2208
+ }
2209
+ else if (indeterminateNodeMaps[childNodeid]) {
2210
+ hLen++;
2211
+ }
2212
+ }
2213
+ }
2214
+ : item => {
2215
+ const childNodeid = $xeTree.getNodeId(item);
2216
+ const isSelect = selectCheckboxMaps[childNodeid];
2217
+ if (isSelect) {
2218
+ sLen++;
2219
+ }
2220
+ else if (indeterminateNodeMaps[childNodeid]) {
2221
+ hLen++;
2222
+ }
2223
+ vLen++;
2224
+ });
2225
+ let isSelected = false;
2226
+ if (cLen > 0) {
2227
+ if (vLen > 0) {
2228
+ isSelected = (sLen > 0 || hLen > 0) && sLen >= vLen;
2229
+ }
2230
+ else {
2231
+ // 如果存在子项禁用
2232
+ if ((sLen > 0 && sLen >= vLen)) {
2233
+ isSelected = true;
2234
+ }
2235
+ else if (selectCheckboxMaps[nodeid]) {
2236
+ isSelected = true;
2237
+ }
2238
+ else {
2239
+ isSelected = false;
2240
+ }
2241
+ }
2242
+ }
2243
+ else {
2244
+ // 如果无子项
2245
+ isSelected = selectCheckboxMaps[nodeid];
2246
+ }
2247
+ const halfSelect = !isSelected && (sLen > 0 || hLen > 0);
2248
+ if (isSelected) {
2249
+ selectCheckboxMaps[nodeid] = node;
2250
+ if (indeterminateNodeMaps[nodeid]) {
2251
+ delete indeterminateNodeMaps[nodeid];
2252
+ }
2253
+ }
2254
+ else {
2255
+ if (selectCheckboxMaps[nodeid]) {
2256
+ delete selectCheckboxMaps[nodeid];
2257
+ }
2258
+ if (halfSelect) {
2259
+ indeterminateNodeMaps[nodeid] = node;
2260
+ }
2261
+ else {
2262
+ if (indeterminateNodeMaps[nodeid]) {
2263
+ delete indeterminateNodeMaps[nodeid];
2264
+ }
2265
+ }
2266
+ }
2267
+ });
2268
+ reactData.updateCheckboxFlag++;
2269
+ }
2270
+ },
2271
+ changeCheckboxEvent(evnt, node) {
2272
+ const $xeTree = this;
2273
+ const props = $xeTree;
2274
+ const reactData = $xeTree.reactData;
2275
+ const internalData = $xeTree.internalData;
2276
+ evnt.preventDefault();
2277
+ evnt.stopPropagation();
2278
+ const { transform } = props;
2279
+ const { selectCheckboxMaps, nodeMaps } = internalData;
2280
+ const childrenField = $xeTree.computeChildrenField;
2281
+ const mapChildrenField = $xeTree.computeMapChildrenField;
2282
+ const checkboxOpts = $xeTree.computeCheckboxOpts;
2283
+ const { checkStrictly, checkMode, checkMethod } = checkboxOpts;
2284
+ const nodeid = $xeTree.getNodeId(node);
2285
+ const childList = XEUtils.get(node, childrenField);
2286
+ const isExistChild = childList && childList.length > 0;
2287
+ const nodeItem = nodeMaps[nodeid] || {};
2288
+ const nLevel = nodeItem.level;
2289
+ const isDisabled = checkMethod ? !checkMethod({ $tree: $xeTree, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
2290
+ if (isDisabled) {
2291
+ return;
2292
+ }
2293
+ let isChecked = false;
2294
+ if (selectCheckboxMaps[nodeid]) {
2295
+ delete selectCheckboxMaps[nodeid];
2296
+ }
2297
+ else {
2298
+ isChecked = true;
2299
+ selectCheckboxMaps[nodeid] = node;
2300
+ }
2301
+ if (!checkStrictly) {
2302
+ XEUtils.eachTree(XEUtils.get(node, transform ? mapChildrenField : childrenField), (childNode) => {
2303
+ const childNodeid = $xeTree.getNodeId(childNode);
2304
+ if (isChecked) {
2305
+ if (!selectCheckboxMaps[childNodeid]) {
2306
+ selectCheckboxMaps[childNodeid] = true;
2307
+ }
2308
+ }
2309
+ else {
2310
+ if (selectCheckboxMaps[childNodeid]) {
2311
+ delete selectCheckboxMaps[childNodeid];
2312
+ }
2313
+ }
2314
+ }, { children: transform ? mapChildrenField : childrenField });
2315
+ }
2316
+ reactData.updateCheckboxFlag++;
2317
+ $xeTree.updateCheckboxStatus();
2318
+ const nodeids = XEUtils.keys(selectCheckboxMaps);
2319
+ const value = nodeids.map(deModelValue);
2320
+ $xeTree.emitCheckboxMode(value);
2321
+ $xeTree.dispatchEvent('checkbox-change', { node, value, checked: isChecked }, evnt);
2322
+ },
2323
+ changeCurrentEvent(evnt, node) {
2324
+ const $xeTree = this;
2325
+ const reactData = $xeTree.reactData;
2326
+ evnt.preventDefault();
2327
+ const nodeOpts = $xeTree.computeNodeOpts;
2328
+ const { currentMethod, trigger } = nodeOpts;
2329
+ const childrenField = $xeTree.computeChildrenField;
2330
+ const childList = XEUtils.get(node, childrenField);
2331
+ const hasChild = childList && childList.length;
2332
+ let isDisabled = !!currentMethod;
2333
+ if (trigger === 'child') {
2334
+ if (hasChild) {
2335
+ return;
2336
+ }
2337
+ }
2338
+ else if (trigger === 'parent') {
2339
+ if (!hasChild) {
2340
+ return;
2341
+ }
2342
+ }
2343
+ if (currentMethod) {
2344
+ isDisabled = !currentMethod({ node });
2345
+ }
2346
+ if (isDisabled) {
2347
+ return;
2348
+ }
2349
+ const isChecked = true;
2350
+ reactData.currentNode = node;
2351
+ $xeTree.dispatchEvent('current-change', { node, checked: isChecked }, evnt);
2352
+ },
2353
+ changeRadioEvent(evnt, node) {
2354
+ const $xeTree = this;
2355
+ const reactData = $xeTree.reactData;
2356
+ const internalData = $xeTree.internalData;
2357
+ evnt.preventDefault();
2358
+ evnt.stopPropagation();
2359
+ const { nodeMaps } = internalData;
2360
+ const radioOpts = $xeTree.computeRadioOpts;
2361
+ const childrenField = $xeTree.computeChildrenField;
2362
+ const { checkMode, checkMethod } = radioOpts;
2363
+ const nodeid = $xeTree.getNodeId(node);
2364
+ const childList = XEUtils.get(node, childrenField);
2365
+ const isExistChild = childList && childList.length > 0;
2366
+ const nodeItem = nodeMaps[nodeid] || {};
2367
+ const nLevel = nodeItem.level;
2368
+ const isDisabled = checkMethod ? !checkMethod({ $tree: $xeTree, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
2369
+ if (isDisabled) {
2370
+ return;
2371
+ }
2372
+ const isChecked = true;
2373
+ const value = deModelValue(nodeid);
2374
+ reactData.selectRadioKey = nodeid;
2375
+ $xeTree.emitRadioMode(value);
2376
+ $xeTree.dispatchEvent('radio-change', { node, value, checked: isChecked }, evnt);
2377
+ },
2378
+ handleGlobalResizeEvent() {
2379
+ const $xeTree = this;
2380
+ const el = $xeTree.$refs.refElem;
2381
+ if (!el || !el.clientWidth) {
2382
+ return;
2383
+ }
2384
+ $xeTree.recalculate();
2385
+ },
2386
+ reloadData(data) {
2387
+ const $xeTree = this;
2388
+ return $xeTree.loadData(data || []);
2389
+ },
2390
+ clearCurrentNode() {
2391
+ const $xeTree = this;
2392
+ const reactData = $xeTree.reactData;
2393
+ reactData.currentNode = null;
2394
+ return $xeTree.$nextTick();
2395
+ },
2396
+ getCurrentNodeId() {
2397
+ const $xeTree = this;
2398
+ const reactData = $xeTree.reactData;
2399
+ const { currentNode } = reactData;
2400
+ if (currentNode) {
2401
+ return deModelValue($xeTree.getNodeId(currentNode));
2402
+ }
2403
+ return null;
2404
+ },
2405
+ getCurrentNode() {
2406
+ const $xeTree = this;
2407
+ const reactData = $xeTree.reactData;
2408
+ const internalData = $xeTree.internalData;
2409
+ const { currentNode } = reactData;
2410
+ const { nodeMaps } = internalData;
2411
+ if (currentNode) {
2412
+ const nodeItem = nodeMaps[$xeTree.getNodeId(currentNode)];
2413
+ if (nodeItem) {
2414
+ return nodeItem.item;
2415
+ }
2416
+ }
2417
+ return null;
2418
+ },
2419
+ setCurrentNodeId(nodeKey) {
2420
+ const $xeTree = this;
2421
+ const reactData = $xeTree.reactData;
2422
+ const internalData = $xeTree.internalData;
2423
+ const { nodeMaps } = internalData;
2424
+ const nodeItem = nodeMaps[enModelValue(nodeKey)];
2425
+ reactData.currentNode = nodeItem ? nodeItem.item : null;
2426
+ return $xeTree.$nextTick();
2427
+ },
2428
+ setCurrentNode(node) {
2429
+ const $xeTree = this;
2430
+ const reactData = $xeTree.reactData;
2431
+ reactData.currentNode = node;
2432
+ return $xeTree.$nextTick();
2433
+ },
2434
+ clearRadioNode() {
2435
+ const $xeTree = this;
2436
+ const reactData = $xeTree.reactData;
2437
+ reactData.selectRadioKey = null;
2438
+ $xeTree.emitRadioMode(null);
2439
+ return $xeTree.$nextTick();
2440
+ },
2441
+ getRadioNodeId() {
2442
+ const $xeTree = this;
2443
+ const reactData = $xeTree.reactData;
2444
+ return reactData.selectRadioKey || null;
2445
+ },
2446
+ getRadioNode() {
2447
+ const $xeTree = this;
2448
+ const reactData = $xeTree.reactData;
2449
+ const internalData = $xeTree.internalData;
2450
+ const { selectRadioKey } = reactData;
2451
+ const { nodeMaps } = internalData;
2452
+ if (selectRadioKey) {
2453
+ const nodeItem = nodeMaps[selectRadioKey];
2454
+ if (nodeItem) {
2455
+ return nodeItem.item;
2456
+ }
2457
+ }
2458
+ return null;
2459
+ },
2460
+ setRadioNodeId(nodeKey) {
2461
+ const $xeTree = this;
2462
+ const reactData = $xeTree.reactData;
2463
+ reactData.selectRadioKey = enModelValue(nodeKey);
2464
+ $xeTree.emitRadioMode(nodeKey);
2465
+ return $xeTree.$nextTick();
2466
+ },
2467
+ getCheckboxNodeIds() {
2468
+ const $xeTree = this;
2469
+ const internalData = $xeTree.internalData;
2470
+ const { selectCheckboxMaps } = internalData;
2471
+ const nodeKeys = [];
2472
+ XEUtils.each(selectCheckboxMaps, (item, nodeId) => {
2473
+ nodeKeys.push(deModelValue(nodeId));
2474
+ });
2475
+ return nodeKeys;
2476
+ },
2477
+ getCheckboxNodes() {
2478
+ const $xeTree = this;
2479
+ const internalData = $xeTree.internalData;
2480
+ const { nodeMaps, selectCheckboxMaps } = internalData;
2481
+ const list = [];
2482
+ XEUtils.each(selectCheckboxMaps, (item, nodeid) => {
2483
+ const nodeItem = nodeMaps[nodeid];
2484
+ if (nodeItem) {
2485
+ list.push(nodeItem.item);
2486
+ }
2487
+ });
2488
+ return list;
2489
+ },
2490
+ clearCheckboxNode() {
2491
+ const $xeTree = this;
2492
+ const reactData = $xeTree.reactData;
2493
+ const internalData = $xeTree.internalData;
2494
+ internalData.indeterminateNodeMaps = {};
2495
+ internalData.selectCheckboxMaps = {};
2496
+ reactData.updateCheckboxFlag++;
2497
+ $xeTree.updateCheckboxStatus();
2498
+ $xeTree.emitCheckboxMode([]);
2499
+ return $xeTree.$nextTick().then(() => {
2500
+ return { checkNodeKeys: [], checkNodes: [] };
2501
+ });
2502
+ },
2503
+ setAllCheckboxNode(checked) {
2504
+ const $xeTree = this;
2505
+ const props = $xeTree;
2506
+ const reactData = $xeTree.reactData;
2507
+ const internalData = $xeTree.internalData;
2508
+ const { transform } = props;
2509
+ const selectMaps = {};
2510
+ const childrenField = $xeTree.computeChildrenField;
2511
+ const mapChildrenField = $xeTree.computeMapChildrenField;
2512
+ const checkKeys = [];
2513
+ const checkNodes = [];
2514
+ if (checked) {
2515
+ XEUtils.eachTree(internalData.afterTreeList, (node) => {
2516
+ const nodeid = $xeTree.getNodeId(node);
2517
+ checkKeys.push(nodeid);
2518
+ checkNodes.push(node);
2519
+ selectMaps[nodeid] = true;
2520
+ }, { children: transform ? mapChildrenField : childrenField });
2521
+ }
2522
+ internalData.indeterminateNodeMaps = {};
2523
+ internalData.selectCheckboxMaps = selectMaps;
2524
+ reactData.updateCheckboxFlag++;
2525
+ $xeTree.updateCheckboxStatus();
2526
+ return $xeTree.$nextTick().then(() => {
2527
+ return { checkNodeKeys: checkKeys, checkNodes };
2528
+ });
2529
+ },
2530
+ clearExpandNode() {
2531
+ const $xeTree = this;
2532
+ return $xeTree.clearAllExpandNode();
2533
+ },
2534
+ clearAllExpandNode() {
2535
+ const $xeTree = this;
2536
+ const reactData = $xeTree.reactData;
2537
+ const internalData = $xeTree.internalData;
2538
+ const { scrollYLoad } = reactData;
2539
+ const { nodeMaps, scrollYStore } = internalData;
2540
+ XEUtils.each(nodeMaps, (nodeItem) => {
2541
+ nodeItem.treeLoaded = false;
2542
+ });
2543
+ internalData.treeExpandedMaps = {};
2544
+ reactData.updateExpandedFlag++;
2545
+ reactData.topSpaceHeight = 0;
2546
+ scrollYStore.startIndex = 0;
2547
+ scrollYStore.endIndex = 1;
2548
+ $xeTree.handleTreeToList();
2549
+ $xeTree.handleData();
2550
+ return $xeTree.recalculate().then(() => {
2551
+ if (scrollYLoad) {
2552
+ $xeTree.loadYData();
2553
+ }
2554
+ return $xeTree.recalculate();
2555
+ });
2556
+ },
2557
+ setExpandByNodeId(nodeKeys, expanded) {
2558
+ const $xeTree = this;
2559
+ const reactData = $xeTree.reactData;
2560
+ const internalData = $xeTree.internalData;
2561
+ const { treeExpandedMaps } = internalData;
2562
+ if (nodeKeys) {
2563
+ if (!XEUtils.isArray(nodeKeys)) {
2564
+ nodeKeys = [nodeKeys];
2565
+ }
2566
+ nodeKeys.forEach((nodeKey) => {
2567
+ const nodeid = enModelValue(nodeKey);
2568
+ handleSetExpand(nodeid, expanded, treeExpandedMaps);
2569
+ });
2570
+ reactData.updateExpandedFlag++;
2571
+ }
2572
+ $xeTree.handleTreeToList();
2573
+ $xeTree.handleData();
2574
+ return $xeTree.recalculate();
2575
+ },
2576
+ getExpandNodeIds() {
2577
+ const $xeTree = this;
2578
+ const internalData = $xeTree.internalData;
2579
+ const { treeExpandedMaps } = internalData;
2580
+ const nodeKeys = [];
2581
+ XEUtils.each(treeExpandedMaps, (item, nodeId) => {
2582
+ nodeKeys.push(deModelValue(nodeId));
2583
+ });
2584
+ return nodeKeys;
2585
+ },
2586
+ getExpandNodes() {
2587
+ const $xeTree = this;
2588
+ const internalData = $xeTree.internalData;
2589
+ const { nodeMaps, treeExpandedMaps } = internalData;
2590
+ const list = [];
2591
+ XEUtils.each(treeExpandedMaps, (item, nodeid) => {
2592
+ const nodeItem = nodeMaps[nodeid];
2593
+ if (nodeItem) {
2594
+ list.push(nodeItem.item);
2595
+ }
2596
+ });
2597
+ return list;
2598
+ },
2599
+ setExpandNode(nodes, expanded) {
2600
+ const $xeTree = this;
2601
+ const reactData = $xeTree.reactData;
2602
+ const internalData = $xeTree.internalData;
2603
+ const { treeExpandedMaps } = internalData;
2604
+ if (nodes) {
2605
+ if (!XEUtils.isArray(nodes)) {
2606
+ nodes = [nodes];
2607
+ }
2608
+ nodes.forEach((node) => {
2609
+ const nodeid = $xeTree.getNodeId(node);
2610
+ handleSetExpand(nodeid, expanded, treeExpandedMaps);
2611
+ });
2612
+ reactData.updateExpandedFlag++;
2613
+ }
2614
+ $xeTree.handleTreeToList();
2615
+ $xeTree.handleData();
2616
+ return $xeTree.recalculate();
2617
+ },
2618
+ toggleExpandByNodeId(nodeKeys) {
2619
+ const $xeTree = this;
2620
+ const reactData = $xeTree.reactData;
2621
+ const internalData = $xeTree.internalData;
2622
+ const { treeExpandedMaps } = internalData;
2623
+ if (nodeKeys) {
2624
+ if (!XEUtils.isArray(nodeKeys)) {
2625
+ nodeKeys = [nodeKeys];
2626
+ }
2627
+ nodeKeys.forEach((nodeKey) => {
2628
+ const nodeid = enModelValue(nodeKey);
2629
+ handleSetExpand(nodeid, !treeExpandedMaps[`${nodeid}`], treeExpandedMaps);
2630
+ });
2631
+ reactData.updateExpandedFlag++;
2632
+ }
2633
+ $xeTree.handleTreeToList();
2634
+ $xeTree.handleData();
2635
+ return $xeTree.recalculate();
2636
+ },
2637
+ toggleExpandNode(nodes) {
2638
+ const $xeTree = this;
2639
+ const reactData = $xeTree.reactData;
2640
+ const internalData = $xeTree.internalData;
2641
+ const { treeExpandedMaps } = internalData;
2642
+ if (nodes) {
2643
+ if (!XEUtils.isArray(nodes)) {
2644
+ nodes = [nodes];
2645
+ }
2646
+ nodes.forEach((node) => {
2647
+ const nodeid = $xeTree.getNodeId(node);
2648
+ handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
2649
+ });
2650
+ reactData.updateExpandedFlag++;
2651
+ }
2652
+ $xeTree.handleTreeToList();
2653
+ $xeTree.handleData();
2654
+ return $xeTree.recalculate();
2655
+ },
2656
+ setAllExpandNode(expanded) {
2657
+ const $xeTree = this;
2658
+ const props = $xeTree;
2659
+ const reactData = $xeTree.reactData;
2660
+ const internalData = $xeTree.internalData;
2661
+ const { transform } = props;
2662
+ const { scrollYLoad } = reactData;
2663
+ const { scrollYStore, treeExpandedMaps } = internalData;
2664
+ const childrenField = $xeTree.computeChildrenField;
2665
+ const mapChildrenField = $xeTree.computeMapChildrenField;
2666
+ if (expanded) {
2667
+ XEUtils.eachTree(internalData.afterTreeList, (node) => {
2668
+ const childList = XEUtils.get(node, childrenField);
2669
+ const hasChild = childList && childList.length;
2670
+ if (hasChild) {
2671
+ const nodeid = $xeTree.getNodeId(node);
2672
+ treeExpandedMaps[nodeid] = true;
2673
+ }
2674
+ }, { children: transform ? mapChildrenField : childrenField });
2675
+ }
2676
+ else {
2677
+ internalData.treeExpandedMaps = {};
2678
+ }
2679
+ reactData.updateExpandedFlag++;
2680
+ reactData.topSpaceHeight = 0;
2681
+ scrollYStore.startIndex = 0;
2682
+ scrollYStore.endIndex = 1;
2683
+ $xeTree.handleTreeToList();
2684
+ $xeTree.handleData();
2685
+ return $xeTree.recalculate().then(() => {
2686
+ if (scrollYLoad) {
2687
+ $xeTree.loadYData();
2688
+ }
2689
+ return $xeTree.recalculate();
2690
+ });
2691
+ },
2692
+ reloadExpandNode(node) {
2693
+ const $xeTree = this;
2694
+ const props = $xeTree;
2695
+ const { lazy } = props;
2696
+ if (lazy) {
2697
+ $xeTree.clearExpandLoaded(node);
2698
+ return $xeTree.handleAsyncTreeExpandChilds(node);
2699
+ }
2700
+ return $xeTree.recalculate();
2701
+ },
2702
+ clearExpandLoaded(node) {
2703
+ const $xeTree = this;
2704
+ const props = $xeTree;
2705
+ const internalData = $xeTree.internalData;
2706
+ const { lazy } = props;
2707
+ const { nodeMaps } = internalData;
2708
+ if (lazy) {
2709
+ const nodeItem = nodeMaps[$xeTree.getNodeId(node)];
2710
+ if (nodeItem) {
2711
+ nodeItem.treeLoaded = false;
2712
+ }
2713
+ }
2714
+ return $xeTree.recalculate();
2715
+ },
2716
+ /**
2717
+ * 用于树结构,给行数据加载子节点
2718
+ */
2719
+ loadChildrenNode(node, childRecords) {
2720
+ const $xeTree = this;
2721
+ const props = $xeTree;
2722
+ const internalData = $xeTree.internalData;
2723
+ const { lazy, transform } = props;
2724
+ const { nodeMaps } = internalData;
2725
+ if (!lazy) {
2726
+ return Promise.resolve([]);
2727
+ }
2728
+ const childrenField = $xeTree.computeChildrenField;
2729
+ const mapChildrenField = $xeTree.computeMapChildrenField;
2730
+ const parentNodeItem = nodeMaps[$xeTree.getNodeId(node)];
2731
+ const parentLevel = parentNodeItem ? parentNodeItem.level : 0;
2732
+ const parentNodes = parentNodeItem ? parentNodeItem.nodes : [];
2733
+ return $xeTree.createNode(childRecords).then((nodeList) => {
2734
+ XEUtils.eachTree(nodeList, (childNode, index, items, path, parent, nodes) => {
2735
+ const itemNodeId = $xeTree.getNodeId(childNode);
2736
+ nodeMaps[itemNodeId] = {
2737
+ item: childNode,
2738
+ index: -1,
2739
+ $index: -1,
2740
+ _index: -1,
2741
+ items,
2742
+ parent: parent || parentNodeItem.item,
2743
+ nodes: parentNodes.concat(nodes),
2744
+ level: parentLevel + nodes.length,
2745
+ treeIndex: -1,
2746
+ lineCount: 0,
2747
+ treeLoaded: false
2748
+ };
2749
+ }, { children: childrenField });
2750
+ node[childrenField] = nodeList;
2751
+ if (transform) {
2752
+ node[mapChildrenField] = nodeList;
2753
+ }
2754
+ $xeTree.updateAfterDataIndex();
2755
+ return nodeList;
2756
+ });
2757
+ },
2758
+ findNodeIndexOf(list, node) {
2759
+ const $xeTree = this;
2760
+ return node ? XEUtils.findIndexOf(list, item => $xeTree.eqNode(item, node)) : -1;
2761
+ },
2762
+ eqNode(node1, node2) {
2763
+ const $xeTree = this;
2764
+ if (node1 && node2) {
2765
+ if (node1 === node2) {
2766
+ return true;
2767
+ }
2768
+ return $xeTree.getNodeId(node1) === $xeTree.getNodeId(node2);
2769
+ }
2770
+ return false;
2771
+ },
2772
+ handleCrossTreeNodeDragCancelEvent() {
2773
+ const $xeTree = this;
2774
+ clearNodeDragData($xeTree);
2775
+ clearCrossTreeDragStatus($xeTree);
2776
+ },
2777
+ /**
2778
+ * 处理跨树拖拽完成
2779
+ */
2780
+ handleCrossTreeNodeDragFinishEvent(evnt) {
2781
+ const $xeTree = this;
2782
+ const reactData = $xeTree.reactData;
2783
+ const internalData = $xeTree.internalData;
2784
+ const crossTreeDragNodeInfo = getCrossTreeDragNodeInfo($xeTree);
2785
+ const { treeList } = reactData;
2786
+ const { nodeMaps } = internalData;
2787
+ const dragOpts = $xeTree.computeDragOpts;
2788
+ const { animation, isCrossTreeDrag } = dragOpts;
2789
+ const mapChildrenField = $xeTree.computeMapChildrenField;
2790
+ const el = $xeTree.$refs.refElem;
2791
+ if (!el) {
2792
+ return;
2793
+ }
2794
+ if (isCrossTreeDrag && crossTreeDragNodeObj && crossTreeDragNodeInfo) {
2795
+ const { node: dragNode } = crossTreeDragNodeInfo;
2796
+ if (dragNode) {
2797
+ const dragNodeid = $xeTree.getNodeId(dragNode);
2798
+ const dragNodeRest = nodeMaps[dragNodeid];
2799
+ let dragNodeHeight = 0;
2800
+ let rsIndex = -1;
2801
+ if (dragNodeRest) {
2802
+ if (animation) {
2803
+ const oldItemEl = el.querySelector(`.vxe-tree--node-wrapper[nodeid="${dragNodeid}"]`);
2804
+ const targetItemEl = oldItemEl;
2805
+ if (targetItemEl) {
2806
+ dragNodeHeight = targetItemEl.offsetHeight;
2807
+ }
2808
+ }
2809
+ rsIndex = dragNodeRest.$index;
2810
+ }
2811
+ const dragRangeList = rsIndex > -1 && rsIndex < treeList.length - 1 ? treeList.slice(rsIndex + 1) : [];
2812
+ const dragList = XEUtils.toTreeArray([dragNode], {
2813
+ updated: true,
2814
+ children: mapChildrenField
2815
+ });
2816
+ $xeTree.remove(dragList).then(() => {
2817
+ if (animation && dragNodeHeight && dragRangeList.length) {
2818
+ const wrapperEl = el;
2819
+ const dtClss = [];
2820
+ dragRangeList.forEach(item => {
2821
+ const nodeid = $xeTree.getNodeId(item);
2822
+ dtClss.push(`.vxe-tree--node-wrapper[nodeid="${nodeid}"]`);
2823
+ });
2824
+ const dtTrList = wrapperEl.querySelectorAll(dtClss.join(','));
2825
+ moveRowAnimateToTb(dtTrList, dragNodeHeight);
2826
+ }
2827
+ });
2828
+ $xeTree.dispatchEvent('node-remove-dragend', {
2829
+ node: dragNode
2830
+ }, evnt);
2831
+ handleNodeDragEndClearStatus($xeTree);
2832
+ }
2833
+ }
2834
+ },
2835
+ /**
2836
+ * 处理跨树拖至新的空树
2837
+ */
2838
+ handleCrossTreeNodeDragoverEmptyEvent(evnt) {
2839
+ const $xeTree = this;
2840
+ const reactData = $xeTree.reactData;
2841
+ const internalData = $xeTree.internalData;
2842
+ const { treeList } = reactData;
2843
+ const dragOpts = $xeTree.computeDragOpts;
2844
+ const { isCrossTreeDrag } = dragOpts;
2845
+ if (isCrossTreeDrag && crossTreeDragNodeObj && !treeList.length) {
2846
+ const { $oldTree, $newTree } = crossTreeDragNodeObj;
2847
+ if ($oldTree) {
2848
+ const oldTreeReactData = $oldTree;
2849
+ if ($oldTree.xID !== $xeTree.xID) {
2850
+ if ($newTree && $newTree.xID !== $xeTree.xID) {
2851
+ $newTree.hideCrossTreeNodeDropClearStatus();
2852
+ }
2853
+ evnt.preventDefault();
2854
+ $oldTree.hideCrossTreeNodeDropClearStatus();
2855
+ crossTreeDragNodeObj.$newTree = $xeTree;
2856
+ internalData.prevDragNode = null;
2857
+ reactData.dragTipText = oldTreeReactData.dragTipText;
2858
+ showDropTip($xeTree, evnt, evnt.currentTarget, true, '');
2859
+ }
2860
+ }
2861
+ }
2862
+ },
2863
+ /**
2864
+ * 处理跨树拖插入
2865
+ */
2866
+ handleCrossTreeNodeDragInsertEvent(evnt) {
2867
+ const $xeTree = this;
2868
+ const reactData = $xeTree.reactData;
2869
+ const internalData = $xeTree.internalData;
2870
+ const crossTreeDragNodeInfo = getCrossTreeDragNodeInfo($xeTree);
2871
+ const { prevDragNode, prevDragPos, prevDragToChild } = internalData;
2872
+ const dragOpts = $xeTree.computeDragOpts;
2873
+ const { animation, isSelfToChildDrag, isCrossTreeDrag, dragEndMethod, dragToChildMethod } = dragOpts;
2874
+ const parentField = $xeTree.computeParentField;
2875
+ const mapChildrenField = $xeTree.computeMapChildrenField;
2876
+ const childrenField = $xeTree.computeChildrenField;
2877
+ // 跨表拖拽
2878
+ if (isCrossTreeDrag && crossTreeDragNodeObj && crossTreeDragNodeInfo) {
2879
+ const { node: oldNode } = crossTreeDragNodeInfo;
2880
+ const { $oldTree } = crossTreeDragNodeObj;
2881
+ const el = $xeTree.$refs.refElem;
2882
+ if (!el) {
2883
+ return;
2884
+ }
2885
+ if ($oldTree && oldNode) {
2886
+ const dragNode = oldNode;
2887
+ let dragOffsetIndex = -1;
2888
+ if (prevDragNode) {
2889
+ dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
2890
+ }
2891
+ const dragParams = {
2892
+ oldNode: dragNode,
2893
+ newNode: prevDragNode,
2894
+ dragNode,
2895
+ dragPos: prevDragPos,
2896
+ dragToChild: !!prevDragToChild,
2897
+ offsetIndex: dragOffsetIndex
2898
+ };
2899
+ const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
2900
+ const errRest = {
2901
+ status: false
2902
+ };
2903
+ Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
2904
+ if (!status) {
2905
+ if ($oldTree) {
2906
+ if ($oldTree.xID !== $xeTree.xID) {
2907
+ $oldTree.handleCrossTreeNodeDragCancelEvent(evnt);
2908
+ }
2909
+ }
2910
+ handleNodeDragEndClearStatus($xeTree);
2911
+ return errRest;
2912
+ }
2913
+ let insertRest = Promise.resolve();
2914
+ const dragList = XEUtils.toTreeArray([dragNode], {
2915
+ updated: true,
2916
+ children: mapChildrenField
2917
+ });
2918
+ $oldTree.handleCrossTreeNodeDragFinishEvent(evnt);
2919
+ if (prevDragNode) {
2920
+ dragNode[parentField] = prevDragNode[parentField];
2921
+ }
2922
+ else {
2923
+ dragNode[parentField] = null;
2924
+ }
2925
+ dragList.forEach(item => {
2926
+ item[childrenField] = undefined;
2927
+ item[mapChildrenField] = undefined;
2928
+ });
2929
+ if (prevDragNode) {
2930
+ if (prevDragPos === 'bottom') {
2931
+ insertRest = $xeTree.insertNextAt(dragList, prevDragNode);
2932
+ }
2933
+ else {
2934
+ insertRest = $xeTree.insertAt(dragList, prevDragNode);
2935
+ }
2936
+ }
2937
+ else {
2938
+ insertRest = $xeTree.insert(dragList);
2939
+ }
2940
+ $xeTree.dispatchEvent('node-insert-dragend', {
2941
+ oldNode,
2942
+ newNode: prevDragNode,
2943
+ dragNode,
2944
+ dragPos: prevDragPos,
2945
+ dragToChild: isDragToChildFlag,
2946
+ offsetIndex: dragOffsetIndex
2947
+ }, evnt);
2948
+ clearNodeDragData($xeTree);
2949
+ insertRest.then(() => {
2950
+ const { treeList } = reactData;
2951
+ const { nodeMaps } = internalData;
2952
+ const oldNodeid = $xeTree.getNodeId(dragNode);
2953
+ const oldNodeRest = nodeMaps[oldNodeid];
2954
+ let dragNodeHeight = 0;
2955
+ let rsIndex = -1;
2956
+ if (oldNodeRest) {
2957
+ if (animation) {
2958
+ const oldItemEl = el.querySelector(`.vxe-tree--node-wrapper[nodeid="${oldNodeid}"]`);
2959
+ const targetItemEl = oldItemEl;
2960
+ if (targetItemEl) {
2961
+ dragNodeHeight = targetItemEl.offsetHeight;
2962
+ }
2963
+ }
2964
+ rsIndex = oldNodeRest.$index;
2965
+ }
2966
+ const dragRangeList = rsIndex > -1 ? treeList.slice(rsIndex) : [];
2967
+ if (animation && dragNodeHeight && dragRangeList.length) {
2968
+ const wrapperEl = el;
2969
+ const dtClss = [];
2970
+ dragRangeList.forEach(item => {
2971
+ const nodeid = $xeTree.getNodeId(item);
2972
+ dtClss.push(`.vxe-tree--node-wrapper[nodeid="${nodeid}"]`);
2973
+ });
2974
+ const dtTrList = wrapperEl.querySelectorAll(dtClss.join(','));
2975
+ moveRowAnimateToTb(dtTrList, -dragNodeHeight);
2976
+ }
2977
+ });
2978
+ });
2979
+ }
2980
+ }
2981
+ },
2982
+ hideCrossTreeNodeDropClearStatus() {
2983
+ const $xeTree = this;
2984
+ hideDropTip($xeTree);
2985
+ },
2986
+ getCheckboxIndeterminateNodes() {
2987
+ const $xeTree = this;
2988
+ const internalData = $xeTree.internalData;
2989
+ const { nodeMaps, indeterminateNodeMaps } = internalData;
2990
+ const list = [];
2991
+ XEUtils.each(indeterminateNodeMaps, (item, nodeid) => {
2992
+ const nodeItem = nodeMaps[nodeid];
2993
+ if (nodeItem) {
2994
+ list.push(nodeItem.item);
2995
+ }
2996
+ });
2997
+ return list;
2998
+ },
2999
+ handleNodeDragMousedownEvent(evnt, params) {
3000
+ const $xeTree = this;
3001
+ const reactData = $xeTree.reactData;
3002
+ const crossTreeDragNodeInfo = getCrossTreeDragNodeInfo($xeTree);
3003
+ evnt.stopPropagation();
3004
+ const { node } = params;
3005
+ const dragConfig = $xeTree.computeDragOpts;
3006
+ const { isCrossTreeDrag, trigger, dragStartMethod } = dragConfig;
3007
+ const dragEl = evnt.currentTarget;
3008
+ const itemEl = trigger === 'node' ? dragEl : dragEl.parentElement.parentElement;
3009
+ clearNodeDropOrigin($xeTree);
3010
+ if (dragStartMethod && !dragStartMethod(params)) {
3011
+ itemEl.draggable = false;
3012
+ reactData.dragNode = null;
3013
+ hideDropTip($xeTree);
3014
+ return;
3015
+ }
3016
+ if (isCrossTreeDrag) {
3017
+ crossTreeDragNodeInfo.node = node;
3018
+ crossTreeDragNodeObj = { $oldTree: $xeTree, $newTree: null };
3019
+ }
3020
+ reactData.dragNode = node;
3021
+ reactData.isCrossDragNode = false;
3022
+ itemEl.draggable = true;
3023
+ updateNodeDropOrigin($xeTree, node);
3024
+ updateNodeDropTipContent($xeTree, itemEl);
3025
+ $xeTree.dispatchEvent('node-dragstart', params, evnt);
3026
+ },
3027
+ handleNodeDragMouseupEvent() {
3028
+ const $xeTree = this;
3029
+ clearDragStatus($xeTree);
3030
+ },
3031
+ handleNodeDragDragstartEvent(evnt) {
3032
+ if (evnt.dataTransfer) {
3033
+ evnt.dataTransfer.setDragImage(getTpImg(), 0, 0);
3034
+ }
3035
+ },
3036
+ handleNodeDragDragendEvent(evnt) {
3037
+ const $xeTree = this;
3038
+ const props = $xeTree;
3039
+ const reactData = $xeTree.reactData;
3040
+ const internalData = $xeTree.internalData;
3041
+ const { lazy } = props;
3042
+ const { dragNode } = reactData;
3043
+ const { nodeMaps, prevDragNode, prevDragPos, prevDragToChild } = internalData;
3044
+ const hasChildField = $xeTree.computeHasChildField;
3045
+ const dragConfig = $xeTree.computeDragOpts;
3046
+ const { isCrossDrag, isCrossTreeDrag } = dragConfig;
3047
+ // 跨树拖拽
3048
+ if (isCrossTreeDrag && crossTreeDragNodeObj) {
3049
+ const { $newTree } = crossTreeDragNodeObj;
3050
+ if ($newTree && $newTree.xID !== $xeTree.xID) {
3051
+ if (isCrossDrag) {
3052
+ $newTree.handleCrossTreeNodeDragInsertEvent(evnt);
3053
+ }
3054
+ return;
3055
+ }
3056
+ }
3057
+ if (lazy && prevDragToChild) {
3058
+ // 懒加载
3059
+ const newNodeid = $xeTree.getNodeId(prevDragNode);
3060
+ const nodeRest = nodeMaps[newNodeid];
3061
+ if (prevDragNode[hasChildField]) {
3062
+ if (nodeRest && nodeRest.treeLoaded) {
3063
+ handleNodeDragSwapEvent($xeTree, evnt, dragNode, prevDragNode, prevDragPos, prevDragToChild);
3064
+ }
3065
+ }
3066
+ else {
3067
+ handleNodeDragSwapEvent($xeTree, evnt, dragNode, prevDragNode, prevDragPos, prevDragToChild);
3068
+ }
3069
+ }
3070
+ else {
3071
+ handleNodeDragSwapEvent($xeTree, evnt, dragNode, prevDragNode, prevDragPos, prevDragToChild);
3072
+ }
3073
+ },
3074
+ handleNodeDragDragoverEvent(evnt) {
3075
+ const $xeTree = this;
3076
+ const props = $xeTree;
3077
+ const reactData = $xeTree.reactData;
3078
+ const internalData = $xeTree.internalData;
3079
+ const { lazy, transform } = props;
3080
+ const { dragNode } = reactData;
3081
+ const { nodeMaps } = internalData;
3082
+ const dragConfig = $xeTree.computeDragOpts;
3083
+ const parentField = $xeTree.computeParentField;
3084
+ const hasChildField = $xeTree.computeHasChildField;
3085
+ const { isCrossTreeDrag, isCrossDrag, isPeerDrag, isToChildDrag } = dragConfig;
3086
+ if (!dragNode && !isCrossDrag) {
3087
+ evnt.preventDefault();
3088
+ }
3089
+ const isControlKey = hasControlKey(evnt);
3090
+ const itemEl = evnt.currentTarget;
3091
+ const nodeid = itemEl.getAttribute('nodeid') || '';
3092
+ const nodeItem = nodeMaps[nodeid];
3093
+ if (nodeItem) {
3094
+ evnt.preventDefault();
3095
+ const node = nodeItem.item;
3096
+ const offsetY = evnt.clientY - itemEl.getBoundingClientRect().y;
3097
+ const dragPos = offsetY < itemEl.clientHeight / 2 ? 'top' : 'bottom';
3098
+ internalData.prevDragToChild = !!(transform && (isCrossDrag && isToChildDrag) && isControlKey);
3099
+ internalData.prevDragNode = node;
3100
+ internalData.prevDragPos = dragPos;
3101
+ // 跨树拖拽
3102
+ if (isCrossTreeDrag && isCrossDrag && crossTreeDragNodeObj) {
3103
+ const { $oldTree, $newTree } = crossTreeDragNodeObj;
3104
+ if ($oldTree) {
3105
+ const oldTreeReactData = $oldTree.reactData;
3106
+ if ($oldTree.xID === $xeTree.xID) {
3107
+ if ($newTree) {
3108
+ $newTree.hideCrossTreeNodeDropClearStatus();
3109
+ }
3110
+ reactData.isCrossDragNode = false;
3111
+ oldTreeReactData.isCrossDragNode = false;
3112
+ crossTreeDragNodeObj.$newTree = null;
3113
+ }
3114
+ else if (isCrossDrag) {
3115
+ if ($newTree && $newTree.xID !== $xeTree.xID) {
3116
+ $newTree.hideCrossTreeNodeDropClearStatus();
3117
+ }
3118
+ $oldTree.hideCrossTreeNodeDropClearStatus();
3119
+ oldTreeReactData.isCrossDragNode = true;
3120
+ reactData.dragTipText = oldTreeReactData.dragTipText;
3121
+ crossTreeDragNodeObj.$newTree = $xeTree;
3122
+ showDropTip($xeTree, evnt, itemEl, true, dragPos);
3123
+ return;
3124
+ }
3125
+ }
3126
+ }
3127
+ if ((dragNode && $xeTree.getNodeId(dragNode) === nodeid) ||
3128
+ (isControlKey && lazy && node[hasChildField] && nodeItem && !nodeItem.treeLoaded) ||
3129
+ (!isCrossDrag && transform && (isPeerDrag ? dragNode[parentField] !== node[parentField] : nodeItem.level))) {
3130
+ showDropTip($xeTree, evnt, itemEl, false, dragPos);
3131
+ return;
3132
+ }
3133
+ showDropTip($xeTree, evnt, itemEl, true, dragPos);
3134
+ $xeTree.dispatchEvent('node-dragover', {
3135
+ oldRNode: dragNode,
3136
+ targetNode: node,
3137
+ dragPos
3138
+ }, evnt);
3139
+ }
3140
+ },
3141
+ //
3142
+ // Render
3143
+ //
3144
+ renderDragIcon(h, node, nodeid) {
3145
+ const $xeTree = this;
3146
+ const props = $xeTree;
3147
+ const internalData = $xeTree.internalData;
3148
+ const { drag, transform } = props;
3149
+ const { nodeMaps } = internalData;
3150
+ const dragOpts = $xeTree.computeDragOpts;
3151
+ const { showIcon, isPeerDrag, isCrossDrag, visibleMethod } = dragOpts;
3152
+ const params = { node, $tree: $xeTree };
3153
+ if (drag && showIcon && transform && (!visibleMethod || visibleMethod(params))) {
3154
+ const nodeItem = nodeMaps[nodeid];
3155
+ if (nodeItem && (isPeerDrag || isCrossDrag || !nodeItem.level)) {
3156
+ const dragConfig = $xeTree.computeDragOpts;
3157
+ const { icon, trigger, disabledMethod } = dragConfig;
3158
+ const isDisabled = disabledMethod && disabledMethod(params);
3159
+ const ons = {};
3160
+ if (trigger !== 'node') {
3161
+ ons.mousedown = (evnt) => {
3162
+ if (!isDisabled) {
3163
+ $xeTree.handleNodeDragMousedownEvent(evnt, params);
3164
+ }
3165
+ };
3166
+ ons.mouseup = $xeTree.handleNodeDragMouseupEvent;
3167
+ }
3168
+ return h('div', {
3169
+ class: ['vxe-tree--drag-handle', {
3170
+ 'is--disabled': isDisabled
3171
+ }],
3172
+ on: ons
3173
+ }, [
3174
+ h('i', {
3175
+ class: icon || getIcon().TREE_DRAG
3176
+ })
3177
+ ]);
3178
+ }
3179
+ }
3180
+ return renderEmptyElement($xeTree);
3181
+ },
3182
+ renderRadio(h, node, nodeid, isExistChild, nLevel, isChecked) {
3183
+ const $xeTree = this;
3184
+ const props = $xeTree;
3185
+ const { showRadio } = props;
3186
+ const radioOpts = $xeTree.computeRadioOpts;
3187
+ const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = radioOpts;
3188
+ const isVisible = visibleMethod ? visibleMethod({ $tree: $xeTree, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
3189
+ if (showRadio && showIcon && isVisible) {
3190
+ const isDisabled = checkMethod ? !checkMethod({ $tree: $xeTree, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
3191
+ return h('div', {
3192
+ class: ['vxe-tree--radio-option', {
3193
+ 'is--checked': isChecked,
3194
+ 'is--disabled': isDisabled
3195
+ }],
3196
+ on: {
3197
+ click: (evnt) => {
3198
+ if (!isDisabled) {
3199
+ $xeTree.changeRadioEvent(evnt, node);
3200
+ }
3201
+ }
3202
+ }
3203
+ }, [
3204
+ h('span', {
3205
+ class: ['vxe-radio--icon', isChecked ? getIcon().RADIO_CHECKED : getIcon().RADIO_UNCHECKED]
3206
+ })
3207
+ ]);
3208
+ }
3209
+ return renderEmptyElement($xeTree);
3210
+ },
3211
+ renderCheckbox(h, node, nodeid, isExistChild, nLevel, isChecked, isIndeterminate) {
3212
+ const $xeTree = this;
3213
+ const props = $xeTree;
3214
+ const { showCheckbox } = props;
3215
+ const checkboxOpts = $xeTree.computeCheckboxOpts;
3216
+ const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = checkboxOpts;
3217
+ const isVisible = visibleMethod ? visibleMethod({ $tree: $xeTree, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
3218
+ if (showCheckbox && showIcon && isVisible) {
3219
+ const isDisabled = checkMethod ? !checkMethod({ $tree: $xeTree, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
3220
+ return h('div', {
3221
+ class: ['vxe-tree--checkbox-option', {
3222
+ 'is--checked': isChecked,
3223
+ 'is--indeterminate': isIndeterminate,
3224
+ 'is--disabled': isDisabled
3225
+ }],
3226
+ on: {
3227
+ click: (evnt) => {
3228
+ if (!isDisabled) {
3229
+ $xeTree.changeCheckboxEvent(evnt, node);
3230
+ }
3231
+ }
3232
+ }
3233
+ }, [
3234
+ h('span', {
3235
+ class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().CHECKBOX_INDETERMINATE : (isChecked ? getIcon().CHECKBOX_CHECKED : getIcon().CHECKBOX_UNCHECKED)]
3236
+ })
3237
+ ]);
3238
+ }
3239
+ return renderEmptyElement($xeTree);
3240
+ },
3241
+ renderNode(h, node, nodeid) {
3242
+ const $xeTree = this;
3243
+ const props = $xeTree;
3244
+ const slots = $xeTree.$scopedSlots;
3245
+ const reactData = $xeTree.reactData;
3246
+ const internalData = $xeTree.internalData;
3247
+ const { lazy, drag, transform, showRadio, showCheckbox, showLine, visibleMethod, iconOpen, iconClose, iconLoaded, showIcon } = props;
3248
+ const { currentNode, selectRadioKey, updateExpandedFlag } = reactData;
3249
+ const { afterTreeList, nodeMaps, treeExpandedMaps, treeExpandLazyLoadedMaps } = internalData;
3250
+ const tooltipOpts = $xeTree.computeTooltipOpts;
3251
+ const { mode: tipMode } = tooltipOpts;
3252
+ const childrenField = $xeTree.computeChildrenField;
3253
+ const titleField = $xeTree.computeTitleField;
3254
+ const hasChildField = $xeTree.computeHasChildField;
3255
+ const childList = XEUtils.get(node, childrenField);
3256
+ const isExistChild = childList && childList.length > 0;
3257
+ const iconSlot = slots.icon;
3258
+ const titleSlot = slots.title;
3259
+ const extraSlot = slots.extra;
3260
+ const isExpand = updateExpandedFlag && treeExpandedMaps[nodeid];
3261
+ const nodeItem = nodeMaps[nodeid] || {};
3262
+ const nodeTitle = getText(XEUtils.get(node, titleField));
3263
+ const nLevel = nodeItem.level;
3264
+ let isRadioChecked = false;
3265
+ if (showRadio) {
3266
+ isRadioChecked = nodeid === String(selectRadioKey);
3267
+ }
3268
+ let isCheckboxChecked = false;
3269
+ let isIndeterminate = false;
3270
+ if (showCheckbox) {
3271
+ isCheckboxChecked = $xeTree.isCheckedByCheckboxNodeId(nodeid);
3272
+ isIndeterminate = $xeTree.isIndeterminateByCheckboxNodeid(nodeid);
3273
+ }
3274
+ let hasLazyChilds = false;
3275
+ let isLazyLoading = false;
3276
+ let isLazyLoaded = false;
3277
+ if (lazy) {
3278
+ isLazyLoading = !!treeExpandLazyLoadedMaps[nodeid];
3279
+ hasLazyChilds = node[hasChildField];
3280
+ isLazyLoaded = !!nodeItem.treeLoaded;
3281
+ }
3282
+ const prevNode = nodeItem.items[nodeItem.treeIndex - 1];
3283
+ const nParams = { node, isExpand, $tree: $xeTree };
3284
+ const itemOns = {
3285
+ mousedown(evnt) {
3286
+ $xeTree.handleNodeMousedownEvent(evnt, node);
3287
+ },
3288
+ mouseup: $xeTree.handleNodeDragMouseupEvent,
3289
+ click(evnt) {
3290
+ $xeTree.handleNodeClickEvent(evnt, node);
3291
+ },
3292
+ dblclick(evnt) {
3293
+ $xeTree.handleNodeDblclickEvent(evnt, node);
3294
+ },
3295
+ contextmenu(evnt) {
3296
+ $xeTree.handleContextmenuEvent(evnt, node);
3297
+ }
3298
+ };
3299
+ if (tipMode === 'tooltip') {
3300
+ itemOns.mouseenter = (evnt) => {
3301
+ $xeTree.handleNodeMouseenterEvent(evnt, node);
3302
+ };
3303
+ itemOns.mouseleave = $xeTree.handleNodeMouseleaveEvent;
3304
+ }
3305
+ // 拖拽行事件
3306
+ if (drag && transform) {
3307
+ itemOns.dragstart = $xeTree.handleNodeDragDragstartEvent;
3308
+ itemOns.dragend = $xeTree.handleNodeDragDragendEvent;
3309
+ itemOns.dragover = $xeTree.handleNodeDragDragoverEvent;
3310
+ }
3311
+ return h('div', {
3312
+ key: nodeid,
3313
+ class: ['vxe-tree--node-wrapper', `node--level-${nLevel}`],
3314
+ attrs: {
3315
+ nodeid,
3316
+ title: tipMode === 'title' ? nodeTitle : ''
3317
+ },
3318
+ on: itemOns
3319
+ }, [
3320
+ h('div', {
3321
+ class: ['vxe-tree--node-item', {
3322
+ 'is--current': currentNode && nodeid === $xeTree.getNodeId(currentNode),
3323
+ 'is-radio--checked': isRadioChecked,
3324
+ 'is-checkbox--checked': isCheckboxChecked,
3325
+ 'is-checkbox--indeterminate': isIndeterminate
3326
+ }]
3327
+ }, [
3328
+ showLine
3329
+ ? h('div', {
3330
+ class: 'vxe-tree--node-line-wrapper'
3331
+ }, [
3332
+ h('div', {
3333
+ class: 'vxe-tree--node-line',
3334
+ style: {
3335
+ height: `${$xeTree.getNodeId(afterTreeList[0]) === nodeid ? 1 : calcTreeLine($xeTree, node, prevNode)}px`
3336
+ }
3337
+ })
3338
+ ])
3339
+ : renderEmptyElement($xeTree),
3340
+ h('div', {
3341
+ class: 'vxe-tree--node-item-switcher'
3342
+ }, showIcon && (lazy ? (isLazyLoaded ? isExistChild : hasLazyChilds) : isExistChild) && (!visibleMethod || visibleMethod(nParams))
3343
+ ? [
3344
+ h('div', {
3345
+ class: 'vxe-tree--node-item-icon',
3346
+ on: {
3347
+ click(evnt) {
3348
+ $xeTree.toggleExpandEvent(evnt, node);
3349
+ }
3350
+ }
3351
+ }, iconSlot
3352
+ ? getSlotVNs(iconSlot(nParams))
3353
+ : [
3354
+ h('i', {
3355
+ class: isLazyLoading ? (iconLoaded || getIcon().TREE_NODE_LOADED) : (isExpand ? (iconOpen || getIcon().TREE_NODE_OPEN) : (iconClose || getIcon().TREE_NODE_CLOSE))
3356
+ })
3357
+ ])
3358
+ ]
3359
+ : []),
3360
+ $xeTree.renderDragIcon(h, node, nodeid),
3361
+ $xeTree.renderRadio(h, node, nodeid, isExistChild, nLevel, isRadioChecked),
3362
+ $xeTree.renderCheckbox(h, node, nodeid, isExistChild, nLevel, isCheckboxChecked, isIndeterminate),
3363
+ h('div', {
3364
+ class: 'vxe-tree--node-item-inner'
3365
+ }, [
3366
+ h('div', {
3367
+ class: 'vxe-tree--node-item-wrapper'
3368
+ }, [
3369
+ h('span', {
3370
+ class: 'vxe-tree--node-item-title'
3371
+ }, titleSlot ? getSlotVNs(titleSlot(nParams)) : nodeTitle)
3372
+ ]),
3373
+ extraSlot
3374
+ ? h('div', {
3375
+ class: 'vxe-tree--node-item-extra'
3376
+ }, getSlotVNs(extraSlot(nParams)))
3377
+ : renderEmptyElement($xeTree)
3378
+ ])
3379
+ ])
3380
+ ]);
3381
+ },
3382
+ renderList(h, treeList) {
3383
+ const $xeTree = this;
3384
+ const props = $xeTree;
3385
+ const internalData = $xeTree.internalData;
3386
+ const { transform } = props;
3387
+ const { treeExpandedMaps } = internalData;
3388
+ const childrenField = $xeTree.computeChildrenField;
3389
+ if (!treeList.length) {
3390
+ return [
3391
+ h('div', {
3392
+ class: 'vxe-tree--empty-placeholder'
3393
+ }, getI18n('vxe.tree.searchEmpty'))
3394
+ ];
3395
+ }
3396
+ const nodeVNs = [];
3397
+ treeList.forEach(transform
3398
+ ? (node) => {
3399
+ const nodeid = $xeTree.getNodeId(node);
3400
+ nodeVNs.push($xeTree.renderNode(h, node, nodeid));
3401
+ }
3402
+ : (node) => {
3403
+ const nodeid = $xeTree.getNodeId(node);
3404
+ nodeVNs.push($xeTree.renderNode(h, node, nodeid));
3405
+ const childList = XEUtils.get(node, childrenField);
3406
+ const hasChild = childList && childList.length;
3407
+ if (hasChild && treeExpandedMaps[nodeid]) {
3408
+ nodeVNs.push(...$xeTree.renderList(h, childList));
3409
+ }
3410
+ });
3411
+ return nodeVNs;
3412
+ },
3413
+ renderDragTip(h) {
3414
+ const $xeTree = this;
3415
+ const props = $xeTree;
3416
+ const reactData = $xeTree.reactData;
3417
+ const { drag } = props;
3418
+ const { dragNode, dragTipText } = reactData;
3419
+ const dragOpts = $xeTree.computeDragOpts;
3420
+ const dNode = dragNode;
3421
+ if (drag) {
3422
+ return h('div', {
3423
+ class: 'vxe-tree--drag-wrapper'
3424
+ }, [
3425
+ h('div', {
3426
+ ref: 'refDragNodeLineElem',
3427
+ class: ['vxe-tree--drag-node-line', {
3428
+ 'is--guides': dragOpts.showGuidesStatus
3429
+ }]
3430
+ }),
3431
+ dNode && dragOpts.showDragTip
3432
+ ? h('div', {
3433
+ ref: 'refDragTipElem',
3434
+ class: 'vxe-tree--drag-sort-tip'
3435
+ }, [
3436
+ h('div', {
3437
+ class: 'vxe-tree--drag-sort-tip-wrapper'
3438
+ }, [
3439
+ h('div', {
3440
+ class: 'vxe-tree--drag-sort-tip-status'
3441
+ }, [
3442
+ h('span', {
3443
+ class: ['vxe-tree--drag-sort-tip-normal-status', getIcon().TREE_DRAG_STATUS_NODE]
3444
+ }),
3445
+ h('span', {
3446
+ class: ['vxe-tree--drag-sort-tip-sub-status', getIcon().TREE_DRAG_STATUS_SUB_NODE]
3447
+ }),
3448
+ h('span', {
3449
+ class: ['vxe-tree--drag-sort-tip-disabled-status', getIcon().TREE_DRAG_DISABLED]
3450
+ })
3451
+ ]),
3452
+ h('div', {
3453
+ class: 'vxe-tree--drag-sort-tip-content'
3454
+ }, dragTipText)
3455
+ ])
3456
+ ])
3457
+ : renderEmptyElement($xeTree)
3458
+ ]);
3459
+ }
3460
+ return renderEmptyElement($xeTree);
3461
+ },
3462
+ renderVN(h) {
3463
+ const $xeTree = this;
3464
+ const props = $xeTree;
3465
+ const slots = $xeTree.$scopedSlots;
3466
+ const reactData = $xeTree.reactData;
3467
+ const { loading, trigger, showLine } = props;
3468
+ const { bodyHeight, topSpaceHeight, treeList, tooltipStore } = reactData;
3469
+ const vSize = $xeTree.computeSize;
3470
+ const radioOpts = $xeTree.computeRadioOpts;
3471
+ const checkboxOpts = $xeTree.computeCheckboxOpts;
3472
+ const loadingOpts = $xeTree.computeLoadingOpts;
3473
+ const isNodeHover = $xeTree.computeIsNodeHover;
3474
+ const treeStyle = $xeTree.computeTreeStyle;
3475
+ const dragOpts = $xeTree.computeDragOpts;
3476
+ const tooltipOpts = $xeTree.computeTooltipOpts;
3477
+ const loadingSlot = slots.loading;
3478
+ const headerSlot = slots.header;
3479
+ const footerSlot = slots.footer;
3480
+ const tooltipSlot = slots.tooltip;
3481
+ const teOns = {};
3482
+ if (dragOpts.isCrossTreeDrag && !treeList.length) {
3483
+ teOns.dragover = $xeTree.handleCrossTreeNodeDragoverEmptyEvent;
3484
+ }
3485
+ return h('div', {
3486
+ ref: 'refElem',
3487
+ class: ['vxe-tree', {
3488
+ [`size--${vSize}`]: vSize,
3489
+ 'show--line': showLine,
3490
+ 'checkbox--highlight': checkboxOpts.highlight,
3491
+ 'radio--highlight': radioOpts.highlight,
3492
+ 'node--hover': isNodeHover,
3493
+ 'node--trigger': trigger === 'node',
3494
+ 'is--loading': loading
3495
+ }],
3496
+ on: teOns
3497
+ }, [
3498
+ headerSlot
3499
+ ? h('div', {
3500
+ ref: 'refHeaderWrapperElem',
3501
+ class: 'vxe-tree--header-wrapper'
3502
+ }, headerSlot({ $tree: $xeTree }))
3503
+ : renderEmptyElement($xeTree),
3504
+ h('div', {
3505
+ ref: 'refVirtualWrapper',
3506
+ class: 'vxe-tree--node-list-wrapper',
3507
+ style: treeStyle,
3508
+ on: {
3509
+ scroll: $xeTree.scrollEvent
3510
+ }
3511
+ }, [
3512
+ h('div', {
3513
+ class: 'vxe-tree--y-space',
3514
+ style: {
3515
+ height: bodyHeight ? `${bodyHeight}px` : ''
3516
+ }
3517
+ }),
3518
+ h('div', {
3519
+ ref: 'refVirtualBody',
3520
+ class: 'vxe-tree--node-list-body',
3521
+ style: {
3522
+ transform: `translateY(${topSpaceHeight}px)`
3523
+ }
3524
+ }, $xeTree.renderList(h, treeList))
3525
+ ]),
3526
+ footerSlot
3527
+ ? h('div', {
3528
+ ref: 'refFooterWrapperElem',
3529
+ class: 'vxe-tree--footer-wrapper'
3530
+ }, footerSlot({ $tree: $xeTree }))
3531
+ : renderEmptyElement($xeTree),
3532
+ /**
3533
+ * 拖拽提示
3534
+ */
3535
+ $xeTree.renderDragTip(h),
3536
+ /**
3537
+ * 工具提示
3538
+ */
3539
+ tooltipOpts.mode === 'tooltip'
3540
+ ? h(VxeTooltipComponent, {
3541
+ ref: 'refTooltip',
3542
+ props: {
3543
+ theme: tooltipOpts.theme,
3544
+ enterable: tooltipOpts.enterable,
3545
+ enterDelay: tooltipOpts.enterDelay,
3546
+ leaveDelay: tooltipOpts.leaveDelay,
3547
+ useHtml: tooltipOpts.useHtml,
3548
+ width: tooltipOpts.width,
3549
+ height: tooltipOpts.height,
3550
+ minWidth: tooltipOpts.minWidth,
3551
+ minHeight: tooltipOpts.minHeight,
3552
+ maxWidth: tooltipOpts.maxWidth,
3553
+ maxHeight: tooltipOpts.maxHeight,
3554
+ placement: tooltipOpts.placement,
3555
+ defaultPlacement: tooltipOpts.defaultPlacement,
3556
+ popupClassName: tooltipOpts.popupClassName
3557
+ },
3558
+ scopedSlots: tooltipSlot
3559
+ ? {
3560
+ content: () => {
3561
+ const { node } = tooltipStore;
3562
+ return tooltipSlot({ node, $tree: $xeTree });
3563
+ }
3564
+ }
3565
+ : undefined
3566
+ })
3567
+ : renderEmptyElement($xeTree),
3568
+ /**
3569
+ * 加载中
3570
+ */
3571
+ h(VxeLoadingComponent, {
3572
+ class: 'vxe-tree--loading',
3573
+ props: {
3574
+ value: loading,
3575
+ icon: loadingOpts.icon,
3576
+ text: loadingOpts.text
3577
+ },
3578
+ scopedSlots: loadingSlot
3579
+ ? {
3580
+ default: () => loadingSlot({ $tree: $xeTree })
3581
+ }
3582
+ : undefined
3583
+ })
3584
+ ]);
3585
+ }
3586
+ },
3587
+ watch: {
3588
+ data() {
3589
+ const $xeTree = this;
3590
+ $xeTree.dataFlag++;
3591
+ },
3592
+ rootParentValue() {
3593
+ const $xeTree = this;
3594
+ $xeTree.dataFlag++;
3595
+ },
3596
+ rootValues() {
3597
+ const $xeTree = this;
3598
+ $xeTree.dataFlag++;
3599
+ },
3600
+ dataFlag() {
3601
+ const $xeTree = this;
3602
+ const props = $xeTree;
3603
+ $xeTree.loadData(props.data || []);
3604
+ },
3605
+ checkNodeKey(nodeKey) {
3606
+ const $xeTree = this;
3607
+ const reactData = $xeTree.reactData;
3608
+ reactData.selectRadioKey = enModelValue(nodeKey);
3609
+ },
3610
+ checkNodeKeys() {
3611
+ const $xeTree = this;
3612
+ const props = $xeTree;
3613
+ $xeTree.updateCheckboxChecked(props.checkNodeKeys || []);
3614
+ },
3615
+ filterValue() {
3616
+ const $xeTree = this;
3617
+ $xeTree.triggerSearchEvent(new Event('filter'));
3618
+ },
3619
+ height() {
3620
+ const $xeTree = this;
3621
+ $xeTree.hFlag++;
3622
+ },
3623
+ minHeight() {
3624
+ const $xeTree = this;
3625
+ $xeTree.hFlag++;
3626
+ },
3627
+ maxHeight() {
3628
+ const $xeTree = this;
3629
+ $xeTree.hFlag++;
3630
+ },
3631
+ hFlag() {
3632
+ const $xeTree = this;
3633
+ $xeTree.recalculate();
3634
+ }
3635
+ },
3636
+ created() {
3637
+ const $xeTree = this;
3638
+ const props = $xeTree;
3639
+ const reactData = $xeTree.reactData;
3640
+ $xeTree.internalData = createInternalData();
3641
+ reactData.selectRadioKey = enModelValue(props.checkNodeKey);
3642
+ $xeTree.loadData(props.data || []);
3643
+ },
3644
+ mounted() {
3645
+ const $xeTree = this;
3646
+ const props = $xeTree;
3647
+ const internalData = $xeTree.internalData;
3648
+ const { transform, drag, menuConfig, showOverflow } = props;
3649
+ const dragOpts = $xeTree.computeDragOpts;
3650
+ if (!showOverflow) {
3651
+ errLog('vxe.error.errProp', ['show-overflow=false', 'show-overflow=true']);
3652
+ }
3653
+ if (drag && !transform) {
3654
+ errLog('vxe.error.notSupportProp', ['drag', 'transform=false', 'transform=true']);
3655
+ }
3656
+ if (dragOpts.isCrossTreeDrag && !dragOpts.isCrossDrag) {
3657
+ errLog('vxe.error.reqSupportProp', ['drag-config.isCrossTreeDrag', 'drag-config.isCrossDrag']);
3658
+ }
3659
+ // if (valueField) {
3660
+ // errLog('vxe.error.delProp', ['value-field', 'value-field'])
3661
+ // }
3662
+ const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu');
3663
+ if (menuConfig && !VxeUIContextMenu) {
3664
+ errLog('vxe.error.reqComp', ['vxe-context-menu']);
3665
+ }
3666
+ if (props.autoResize) {
3667
+ const el = $xeTree.$refs.refElem;
3668
+ const parentEl = $xeTree.getParentElem();
3669
+ const resizeObserver = globalResize.create(() => {
3670
+ if (props.autoResize) {
3671
+ $xeTree.recalculate();
3672
+ }
3673
+ });
3674
+ if (el) {
3675
+ resizeObserver.observe(el);
3676
+ }
3677
+ if (parentEl) {
3678
+ resizeObserver.observe(parentEl);
3679
+ }
3680
+ internalData.resizeObserver = resizeObserver;
3681
+ }
3682
+ globalEvents.on($xeTree, 'resize', $xeTree.handleGlobalResizeEvent);
3683
+ },
3684
+ beforeDestroy() {
3685
+ const $xeTree = this;
3686
+ const reactData = $xeTree.reactData;
3687
+ const internalData = $xeTree.internalData;
3688
+ const { resizeObserver } = internalData;
3689
+ if (resizeObserver) {
3690
+ resizeObserver.disconnect();
3691
+ }
3692
+ globalEvents.off($xeTree, 'resize');
3693
+ XEUtils.assign(reactData, createReactData());
3694
+ XEUtils.assign(internalData, createInternalData());
3695
+ },
3696
+ render(h) {
3697
+ return this.renderVN(h);
3698
+ }
3699
+ };