cy-element-ui 1.1.14 → 1.1.16

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 (526) hide show
  1. package/README.md +35 -5
  2. package/lib/alert.js +68 -68
  3. package/lib/aside.js +11 -11
  4. package/lib/autocomplete.js +287 -287
  5. package/lib/avatar.js +121 -121
  6. package/lib/backtop.js +91 -91
  7. package/lib/badge.js +32 -32
  8. package/lib/breadcrumb-item.js +33 -33
  9. package/lib/breadcrumb.js +27 -27
  10. package/lib/button-group.js +4 -4
  11. package/lib/button.js +53 -53
  12. package/lib/calendar.js +426 -426
  13. package/lib/card.js +11 -11
  14. package/lib/carousel-item.js +108 -108
  15. package/lib/carousel.js +244 -244
  16. package/lib/cascader-panel.js +1045 -1045
  17. package/lib/cascader.js +577 -577
  18. package/lib/checkbox-button.js +137 -137
  19. package/lib/checkbox-group.js +39 -39
  20. package/lib/checkbox.js +151 -151
  21. package/lib/col.js +64 -64
  22. package/lib/collapse-item.js +66 -66
  23. package/lib/collapse.js +63 -63
  24. package/lib/color-picker.js +944 -944
  25. package/lib/container.js +24 -24
  26. package/lib/date-picker.js +2968 -2967
  27. package/lib/descriptions-item.js +29 -29
  28. package/lib/descriptions.js +324 -324
  29. package/lib/dialog.js +170 -170
  30. package/lib/divider.js +20 -20
  31. package/lib/drawer.js +156 -156
  32. package/lib/dropdown-item.js +19 -19
  33. package/lib/dropdown-menu.js +56 -56
  34. package/lib/dropdown.js +329 -329
  35. package/lib/element-ui.common.js +44918 -0
  36. package/lib/empty.js +39 -39
  37. package/lib/footer.js +11 -11
  38. package/lib/form-item.js +369 -369
  39. package/lib/form.js +181 -181
  40. package/lib/header.js +11 -11
  41. package/lib/icon.js +7 -7
  42. package/lib/image.js +520 -520
  43. package/lib/index.js +1 -1
  44. package/lib/infinite-scroll.js +127 -127
  45. package/lib/input-number.js +260 -260
  46. package/lib/input.js +370 -370
  47. package/lib/link.js +28 -28
  48. package/lib/loading.js +219 -219
  49. package/lib/main.js +5 -5
  50. package/lib/menu-item-group.js +33 -33
  51. package/lib/menu-item.js +116 -116
  52. package/lib/menu.js +490 -490
  53. package/lib/message-box.js +421 -421
  54. package/lib/message.js +150 -150
  55. package/lib/notification.js +184 -184
  56. package/lib/option-group.js +46 -46
  57. package/lib/option.js +145 -145
  58. package/lib/page-header.js +14 -14
  59. package/lib/pagination.js +530 -530
  60. package/lib/popconfirm.js +68 -68
  61. package/lib/popover.js +225 -225
  62. package/lib/progress.js +183 -183
  63. package/lib/radio-button.js +78 -78
  64. package/lib/radio-group.js +103 -103
  65. package/lib/radio.js +86 -86
  66. package/lib/rate.js +283 -283
  67. package/lib/result.js +61 -61
  68. package/lib/row.js +32 -32
  69. package/lib/scrollbar.js +247 -247
  70. package/lib/select.js +999 -999
  71. package/lib/selectDisplayInput.js +61 -61
  72. package/lib/skeleton-item.js +19 -19
  73. package/lib/skeleton.js +53 -53
  74. package/lib/slider.js +550 -550
  75. package/lib/spinner.js +19 -19
  76. package/lib/statistic.js +198 -198
  77. package/lib/step.js +125 -125
  78. package/lib/steps.js +54 -54
  79. package/lib/subTitle.js +24 -24
  80. package/lib/submenu.js +405 -406
  81. package/lib/switch.js +135 -135
  82. package/lib/tab-pane.js +43 -43
  83. package/lib/tabDialog.js +508 -508
  84. package/lib/table-column.js +713 -713
  85. package/lib/table.js +3432 -3432
  86. package/lib/tabs.js +578 -578
  87. package/lib/tag.js +60 -60
  88. package/lib/time-picker.js +1350 -1350
  89. package/lib/time-select.js +949 -949
  90. package/lib/timeline-item.js +25 -25
  91. package/lib/timeline.js +30 -30
  92. package/lib/tooltip.js +255 -255
  93. package/lib/transfer.js +385 -385
  94. package/lib/tree.js +1547 -1547
  95. package/lib/treeSelect.js +2618 -2618
  96. package/lib/umd/locale/en.js +137 -137
  97. package/lib/umd/locale/zh-CN.js +137 -137
  98. package/lib/umd/locale/zh-TW.js +137 -137
  99. package/lib/upload.js +738 -738
  100. package/package.json +9 -7
  101. package/packages/alert/index.js +1 -1
  102. package/packages/alert/src/main.vue +82 -82
  103. package/packages/aside/index.js +1 -1
  104. package/packages/aside/src/main.vue +13 -13
  105. package/packages/autocomplete/index.js +1 -1
  106. package/packages/autocomplete/src/autocomplete-suggestions.vue +64 -64
  107. package/packages/autocomplete/src/autocomplete.vue +272 -272
  108. package/packages/avatar/index.js +1 -1
  109. package/packages/avatar/src/main.vue +88 -88
  110. package/packages/backtop/index.js +1 -1
  111. package/packages/backtop/src/main.vue +92 -92
  112. package/packages/badge/index.js +1 -1
  113. package/packages/badge/src/main.vue +41 -41
  114. package/packages/breadcrumb/index.js +1 -1
  115. package/packages/breadcrumb/src/breadcrumb-item.vue +35 -35
  116. package/packages/breadcrumb/src/breadcrumb.vue +27 -27
  117. package/packages/breadcrumb-item/index.js +1 -1
  118. package/packages/button/index.js +1 -1
  119. package/packages/button/src/button-group.vue +6 -6
  120. package/packages/button/src/button.vue +70 -70
  121. package/packages/button-group/index.js +1 -1
  122. package/packages/calendar/index.js +1 -1
  123. package/packages/calendar/src/date-table.vue +193 -193
  124. package/packages/calendar/src/main.vue +242 -242
  125. package/packages/card/index.js +1 -1
  126. package/packages/card/src/main.vue +18 -18
  127. package/packages/carousel/index.js +1 -1
  128. package/packages/carousel/src/item.vue +122 -122
  129. package/packages/carousel/src/main.vue +305 -305
  130. package/packages/carousel-item/index.js +1 -1
  131. package/packages/cascader/index.js +1 -1
  132. package/packages/cascader/src/cascader.vue +626 -626
  133. package/packages/cascader-panel/index.js +1 -1
  134. package/packages/cascader-panel/src/cascader-menu.vue +128 -128
  135. package/packages/cascader-panel/src/cascader-node.vue +244 -244
  136. package/packages/cascader-panel/src/cascader-panel.vue +334 -334
  137. package/packages/cascader-panel/src/node.js +157 -158
  138. package/packages/cascader-panel/src/store.js +49 -50
  139. package/packages/checkbox/index.js +1 -1
  140. package/packages/checkbox/src/checkbox-button.vue +195 -195
  141. package/packages/checkbox/src/checkbox-group.vue +43 -43
  142. package/packages/checkbox/src/checkbox.vue +218 -218
  143. package/packages/checkbox-button/index.js +1 -1
  144. package/packages/checkbox-group/index.js +1 -1
  145. package/packages/col/index.js +1 -1
  146. package/packages/col/src/col.js +63 -63
  147. package/packages/collapse/index.js +1 -1
  148. package/packages/collapse/src/collapse-item.vue +101 -101
  149. package/packages/collapse/src/collapse.vue +61 -61
  150. package/packages/collapse-item/index.js +1 -1
  151. package/packages/color-picker/index.js +1 -1
  152. package/packages/color-picker/src/color.js +263 -263
  153. package/packages/color-picker/src/components/alpha-slider.vue +127 -127
  154. package/packages/color-picker/src/components/hue-slider.vue +118 -118
  155. package/packages/color-picker/src/components/picker-dropdown.vue +105 -105
  156. package/packages/color-picker/src/components/predefine.vue +55 -55
  157. package/packages/color-picker/src/components/sv-panel.vue +95 -95
  158. package/packages/color-picker/src/draggable.js +27 -27
  159. package/packages/color-picker/src/main.vue +183 -183
  160. package/packages/container/index.js +1 -1
  161. package/packages/container/src/main.vue +25 -25
  162. package/packages/date-picker/index.js +1 -1
  163. package/packages/date-picker/src/basic/date-table.vue +435 -435
  164. package/packages/date-picker/src/basic/month-table.vue +239 -240
  165. package/packages/date-picker/src/basic/time-spinner.vue +279 -279
  166. package/packages/date-picker/src/basic/year-table.vue +99 -99
  167. package/packages/date-picker/src/panel/date-range.vue +675 -675
  168. package/packages/date-picker/src/panel/date.vue +604 -604
  169. package/packages/date-picker/src/panel/month-range.vue +260 -260
  170. package/packages/date-picker/src/panel/time-range.vue +242 -242
  171. package/packages/date-picker/src/panel/time-select.vue +173 -173
  172. package/packages/date-picker/src/panel/time.vue +181 -181
  173. package/packages/date-picker/src/picker/date-picker.js +29 -29
  174. package/packages/date-picker/src/picker/time-picker.js +28 -28
  175. package/packages/date-picker/src/picker/time-select.js +12 -12
  176. package/packages/date-picker/src/picker.vue +900 -900
  177. package/packages/descriptions/index.js +1 -1
  178. package/packages/descriptions/src/descriptions-item.js +28 -28
  179. package/packages/descriptions/src/descriptions-row.js +114 -114
  180. package/packages/descriptions/src/index.js +168 -168
  181. package/packages/descriptions-item/index.js +1 -1
  182. package/packages/dialog/index.js +1 -1
  183. package/packages/dialog/src/component.vue +207 -207
  184. package/packages/divider/index.js +1 -1
  185. package/packages/divider/src/main.vue +29 -29
  186. package/packages/drawer/index.js +1 -1
  187. package/packages/drawer/src/main.vue +195 -195
  188. package/packages/dropdown/index.js +1 -1
  189. package/packages/dropdown/src/dropdown-item.vue +29 -29
  190. package/packages/dropdown/src/dropdown-menu.vue +59 -59
  191. package/packages/dropdown/src/dropdown.vue +271 -271
  192. package/packages/dropdown-item/index.js +1 -1
  193. package/packages/dropdown-menu/index.js +1 -1
  194. package/packages/empty/index.js +1 -1
  195. package/packages/empty/src/img-empty.vue +124 -124
  196. package/packages/empty/src/index.vue +40 -40
  197. package/packages/footer/index.js +1 -1
  198. package/packages/footer/src/main.vue +13 -13
  199. package/packages/form/index.js +1 -1
  200. package/packages/form/src/form-item.vue +294 -294
  201. package/packages/form/src/form.vue +169 -169
  202. package/packages/form/src/label-wrap.vue +65 -65
  203. package/packages/form-item/index.js +1 -1
  204. package/packages/header/index.js +1 -1
  205. package/packages/header/src/main.vue +13 -13
  206. package/packages/icon/index.js +1 -1
  207. package/packages/icon/src/icon.vue +7 -7
  208. package/packages/image/index.js +1 -1
  209. package/packages/image/src/image-viewer.vue +309 -309
  210. package/packages/image/src/main.vue +242 -242
  211. package/packages/infinite-scroll/index.js +1 -1
  212. package/packages/infinite-scroll/src/main.js +113 -114
  213. package/packages/input/index.js +1 -1
  214. package/packages/input/src/calcTextareaHeight.js +70 -70
  215. package/packages/input/src/input.vue +416 -416
  216. package/packages/input-number/index.js +1 -1
  217. package/packages/input-number/src/input-number.vue +272 -272
  218. package/packages/link/index.js +1 -1
  219. package/packages/link/src/main.vue +40 -40
  220. package/packages/loading/index.js +6 -6
  221. package/packages/loading/src/directive.js +105 -105
  222. package/packages/loading/src/index.js +74 -74
  223. package/packages/loading/src/loading.vue +35 -35
  224. package/packages/main/index.js +1 -1
  225. package/packages/main/src/main.vue +7 -7
  226. package/packages/menu/index.js +1 -1
  227. package/packages/menu/src/menu-item-group.vue +38 -38
  228. package/packages/menu/src/menu-item.vue +103 -103
  229. package/packages/menu/src/menu-mixin.js +39 -39
  230. package/packages/menu/src/menu.vue +298 -298
  231. package/packages/menu/src/submenu.vue +330 -331
  232. package/packages/menu-item/index.js +1 -1
  233. package/packages/menu-item-group/index.js +1 -1
  234. package/packages/message/src/main.js +65 -65
  235. package/packages/message/src/main.vue +105 -105
  236. package/packages/message-box/src/main.js +172 -172
  237. package/packages/message-box/src/main.vue +309 -309
  238. package/packages/notification/src/main.js +63 -63
  239. package/packages/notification/src/main.vue +135 -135
  240. package/packages/option/index.js +1 -1
  241. package/packages/option-group/index.js +1 -1
  242. package/packages/page-header/index.js +1 -1
  243. package/packages/page-header/src/main.vue +21 -21
  244. package/packages/pagination/index.js +1 -1
  245. package/packages/pagination/src/pager.vue +158 -158
  246. package/packages/pagination/src/pagination.js +377 -377
  247. package/packages/popconfirm/index.js +1 -1
  248. package/packages/popconfirm/src/main.vue +94 -94
  249. package/packages/popover/index.js +2 -2
  250. package/packages/popover/src/directive.js +15 -15
  251. package/packages/popover/src/main.vue +214 -214
  252. package/packages/progress/index.js +1 -1
  253. package/packages/progress/src/progress.vue +228 -228
  254. package/packages/radio/index.js +1 -1
  255. package/packages/radio/src/radio-button.vue +106 -106
  256. package/packages/radio/src/radio-group.vue +101 -101
  257. package/packages/radio/src/radio.vue +122 -122
  258. package/packages/radio-button/index.js +1 -1
  259. package/packages/radio-group/index.js +1 -1
  260. package/packages/rate/index.js +1 -1
  261. package/packages/rate/src/main.vue +316 -316
  262. package/packages/result/index.js +1 -1
  263. package/packages/result/src/icon-error.vue +6 -6
  264. package/packages/result/src/icon-info.vue +6 -6
  265. package/packages/result/src/icon-success.vue +6 -6
  266. package/packages/result/src/icon-warning.vue +6 -6
  267. package/packages/result/src/index.vue +51 -51
  268. package/packages/row/index.js +1 -1
  269. package/packages/row/src/row.js +36 -36
  270. package/packages/scrollbar/index.js +1 -1
  271. package/packages/scrollbar/src/bar.js +86 -86
  272. package/packages/scrollbar/src/main.js +120 -120
  273. package/packages/scrollbar/src/util.js +27 -27
  274. package/packages/select/index.js +1 -1
  275. package/packages/select/src/navigation-mixin.js +47 -47
  276. package/packages/select/src/option-group.vue +55 -55
  277. package/packages/select/src/option.vue +163 -163
  278. package/packages/select/src/select-dropdown.vue +57 -57
  279. package/packages/select/src/select.vue +895 -895
  280. package/packages/selectDisplayInput/index.js +1 -1
  281. package/packages/selectDisplayInput/src/main.vue +61 -61
  282. package/packages/skeleton/index.js +1 -1
  283. package/packages/skeleton/src/img-placeholder.vue +9 -9
  284. package/packages/skeleton/src/index.vue +70 -70
  285. package/packages/skeleton/src/item.vue +17 -17
  286. package/packages/skeleton-item/index.js +1 -1
  287. package/packages/slider/index.js +1 -1
  288. package/packages/slider/src/button.vue +230 -230
  289. package/packages/slider/src/main.vue +422 -422
  290. package/packages/slider/src/marker.js +14 -14
  291. package/packages/spinner/index.js +1 -1
  292. package/packages/spinner/src/spinner.vue +23 -23
  293. package/packages/statistic/index.js +1 -1
  294. package/packages/statistic/src/main.vue +196 -197
  295. package/packages/step/index.js +1 -1
  296. package/packages/steps/index.js +1 -1
  297. package/packages/steps/src/step.vue +177 -177
  298. package/packages/steps/src/steps.vue +53 -53
  299. package/packages/subTitle/index.js +1 -1
  300. package/packages/subTitle/src/main.vue +29 -29
  301. package/packages/submenu/index.js +1 -1
  302. package/packages/switch/index.js +1 -1
  303. package/packages/switch/src/component.vue +169 -169
  304. package/packages/tab-pane/index.js +1 -1
  305. package/packages/tabDialog/index.js +10 -10
  306. package/packages/tabDialog/src/dialog/drag.js +50 -50
  307. package/packages/tabDialog/src/dialog/dragHeight.js +27 -27
  308. package/packages/tabDialog/src/dialog/dragWidth.js +23 -23
  309. package/packages/tabDialog/src/main.vue +257 -257
  310. package/packages/table/index.js +1 -1
  311. package/packages/table/src/config.js +108 -108
  312. package/packages/table/src/dropdown.js +19 -19
  313. package/packages/table/src/filter-panel.vue +189 -189
  314. package/packages/table/src/layout-observer.js +60 -60
  315. package/packages/table/src/store/current.js +65 -65
  316. package/packages/table/src/store/expand.js +57 -57
  317. package/packages/table/src/store/helper.js +32 -32
  318. package/packages/table/src/store/index.js +133 -133
  319. package/packages/table/src/store/tree.js +194 -194
  320. package/packages/table/src/store/watcher.js +366 -366
  321. package/packages/table/src/table-body.js +456 -456
  322. package/packages/table/src/table-column.js +311 -311
  323. package/packages/table/src/table-footer.js +139 -139
  324. package/packages/table/src/table-header.js +496 -496
  325. package/packages/table/src/table-layout.js +241 -241
  326. package/packages/table/src/table-row.js +97 -97
  327. package/packages/table/src/table.vue +666 -666
  328. package/packages/table/src/util.js +214 -214
  329. package/packages/table-column/index.js +1 -1
  330. package/packages/tabs/index.js +1 -1
  331. package/packages/tabs/src/tab-bar.vue +47 -47
  332. package/packages/tabs/src/tab-nav.vue +268 -268
  333. package/packages/tabs/src/tab-pane.vue +47 -47
  334. package/packages/tabs/src/tabs.vue +174 -174
  335. package/packages/tag/index.js +1 -1
  336. package/packages/tag/src/tag.vue +55 -55
  337. package/packages/theme-chalk/gulpfile.js +11 -11
  338. package/packages/theme-chalk/src/alert.scss +138 -138
  339. package/packages/theme-chalk/src/aside.scss +3 -3
  340. package/packages/theme-chalk/src/autocomplete.scss +58 -58
  341. package/packages/theme-chalk/src/avatar.scss +46 -46
  342. package/packages/theme-chalk/src/backtop.scss +16 -16
  343. package/packages/theme-chalk/src/badge.scss +47 -47
  344. package/packages/theme-chalk/src/breadcrumb.scss +49 -49
  345. package/packages/theme-chalk/src/button.scss +229 -229
  346. package/packages/theme-chalk/src/calendar.scss +57 -57
  347. package/packages/theme-chalk/src/card.scss +23 -23
  348. package/packages/theme-chalk/src/carousel-item.scss +41 -41
  349. package/packages/theme-chalk/src/carousel.scss +148 -148
  350. package/packages/theme-chalk/src/cascader-panel.scss +106 -106
  351. package/packages/theme-chalk/src/cascader.scss +173 -173
  352. package/packages/theme-chalk/src/checkbox.scss +346 -346
  353. package/packages/theme-chalk/src/col.scss +130 -130
  354. package/packages/theme-chalk/src/collapse.scss +52 -52
  355. package/packages/theme-chalk/src/color-picker.scss +364 -364
  356. package/packages/theme-chalk/src/common/popup.scss +22 -22
  357. package/packages/theme-chalk/src/common/transition.scss +33 -33
  358. package/packages/theme-chalk/src/common/var.scss +16 -16
  359. package/packages/theme-chalk/src/container.scss +9 -9
  360. package/packages/theme-chalk/src/cy/base.scss +1 -1
  361. package/packages/theme-chalk/src/date-picker/date-picker.scss +91 -91
  362. package/packages/theme-chalk/src/date-picker/date-range-picker.scss +97 -97
  363. package/packages/theme-chalk/src/date-picker/date-table.scss +146 -146
  364. package/packages/theme-chalk/src/date-picker/month-table.scss +69 -69
  365. package/packages/theme-chalk/src/date-picker/picker-panel.scss +105 -105
  366. package/packages/theme-chalk/src/date-picker/picker.scss +188 -188
  367. package/packages/theme-chalk/src/date-picker/time-picker.scss +72 -72
  368. package/packages/theme-chalk/src/date-picker/time-range-picker.scss +23 -23
  369. package/packages/theme-chalk/src/date-picker/time-spinner.scss +106 -106
  370. package/packages/theme-chalk/src/date-picker/year-table.scss +47 -47
  371. package/packages/theme-chalk/src/descriptions-item.scss +33 -33
  372. package/packages/theme-chalk/src/descriptions.scss +105 -105
  373. package/packages/theme-chalk/src/dialog.scss +104 -104
  374. package/packages/theme-chalk/src/display.scss +7 -7
  375. package/packages/theme-chalk/src/divider.scss +36 -36
  376. package/packages/theme-chalk/src/drawer.scss +185 -185
  377. package/packages/theme-chalk/src/dropdown.scss +172 -172
  378. package/packages/theme-chalk/src/empty.scss +34 -34
  379. package/packages/theme-chalk/src/footer.scss +3 -3
  380. package/packages/theme-chalk/src/form.scss +149 -149
  381. package/packages/theme-chalk/src/header.scss +3 -3
  382. package/packages/theme-chalk/src/icon.scss +309 -309
  383. package/packages/theme-chalk/src/image.scss +153 -153
  384. package/packages/theme-chalk/src/input-number.scss +255 -255
  385. package/packages/theme-chalk/src/input.scss +345 -345
  386. package/packages/theme-chalk/src/link.scss +67 -67
  387. package/packages/theme-chalk/src/loading.scss +67 -67
  388. package/packages/theme-chalk/src/main.scss +7 -7
  389. package/packages/theme-chalk/src/menu.scss +248 -248
  390. package/packages/theme-chalk/src/message-box.scss +205 -205
  391. package/packages/theme-chalk/src/message.scss +111 -111
  392. package/packages/theme-chalk/src/mixins/_button.scss +64 -64
  393. package/packages/theme-chalk/src/mixins/function.scss +18 -18
  394. package/packages/theme-chalk/src/mixins/mixins.scss +126 -126
  395. package/packages/theme-chalk/src/mixins/utils.scss +26 -26
  396. package/packages/theme-chalk/src/notification.scss +88 -88
  397. package/packages/theme-chalk/src/option-group.scss +31 -31
  398. package/packages/theme-chalk/src/option.scss +27 -27
  399. package/packages/theme-chalk/src/page-header.scss +31 -31
  400. package/packages/theme-chalk/src/pagination.scss +284 -284
  401. package/packages/theme-chalk/src/popconfirm.scss +11 -11
  402. package/packages/theme-chalk/src/popover.scss +30 -30
  403. package/packages/theme-chalk/src/popper.scss +82 -82
  404. package/packages/theme-chalk/src/progress.scss +128 -128
  405. package/packages/theme-chalk/src/radio-button.scss +94 -94
  406. package/packages/theme-chalk/src/radio-group.scss +4 -4
  407. package/packages/theme-chalk/src/radio.scss +192 -192
  408. package/packages/theme-chalk/src/rate.scss +38 -38
  409. package/packages/theme-chalk/src/reset.scss +39 -39
  410. package/packages/theme-chalk/src/result.scss +56 -56
  411. package/packages/theme-chalk/src/row.scss +31 -31
  412. package/packages/theme-chalk/src/scrollbar.scss +57 -57
  413. package/packages/theme-chalk/src/select-dropdown.scss +47 -47
  414. package/packages/theme-chalk/src/select.scss +140 -140
  415. package/packages/theme-chalk/src/skeleton-item.scss +75 -75
  416. package/packages/theme-chalk/src/skeleton.scss +27 -27
  417. package/packages/theme-chalk/src/slider.scss +238 -238
  418. package/packages/theme-chalk/src/spinner.scss +27 -27
  419. package/packages/theme-chalk/src/statistic.scss +32 -32
  420. package/packages/theme-chalk/src/step.scss +312 -312
  421. package/packages/theme-chalk/src/steps.scss +13 -13
  422. package/packages/theme-chalk/src/switch.scss +101 -101
  423. package/packages/theme-chalk/src/table-column.scss +87 -87
  424. package/packages/theme-chalk/src/table.scss +556 -556
  425. package/packages/theme-chalk/src/tabs.scss +576 -576
  426. package/packages/theme-chalk/src/tag.scss +155 -155
  427. package/packages/theme-chalk/src/time-select.scss +14 -14
  428. package/packages/theme-chalk/src/timeline-item.scss +71 -71
  429. package/packages/theme-chalk/src/timeline.scss +8 -8
  430. package/packages/theme-chalk/src/tooltip.scss +136 -136
  431. package/packages/theme-chalk/src/transfer.scss +214 -214
  432. package/packages/theme-chalk/src/tree.scss +110 -110
  433. package/packages/theme-chalk/src/upload.scss +587 -587
  434. package/packages/time-picker/index.js +1 -1
  435. package/packages/time-select/index.js +1 -1
  436. package/packages/timeline/index.js +1 -1
  437. package/packages/timeline/src/item.vue +56 -56
  438. package/packages/timeline/src/main.vue +28 -28
  439. package/packages/timeline-item/index.js +1 -1
  440. package/packages/tooltip/index.js +1 -1
  441. package/packages/tooltip/src/main.js +234 -234
  442. package/packages/transfer/index.js +1 -1
  443. package/packages/transfer/src/main.vue +225 -225
  444. package/packages/transfer/src/transfer-panel.vue +245 -245
  445. package/packages/tree/index.js +1 -1
  446. package/packages/tree/src/model/node.js +467 -467
  447. package/packages/tree/src/model/tree-store.js +335 -335
  448. package/packages/tree/src/model/util.js +17 -17
  449. package/packages/tree/src/tree-node.vue +247 -247
  450. package/packages/tree/src/tree.vue +491 -491
  451. package/packages/treeSelect/index.js +1 -1
  452. package/packages/treeSelect/src/main.vue +275 -275
  453. package/packages/upload/index.js +1 -1
  454. package/packages/upload/src/ajax.js +77 -77
  455. package/packages/upload/src/index.vue +304 -304
  456. package/packages/upload/src/upload-dragger.vue +65 -65
  457. package/packages/upload/src/upload-list.vue +96 -96
  458. package/packages/upload/src/upload.vue +194 -194
  459. package/src/directives/mousewheel.js +9 -9
  460. package/src/directives/repeat-click.js +20 -20
  461. package/src/index.js +209 -210
  462. package/src/locale/format.js +24 -25
  463. package/src/locale/index.js +25 -25
  464. package/src/locale/lang/en.js +121 -121
  465. package/src/locale/lang/zh-CN.js +121 -121
  466. package/src/locale/lang/zh-TW.js +121 -121
  467. package/src/mixins/emitter.js +26 -26
  468. package/src/mixins/focus.js +7 -7
  469. package/src/mixins/locale.js +5 -5
  470. package/src/mixins/migrating.js +28 -28
  471. package/src/transitions/collapse-transition.js +60 -60
  472. package/src/utils/after-leave.js +17 -17
  473. package/src/utils/aria-dialog.js +48 -48
  474. package/src/utils/aria-utils.js +64 -64
  475. package/src/utils/clickoutside.js +34 -34
  476. package/src/utils/date-util.js +163 -163
  477. package/src/utils/dom.js +165 -165
  478. package/src/utils/menu/aria-menubar.js +5 -5
  479. package/src/utils/menu/aria-menuitem.js +36 -36
  480. package/src/utils/menu/aria-submenu.js +44 -44
  481. package/src/utils/merge.js +12 -12
  482. package/src/utils/popup/index.js +203 -203
  483. package/src/utils/popup/popup-manager.js +169 -169
  484. package/src/utils/resize-event.js +20 -20
  485. package/src/utils/scroll-into-view.js +20 -20
  486. package/src/utils/scrollbar-width.js +18 -18
  487. package/src/utils/shared.js +3 -3
  488. package/src/utils/types.js +12 -12
  489. package/src/utils/util.js +157 -157
  490. package/src/utils/vdom.js +1 -1
  491. package/src/utils/vue-popper.js +179 -179
  492. package/lib/directives/mousewheel.js +0 -26
  493. package/lib/directives/repeat-click.js +0 -33
  494. package/lib/locale/format.js +0 -56
  495. package/lib/locale/index.js +0 -63
  496. package/lib/locale/lang/en.js +0 -126
  497. package/lib/locale/lang/zh-CN.js +0 -126
  498. package/lib/locale/lang/zh-TW.js +0 -126
  499. package/lib/mixins/emitter.js +0 -36
  500. package/lib/mixins/focus.js +0 -15
  501. package/lib/mixins/locale.js +0 -17
  502. package/lib/mixins/migrating.js +0 -69
  503. package/lib/transitions/collapse-transition.js +0 -91
  504. package/lib/utils/after-leave.js +0 -35
  505. package/lib/utils/aria-dialog.js +0 -104
  506. package/lib/utils/aria-utils.js +0 -126
  507. package/lib/utils/clickoutside.js +0 -79
  508. package/lib/utils/date-util.js +0 -310
  509. package/lib/utils/date.js +0 -369
  510. package/lib/utils/dom.js +0 -234
  511. package/lib/utils/lodash.js +0 -9421
  512. package/lib/utils/menu/aria-menubar.js +0 -24
  513. package/lib/utils/menu/aria-menuitem.js +0 -62
  514. package/lib/utils/menu/aria-submenu.js +0 -69
  515. package/lib/utils/merge.js +0 -21
  516. package/lib/utils/popper.js +0 -1261
  517. package/lib/utils/popup/index.js +0 -233
  518. package/lib/utils/popup/popup-manager.js +0 -205
  519. package/lib/utils/resize-event.js +0 -59
  520. package/lib/utils/scroll-into-view.js +0 -38
  521. package/lib/utils/scrollbar-width.js +0 -39
  522. package/lib/utils/shared.js +0 -12
  523. package/lib/utils/types.js +0 -52
  524. package/lib/utils/util.js +0 -272
  525. package/lib/utils/vdom.js +0 -13
  526. package/lib/utils/vue-popper.js +0 -202
package/lib/tree.js CHANGED
@@ -241,7 +241,7 @@ module.exports = require("element-ui/lib/mixins/emitter");
241
241
  // ESM COMPAT FLAG
242
242
  __webpack_require__.r(__webpack_exports__);
243
243
 
244
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=template&id=5814ec4e
244
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=template&id=37500abf
245
245
  var render = function () {
246
246
  var _vm = this
247
247
  var _h = _vm.$createElement
@@ -299,7 +299,7 @@ var staticRenderFns = []
299
299
  render._withStripped = true
300
300
 
301
301
 
302
- // CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=template&id=5814ec4e
302
+ // CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=template&id=37500abf
303
303
 
304
304
  // EXTERNAL MODULE: external "element-ui/lib/utils/merge"
305
305
  var merge_ = __webpack_require__(9);
@@ -309,29 +309,29 @@ var merge_default = /*#__PURE__*/__webpack_require__.n(merge_);
309
309
  var NODE_KEY = '$treeNodeId';
310
310
 
311
311
  var markNodeData = function markNodeData(node, data) {
312
- if (!data || data[NODE_KEY]) return;
313
- Object.defineProperty(data, NODE_KEY, {
314
- value: node.id,
315
- enumerable: false,
316
- configurable: false,
317
- writable: false
318
- });
312
+ if (!data || data[NODE_KEY]) return;
313
+ Object.defineProperty(data, NODE_KEY, {
314
+ value: node.id,
315
+ enumerable: false,
316
+ configurable: false,
317
+ writable: false
318
+ });
319
319
  };
320
320
 
321
321
  var util_getNodeKey = function getNodeKey(key, data) {
322
- if (!key) return data[NODE_KEY];
323
- return data[key];
322
+ if (!key) return data[NODE_KEY];
323
+ return data[key];
324
324
  };
325
325
 
326
326
  var findNearestComponent = function findNearestComponent(element, componentName) {
327
- var target = element;
328
- while (target && target.tagName !== 'BODY') {
329
- if (target.__vue__ && target.__vue__.$options.name === componentName) {
330
- return target.__vue__;
331
- }
332
- target = target.parentNode;
333
- }
334
- return null;
327
+ var target = element;
328
+ while (target && target.tagName !== 'BODY') {
329
+ if (target.__vue__ && target.__vue__.$options.name === componentName) {
330
+ return target.__vue__;
331
+ }
332
+ target = target.parentNode;
333
+ }
334
+ return null;
335
335
  };
336
336
  // EXTERNAL MODULE: external "element-ui/lib/utils/util"
337
337
  var util_ = __webpack_require__(3);
@@ -346,530 +346,530 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
346
346
 
347
347
 
348
348
  var getChildState = function getChildState(node) {
349
- var all = true;
350
- var none = true;
351
- var allWithoutDisable = true;
352
- for (var i = 0, j = node.length; i < j; i++) {
353
- var n = node[i];
354
- if (n.checked !== true || n.indeterminate) {
355
- all = false;
356
- if (!n.disabled) {
357
- allWithoutDisable = false;
358
- }
359
- }
360
- if (n.checked !== false || n.indeterminate) {
361
- none = false;
362
- }
363
- }
364
-
365
- return { all: all, none: none, allWithoutDisable: allWithoutDisable, half: !all && !none };
349
+ var all = true;
350
+ var none = true;
351
+ var allWithoutDisable = true;
352
+ for (var i = 0, j = node.length; i < j; i++) {
353
+ var n = node[i];
354
+ if (n.checked !== true || n.indeterminate) {
355
+ all = false;
356
+ if (!n.disabled) {
357
+ allWithoutDisable = false;
358
+ }
359
+ }
360
+ if (n.checked !== false || n.indeterminate) {
361
+ none = false;
362
+ }
363
+ }
364
+
365
+ return { all: all, none: none, allWithoutDisable: allWithoutDisable, half: !all && !none };
366
366
  };
367
367
 
368
368
  var reInitChecked = function reInitChecked(node) {
369
- if (node.childNodes.length === 0 || node.loading) return;
370
-
371
- var _getChildState = getChildState(node.childNodes),
372
- all = _getChildState.all,
373
- none = _getChildState.none,
374
- half = _getChildState.half;
375
-
376
- if (all) {
377
- node.checked = true;
378
- node.indeterminate = false;
379
- } else if (half) {
380
- node.checked = false;
381
- node.indeterminate = true;
382
- } else if (none) {
383
- node.checked = false;
384
- node.indeterminate = false;
385
- }
386
-
387
- var parent = node.parent;
388
- if (!parent || parent.level === 0) return;
389
-
390
- if (!node.store.checkStrictly) {
391
- reInitChecked(parent);
392
- }
369
+ if (node.childNodes.length === 0 || node.loading) return;
370
+
371
+ var _getChildState = getChildState(node.childNodes),
372
+ all = _getChildState.all,
373
+ none = _getChildState.none,
374
+ half = _getChildState.half;
375
+
376
+ if (all) {
377
+ node.checked = true;
378
+ node.indeterminate = false;
379
+ } else if (half) {
380
+ node.checked = false;
381
+ node.indeterminate = true;
382
+ } else if (none) {
383
+ node.checked = false;
384
+ node.indeterminate = false;
385
+ }
386
+
387
+ var parent = node.parent;
388
+ if (!parent || parent.level === 0) return;
389
+
390
+ if (!node.store.checkStrictly) {
391
+ reInitChecked(parent);
392
+ }
393
393
  };
394
394
 
395
395
  var getPropertyFromData = function getPropertyFromData(node, prop) {
396
- var props = node.store.props;
397
- var data = node.data || {};
398
- var config = props[prop];
399
-
400
- if (typeof config === 'function') {
401
- return config(data, node);
402
- } else if (typeof config === 'string') {
403
- return data[config];
404
- } else if (typeof config === 'undefined') {
405
- var dataProp = data[prop];
406
- return dataProp === undefined ? '' : dataProp;
407
- }
396
+ var props = node.store.props;
397
+ var data = node.data || {};
398
+ var config = props[prop];
399
+
400
+ if (typeof config === 'function') {
401
+ return config(data, node);
402
+ } else if (typeof config === 'string') {
403
+ return data[config];
404
+ } else if (typeof config === 'undefined') {
405
+ var dataProp = data[prop];
406
+ return dataProp === undefined ? '' : dataProp;
407
+ }
408
408
  };
409
409
 
410
410
  var nodeIdSeed = 0;
411
411
 
412
412
  var node_Node = function () {
413
- function Node(options) {
414
- _classCallCheck(this, Node);
415
-
416
- this.id = nodeIdSeed++;
417
- this.text = null;
418
- this.checked = false;
419
- this.indeterminate = false;
420
- this.data = null;
421
- this.expanded = false;
422
- this.parent = null;
423
- this.visible = true;
424
- this.isCurrent = false;
425
-
426
- for (var name in options) {
427
- if (options.hasOwnProperty(name)) {
428
- this[name] = options[name];
429
- }
430
- }
431
-
432
- // internal
433
- this.level = 0;
434
- this.loaded = false;
435
- this.childNodes = [];
436
- this.loading = false;
437
-
438
- if (this.parent) {
439
- this.level = this.parent.level + 1;
440
- }
441
-
442
- var store = this.store;
443
- if (!store) {
444
- throw new Error('[Node]store is required!');
445
- }
446
- store.registerNode(this);
447
-
448
- var props = store.props;
449
- if (props && typeof props.isLeaf !== 'undefined') {
450
- var isLeaf = getPropertyFromData(this, 'isLeaf');
451
- if (typeof isLeaf === 'boolean') {
452
- this.isLeafByUser = isLeaf;
453
- }
454
- }
455
-
456
- if (store.lazy !== true && this.data) {
457
- this.setData(this.data);
458
-
459
- if (store.defaultExpandAll) {
460
- this.expanded = true;
461
- }
462
- } else if (this.level > 0 && store.lazy && store.defaultExpandAll) {
463
- this.expand();
464
- }
465
- if (!Array.isArray(this.data)) {
466
- markNodeData(this, this.data);
467
- }
468
- if (!this.data) return;
469
- var defaultExpandedKeys = store.defaultExpandedKeys;
470
- var key = store.key;
471
- if (key && defaultExpandedKeys && defaultExpandedKeys.indexOf(this.key) !== -1) {
472
- this.expand(null, store.autoExpandParent);
473
- }
474
-
475
- if (key && store.currentNodeKey !== undefined && this.key === store.currentNodeKey) {
476
- store.currentNode = this;
477
- store.currentNode.isCurrent = true;
478
- }
479
-
480
- if (store.lazy) {
481
- store._initDefaultCheckedNode(this);
482
- }
483
-
484
- this.updateLeafState();
485
- }
486
-
487
- Node.prototype.setData = function setData(data) {
488
- if (!Array.isArray(data)) {
489
- markNodeData(this, data);
490
- }
491
-
492
- this.data = data;
493
- this.childNodes = [];
494
-
495
- var children = void 0;
496
- if (this.level === 0 && this.data instanceof Array) {
497
- children = this.data;
498
- } else {
499
- children = getPropertyFromData(this, 'children') || [];
500
- }
501
-
502
- for (var i = 0, j = children.length; i < j; i++) {
503
- this.insertChild({ data: children[i] });
504
- }
505
- };
506
-
507
- Node.prototype.contains = function contains(target) {
508
- var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
509
-
510
- var walk = function walk(parent) {
511
- var children = parent.childNodes || [];
512
- var result = false;
513
- for (var i = 0, j = children.length; i < j; i++) {
514
- var child = children[i];
515
- if (child === target || deep && walk(child)) {
516
- result = true;
517
- break;
518
- }
519
- }
520
- return result;
521
- };
522
-
523
- return walk(this);
524
- };
525
-
526
- Node.prototype.remove = function remove() {
527
- var parent = this.parent;
528
- if (parent) {
529
- parent.removeChild(this);
530
- }
531
- };
532
-
533
- Node.prototype.insertChild = function insertChild(child, index, batch) {
534
- if (!child) throw new Error('insertChild error: child is required.');
535
-
536
- if (!(child instanceof Node)) {
537
- if (!batch) {
538
- var children = this.getChildren(true) || [];
539
- if (children.indexOf(child.data) === -1) {
540
- if (typeof index === 'undefined' || index < 0) {
541
- children.push(child.data);
542
- } else {
543
- children.splice(index, 0, child.data);
544
- }
545
- }
546
- }
547
- merge_default()(child, {
548
- parent: this,
549
- store: this.store
550
- });
551
- child = new Node(child);
552
- }
553
-
554
- child.level = this.level + 1;
555
-
556
- if (typeof index === 'undefined' || index < 0) {
557
- this.childNodes.push(child);
558
- } else {
559
- this.childNodes.splice(index, 0, child);
560
- }
561
-
562
- this.updateLeafState();
563
- };
564
-
565
- Node.prototype.insertBefore = function insertBefore(child, ref) {
566
- var index = void 0;
567
- if (ref) {
568
- index = this.childNodes.indexOf(ref);
569
- }
570
- this.insertChild(child, index);
571
- };
572
-
573
- Node.prototype.insertAfter = function insertAfter(child, ref) {
574
- var index = void 0;
575
- if (ref) {
576
- index = this.childNodes.indexOf(ref);
577
- if (index !== -1) index += 1;
578
- }
579
- this.insertChild(child, index);
580
- };
581
-
582
- Node.prototype.removeChild = function removeChild(child) {
583
- var children = this.getChildren() || [];
584
- var dataIndex = children.indexOf(child.data);
585
- if (dataIndex > -1) {
586
- children.splice(dataIndex, 1);
587
- }
588
-
589
- var index = this.childNodes.indexOf(child);
590
-
591
- if (index > -1) {
592
- this.store && this.store.deregisterNode(child);
593
- child.parent = null;
594
- this.childNodes.splice(index, 1);
595
- }
596
-
597
- this.updateLeafState();
598
- };
599
-
600
- Node.prototype.removeChildByData = function removeChildByData(data) {
601
- var targetNode = null;
602
-
603
- for (var i = 0; i < this.childNodes.length; i++) {
604
- if (this.childNodes[i].data === data) {
605
- targetNode = this.childNodes[i];
606
- break;
607
- }
608
- }
609
-
610
- if (targetNode) {
611
- this.removeChild(targetNode);
612
- }
613
- };
614
-
615
- Node.prototype.expand = function expand(callback, expandParent) {
616
- var _this = this;
617
-
618
- var done = function done() {
619
- if (expandParent) {
620
- var parent = _this.parent;
621
- while (parent.level > 0) {
622
- parent.expanded = true;
623
- parent = parent.parent;
624
- }
625
- }
626
- _this.expanded = true;
627
- if (callback) callback();
628
- };
629
-
630
- if (this.shouldLoadData()) {
631
- this.loadData(function (data) {
632
- if (data instanceof Array) {
633
- if (_this.checked) {
634
- _this.setChecked(true, true);
635
- } else if (!_this.store.checkStrictly) {
636
- reInitChecked(_this);
637
- }
638
- done();
639
- }
640
- });
641
- } else {
642
- done();
643
- }
644
- };
645
-
646
- Node.prototype.doCreateChildren = function doCreateChildren(array) {
647
- var _this2 = this;
648
-
649
- var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
650
-
651
- array.forEach(function (item) {
652
- _this2.insertChild(merge_default()({ data: item }, defaultProps), undefined, true);
653
- });
654
- };
655
-
656
- Node.prototype.collapse = function collapse() {
657
- this.expanded = false;
658
- };
659
-
660
- Node.prototype.shouldLoadData = function shouldLoadData() {
661
- return this.store.lazy === true && this.store.load && !this.loaded;
662
- };
663
-
664
- Node.prototype.updateLeafState = function updateLeafState() {
665
- if (this.store.lazy === true && this.loaded !== true && typeof this.isLeafByUser !== 'undefined') {
666
- this.isLeaf = this.isLeafByUser;
667
- return;
668
- }
669
- var childNodes = this.childNodes;
670
- if (!this.store.lazy || this.store.lazy === true && this.loaded === true) {
671
- this.isLeaf = !childNodes || childNodes.length === 0;
672
- return;
673
- }
674
- this.isLeaf = false;
675
- };
676
-
677
- Node.prototype.setChecked = function setChecked(value, deep, recursion, passValue) {
678
- var _this3 = this;
679
-
680
- this.indeterminate = value === 'half';
681
- this.checked = value === true;
682
-
683
- if (this.store.checkStrictly) return;
684
-
685
- if (!(this.shouldLoadData() && !this.store.checkDescendants)) {
686
- var _getChildState2 = getChildState(this.childNodes),
687
- all = _getChildState2.all,
688
- allWithoutDisable = _getChildState2.allWithoutDisable;
689
-
690
- if (!this.isLeaf && !all && allWithoutDisable) {
691
- this.checked = false;
692
- value = false;
693
- }
694
-
695
- var handleDescendants = function handleDescendants() {
696
- if (deep) {
697
- var childNodes = _this3.childNodes;
698
- for (var i = 0, j = childNodes.length; i < j; i++) {
699
- var child = childNodes[i];
700
- passValue = passValue || value !== false;
701
- var isCheck = child.disabled ? child.checked : passValue;
702
- child.setChecked(isCheck, deep, true, passValue);
703
- }
704
-
705
- var _getChildState3 = getChildState(childNodes),
706
- half = _getChildState3.half,
707
- _all = _getChildState3.all;
708
-
709
- if (!_all) {
710
- _this3.checked = _all;
711
- _this3.indeterminate = half;
712
- }
713
- }
714
- };
715
-
716
- if (this.shouldLoadData()) {
717
- // Only work on lazy load data.
718
- this.loadData(function () {
719
- handleDescendants();
720
- reInitChecked(_this3);
721
- }, {
722
- checked: value !== false
723
- });
724
- return;
725
- } else {
726
- handleDescendants();
727
- }
728
- }
729
-
730
- var parent = this.parent;
731
- if (!parent || parent.level === 0) return;
732
-
733
- if (!recursion) {
734
- reInitChecked(parent);
735
- }
736
- };
737
-
738
- Node.prototype.getChildren = function getChildren() {
739
- var forceInit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
740
- // this is data
741
- if (this.level === 0) return this.data;
742
- var data = this.data;
743
- if (!data) return null;
744
-
745
- var props = this.store.props;
746
- var children = 'children';
747
- if (props) {
748
- children = props.children || 'children';
749
- }
750
-
751
- if (data[children] === undefined) {
752
- data[children] = null;
753
- }
754
-
755
- if (forceInit && !data[children]) {
756
- data[children] = [];
757
- }
758
-
759
- return data[children];
760
- };
761
-
762
- Node.prototype.updateChildren = function updateChildren() {
763
- var _this4 = this;
764
-
765
- var newData = this.getChildren() || [];
766
- var oldData = this.childNodes.map(function (node) {
767
- return node.data;
768
- });
769
-
770
- var newDataMap = {};
771
- var newNodes = [];
772
-
773
- newData.forEach(function (item, index) {
774
- var key = item[NODE_KEY];
775
- var isNodeExists = !!key && Object(util_["arrayFindIndex"])(oldData, function (data) {
776
- return data[NODE_KEY] === key;
777
- }) >= 0;
778
- if (isNodeExists) {
779
- newDataMap[key] = { index: index, data: item };
780
- } else {
781
- newNodes.push({ index: index, data: item });
782
- }
783
- });
784
-
785
- if (!this.store.lazy) {
786
- oldData.forEach(function (item) {
787
- if (!newDataMap[item[NODE_KEY]]) _this4.removeChildByData(item);
788
- });
789
- }
790
-
791
- newNodes.forEach(function (_ref) {
792
- var index = _ref.index,
793
- data = _ref.data;
794
-
795
- _this4.insertChild({ data: data }, index);
796
- });
797
-
798
- this.updateLeafState();
799
- };
800
-
801
- Node.prototype.loadData = function loadData(callback) {
802
- var _this5 = this;
803
-
804
- var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
805
-
806
- if (this.store.lazy === true && this.store.load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) {
807
- this.loading = true;
808
-
809
- var resolve = function resolve(children) {
810
- _this5.childNodes = [];
811
-
812
- _this5.doCreateChildren(children, defaultProps);
813
- _this5.loaded = true;
814
- _this5.loading = false;
815
- _this5.updateLeafState();
816
- if (callback) {
817
- callback.call(_this5, children);
818
- }
819
- };
820
-
821
- this.store.load(this, resolve);
822
- } else {
823
- if (callback) {
824
- callback.call(this);
825
- }
826
- }
827
- };
828
-
829
- _createClass(Node, [{
830
- key: 'label',
831
- get: function get() {
832
- return getPropertyFromData(this, 'label');
833
- }
834
- }, {
835
- key: 'key',
836
- get: function get() {
837
- var nodeKey = this.store.key;
838
- if (this.data) return this.data[nodeKey];
839
- return null;
840
- }
841
- }, {
842
- key: 'disabled',
843
- get: function get() {
844
- return getPropertyFromData(this, 'disabled');
845
- }
846
- }, {
847
- key: 'nextSibling',
848
- get: function get() {
849
- var parent = this.parent;
850
- if (parent) {
851
- var index = parent.childNodes.indexOf(this);
852
- if (index > -1) {
853
- return parent.childNodes[index + 1];
854
- }
855
- }
856
- return null;
857
- }
858
- }, {
859
- key: 'previousSibling',
860
- get: function get() {
861
- var parent = this.parent;
862
- if (parent) {
863
- var index = parent.childNodes.indexOf(this);
864
- if (index > -1) {
865
- return index > 0 ? parent.childNodes[index - 1] : null;
866
- }
867
- }
868
- return null;
869
- }
870
- }]);
871
-
872
- return Node;
413
+ function Node(options) {
414
+ _classCallCheck(this, Node);
415
+
416
+ this.id = nodeIdSeed++;
417
+ this.text = null;
418
+ this.checked = false;
419
+ this.indeterminate = false;
420
+ this.data = null;
421
+ this.expanded = false;
422
+ this.parent = null;
423
+ this.visible = true;
424
+ this.isCurrent = false;
425
+
426
+ for (var name in options) {
427
+ if (options.hasOwnProperty(name)) {
428
+ this[name] = options[name];
429
+ }
430
+ }
431
+
432
+ // internal
433
+ this.level = 0;
434
+ this.loaded = false;
435
+ this.childNodes = [];
436
+ this.loading = false;
437
+
438
+ if (this.parent) {
439
+ this.level = this.parent.level + 1;
440
+ }
441
+
442
+ var store = this.store;
443
+ if (!store) {
444
+ throw new Error('[Node]store is required!');
445
+ }
446
+ store.registerNode(this);
447
+
448
+ var props = store.props;
449
+ if (props && typeof props.isLeaf !== 'undefined') {
450
+ var isLeaf = getPropertyFromData(this, 'isLeaf');
451
+ if (typeof isLeaf === 'boolean') {
452
+ this.isLeafByUser = isLeaf;
453
+ }
454
+ }
455
+
456
+ if (store.lazy !== true && this.data) {
457
+ this.setData(this.data);
458
+
459
+ if (store.defaultExpandAll) {
460
+ this.expanded = true;
461
+ }
462
+ } else if (this.level > 0 && store.lazy && store.defaultExpandAll) {
463
+ this.expand();
464
+ }
465
+ if (!Array.isArray(this.data)) {
466
+ markNodeData(this, this.data);
467
+ }
468
+ if (!this.data) return;
469
+ var defaultExpandedKeys = store.defaultExpandedKeys;
470
+ var key = store.key;
471
+ if (key && defaultExpandedKeys && defaultExpandedKeys.indexOf(this.key) !== -1) {
472
+ this.expand(null, store.autoExpandParent);
473
+ }
474
+
475
+ if (key && store.currentNodeKey !== undefined && this.key === store.currentNodeKey) {
476
+ store.currentNode = this;
477
+ store.currentNode.isCurrent = true;
478
+ }
479
+
480
+ if (store.lazy) {
481
+ store._initDefaultCheckedNode(this);
482
+ }
483
+
484
+ this.updateLeafState();
485
+ }
486
+
487
+ Node.prototype.setData = function setData(data) {
488
+ if (!Array.isArray(data)) {
489
+ markNodeData(this, data);
490
+ }
491
+
492
+ this.data = data;
493
+ this.childNodes = [];
494
+
495
+ var children = void 0;
496
+ if (this.level === 0 && this.data instanceof Array) {
497
+ children = this.data;
498
+ } else {
499
+ children = getPropertyFromData(this, 'children') || [];
500
+ }
501
+
502
+ for (var i = 0, j = children.length; i < j; i++) {
503
+ this.insertChild({ data: children[i] });
504
+ }
505
+ };
506
+
507
+ Node.prototype.contains = function contains(target) {
508
+ var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
509
+
510
+ var walk = function walk(parent) {
511
+ var children = parent.childNodes || [];
512
+ var result = false;
513
+ for (var i = 0, j = children.length; i < j; i++) {
514
+ var child = children[i];
515
+ if (child === target || deep && walk(child)) {
516
+ result = true;
517
+ break;
518
+ }
519
+ }
520
+ return result;
521
+ };
522
+
523
+ return walk(this);
524
+ };
525
+
526
+ Node.prototype.remove = function remove() {
527
+ var parent = this.parent;
528
+ if (parent) {
529
+ parent.removeChild(this);
530
+ }
531
+ };
532
+
533
+ Node.prototype.insertChild = function insertChild(child, index, batch) {
534
+ if (!child) throw new Error('insertChild error: child is required.');
535
+
536
+ if (!(child instanceof Node)) {
537
+ if (!batch) {
538
+ var children = this.getChildren(true) || [];
539
+ if (children.indexOf(child.data) === -1) {
540
+ if (typeof index === 'undefined' || index < 0) {
541
+ children.push(child.data);
542
+ } else {
543
+ children.splice(index, 0, child.data);
544
+ }
545
+ }
546
+ }
547
+ merge_default()(child, {
548
+ parent: this,
549
+ store: this.store
550
+ });
551
+ child = new Node(child);
552
+ }
553
+
554
+ child.level = this.level + 1;
555
+
556
+ if (typeof index === 'undefined' || index < 0) {
557
+ this.childNodes.push(child);
558
+ } else {
559
+ this.childNodes.splice(index, 0, child);
560
+ }
561
+
562
+ this.updateLeafState();
563
+ };
564
+
565
+ Node.prototype.insertBefore = function insertBefore(child, ref) {
566
+ var index = void 0;
567
+ if (ref) {
568
+ index = this.childNodes.indexOf(ref);
569
+ }
570
+ this.insertChild(child, index);
571
+ };
572
+
573
+ Node.prototype.insertAfter = function insertAfter(child, ref) {
574
+ var index = void 0;
575
+ if (ref) {
576
+ index = this.childNodes.indexOf(ref);
577
+ if (index !== -1) index += 1;
578
+ }
579
+ this.insertChild(child, index);
580
+ };
581
+
582
+ Node.prototype.removeChild = function removeChild(child) {
583
+ var children = this.getChildren() || [];
584
+ var dataIndex = children.indexOf(child.data);
585
+ if (dataIndex > -1) {
586
+ children.splice(dataIndex, 1);
587
+ }
588
+
589
+ var index = this.childNodes.indexOf(child);
590
+
591
+ if (index > -1) {
592
+ this.store && this.store.deregisterNode(child);
593
+ child.parent = null;
594
+ this.childNodes.splice(index, 1);
595
+ }
596
+
597
+ this.updateLeafState();
598
+ };
599
+
600
+ Node.prototype.removeChildByData = function removeChildByData(data) {
601
+ var targetNode = null;
602
+
603
+ for (var i = 0; i < this.childNodes.length; i++) {
604
+ if (this.childNodes[i].data === data) {
605
+ targetNode = this.childNodes[i];
606
+ break;
607
+ }
608
+ }
609
+
610
+ if (targetNode) {
611
+ this.removeChild(targetNode);
612
+ }
613
+ };
614
+
615
+ Node.prototype.expand = function expand(callback, expandParent) {
616
+ var _this = this;
617
+
618
+ var done = function done() {
619
+ if (expandParent) {
620
+ var parent = _this.parent;
621
+ while (parent.level > 0) {
622
+ parent.expanded = true;
623
+ parent = parent.parent;
624
+ }
625
+ }
626
+ _this.expanded = true;
627
+ if (callback) callback();
628
+ };
629
+
630
+ if (this.shouldLoadData()) {
631
+ this.loadData(function (data) {
632
+ if (data instanceof Array) {
633
+ if (_this.checked) {
634
+ _this.setChecked(true, true);
635
+ } else if (!_this.store.checkStrictly) {
636
+ reInitChecked(_this);
637
+ }
638
+ done();
639
+ }
640
+ });
641
+ } else {
642
+ done();
643
+ }
644
+ };
645
+
646
+ Node.prototype.doCreateChildren = function doCreateChildren(array) {
647
+ var _this2 = this;
648
+
649
+ var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
650
+
651
+ array.forEach(function (item) {
652
+ _this2.insertChild(merge_default()({ data: item }, defaultProps), undefined, true);
653
+ });
654
+ };
655
+
656
+ Node.prototype.collapse = function collapse() {
657
+ this.expanded = false;
658
+ };
659
+
660
+ Node.prototype.shouldLoadData = function shouldLoadData() {
661
+ return this.store.lazy === true && this.store.load && !this.loaded;
662
+ };
663
+
664
+ Node.prototype.updateLeafState = function updateLeafState() {
665
+ if (this.store.lazy === true && this.loaded !== true && typeof this.isLeafByUser !== 'undefined') {
666
+ this.isLeaf = this.isLeafByUser;
667
+ return;
668
+ }
669
+ var childNodes = this.childNodes;
670
+ if (!this.store.lazy || this.store.lazy === true && this.loaded === true) {
671
+ this.isLeaf = !childNodes || childNodes.length === 0;
672
+ return;
673
+ }
674
+ this.isLeaf = false;
675
+ };
676
+
677
+ Node.prototype.setChecked = function setChecked(value, deep, recursion, passValue) {
678
+ var _this3 = this;
679
+
680
+ this.indeterminate = value === 'half';
681
+ this.checked = value === true;
682
+
683
+ if (this.store.checkStrictly) return;
684
+
685
+ if (!(this.shouldLoadData() && !this.store.checkDescendants)) {
686
+ var _getChildState2 = getChildState(this.childNodes),
687
+ all = _getChildState2.all,
688
+ allWithoutDisable = _getChildState2.allWithoutDisable;
689
+
690
+ if (!this.isLeaf && !all && allWithoutDisable) {
691
+ this.checked = false;
692
+ value = false;
693
+ }
694
+
695
+ var handleDescendants = function handleDescendants() {
696
+ if (deep) {
697
+ var childNodes = _this3.childNodes;
698
+ for (var i = 0, j = childNodes.length; i < j; i++) {
699
+ var child = childNodes[i];
700
+ passValue = passValue || value !== false;
701
+ var isCheck = child.disabled ? child.checked : passValue;
702
+ child.setChecked(isCheck, deep, true, passValue);
703
+ }
704
+
705
+ var _getChildState3 = getChildState(childNodes),
706
+ half = _getChildState3.half,
707
+ _all = _getChildState3.all;
708
+
709
+ if (!_all) {
710
+ _this3.checked = _all;
711
+ _this3.indeterminate = half;
712
+ }
713
+ }
714
+ };
715
+
716
+ if (this.shouldLoadData()) {
717
+ // Only work on lazy load data.
718
+ this.loadData(function () {
719
+ handleDescendants();
720
+ reInitChecked(_this3);
721
+ }, {
722
+ checked: value !== false
723
+ });
724
+ return;
725
+ } else {
726
+ handleDescendants();
727
+ }
728
+ }
729
+
730
+ var parent = this.parent;
731
+ if (!parent || parent.level === 0) return;
732
+
733
+ if (!recursion) {
734
+ reInitChecked(parent);
735
+ }
736
+ };
737
+
738
+ Node.prototype.getChildren = function getChildren() {
739
+ var forceInit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
740
+ // this is data
741
+ if (this.level === 0) return this.data;
742
+ var data = this.data;
743
+ if (!data) return null;
744
+
745
+ var props = this.store.props;
746
+ var children = 'children';
747
+ if (props) {
748
+ children = props.children || 'children';
749
+ }
750
+
751
+ if (data[children] === undefined) {
752
+ data[children] = null;
753
+ }
754
+
755
+ if (forceInit && !data[children]) {
756
+ data[children] = [];
757
+ }
758
+
759
+ return data[children];
760
+ };
761
+
762
+ Node.prototype.updateChildren = function updateChildren() {
763
+ var _this4 = this;
764
+
765
+ var newData = this.getChildren() || [];
766
+ var oldData = this.childNodes.map(function (node) {
767
+ return node.data;
768
+ });
769
+
770
+ var newDataMap = {};
771
+ var newNodes = [];
772
+
773
+ newData.forEach(function (item, index) {
774
+ var key = item[NODE_KEY];
775
+ var isNodeExists = !!key && Object(util_["arrayFindIndex"])(oldData, function (data) {
776
+ return data[NODE_KEY] === key;
777
+ }) >= 0;
778
+ if (isNodeExists) {
779
+ newDataMap[key] = { index: index, data: item };
780
+ } else {
781
+ newNodes.push({ index: index, data: item });
782
+ }
783
+ });
784
+
785
+ if (!this.store.lazy) {
786
+ oldData.forEach(function (item) {
787
+ if (!newDataMap[item[NODE_KEY]]) _this4.removeChildByData(item);
788
+ });
789
+ }
790
+
791
+ newNodes.forEach(function (_ref) {
792
+ var index = _ref.index,
793
+ data = _ref.data;
794
+
795
+ _this4.insertChild({ data: data }, index);
796
+ });
797
+
798
+ this.updateLeafState();
799
+ };
800
+
801
+ Node.prototype.loadData = function loadData(callback) {
802
+ var _this5 = this;
803
+
804
+ var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
805
+
806
+ if (this.store.lazy === true && this.store.load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) {
807
+ this.loading = true;
808
+
809
+ var resolve = function resolve(children) {
810
+ _this5.childNodes = [];
811
+
812
+ _this5.doCreateChildren(children, defaultProps);
813
+ _this5.loaded = true;
814
+ _this5.loading = false;
815
+ _this5.updateLeafState();
816
+ if (callback) {
817
+ callback.call(_this5, children);
818
+ }
819
+ };
820
+
821
+ this.store.load(this, resolve);
822
+ } else {
823
+ if (callback) {
824
+ callback.call(this);
825
+ }
826
+ }
827
+ };
828
+
829
+ _createClass(Node, [{
830
+ key: 'label',
831
+ get: function get() {
832
+ return getPropertyFromData(this, 'label');
833
+ }
834
+ }, {
835
+ key: 'key',
836
+ get: function get() {
837
+ var nodeKey = this.store.key;
838
+ if (this.data) return this.data[nodeKey];
839
+ return null;
840
+ }
841
+ }, {
842
+ key: 'disabled',
843
+ get: function get() {
844
+ return getPropertyFromData(this, 'disabled');
845
+ }
846
+ }, {
847
+ key: 'nextSibling',
848
+ get: function get() {
849
+ var parent = this.parent;
850
+ if (parent) {
851
+ var index = parent.childNodes.indexOf(this);
852
+ if (index > -1) {
853
+ return parent.childNodes[index + 1];
854
+ }
855
+ }
856
+ return null;
857
+ }
858
+ }, {
859
+ key: 'previousSibling',
860
+ get: function get() {
861
+ var parent = this.parent;
862
+ if (parent) {
863
+ var index = parent.childNodes.indexOf(this);
864
+ if (index > -1) {
865
+ return index > 0 ? parent.childNodes[index - 1] : null;
866
+ }
867
+ }
868
+ return null;
869
+ }
870
+ }]);
871
+
872
+ return Node;
873
873
  }();
874
874
 
875
875
  /* harmony default export */ var model_node = (node_Node);
@@ -882,387 +882,387 @@ function tree_store_classCallCheck(instance, Constructor) { if (!(instance insta
882
882
 
883
883
 
884
884
  var tree_store_TreeStore = function () {
885
- function TreeStore(options) {
886
- var _this = this;
887
-
888
- tree_store_classCallCheck(this, TreeStore);
889
-
890
- this.currentNode = null;
891
- this.currentNodeKey = null;
892
-
893
- for (var option in options) {
894
- if (options.hasOwnProperty(option)) {
895
- this[option] = options[option];
896
- }
897
- }
898
-
899
- this.nodesMap = {};
900
-
901
- this.root = new model_node({
902
- data: this.data,
903
- store: this
904
- });
905
-
906
- if (this.lazy && this.load) {
907
- var loadFn = this.load;
908
- loadFn(this.root, function (data) {
909
- _this.root.doCreateChildren(data);
910
- _this._initDefaultCheckedNodes();
911
- });
912
- } else {
913
- this._initDefaultCheckedNodes();
914
- }
915
- }
916
-
917
- TreeStore.prototype.filter = function filter(value) {
918
- var filterNodeMethod = this.filterNodeMethod;
919
- var lazy = this.lazy;
920
- var traverse = function traverse(node) {
921
- var childNodes = node.root ? node.root.childNodes : node.childNodes;
922
-
923
- childNodes.forEach(function (child) {
924
- child.visible = filterNodeMethod.call(child, value, child.data, child);
925
-
926
- traverse(child);
927
- });
928
-
929
- if (!node.visible && childNodes.length) {
930
- var allHidden = true;
931
- allHidden = !childNodes.some(function (child) {
932
- return child.visible;
933
- });
934
-
935
- if (node.root) {
936
- node.root.visible = allHidden === false;
937
- } else {
938
- node.visible = allHidden === false;
939
- }
940
- }
941
- if (!value) return;
942
-
943
- if (node.visible && !node.isLeaf && !lazy) node.expand();
944
- };
945
-
946
- traverse(this);
947
- };
948
-
949
- TreeStore.prototype.setData = function setData(newVal) {
950
- var instanceChanged = newVal !== this.root.data;
951
- if (instanceChanged) {
952
- this.root.setData(newVal);
953
- this._initDefaultCheckedNodes();
954
- } else {
955
- this.root.updateChildren();
956
- }
957
- };
958
-
959
- TreeStore.prototype.getNode = function getNode(data) {
960
- if (data instanceof model_node) return data;
961
- var key = (typeof data === 'undefined' ? 'undefined' : _typeof(data)) !== 'object' ? data : util_getNodeKey(this.key, data);
962
- return this.nodesMap[key] || null;
963
- };
964
-
965
- TreeStore.prototype.insertBefore = function insertBefore(data, refData) {
966
- var refNode = this.getNode(refData);
967
- refNode.parent.insertBefore({ data: data }, refNode);
968
- };
969
-
970
- TreeStore.prototype.insertAfter = function insertAfter(data, refData) {
971
- var refNode = this.getNode(refData);
972
- refNode.parent.insertAfter({ data: data }, refNode);
973
- };
974
-
975
- TreeStore.prototype.remove = function remove(data) {
976
- var node = this.getNode(data);
977
-
978
- if (node && node.parent) {
979
- if (node === this.currentNode) {
980
- this.currentNode = null;
981
- }
982
- node.parent.removeChild(node);
983
- }
984
- };
985
-
986
- TreeStore.prototype.append = function append(data, parentData) {
987
- var parentNode = parentData ? this.getNode(parentData) : this.root;
988
-
989
- if (parentNode) {
990
- parentNode.insertChild({ data: data });
991
- }
992
- };
993
-
994
- TreeStore.prototype._initDefaultCheckedNodes = function _initDefaultCheckedNodes() {
995
- var _this2 = this;
996
-
997
- var defaultCheckedKeys = this.defaultCheckedKeys || [];
998
- var nodesMap = this.nodesMap;
999
-
1000
- defaultCheckedKeys.forEach(function (checkedKey) {
1001
- var node = nodesMap[checkedKey];
1002
-
1003
- if (node) {
1004
- node.setChecked(true, !_this2.checkStrictly);
1005
- }
1006
- });
1007
- };
1008
-
1009
- TreeStore.prototype._initDefaultCheckedNode = function _initDefaultCheckedNode(node) {
1010
- var defaultCheckedKeys = this.defaultCheckedKeys || [];
1011
-
1012
- if (defaultCheckedKeys.indexOf(node.key) !== -1) {
1013
- node.setChecked(true, !this.checkStrictly);
1014
- }
1015
- };
1016
-
1017
- TreeStore.prototype.setDefaultCheckedKey = function setDefaultCheckedKey(newVal) {
1018
- if (newVal !== this.defaultCheckedKeys) {
1019
- this.defaultCheckedKeys = newVal;
1020
- this._initDefaultCheckedNodes();
1021
- }
1022
- };
1023
-
1024
- TreeStore.prototype.registerNode = function registerNode(node) {
1025
- var key = this.key;
1026
- if (!key || !node || !node.data) return;
1027
-
1028
- var nodeKey = node.key;
1029
- if (nodeKey !== undefined) this.nodesMap[node.key] = node;
1030
- };
1031
-
1032
- TreeStore.prototype.deregisterNode = function deregisterNode(node) {
1033
- var _this3 = this;
1034
-
1035
- var key = this.key;
1036
- if (!key || !node || !node.data) return;
1037
-
1038
- node.childNodes.forEach(function (child) {
1039
- _this3.deregisterNode(child);
1040
- });
1041
-
1042
- delete this.nodesMap[node.key];
1043
- };
1044
-
1045
- TreeStore.prototype.getCheckedNodes = function getCheckedNodes() {
1046
- var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1047
- var includeHalfChecked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1048
-
1049
- var checkedNodes = [];
1050
- var traverse = function traverse(node) {
1051
- var childNodes = node.root ? node.root.childNodes : node.childNodes;
1052
-
1053
- childNodes.forEach(function (child) {
1054
- if ((child.checked || includeHalfChecked && child.indeterminate) && (!leafOnly || leafOnly && child.isLeaf)) {
1055
- checkedNodes.push(child.data);
1056
- }
1057
-
1058
- traverse(child);
1059
- });
1060
- };
1061
-
1062
- traverse(this);
1063
-
1064
- return checkedNodes;
1065
- };
1066
-
1067
- TreeStore.prototype.getCheckedKeys = function getCheckedKeys() {
1068
- var _this4 = this;
1069
-
1070
- var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1071
-
1072
- return this.getCheckedNodes(leafOnly).map(function (data) {
1073
- return (data || {})[_this4.key];
1074
- });
1075
- };
1076
-
1077
- TreeStore.prototype.getHalfCheckedNodes = function getHalfCheckedNodes() {
1078
- var nodes = [];
1079
- var traverse = function traverse(node) {
1080
- var childNodes = node.root ? node.root.childNodes : node.childNodes;
1081
-
1082
- childNodes.forEach(function (child) {
1083
- if (child.indeterminate) {
1084
- nodes.push(child.data);
1085
- }
1086
-
1087
- traverse(child);
1088
- });
1089
- };
1090
-
1091
- traverse(this);
1092
-
1093
- return nodes;
1094
- };
1095
-
1096
- TreeStore.prototype.getHalfCheckedKeys = function getHalfCheckedKeys() {
1097
- var _this5 = this;
1098
-
1099
- return this.getHalfCheckedNodes().map(function (data) {
1100
- return (data || {})[_this5.key];
1101
- });
1102
- };
1103
-
1104
- TreeStore.prototype._getAllNodes = function _getAllNodes() {
1105
- var allNodes = [];
1106
- var nodesMap = this.nodesMap;
1107
- for (var nodeKey in nodesMap) {
1108
- if (nodesMap.hasOwnProperty(nodeKey)) {
1109
- allNodes.push(nodesMap[nodeKey]);
1110
- }
1111
- }
1112
-
1113
- return allNodes;
1114
- };
1115
-
1116
- TreeStore.prototype.updateChildren = function updateChildren(key, data) {
1117
- var node = this.nodesMap[key];
1118
- if (!node) return;
1119
- var childNodes = node.childNodes;
1120
- for (var i = childNodes.length - 1; i >= 0; i--) {
1121
- var child = childNodes[i];
1122
- this.remove(child.data);
1123
- }
1124
- for (var _i = 0, j = data.length; _i < j; _i++) {
1125
- var _child = data[_i];
1126
- this.append(_child, node.data);
1127
- }
1128
- };
1129
-
1130
- TreeStore.prototype._setCheckedKeys = function _setCheckedKeys(key) {
1131
- var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1132
- var checkedKeys = arguments[2];
1133
-
1134
- var allNodes = this._getAllNodes().sort(function (a, b) {
1135
- return b.level - a.level;
1136
- });
1137
- var cache = Object.create(null);
1138
- var keys = Object.keys(checkedKeys);
1139
- allNodes.forEach(function (node) {
1140
- return node.setChecked(false, false);
1141
- });
1142
- for (var i = 0, j = allNodes.length; i < j; i++) {
1143
- var node = allNodes[i];
1144
- var nodeKey = node.data[key].toString();
1145
- var checked = keys.indexOf(nodeKey) > -1;
1146
- if (!checked) {
1147
- if (node.checked && !cache[nodeKey]) {
1148
- node.setChecked(false, false);
1149
- }
1150
- continue;
1151
- }
1152
-
1153
- var parent = node.parent;
1154
- while (parent && parent.level > 0) {
1155
- cache[parent.data[key]] = true;
1156
- parent = parent.parent;
1157
- }
1158
-
1159
- if (node.isLeaf || this.checkStrictly) {
1160
- node.setChecked(true, false);
1161
- continue;
1162
- }
1163
- node.setChecked(true, true);
1164
-
1165
- if (leafOnly) {
1166
- (function () {
1167
- node.setChecked(false, false);
1168
- var traverse = function traverse(node) {
1169
- var childNodes = node.childNodes;
1170
- childNodes.forEach(function (child) {
1171
- if (!child.isLeaf) {
1172
- child.setChecked(false, false);
1173
- }
1174
- traverse(child);
1175
- });
1176
- };
1177
- traverse(node);
1178
- })();
1179
- }
1180
- }
1181
- };
1182
-
1183
- TreeStore.prototype.setCheckedNodes = function setCheckedNodes(array) {
1184
- var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1185
-
1186
- var key = this.key;
1187
- var checkedKeys = {};
1188
- array.forEach(function (item) {
1189
- checkedKeys[(item || {})[key]] = true;
1190
- });
1191
-
1192
- this._setCheckedKeys(key, leafOnly, checkedKeys);
1193
- };
1194
-
1195
- TreeStore.prototype.setCheckedKeys = function setCheckedKeys(keys) {
1196
- var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1197
-
1198
- this.defaultCheckedKeys = keys;
1199
- var key = this.key;
1200
- var checkedKeys = {};
1201
- keys.forEach(function (key) {
1202
- checkedKeys[key] = true;
1203
- });
1204
-
1205
- this._setCheckedKeys(key, leafOnly, checkedKeys);
1206
- };
1207
-
1208
- TreeStore.prototype.setDefaultExpandedKeys = function setDefaultExpandedKeys(keys) {
1209
- var _this6 = this;
1210
-
1211
- keys = keys || [];
1212
- this.defaultExpandedKeys = keys;
1213
-
1214
- keys.forEach(function (key) {
1215
- var node = _this6.getNode(key);
1216
- if (node) node.expand(null, _this6.autoExpandParent);
1217
- });
1218
- };
1219
-
1220
- TreeStore.prototype.setChecked = function setChecked(data, checked, deep) {
1221
- var node = this.getNode(data);
1222
-
1223
- if (node) {
1224
- node.setChecked(!!checked, deep);
1225
- }
1226
- };
1227
-
1228
- TreeStore.prototype.getCurrentNode = function getCurrentNode() {
1229
- return this.currentNode;
1230
- };
1231
-
1232
- TreeStore.prototype.setCurrentNode = function setCurrentNode(currentNode) {
1233
- var prevCurrentNode = this.currentNode;
1234
- if (prevCurrentNode) {
1235
- prevCurrentNode.isCurrent = false;
1236
- }
1237
- this.currentNode = currentNode;
1238
- this.currentNode.isCurrent = true;
1239
- };
1240
-
1241
- TreeStore.prototype.setUserCurrentNode = function setUserCurrentNode(node) {
1242
- var key = node[this.key];
1243
- var currNode = this.nodesMap[key];
1244
- this.setCurrentNode(currNode);
1245
- };
1246
-
1247
- TreeStore.prototype.setCurrentNodeKey = function setCurrentNodeKey(key) {
1248
- if (key === null || key === undefined) {
1249
- this.currentNode && (this.currentNode.isCurrent = false);
1250
- this.currentNode = null;
1251
- return;
1252
- }
1253
- var node = this.getNode(key);
1254
- if (node) {
1255
- this.setCurrentNode(node);
1256
- }
1257
- };
1258
-
1259
- return TreeStore;
885
+ function TreeStore(options) {
886
+ var _this = this;
887
+
888
+ tree_store_classCallCheck(this, TreeStore);
889
+
890
+ this.currentNode = null;
891
+ this.currentNodeKey = null;
892
+
893
+ for (var option in options) {
894
+ if (options.hasOwnProperty(option)) {
895
+ this[option] = options[option];
896
+ }
897
+ }
898
+
899
+ this.nodesMap = {};
900
+
901
+ this.root = new model_node({
902
+ data: this.data,
903
+ store: this
904
+ });
905
+
906
+ if (this.lazy && this.load) {
907
+ var loadFn = this.load;
908
+ loadFn(this.root, function (data) {
909
+ _this.root.doCreateChildren(data);
910
+ _this._initDefaultCheckedNodes();
911
+ });
912
+ } else {
913
+ this._initDefaultCheckedNodes();
914
+ }
915
+ }
916
+
917
+ TreeStore.prototype.filter = function filter(value) {
918
+ var filterNodeMethod = this.filterNodeMethod;
919
+ var lazy = this.lazy;
920
+ var traverse = function traverse(node) {
921
+ var childNodes = node.root ? node.root.childNodes : node.childNodes;
922
+
923
+ childNodes.forEach(function (child) {
924
+ child.visible = filterNodeMethod.call(child, value, child.data, child);
925
+
926
+ traverse(child);
927
+ });
928
+
929
+ if (!node.visible && childNodes.length) {
930
+ var allHidden = true;
931
+ allHidden = !childNodes.some(function (child) {
932
+ return child.visible;
933
+ });
934
+
935
+ if (node.root) {
936
+ node.root.visible = allHidden === false;
937
+ } else {
938
+ node.visible = allHidden === false;
939
+ }
940
+ }
941
+ if (!value) return;
942
+
943
+ if (node.visible && !node.isLeaf && !lazy) node.expand();
944
+ };
945
+
946
+ traverse(this);
947
+ };
948
+
949
+ TreeStore.prototype.setData = function setData(newVal) {
950
+ var instanceChanged = newVal !== this.root.data;
951
+ if (instanceChanged) {
952
+ this.root.setData(newVal);
953
+ this._initDefaultCheckedNodes();
954
+ } else {
955
+ this.root.updateChildren();
956
+ }
957
+ };
958
+
959
+ TreeStore.prototype.getNode = function getNode(data) {
960
+ if (data instanceof model_node) return data;
961
+ var key = (typeof data === 'undefined' ? 'undefined' : _typeof(data)) !== 'object' ? data : util_getNodeKey(this.key, data);
962
+ return this.nodesMap[key] || null;
963
+ };
964
+
965
+ TreeStore.prototype.insertBefore = function insertBefore(data, refData) {
966
+ var refNode = this.getNode(refData);
967
+ refNode.parent.insertBefore({ data: data }, refNode);
968
+ };
969
+
970
+ TreeStore.prototype.insertAfter = function insertAfter(data, refData) {
971
+ var refNode = this.getNode(refData);
972
+ refNode.parent.insertAfter({ data: data }, refNode);
973
+ };
974
+
975
+ TreeStore.prototype.remove = function remove(data) {
976
+ var node = this.getNode(data);
977
+
978
+ if (node && node.parent) {
979
+ if (node === this.currentNode) {
980
+ this.currentNode = null;
981
+ }
982
+ node.parent.removeChild(node);
983
+ }
984
+ };
985
+
986
+ TreeStore.prototype.append = function append(data, parentData) {
987
+ var parentNode = parentData ? this.getNode(parentData) : this.root;
988
+
989
+ if (parentNode) {
990
+ parentNode.insertChild({ data: data });
991
+ }
992
+ };
993
+
994
+ TreeStore.prototype._initDefaultCheckedNodes = function _initDefaultCheckedNodes() {
995
+ var _this2 = this;
996
+
997
+ var defaultCheckedKeys = this.defaultCheckedKeys || [];
998
+ var nodesMap = this.nodesMap;
999
+
1000
+ defaultCheckedKeys.forEach(function (checkedKey) {
1001
+ var node = nodesMap[checkedKey];
1002
+
1003
+ if (node) {
1004
+ node.setChecked(true, !_this2.checkStrictly);
1005
+ }
1006
+ });
1007
+ };
1008
+
1009
+ TreeStore.prototype._initDefaultCheckedNode = function _initDefaultCheckedNode(node) {
1010
+ var defaultCheckedKeys = this.defaultCheckedKeys || [];
1011
+
1012
+ if (defaultCheckedKeys.indexOf(node.key) !== -1) {
1013
+ node.setChecked(true, !this.checkStrictly);
1014
+ }
1015
+ };
1016
+
1017
+ TreeStore.prototype.setDefaultCheckedKey = function setDefaultCheckedKey(newVal) {
1018
+ if (newVal !== this.defaultCheckedKeys) {
1019
+ this.defaultCheckedKeys = newVal;
1020
+ this._initDefaultCheckedNodes();
1021
+ }
1022
+ };
1023
+
1024
+ TreeStore.prototype.registerNode = function registerNode(node) {
1025
+ var key = this.key;
1026
+ if (!key || !node || !node.data) return;
1027
+
1028
+ var nodeKey = node.key;
1029
+ if (nodeKey !== undefined) this.nodesMap[node.key] = node;
1030
+ };
1031
+
1032
+ TreeStore.prototype.deregisterNode = function deregisterNode(node) {
1033
+ var _this3 = this;
1034
+
1035
+ var key = this.key;
1036
+ if (!key || !node || !node.data) return;
1037
+
1038
+ node.childNodes.forEach(function (child) {
1039
+ _this3.deregisterNode(child);
1040
+ });
1041
+
1042
+ delete this.nodesMap[node.key];
1043
+ };
1044
+
1045
+ TreeStore.prototype.getCheckedNodes = function getCheckedNodes() {
1046
+ var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1047
+ var includeHalfChecked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1048
+
1049
+ var checkedNodes = [];
1050
+ var traverse = function traverse(node) {
1051
+ var childNodes = node.root ? node.root.childNodes : node.childNodes;
1052
+
1053
+ childNodes.forEach(function (child) {
1054
+ if ((child.checked || includeHalfChecked && child.indeterminate) && (!leafOnly || leafOnly && child.isLeaf)) {
1055
+ checkedNodes.push(child.data);
1056
+ }
1057
+
1058
+ traverse(child);
1059
+ });
1060
+ };
1061
+
1062
+ traverse(this);
1063
+
1064
+ return checkedNodes;
1065
+ };
1066
+
1067
+ TreeStore.prototype.getCheckedKeys = function getCheckedKeys() {
1068
+ var _this4 = this;
1069
+
1070
+ var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1071
+
1072
+ return this.getCheckedNodes(leafOnly).map(function (data) {
1073
+ return (data || {})[_this4.key];
1074
+ });
1075
+ };
1076
+
1077
+ TreeStore.prototype.getHalfCheckedNodes = function getHalfCheckedNodes() {
1078
+ var nodes = [];
1079
+ var traverse = function traverse(node) {
1080
+ var childNodes = node.root ? node.root.childNodes : node.childNodes;
1081
+
1082
+ childNodes.forEach(function (child) {
1083
+ if (child.indeterminate) {
1084
+ nodes.push(child.data);
1085
+ }
1086
+
1087
+ traverse(child);
1088
+ });
1089
+ };
1090
+
1091
+ traverse(this);
1092
+
1093
+ return nodes;
1094
+ };
1095
+
1096
+ TreeStore.prototype.getHalfCheckedKeys = function getHalfCheckedKeys() {
1097
+ var _this5 = this;
1098
+
1099
+ return this.getHalfCheckedNodes().map(function (data) {
1100
+ return (data || {})[_this5.key];
1101
+ });
1102
+ };
1103
+
1104
+ TreeStore.prototype._getAllNodes = function _getAllNodes() {
1105
+ var allNodes = [];
1106
+ var nodesMap = this.nodesMap;
1107
+ for (var nodeKey in nodesMap) {
1108
+ if (nodesMap.hasOwnProperty(nodeKey)) {
1109
+ allNodes.push(nodesMap[nodeKey]);
1110
+ }
1111
+ }
1112
+
1113
+ return allNodes;
1114
+ };
1115
+
1116
+ TreeStore.prototype.updateChildren = function updateChildren(key, data) {
1117
+ var node = this.nodesMap[key];
1118
+ if (!node) return;
1119
+ var childNodes = node.childNodes;
1120
+ for (var i = childNodes.length - 1; i >= 0; i--) {
1121
+ var child = childNodes[i];
1122
+ this.remove(child.data);
1123
+ }
1124
+ for (var _i = 0, j = data.length; _i < j; _i++) {
1125
+ var _child = data[_i];
1126
+ this.append(_child, node.data);
1127
+ }
1128
+ };
1129
+
1130
+ TreeStore.prototype._setCheckedKeys = function _setCheckedKeys(key) {
1131
+ var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1132
+ var checkedKeys = arguments[2];
1133
+
1134
+ var allNodes = this._getAllNodes().sort(function (a, b) {
1135
+ return b.level - a.level;
1136
+ });
1137
+ var cache = Object.create(null);
1138
+ var keys = Object.keys(checkedKeys);
1139
+ allNodes.forEach(function (node) {
1140
+ return node.setChecked(false, false);
1141
+ });
1142
+ for (var i = 0, j = allNodes.length; i < j; i++) {
1143
+ var node = allNodes[i];
1144
+ var nodeKey = node.data[key].toString();
1145
+ var checked = keys.indexOf(nodeKey) > -1;
1146
+ if (!checked) {
1147
+ if (node.checked && !cache[nodeKey]) {
1148
+ node.setChecked(false, false);
1149
+ }
1150
+ continue;
1151
+ }
1152
+
1153
+ var parent = node.parent;
1154
+ while (parent && parent.level > 0) {
1155
+ cache[parent.data[key]] = true;
1156
+ parent = parent.parent;
1157
+ }
1158
+
1159
+ if (node.isLeaf || this.checkStrictly) {
1160
+ node.setChecked(true, false);
1161
+ continue;
1162
+ }
1163
+ node.setChecked(true, true);
1164
+
1165
+ if (leafOnly) {
1166
+ (function () {
1167
+ node.setChecked(false, false);
1168
+ var traverse = function traverse(node) {
1169
+ var childNodes = node.childNodes;
1170
+ childNodes.forEach(function (child) {
1171
+ if (!child.isLeaf) {
1172
+ child.setChecked(false, false);
1173
+ }
1174
+ traverse(child);
1175
+ });
1176
+ };
1177
+ traverse(node);
1178
+ })();
1179
+ }
1180
+ }
1181
+ };
1182
+
1183
+ TreeStore.prototype.setCheckedNodes = function setCheckedNodes(array) {
1184
+ var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1185
+
1186
+ var key = this.key;
1187
+ var checkedKeys = {};
1188
+ array.forEach(function (item) {
1189
+ checkedKeys[(item || {})[key]] = true;
1190
+ });
1191
+
1192
+ this._setCheckedKeys(key, leafOnly, checkedKeys);
1193
+ };
1194
+
1195
+ TreeStore.prototype.setCheckedKeys = function setCheckedKeys(keys) {
1196
+ var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1197
+
1198
+ this.defaultCheckedKeys = keys;
1199
+ var key = this.key;
1200
+ var checkedKeys = {};
1201
+ keys.forEach(function (key) {
1202
+ checkedKeys[key] = true;
1203
+ });
1204
+
1205
+ this._setCheckedKeys(key, leafOnly, checkedKeys);
1206
+ };
1207
+
1208
+ TreeStore.prototype.setDefaultExpandedKeys = function setDefaultExpandedKeys(keys) {
1209
+ var _this6 = this;
1210
+
1211
+ keys = keys || [];
1212
+ this.defaultExpandedKeys = keys;
1213
+
1214
+ keys.forEach(function (key) {
1215
+ var node = _this6.getNode(key);
1216
+ if (node) node.expand(null, _this6.autoExpandParent);
1217
+ });
1218
+ };
1219
+
1220
+ TreeStore.prototype.setChecked = function setChecked(data, checked, deep) {
1221
+ var node = this.getNode(data);
1222
+
1223
+ if (node) {
1224
+ node.setChecked(!!checked, deep);
1225
+ }
1226
+ };
1227
+
1228
+ TreeStore.prototype.getCurrentNode = function getCurrentNode() {
1229
+ return this.currentNode;
1230
+ };
1231
+
1232
+ TreeStore.prototype.setCurrentNode = function setCurrentNode(currentNode) {
1233
+ var prevCurrentNode = this.currentNode;
1234
+ if (prevCurrentNode) {
1235
+ prevCurrentNode.isCurrent = false;
1236
+ }
1237
+ this.currentNode = currentNode;
1238
+ this.currentNode.isCurrent = true;
1239
+ };
1240
+
1241
+ TreeStore.prototype.setUserCurrentNode = function setUserCurrentNode(node) {
1242
+ var key = node[this.key];
1243
+ var currNode = this.nodesMap[key];
1244
+ this.setCurrentNode(currNode);
1245
+ };
1246
+
1247
+ TreeStore.prototype.setCurrentNodeKey = function setCurrentNodeKey(key) {
1248
+ if (key === null || key === undefined) {
1249
+ this.currentNode && (this.currentNode.isCurrent = false);
1250
+ this.currentNode = null;
1251
+ return;
1252
+ }
1253
+ var node = this.getNode(key);
1254
+ if (node) {
1255
+ this.setCurrentNode(node);
1256
+ }
1257
+ };
1258
+
1259
+ return TreeStore;
1260
1260
  }();
1261
1261
 
1262
1262
  /* harmony default export */ var tree_store = (tree_store_TreeStore);
1263
1263
  ;
1264
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=template&id=3869abb7
1265
- var tree_nodevue_type_template_id_3869abb7_render = function () {
1264
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=template&id=769053c6
1265
+ var tree_nodevue_type_template_id_769053c6_render = function () {
1266
1266
  var this$1 = this
1267
1267
  var _vm = this
1268
1268
  var _h = _vm.$createElement
@@ -1413,11 +1413,11 @@ var tree_nodevue_type_template_id_3869abb7_render = function () {
1413
1413
  1
1414
1414
  )
1415
1415
  }
1416
- var tree_nodevue_type_template_id_3869abb7_staticRenderFns = []
1417
- tree_nodevue_type_template_id_3869abb7_render._withStripped = true
1416
+ var tree_nodevue_type_template_id_769053c6_staticRenderFns = []
1417
+ tree_nodevue_type_template_id_769053c6_render._withStripped = true
1418
1418
 
1419
1419
 
1420
- // CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=template&id=3869abb7
1420
+ // CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=template&id=769053c6
1421
1421
 
1422
1422
  // EXTERNAL MODULE: external "element-ui/lib/transitions/collapse-transition"
1423
1423
  var collapse_transition_ = __webpack_require__(23);
@@ -1512,200 +1512,200 @@ var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
1512
1512
 
1513
1513
 
1514
1514
  /* harmony default export */ var tree_nodevue_type_script_lang_js = ({
1515
- name: 'ElTreeNode',
1516
-
1517
- componentName: 'ElTreeNode',
1518
-
1519
- mixins: [emitter_default.a],
1520
-
1521
- props: {
1522
- node: {
1523
- default: function _default() {
1524
- return {};
1525
- }
1526
- },
1527
- props: {},
1528
- renderContent: Function,
1529
- renderAfterExpand: {
1530
- type: Boolean,
1531
- default: true
1532
- },
1533
- showCheckbox: {
1534
- type: Boolean,
1535
- default: false
1536
- }
1537
- },
1538
-
1539
- components: {
1540
- ElCollapseTransition: collapse_transition_default.a,
1541
- ElCheckbox: checkbox_default.a,
1542
- NodeContent: {
1543
- props: {
1544
- node: {
1545
- required: true
1546
- }
1547
- },
1548
- render: function render(h) {
1549
- var parent = this.$parent;
1550
- var tree = parent.tree;
1551
- var node = this.node;
1552
- var data = node.data,
1553
- store = node.store;
1554
-
1555
- return parent.renderContent ? parent.renderContent.call(parent._renderProxy, h, { _self: tree.$vnode.context, node: node, data: data, store: store }) : tree.$scopedSlots.default ? tree.$scopedSlots.default({ node: node, data: data }) : h(
1556
- 'span',
1557
- { 'class': 'el-tree-node__label' },
1558
- [node.label]
1559
- );
1560
- }
1561
- }
1562
- },
1563
-
1564
- data: function data() {
1565
- return {
1566
- tree: null,
1567
- expanded: false,
1568
- childNodeRendered: false,
1569
- oldChecked: null,
1570
- oldIndeterminate: null
1571
- };
1572
- },
1573
-
1574
-
1575
- watch: {
1576
- 'node.indeterminate': function nodeIndeterminate(val) {
1577
- this.handleSelectChange(this.node.checked, val);
1578
- },
1579
- 'node.checked': function nodeChecked(val) {
1580
- this.handleSelectChange(val, this.node.indeterminate);
1581
- },
1582
- 'node.expanded': function nodeExpanded(val) {
1583
- var _this = this;
1584
-
1585
- this.$nextTick(function () {
1586
- return _this.expanded = val;
1587
- });
1588
- if (val) {
1589
- this.childNodeRendered = true;
1590
- }
1591
- }
1592
- },
1593
-
1594
- methods: {
1595
- getNodeKey: function getNodeKey(node) {
1596
- return util_getNodeKey(this.tree.nodeKey, node.data);
1597
- },
1598
- handleSelectChange: function handleSelectChange(checked, indeterminate) {
1599
- if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) {
1600
- this.tree.$emit('check-change', this.node.data, checked, indeterminate);
1601
- }
1602
- this.oldChecked = checked;
1603
- this.indeterminate = indeterminate;
1604
- },
1605
- handleClick: function handleClick() {
1606
- var store = this.tree.store;
1607
- store.setCurrentNode(this.node);
1608
- this.tree.$emit('current-change', store.currentNode ? store.currentNode.data : null, store.currentNode);
1609
- this.tree.currentNode = this;
1610
- if (this.tree.expandOnClickNode) {
1611
- this.handleExpandIconClick();
1612
- }
1613
- if (this.tree.checkOnClickNode && !this.node.disabled) {
1614
- this.handleCheckChange(null, {
1615
- target: { checked: !this.node.checked }
1616
- });
1617
- }
1618
- this.tree.$emit('node-click', this.node.data, this.node, this);
1619
- },
1620
- handleContextMenu: function handleContextMenu(event) {
1621
- if (this.tree._events['node-contextmenu'] && this.tree._events['node-contextmenu'].length > 0) {
1622
- event.stopPropagation();
1623
- event.preventDefault();
1624
- }
1625
- this.tree.$emit('node-contextmenu', event, this.node.data, this.node, this);
1626
- },
1627
- handleExpandIconClick: function handleExpandIconClick() {
1628
- if (this.node.isLeaf) return;
1629
- if (this.expanded) {
1630
- this.tree.$emit('node-collapse', this.node.data, this.node, this);
1631
- this.node.collapse();
1632
- } else {
1633
- this.node.expand();
1634
- this.$emit('node-expand', this.node.data, this.node, this);
1635
- }
1636
- },
1637
- handleCheckChange: function handleCheckChange(value, ev) {
1638
- var _this2 = this;
1639
-
1640
- this.node.setChecked(ev.target.checked, !this.tree.checkStrictly);
1641
- this.$nextTick(function () {
1642
- var store = _this2.tree.store;
1643
- _this2.tree.$emit('check', _this2.node.data, {
1644
- checkedNodes: store.getCheckedNodes(),
1645
- checkedKeys: store.getCheckedKeys(),
1646
- halfCheckedNodes: store.getHalfCheckedNodes(),
1647
- halfCheckedKeys: store.getHalfCheckedKeys()
1648
- });
1649
- });
1650
- },
1651
- handleChildNodeExpand: function handleChildNodeExpand(nodeData, node, instance) {
1652
- this.broadcast('ElTreeNode', 'tree-node-expand', node);
1653
- this.tree.$emit('node-expand', nodeData, node, instance);
1654
- },
1655
- handleDragStart: function handleDragStart(event) {
1656
- if (!this.tree.draggable) return;
1657
- this.tree.$emit('tree-node-drag-start', event, this);
1658
- },
1659
- handleDragOver: function handleDragOver(event) {
1660
- if (!this.tree.draggable) return;
1661
- this.tree.$emit('tree-node-drag-over', event, this);
1662
- event.preventDefault();
1663
- },
1664
- handleDrop: function handleDrop(event) {
1665
- event.preventDefault();
1666
- },
1667
- handleDragEnd: function handleDragEnd(event) {
1668
- if (!this.tree.draggable) return;
1669
- this.tree.$emit('tree-node-drag-end', event, this);
1670
- }
1671
- },
1672
-
1673
- created: function created() {
1674
- var _this3 = this;
1675
-
1676
- var parent = this.$parent;
1677
-
1678
- if (parent.isTree) {
1679
- this.tree = parent;
1680
- } else {
1681
- this.tree = parent.tree;
1682
- }
1683
-
1684
- var tree = this.tree;
1685
- if (!tree) {
1686
- console.warn('Can not find node\'s tree.');
1687
- }
1688
-
1689
- var props = tree.props || {};
1690
- var childrenKey = props['children'] || 'children';
1691
-
1692
- this.$watch('node.data.' + childrenKey, function () {
1693
- _this3.node.updateChildren();
1694
- });
1695
-
1696
- if (this.node.expanded) {
1697
- this.expanded = true;
1698
- this.childNodeRendered = true;
1699
- }
1700
-
1701
- if (this.tree.accordion) {
1702
- this.$on('tree-node-expand', function (node) {
1703
- if (_this3.node !== node) {
1704
- _this3.node.collapse();
1705
- }
1706
- });
1707
- }
1708
- }
1515
+ name: 'ElTreeNode',
1516
+
1517
+ componentName: 'ElTreeNode',
1518
+
1519
+ mixins: [emitter_default.a],
1520
+
1521
+ props: {
1522
+ node: {
1523
+ default: function _default() {
1524
+ return {};
1525
+ }
1526
+ },
1527
+ props: {},
1528
+ renderContent: Function,
1529
+ renderAfterExpand: {
1530
+ type: Boolean,
1531
+ default: true
1532
+ },
1533
+ showCheckbox: {
1534
+ type: Boolean,
1535
+ default: false
1536
+ }
1537
+ },
1538
+
1539
+ components: {
1540
+ ElCollapseTransition: collapse_transition_default.a,
1541
+ ElCheckbox: checkbox_default.a,
1542
+ NodeContent: {
1543
+ props: {
1544
+ node: {
1545
+ required: true
1546
+ }
1547
+ },
1548
+ render: function render(h) {
1549
+ var parent = this.$parent;
1550
+ var tree = parent.tree;
1551
+ var node = this.node;
1552
+ var data = node.data,
1553
+ store = node.store;
1554
+
1555
+ return parent.renderContent ? parent.renderContent.call(parent._renderProxy, h, { _self: tree.$vnode.context, node: node, data: data, store: store }) : tree.$scopedSlots.default ? tree.$scopedSlots.default({ node: node, data: data }) : h(
1556
+ 'span',
1557
+ { 'class': 'el-tree-node__label' },
1558
+ [node.label]
1559
+ );
1560
+ }
1561
+ }
1562
+ },
1563
+
1564
+ data: function data() {
1565
+ return {
1566
+ tree: null,
1567
+ expanded: false,
1568
+ childNodeRendered: false,
1569
+ oldChecked: null,
1570
+ oldIndeterminate: null
1571
+ };
1572
+ },
1573
+
1574
+
1575
+ watch: {
1576
+ 'node.indeterminate': function nodeIndeterminate(val) {
1577
+ this.handleSelectChange(this.node.checked, val);
1578
+ },
1579
+ 'node.checked': function nodeChecked(val) {
1580
+ this.handleSelectChange(val, this.node.indeterminate);
1581
+ },
1582
+ 'node.expanded': function nodeExpanded(val) {
1583
+ var _this = this;
1584
+
1585
+ this.$nextTick(function () {
1586
+ return _this.expanded = val;
1587
+ });
1588
+ if (val) {
1589
+ this.childNodeRendered = true;
1590
+ }
1591
+ }
1592
+ },
1593
+
1594
+ methods: {
1595
+ getNodeKey: function getNodeKey(node) {
1596
+ return util_getNodeKey(this.tree.nodeKey, node.data);
1597
+ },
1598
+ handleSelectChange: function handleSelectChange(checked, indeterminate) {
1599
+ if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) {
1600
+ this.tree.$emit('check-change', this.node.data, checked, indeterminate);
1601
+ }
1602
+ this.oldChecked = checked;
1603
+ this.indeterminate = indeterminate;
1604
+ },
1605
+ handleClick: function handleClick() {
1606
+ var store = this.tree.store;
1607
+ store.setCurrentNode(this.node);
1608
+ this.tree.$emit('current-change', store.currentNode ? store.currentNode.data : null, store.currentNode);
1609
+ this.tree.currentNode = this;
1610
+ if (this.tree.expandOnClickNode) {
1611
+ this.handleExpandIconClick();
1612
+ }
1613
+ if (this.tree.checkOnClickNode && !this.node.disabled) {
1614
+ this.handleCheckChange(null, {
1615
+ target: { checked: !this.node.checked }
1616
+ });
1617
+ }
1618
+ this.tree.$emit('node-click', this.node.data, this.node, this);
1619
+ },
1620
+ handleContextMenu: function handleContextMenu(event) {
1621
+ if (this.tree._events['node-contextmenu'] && this.tree._events['node-contextmenu'].length > 0) {
1622
+ event.stopPropagation();
1623
+ event.preventDefault();
1624
+ }
1625
+ this.tree.$emit('node-contextmenu', event, this.node.data, this.node, this);
1626
+ },
1627
+ handleExpandIconClick: function handleExpandIconClick() {
1628
+ if (this.node.isLeaf) return;
1629
+ if (this.expanded) {
1630
+ this.tree.$emit('node-collapse', this.node.data, this.node, this);
1631
+ this.node.collapse();
1632
+ } else {
1633
+ this.node.expand();
1634
+ this.$emit('node-expand', this.node.data, this.node, this);
1635
+ }
1636
+ },
1637
+ handleCheckChange: function handleCheckChange(value, ev) {
1638
+ var _this2 = this;
1639
+
1640
+ this.node.setChecked(ev.target.checked, !this.tree.checkStrictly);
1641
+ this.$nextTick(function () {
1642
+ var store = _this2.tree.store;
1643
+ _this2.tree.$emit('check', _this2.node.data, {
1644
+ checkedNodes: store.getCheckedNodes(),
1645
+ checkedKeys: store.getCheckedKeys(),
1646
+ halfCheckedNodes: store.getHalfCheckedNodes(),
1647
+ halfCheckedKeys: store.getHalfCheckedKeys()
1648
+ });
1649
+ });
1650
+ },
1651
+ handleChildNodeExpand: function handleChildNodeExpand(nodeData, node, instance) {
1652
+ this.broadcast('ElTreeNode', 'tree-node-expand', node);
1653
+ this.tree.$emit('node-expand', nodeData, node, instance);
1654
+ },
1655
+ handleDragStart: function handleDragStart(event) {
1656
+ if (!this.tree.draggable) return;
1657
+ this.tree.$emit('tree-node-drag-start', event, this);
1658
+ },
1659
+ handleDragOver: function handleDragOver(event) {
1660
+ if (!this.tree.draggable) return;
1661
+ this.tree.$emit('tree-node-drag-over', event, this);
1662
+ event.preventDefault();
1663
+ },
1664
+ handleDrop: function handleDrop(event) {
1665
+ event.preventDefault();
1666
+ },
1667
+ handleDragEnd: function handleDragEnd(event) {
1668
+ if (!this.tree.draggable) return;
1669
+ this.tree.$emit('tree-node-drag-end', event, this);
1670
+ }
1671
+ },
1672
+
1673
+ created: function created() {
1674
+ var _this3 = this;
1675
+
1676
+ var parent = this.$parent;
1677
+
1678
+ if (parent.isTree) {
1679
+ this.tree = parent;
1680
+ } else {
1681
+ this.tree = parent.tree;
1682
+ }
1683
+
1684
+ var tree = this.tree;
1685
+ if (!tree) {
1686
+ console.warn('Can not find node\'s tree.');
1687
+ }
1688
+
1689
+ var props = tree.props || {};
1690
+ var childrenKey = props['children'] || 'children';
1691
+
1692
+ this.$watch('node.data.' + childrenKey, function () {
1693
+ _this3.node.updateChildren();
1694
+ });
1695
+
1696
+ if (this.node.expanded) {
1697
+ this.expanded = true;
1698
+ this.childNodeRendered = true;
1699
+ }
1700
+
1701
+ if (this.tree.accordion) {
1702
+ this.$on('tree-node-expand', function (node) {
1703
+ if (_this3.node !== node) {
1704
+ _this3.node.collapse();
1705
+ }
1706
+ });
1707
+ }
1708
+ }
1709
1709
  });
1710
1710
  // CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=script&lang=js
1711
1711
  /* harmony default export */ var src_tree_nodevue_type_script_lang_js = (tree_nodevue_type_script_lang_js);
@@ -1722,8 +1722,8 @@ var componentNormalizer = __webpack_require__(0);
1722
1722
 
1723
1723
  var component = Object(componentNormalizer["a" /* default */])(
1724
1724
  src_tree_nodevue_type_script_lang_js,
1725
- tree_nodevue_type_template_id_3869abb7_render,
1726
- tree_nodevue_type_template_id_3869abb7_staticRenderFns,
1725
+ tree_nodevue_type_template_id_769053c6_render,
1726
+ tree_nodevue_type_template_id_769053c6_staticRenderFns,
1727
1727
  false,
1728
1728
  null,
1729
1729
  null,
@@ -1780,444 +1780,444 @@ var dom_ = __webpack_require__(2);
1780
1780
 
1781
1781
 
1782
1782
  /* harmony default export */ var treevue_type_script_lang_js = ({
1783
- name: 'ElTree',
1784
-
1785
- mixins: [emitter_default.a],
1786
-
1787
- components: {
1788
- ElTreeNode: tree_node
1789
- },
1790
-
1791
- data: function data() {
1792
- return {
1793
- store: null,
1794
- root: null,
1795
- currentNode: null,
1796
- treeItems: null,
1797
- checkboxItems: [],
1798
- dragState: {
1799
- showDropIndicator: false,
1800
- draggingNode: null,
1801
- dropNode: null,
1802
- allowDrop: true
1803
- }
1804
- };
1805
- },
1806
-
1807
-
1808
- props: {
1809
- data: {
1810
- type: Array
1811
- },
1812
- emptyText: {
1813
- type: String,
1814
- default: function _default() {
1815
- return Object(locale_["t"])('el.tree.emptyText');
1816
- }
1817
- },
1818
- renderAfterExpand: {
1819
- type: Boolean,
1820
- default: true
1821
- },
1822
- nodeKey: String,
1823
- checkStrictly: Boolean,
1824
- defaultExpandAll: Boolean,
1825
- expandOnClickNode: {
1826
- type: Boolean,
1827
- default: true
1828
- },
1829
- checkOnClickNode: Boolean,
1830
- checkDescendants: {
1831
- type: Boolean,
1832
- default: false
1833
- },
1834
- autoExpandParent: {
1835
- type: Boolean,
1836
- default: true
1837
- },
1838
- defaultCheckedKeys: Array,
1839
- defaultExpandedKeys: Array,
1840
- currentNodeKey: [String, Number],
1841
- renderContent: Function,
1842
- showCheckbox: {
1843
- type: Boolean,
1844
- default: false
1845
- },
1846
- draggable: {
1847
- type: Boolean,
1848
- default: false
1849
- },
1850
- allowDrag: Function,
1851
- allowDrop: Function,
1852
- props: {
1853
- default: function _default() {
1854
- return {
1855
- children: 'children',
1856
- label: 'label',
1857
- disabled: 'disabled'
1858
- };
1859
- }
1860
- },
1861
- lazy: {
1862
- type: Boolean,
1863
- default: false
1864
- },
1865
- highlightCurrent: Boolean,
1866
- load: Function,
1867
- filterNodeMethod: Function,
1868
- accordion: Boolean,
1869
- indent: {
1870
- type: Number,
1871
- default: 18
1872
- },
1873
- iconClass: String
1874
- },
1875
-
1876
- computed: {
1877
- children: {
1878
- set: function set(value) {
1879
- this.data = value;
1880
- },
1881
- get: function get() {
1882
- return this.data;
1883
- }
1884
- },
1885
-
1886
- treeItemArray: function treeItemArray() {
1887
- return Array.prototype.slice.call(this.treeItems);
1888
- },
1889
- isEmpty: function isEmpty() {
1890
- var childNodes = this.root.childNodes;
1891
-
1892
- return !childNodes || childNodes.length === 0 || childNodes.every(function (_ref) {
1893
- var visible = _ref.visible;
1894
- return !visible;
1895
- });
1896
- }
1897
- },
1898
-
1899
- watch: {
1900
- defaultCheckedKeys: function defaultCheckedKeys(newVal) {
1901
- this.store.setDefaultCheckedKey(newVal);
1902
- },
1903
- defaultExpandedKeys: function defaultExpandedKeys(newVal) {
1904
- this.store.defaultExpandedKeys = newVal;
1905
- this.store.setDefaultExpandedKeys(newVal);
1906
- },
1907
- data: function data(newVal) {
1908
- this.store.setData(newVal);
1909
- },
1910
- checkboxItems: function checkboxItems(val) {
1911
- Array.prototype.forEach.call(val, function (checkbox) {
1912
- checkbox.setAttribute('tabindex', -1);
1913
- });
1914
- },
1915
- checkStrictly: function checkStrictly(newVal) {
1916
- this.store.checkStrictly = newVal;
1917
- }
1918
- },
1919
-
1920
- methods: {
1921
- filter: function filter(value) {
1922
- if (!this.filterNodeMethod) throw new Error('[Tree] filterNodeMethod is required when filter');
1923
- this.store.filter(value);
1924
- },
1925
- getNodeKey: function getNodeKey(node) {
1926
- return util_getNodeKey(this.nodeKey, node.data);
1927
- },
1928
- getNodePath: function getNodePath(data) {
1929
- if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getNodePath');
1930
- var node = this.store.getNode(data);
1931
- if (!node) return [];
1932
- var path = [node.data];
1933
- var parent = node.parent;
1934
- while (parent && parent !== this.root) {
1935
- path.push(parent.data);
1936
- parent = parent.parent;
1937
- }
1938
- return path.reverse();
1939
- },
1940
- getCheckedNodes: function getCheckedNodes(leafOnly, includeHalfChecked) {
1941
- return this.store.getCheckedNodes(leafOnly, includeHalfChecked);
1942
- },
1943
- getCheckedKeys: function getCheckedKeys(leafOnly) {
1944
- return this.store.getCheckedKeys(leafOnly);
1945
- },
1946
- getCurrentNode: function getCurrentNode() {
1947
- var currentNode = this.store.getCurrentNode();
1948
- return currentNode ? currentNode.data : null;
1949
- },
1950
- getCurrentKey: function getCurrentKey() {
1951
- if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getCurrentKey');
1952
- var currentNode = this.getCurrentNode();
1953
- return currentNode ? currentNode[this.nodeKey] : null;
1954
- },
1955
- setCheckedNodes: function setCheckedNodes(nodes, leafOnly) {
1956
- if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes');
1957
- this.store.setCheckedNodes(nodes, leafOnly);
1958
- },
1959
- setCheckedKeys: function setCheckedKeys(keys, leafOnly) {
1960
- if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedKeys');
1961
- this.store.setCheckedKeys(keys, leafOnly);
1962
- },
1963
- setChecked: function setChecked(data, checked, deep) {
1964
- this.store.setChecked(data, checked, deep);
1965
- },
1966
- getHalfCheckedNodes: function getHalfCheckedNodes() {
1967
- return this.store.getHalfCheckedNodes();
1968
- },
1969
- getHalfCheckedKeys: function getHalfCheckedKeys() {
1970
- return this.store.getHalfCheckedKeys();
1971
- },
1972
- setCurrentNode: function setCurrentNode(node) {
1973
- if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentNode');
1974
- this.store.setUserCurrentNode(node);
1975
- },
1976
- setCurrentKey: function setCurrentKey(key) {
1977
- if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentKey');
1978
- this.store.setCurrentNodeKey(key);
1979
- },
1980
- getNode: function getNode(data) {
1981
- return this.store.getNode(data);
1982
- },
1983
- remove: function remove(data) {
1984
- this.store.remove(data);
1985
- },
1986
- append: function append(data, parentNode) {
1987
- this.store.append(data, parentNode);
1988
- },
1989
- insertBefore: function insertBefore(data, refNode) {
1990
- this.store.insertBefore(data, refNode);
1991
- },
1992
- insertAfter: function insertAfter(data, refNode) {
1993
- this.store.insertAfter(data, refNode);
1994
- },
1995
- handleNodeExpand: function handleNodeExpand(nodeData, node, instance) {
1996
- this.broadcast('ElTreeNode', 'tree-node-expand', node);
1997
- this.$emit('node-expand', nodeData, node, instance);
1998
- },
1999
- updateKeyChildren: function updateKeyChildren(key, data) {
2000
- if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in updateKeyChild');
2001
- this.store.updateChildren(key, data);
2002
- },
2003
- initTabIndex: function initTabIndex() {
2004
- this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');
2005
- this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');
2006
- var checkedItem = this.$el.querySelectorAll('.is-checked[role=treeitem]');
2007
- if (checkedItem.length) {
2008
- checkedItem[0].setAttribute('tabindex', 0);
2009
- return;
2010
- }
2011
- this.treeItems[0] && this.treeItems[0].setAttribute('tabindex', 0);
2012
- },
2013
- handleKeydown: function handleKeydown(ev) {
2014
- var currentItem = ev.target;
2015
- if (currentItem.className.indexOf('el-tree-node') === -1) return;
2016
- var keyCode = ev.keyCode;
2017
- this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');
2018
- var currentIndex = this.treeItemArray.indexOf(currentItem);
2019
- var nextIndex = void 0;
2020
- if ([38, 40].indexOf(keyCode) > -1) {
2021
- // up、down
2022
- ev.preventDefault();
2023
- if (keyCode === 38) {
2024
- // up
2025
- nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0;
2026
- } else {
2027
- nextIndex = currentIndex < this.treeItemArray.length - 1 ? currentIndex + 1 : 0;
2028
- }
2029
- this.treeItemArray[nextIndex].focus(); // 选中
2030
- }
2031
- if ([37, 39].indexOf(keyCode) > -1) {
2032
- // left、right 展开
2033
- ev.preventDefault();
2034
- currentItem.click(); // 选中
2035
- }
2036
- var hasInput = currentItem.querySelector('[type="checkbox"]');
2037
- if ([13, 32].indexOf(keyCode) > -1 && hasInput) {
2038
- // space enter选中checkbox
2039
- ev.preventDefault();
2040
- hasInput.click();
2041
- }
2042
- }
2043
- },
2044
-
2045
- created: function created() {
2046
- var _this = this;
2047
-
2048
- this.isTree = true;
2049
-
2050
- this.store = new tree_store({
2051
- key: this.nodeKey,
2052
- data: this.data,
2053
- lazy: this.lazy,
2054
- props: this.props,
2055
- load: this.load,
2056
- currentNodeKey: this.currentNodeKey,
2057
- checkStrictly: this.checkStrictly,
2058
- checkDescendants: this.checkDescendants,
2059
- defaultCheckedKeys: this.defaultCheckedKeys,
2060
- defaultExpandedKeys: this.defaultExpandedKeys,
2061
- autoExpandParent: this.autoExpandParent,
2062
- defaultExpandAll: this.defaultExpandAll,
2063
- filterNodeMethod: this.filterNodeMethod
2064
- });
2065
-
2066
- this.root = this.store.root;
2067
-
2068
- var dragState = this.dragState;
2069
- this.$on('tree-node-drag-start', function (event, treeNode) {
2070
- if (typeof _this.allowDrag === 'function' && !_this.allowDrag(treeNode.node)) {
2071
- event.preventDefault();
2072
- return false;
2073
- }
2074
- event.dataTransfer.effectAllowed = 'move';
2075
-
2076
- // wrap in try catch to address IE's error when first param is 'text/plain'
2077
- try {
2078
- // setData is required for draggable to work in FireFox
2079
- // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox
2080
- event.dataTransfer.setData('text/plain', '');
2081
- } catch (e) {}
2082
- dragState.draggingNode = treeNode;
2083
- _this.$emit('node-drag-start', treeNode.node, event);
2084
- });
2085
-
2086
- this.$on('tree-node-drag-over', function (event, treeNode) {
2087
- var dropNode = findNearestComponent(event.target, 'ElTreeNode');
2088
- var oldDropNode = dragState.dropNode;
2089
- if (oldDropNode && oldDropNode !== dropNode) {
2090
- Object(dom_["removeClass"])(oldDropNode.$el, 'is-drop-inner');
2091
- }
2092
- var draggingNode = dragState.draggingNode;
2093
- if (!draggingNode || !dropNode) return;
2094
-
2095
- var dropPrev = true;
2096
- var dropInner = true;
2097
- var dropNext = true;
2098
- var userAllowDropInner = true;
2099
- if (typeof _this.allowDrop === 'function') {
2100
- dropPrev = _this.allowDrop(draggingNode.node, dropNode.node, 'prev');
2101
- userAllowDropInner = dropInner = _this.allowDrop(draggingNode.node, dropNode.node, 'inner');
2102
- dropNext = _this.allowDrop(draggingNode.node, dropNode.node, 'next');
2103
- }
2104
- event.dataTransfer.dropEffect = dropInner ? 'move' : 'none';
2105
- if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {
2106
- if (oldDropNode) {
2107
- _this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event);
2108
- }
2109
- _this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event);
2110
- }
2111
-
2112
- if (dropPrev || dropInner || dropNext) {
2113
- dragState.dropNode = dropNode;
2114
- }
2115
-
2116
- if (dropNode.node.nextSibling === draggingNode.node) {
2117
- dropNext = false;
2118
- }
2119
- if (dropNode.node.previousSibling === draggingNode.node) {
2120
- dropPrev = false;
2121
- }
2122
- if (dropNode.node.contains(draggingNode.node, false)) {
2123
- dropInner = false;
2124
- }
2125
- if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) {
2126
- dropPrev = false;
2127
- dropInner = false;
2128
- dropNext = false;
2129
- }
2130
-
2131
- var targetPosition = dropNode.$el.getBoundingClientRect();
2132
- var treePosition = _this.$el.getBoundingClientRect();
2133
-
2134
- var dropType = void 0;
2135
- var prevPercent = dropPrev ? dropInner ? 0.25 : dropNext ? 0.45 : 1 : -1;
2136
- var nextPercent = dropNext ? dropInner ? 0.75 : dropPrev ? 0.55 : 0 : 1;
2137
-
2138
- var indicatorTop = -9999;
2139
- var distance = event.clientY - targetPosition.top;
2140
- if (distance < targetPosition.height * prevPercent) {
2141
- dropType = 'before';
2142
- } else if (distance > targetPosition.height * nextPercent) {
2143
- dropType = 'after';
2144
- } else if (dropInner) {
2145
- dropType = 'inner';
2146
- } else {
2147
- dropType = 'none';
2148
- }
2149
-
2150
- var iconPosition = dropNode.$el.querySelector('.el-tree-node__expand-icon').getBoundingClientRect();
2151
- var dropIndicator = _this.$refs.dropIndicator;
2152
- if (dropType === 'before') {
2153
- indicatorTop = iconPosition.top - treePosition.top;
2154
- } else if (dropType === 'after') {
2155
- indicatorTop = iconPosition.bottom - treePosition.top;
2156
- }
2157
- dropIndicator.style.top = indicatorTop + 'px';
2158
- dropIndicator.style.left = iconPosition.right - treePosition.left + 'px';
2159
-
2160
- if (dropType === 'inner') {
2161
- Object(dom_["addClass"])(dropNode.$el, 'is-drop-inner');
2162
- } else {
2163
- Object(dom_["removeClass"])(dropNode.$el, 'is-drop-inner');
2164
- }
2165
-
2166
- dragState.showDropIndicator = dropType === 'before' || dropType === 'after';
2167
- dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner;
2168
- dragState.dropType = dropType;
2169
- _this.$emit('node-drag-over', draggingNode.node, dropNode.node, event);
2170
- });
2171
-
2172
- this.$on('tree-node-drag-end', function (event) {
2173
- var draggingNode = dragState.draggingNode,
2174
- dropType = dragState.dropType,
2175
- dropNode = dragState.dropNode;
2176
-
2177
- event.preventDefault();
2178
- event.dataTransfer.dropEffect = 'move';
2179
-
2180
- if (draggingNode && dropNode) {
2181
- var draggingNodeCopy = { data: draggingNode.node.data };
2182
- if (dropType !== 'none') {
2183
- draggingNode.node.remove();
2184
- }
2185
- if (dropType === 'before') {
2186
- dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node);
2187
- } else if (dropType === 'after') {
2188
- dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node);
2189
- } else if (dropType === 'inner') {
2190
- dropNode.node.insertChild(draggingNodeCopy);
2191
- }
2192
- if (dropType !== 'none') {
2193
- _this.store.registerNode(draggingNodeCopy);
2194
- }
2195
-
2196
- Object(dom_["removeClass"])(dropNode.$el, 'is-drop-inner');
2197
-
2198
- _this.$emit('node-drag-end', draggingNode.node, dropNode.node, dropType, event);
2199
- if (dropType !== 'none') {
2200
- _this.$emit('node-drop', draggingNode.node, dropNode.node, dropType, event);
2201
- }
2202
- }
2203
- if (draggingNode && !dropNode) {
2204
- _this.$emit('node-drag-end', draggingNode.node, null, dropType, event);
2205
- }
2206
-
2207
- dragState.showDropIndicator = false;
2208
- dragState.draggingNode = null;
2209
- dragState.dropNode = null;
2210
- dragState.allowDrop = true;
2211
- });
2212
- },
2213
- mounted: function mounted() {
2214
- this.initTabIndex();
2215
- this.$el.addEventListener('keydown', this.handleKeydown);
2216
- },
2217
- updated: function updated() {
2218
- this.treeItems = this.$el.querySelectorAll('[role=treeitem]');
2219
- this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');
2220
- }
1783
+ name: 'ElTree',
1784
+
1785
+ mixins: [emitter_default.a],
1786
+
1787
+ components: {
1788
+ ElTreeNode: tree_node
1789
+ },
1790
+
1791
+ data: function data() {
1792
+ return {
1793
+ store: null,
1794
+ root: null,
1795
+ currentNode: null,
1796
+ treeItems: null,
1797
+ checkboxItems: [],
1798
+ dragState: {
1799
+ showDropIndicator: false,
1800
+ draggingNode: null,
1801
+ dropNode: null,
1802
+ allowDrop: true
1803
+ }
1804
+ };
1805
+ },
1806
+
1807
+
1808
+ props: {
1809
+ data: {
1810
+ type: Array
1811
+ },
1812
+ emptyText: {
1813
+ type: String,
1814
+ default: function _default() {
1815
+ return Object(locale_["t"])('el.tree.emptyText');
1816
+ }
1817
+ },
1818
+ renderAfterExpand: {
1819
+ type: Boolean,
1820
+ default: true
1821
+ },
1822
+ nodeKey: String,
1823
+ checkStrictly: Boolean,
1824
+ defaultExpandAll: Boolean,
1825
+ expandOnClickNode: {
1826
+ type: Boolean,
1827
+ default: true
1828
+ },
1829
+ checkOnClickNode: Boolean,
1830
+ checkDescendants: {
1831
+ type: Boolean,
1832
+ default: false
1833
+ },
1834
+ autoExpandParent: {
1835
+ type: Boolean,
1836
+ default: true
1837
+ },
1838
+ defaultCheckedKeys: Array,
1839
+ defaultExpandedKeys: Array,
1840
+ currentNodeKey: [String, Number],
1841
+ renderContent: Function,
1842
+ showCheckbox: {
1843
+ type: Boolean,
1844
+ default: false
1845
+ },
1846
+ draggable: {
1847
+ type: Boolean,
1848
+ default: false
1849
+ },
1850
+ allowDrag: Function,
1851
+ allowDrop: Function,
1852
+ props: {
1853
+ default: function _default() {
1854
+ return {
1855
+ children: 'children',
1856
+ label: 'label',
1857
+ disabled: 'disabled'
1858
+ };
1859
+ }
1860
+ },
1861
+ lazy: {
1862
+ type: Boolean,
1863
+ default: false
1864
+ },
1865
+ highlightCurrent: Boolean,
1866
+ load: Function,
1867
+ filterNodeMethod: Function,
1868
+ accordion: Boolean,
1869
+ indent: {
1870
+ type: Number,
1871
+ default: 18
1872
+ },
1873
+ iconClass: String
1874
+ },
1875
+
1876
+ computed: {
1877
+ children: {
1878
+ set: function set(value) {
1879
+ this.data = value;
1880
+ },
1881
+ get: function get() {
1882
+ return this.data;
1883
+ }
1884
+ },
1885
+
1886
+ treeItemArray: function treeItemArray() {
1887
+ return Array.prototype.slice.call(this.treeItems);
1888
+ },
1889
+ isEmpty: function isEmpty() {
1890
+ var childNodes = this.root.childNodes;
1891
+
1892
+ return !childNodes || childNodes.length === 0 || childNodes.every(function (_ref) {
1893
+ var visible = _ref.visible;
1894
+ return !visible;
1895
+ });
1896
+ }
1897
+ },
1898
+
1899
+ watch: {
1900
+ defaultCheckedKeys: function defaultCheckedKeys(newVal) {
1901
+ this.store.setDefaultCheckedKey(newVal);
1902
+ },
1903
+ defaultExpandedKeys: function defaultExpandedKeys(newVal) {
1904
+ this.store.defaultExpandedKeys = newVal;
1905
+ this.store.setDefaultExpandedKeys(newVal);
1906
+ },
1907
+ data: function data(newVal) {
1908
+ this.store.setData(newVal);
1909
+ },
1910
+ checkboxItems: function checkboxItems(val) {
1911
+ Array.prototype.forEach.call(val, function (checkbox) {
1912
+ checkbox.setAttribute('tabindex', -1);
1913
+ });
1914
+ },
1915
+ checkStrictly: function checkStrictly(newVal) {
1916
+ this.store.checkStrictly = newVal;
1917
+ }
1918
+ },
1919
+
1920
+ methods: {
1921
+ filter: function filter(value) {
1922
+ if (!this.filterNodeMethod) throw new Error('[Tree] filterNodeMethod is required when filter');
1923
+ this.store.filter(value);
1924
+ },
1925
+ getNodeKey: function getNodeKey(node) {
1926
+ return util_getNodeKey(this.nodeKey, node.data);
1927
+ },
1928
+ getNodePath: function getNodePath(data) {
1929
+ if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getNodePath');
1930
+ var node = this.store.getNode(data);
1931
+ if (!node) return [];
1932
+ var path = [node.data];
1933
+ var parent = node.parent;
1934
+ while (parent && parent !== this.root) {
1935
+ path.push(parent.data);
1936
+ parent = parent.parent;
1937
+ }
1938
+ return path.reverse();
1939
+ },
1940
+ getCheckedNodes: function getCheckedNodes(leafOnly, includeHalfChecked) {
1941
+ return this.store.getCheckedNodes(leafOnly, includeHalfChecked);
1942
+ },
1943
+ getCheckedKeys: function getCheckedKeys(leafOnly) {
1944
+ return this.store.getCheckedKeys(leafOnly);
1945
+ },
1946
+ getCurrentNode: function getCurrentNode() {
1947
+ var currentNode = this.store.getCurrentNode();
1948
+ return currentNode ? currentNode.data : null;
1949
+ },
1950
+ getCurrentKey: function getCurrentKey() {
1951
+ if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getCurrentKey');
1952
+ var currentNode = this.getCurrentNode();
1953
+ return currentNode ? currentNode[this.nodeKey] : null;
1954
+ },
1955
+ setCheckedNodes: function setCheckedNodes(nodes, leafOnly) {
1956
+ if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes');
1957
+ this.store.setCheckedNodes(nodes, leafOnly);
1958
+ },
1959
+ setCheckedKeys: function setCheckedKeys(keys, leafOnly) {
1960
+ if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedKeys');
1961
+ this.store.setCheckedKeys(keys, leafOnly);
1962
+ },
1963
+ setChecked: function setChecked(data, checked, deep) {
1964
+ this.store.setChecked(data, checked, deep);
1965
+ },
1966
+ getHalfCheckedNodes: function getHalfCheckedNodes() {
1967
+ return this.store.getHalfCheckedNodes();
1968
+ },
1969
+ getHalfCheckedKeys: function getHalfCheckedKeys() {
1970
+ return this.store.getHalfCheckedKeys();
1971
+ },
1972
+ setCurrentNode: function setCurrentNode(node) {
1973
+ if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentNode');
1974
+ this.store.setUserCurrentNode(node);
1975
+ },
1976
+ setCurrentKey: function setCurrentKey(key) {
1977
+ if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentKey');
1978
+ this.store.setCurrentNodeKey(key);
1979
+ },
1980
+ getNode: function getNode(data) {
1981
+ return this.store.getNode(data);
1982
+ },
1983
+ remove: function remove(data) {
1984
+ this.store.remove(data);
1985
+ },
1986
+ append: function append(data, parentNode) {
1987
+ this.store.append(data, parentNode);
1988
+ },
1989
+ insertBefore: function insertBefore(data, refNode) {
1990
+ this.store.insertBefore(data, refNode);
1991
+ },
1992
+ insertAfter: function insertAfter(data, refNode) {
1993
+ this.store.insertAfter(data, refNode);
1994
+ },
1995
+ handleNodeExpand: function handleNodeExpand(nodeData, node, instance) {
1996
+ this.broadcast('ElTreeNode', 'tree-node-expand', node);
1997
+ this.$emit('node-expand', nodeData, node, instance);
1998
+ },
1999
+ updateKeyChildren: function updateKeyChildren(key, data) {
2000
+ if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in updateKeyChild');
2001
+ this.store.updateChildren(key, data);
2002
+ },
2003
+ initTabIndex: function initTabIndex() {
2004
+ this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');
2005
+ this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');
2006
+ var checkedItem = this.$el.querySelectorAll('.is-checked[role=treeitem]');
2007
+ if (checkedItem.length) {
2008
+ checkedItem[0].setAttribute('tabindex', 0);
2009
+ return;
2010
+ }
2011
+ this.treeItems[0] && this.treeItems[0].setAttribute('tabindex', 0);
2012
+ },
2013
+ handleKeydown: function handleKeydown(ev) {
2014
+ var currentItem = ev.target;
2015
+ if (currentItem.className.indexOf('el-tree-node') === -1) return;
2016
+ var keyCode = ev.keyCode;
2017
+ this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');
2018
+ var currentIndex = this.treeItemArray.indexOf(currentItem);
2019
+ var nextIndex = void 0;
2020
+ if ([38, 40].indexOf(keyCode) > -1) {
2021
+ // up、down
2022
+ ev.preventDefault();
2023
+ if (keyCode === 38) {
2024
+ // up
2025
+ nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0;
2026
+ } else {
2027
+ nextIndex = currentIndex < this.treeItemArray.length - 1 ? currentIndex + 1 : 0;
2028
+ }
2029
+ this.treeItemArray[nextIndex].focus(); // 选中
2030
+ }
2031
+ if ([37, 39].indexOf(keyCode) > -1) {
2032
+ // left、right 展开
2033
+ ev.preventDefault();
2034
+ currentItem.click(); // 选中
2035
+ }
2036
+ var hasInput = currentItem.querySelector('[type="checkbox"]');
2037
+ if ([13, 32].indexOf(keyCode) > -1 && hasInput) {
2038
+ // space enter选中checkbox
2039
+ ev.preventDefault();
2040
+ hasInput.click();
2041
+ }
2042
+ }
2043
+ },
2044
+
2045
+ created: function created() {
2046
+ var _this = this;
2047
+
2048
+ this.isTree = true;
2049
+
2050
+ this.store = new tree_store({
2051
+ key: this.nodeKey,
2052
+ data: this.data,
2053
+ lazy: this.lazy,
2054
+ props: this.props,
2055
+ load: this.load,
2056
+ currentNodeKey: this.currentNodeKey,
2057
+ checkStrictly: this.checkStrictly,
2058
+ checkDescendants: this.checkDescendants,
2059
+ defaultCheckedKeys: this.defaultCheckedKeys,
2060
+ defaultExpandedKeys: this.defaultExpandedKeys,
2061
+ autoExpandParent: this.autoExpandParent,
2062
+ defaultExpandAll: this.defaultExpandAll,
2063
+ filterNodeMethod: this.filterNodeMethod
2064
+ });
2065
+
2066
+ this.root = this.store.root;
2067
+
2068
+ var dragState = this.dragState;
2069
+ this.$on('tree-node-drag-start', function (event, treeNode) {
2070
+ if (typeof _this.allowDrag === 'function' && !_this.allowDrag(treeNode.node)) {
2071
+ event.preventDefault();
2072
+ return false;
2073
+ }
2074
+ event.dataTransfer.effectAllowed = 'move';
2075
+
2076
+ // wrap in try catch to address IE's error when first param is 'text/plain'
2077
+ try {
2078
+ // setData is required for draggable to work in FireFox
2079
+ // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox
2080
+ event.dataTransfer.setData('text/plain', '');
2081
+ } catch (e) {}
2082
+ dragState.draggingNode = treeNode;
2083
+ _this.$emit('node-drag-start', treeNode.node, event);
2084
+ });
2085
+
2086
+ this.$on('tree-node-drag-over', function (event, treeNode) {
2087
+ var dropNode = findNearestComponent(event.target, 'ElTreeNode');
2088
+ var oldDropNode = dragState.dropNode;
2089
+ if (oldDropNode && oldDropNode !== dropNode) {
2090
+ Object(dom_["removeClass"])(oldDropNode.$el, 'is-drop-inner');
2091
+ }
2092
+ var draggingNode = dragState.draggingNode;
2093
+ if (!draggingNode || !dropNode) return;
2094
+
2095
+ var dropPrev = true;
2096
+ var dropInner = true;
2097
+ var dropNext = true;
2098
+ var userAllowDropInner = true;
2099
+ if (typeof _this.allowDrop === 'function') {
2100
+ dropPrev = _this.allowDrop(draggingNode.node, dropNode.node, 'prev');
2101
+ userAllowDropInner = dropInner = _this.allowDrop(draggingNode.node, dropNode.node, 'inner');
2102
+ dropNext = _this.allowDrop(draggingNode.node, dropNode.node, 'next');
2103
+ }
2104
+ event.dataTransfer.dropEffect = dropInner ? 'move' : 'none';
2105
+ if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {
2106
+ if (oldDropNode) {
2107
+ _this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event);
2108
+ }
2109
+ _this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event);
2110
+ }
2111
+
2112
+ if (dropPrev || dropInner || dropNext) {
2113
+ dragState.dropNode = dropNode;
2114
+ }
2115
+
2116
+ if (dropNode.node.nextSibling === draggingNode.node) {
2117
+ dropNext = false;
2118
+ }
2119
+ if (dropNode.node.previousSibling === draggingNode.node) {
2120
+ dropPrev = false;
2121
+ }
2122
+ if (dropNode.node.contains(draggingNode.node, false)) {
2123
+ dropInner = false;
2124
+ }
2125
+ if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) {
2126
+ dropPrev = false;
2127
+ dropInner = false;
2128
+ dropNext = false;
2129
+ }
2130
+
2131
+ var targetPosition = dropNode.$el.getBoundingClientRect();
2132
+ var treePosition = _this.$el.getBoundingClientRect();
2133
+
2134
+ var dropType = void 0;
2135
+ var prevPercent = dropPrev ? dropInner ? 0.25 : dropNext ? 0.45 : 1 : -1;
2136
+ var nextPercent = dropNext ? dropInner ? 0.75 : dropPrev ? 0.55 : 0 : 1;
2137
+
2138
+ var indicatorTop = -9999;
2139
+ var distance = event.clientY - targetPosition.top;
2140
+ if (distance < targetPosition.height * prevPercent) {
2141
+ dropType = 'before';
2142
+ } else if (distance > targetPosition.height * nextPercent) {
2143
+ dropType = 'after';
2144
+ } else if (dropInner) {
2145
+ dropType = 'inner';
2146
+ } else {
2147
+ dropType = 'none';
2148
+ }
2149
+
2150
+ var iconPosition = dropNode.$el.querySelector('.el-tree-node__expand-icon').getBoundingClientRect();
2151
+ var dropIndicator = _this.$refs.dropIndicator;
2152
+ if (dropType === 'before') {
2153
+ indicatorTop = iconPosition.top - treePosition.top;
2154
+ } else if (dropType === 'after') {
2155
+ indicatorTop = iconPosition.bottom - treePosition.top;
2156
+ }
2157
+ dropIndicator.style.top = indicatorTop + 'px';
2158
+ dropIndicator.style.left = iconPosition.right - treePosition.left + 'px';
2159
+
2160
+ if (dropType === 'inner') {
2161
+ Object(dom_["addClass"])(dropNode.$el, 'is-drop-inner');
2162
+ } else {
2163
+ Object(dom_["removeClass"])(dropNode.$el, 'is-drop-inner');
2164
+ }
2165
+
2166
+ dragState.showDropIndicator = dropType === 'before' || dropType === 'after';
2167
+ dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner;
2168
+ dragState.dropType = dropType;
2169
+ _this.$emit('node-drag-over', draggingNode.node, dropNode.node, event);
2170
+ });
2171
+
2172
+ this.$on('tree-node-drag-end', function (event) {
2173
+ var draggingNode = dragState.draggingNode,
2174
+ dropType = dragState.dropType,
2175
+ dropNode = dragState.dropNode;
2176
+
2177
+ event.preventDefault();
2178
+ event.dataTransfer.dropEffect = 'move';
2179
+
2180
+ if (draggingNode && dropNode) {
2181
+ var draggingNodeCopy = { data: draggingNode.node.data };
2182
+ if (dropType !== 'none') {
2183
+ draggingNode.node.remove();
2184
+ }
2185
+ if (dropType === 'before') {
2186
+ dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node);
2187
+ } else if (dropType === 'after') {
2188
+ dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node);
2189
+ } else if (dropType === 'inner') {
2190
+ dropNode.node.insertChild(draggingNodeCopy);
2191
+ }
2192
+ if (dropType !== 'none') {
2193
+ _this.store.registerNode(draggingNodeCopy);
2194
+ }
2195
+
2196
+ Object(dom_["removeClass"])(dropNode.$el, 'is-drop-inner');
2197
+
2198
+ _this.$emit('node-drag-end', draggingNode.node, dropNode.node, dropType, event);
2199
+ if (dropType !== 'none') {
2200
+ _this.$emit('node-drop', draggingNode.node, dropNode.node, dropType, event);
2201
+ }
2202
+ }
2203
+ if (draggingNode && !dropNode) {
2204
+ _this.$emit('node-drag-end', draggingNode.node, null, dropType, event);
2205
+ }
2206
+
2207
+ dragState.showDropIndicator = false;
2208
+ dragState.draggingNode = null;
2209
+ dragState.dropNode = null;
2210
+ dragState.allowDrop = true;
2211
+ });
2212
+ },
2213
+ mounted: function mounted() {
2214
+ this.initTabIndex();
2215
+ this.$el.addEventListener('keydown', this.handleKeydown);
2216
+ },
2217
+ updated: function updated() {
2218
+ this.treeItems = this.$el.querySelectorAll('[role=treeitem]');
2219
+ this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');
2220
+ }
2221
2221
  });
2222
2222
  // CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=script&lang=js
2223
2223
  /* harmony default export */ var src_treevue_type_script_lang_js = (treevue_type_script_lang_js);
@@ -2246,7 +2246,7 @@ var tree_component = Object(componentNormalizer["a" /* default */])(
2246
2246
 
2247
2247
  /* istanbul ignore next */
2248
2248
  tree.install = function (Vue) {
2249
- Vue.component(tree.name, tree);
2249
+ Vue.component(tree.name, tree);
2250
2250
  };
2251
2251
 
2252
2252
  /* harmony default export */ var packages_tree = __webpack_exports__["default"] = (tree);