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
@@ -9,461 +9,461 @@ import { mapStates } from './store/helper';
9
9
  import TableRow from './table-row.js';
10
10
 
11
11
  export default {
12
- name: 'ElTableBody',
13
-
14
- mixins: [LayoutObserver],
15
-
16
- components: {
17
- ElCheckbox,
18
- ElTooltip,
19
- TableRow
20
- },
21
-
22
- props: {
23
- store: {
24
- required: true
25
- },
26
- stripe: Boolean,
27
- context: {},
28
- rowClassName: [String, Function],
29
- rowStyle: [Object, Function],
30
- fixed: String,
31
- highlight: Boolean
32
- },
33
-
34
- render(h) {
35
- const data = this.data || [];
36
- return (
37
- <table
38
- class="el-table__body"
39
- cellspacing="0"
40
- cellpadding="0"
41
- border="0">
42
- <colgroup>
43
- {
44
- this.columns.map(column => <col name={column.id} key={column.id} />)
45
- }
46
- </colgroup>
47
- <tbody>
48
- {
49
- data.reduce((acc, row) => {
50
- return acc.concat(this.wrappedRowRender(row, acc.length));
51
- }, [])
52
- }
53
- <el-tooltip effect={this.table.tooltipEffect} placement="top" ref="tooltip" content={this.tooltipContent}></el-tooltip>
54
- </tbody>
55
- </table>
56
- );
57
- },
58
-
59
- computed: {
60
- table() {
61
- return this.$parent;
62
- },
63
-
64
- ...mapStates({
65
- data: 'data',
66
- columns: 'columns',
67
- treeIndent: 'indent',
68
- leftFixedLeafCount: 'fixedLeafColumnsLength',
69
- rightFixedLeafCount: 'rightFixedLeafColumnsLength',
70
- columnsCount: states => states.columns.length,
71
- leftFixedCount: states => states.fixedColumns.length,
72
- rightFixedCount: states => states.rightFixedColumns.length,
73
- hasExpandColumn: states => states.columns.some(({ type }) => type === 'expand')
74
- }),
75
-
76
- columnsHidden() {
77
- return this.columns.map((column, index) => this.isColumnHidden(index));
78
- },
79
-
80
- firstDefaultColumnIndex() {
81
- return arrayFindIndex(this.columns, ({ type }) => type === 'default');
82
- }
83
- },
84
-
85
- watch: {
86
- // don't trigger getter of currentRow in getCellClass. see https://jsfiddle.net/oe2b4hqt/
87
- // update DOM manually. see https://github.com/ElemeFE/element/pull/13954/files#diff-9b450c00d0a9dec0ffad5a3176972e40
88
- 'store.states.hoverRow'(newVal, oldVal) {
89
- if (!this.store.states.isComplex || this.$isServer) return;
90
- let raf = window.requestAnimationFrame;
91
- if (!raf) {
92
- raf = (fn) => setTimeout(fn, 16);
93
- }
94
- raf(() => {
95
- const rows = this.$el.querySelectorAll('.el-table__row');
96
- const oldRow = rows[oldVal];
97
- const newRow = rows[newVal];
98
- if (oldRow) {
99
- removeClass(oldRow, 'hover-row');
100
- }
101
- if (newRow) {
102
- addClass(newRow, 'hover-row');
103
- }
104
- });
105
- }
106
- },
107
-
108
- data() {
109
- return {
110
- tooltipContent: ''
111
- };
112
- },
113
-
114
- created() {
115
- this.activateTooltip = debounce(50, tooltip => tooltip.handleShowPopper());
116
- },
117
-
118
- methods: {
119
- getKeyOfRow(row, index) {
120
- const rowKey = this.table.rowKey;
121
- if (rowKey) {
122
- return getRowIdentity(row, rowKey);
123
- }
124
- return index;
125
- },
126
-
127
- isColumnHidden(index) {
128
- if (this.fixed === true || this.fixed === 'left') {
129
- return index >= this.leftFixedLeafCount;
130
- } else if (this.fixed === 'right') {
131
- return index < this.columnsCount - this.rightFixedLeafCount;
132
- } else {
133
- return (index < this.leftFixedLeafCount) || (index >= this.columnsCount - this.rightFixedLeafCount);
134
- }
135
- },
136
-
137
- getSpan(row, column, rowIndex, columnIndex) {
138
- let rowspan = 1;
139
- let colspan = 1;
140
- const fn = this.table.spanMethod;
141
- if (typeof fn === 'function') {
142
- const result = fn({
143
- row,
144
- column,
145
- rowIndex,
146
- columnIndex
147
- });
148
- if (Array.isArray(result)) {
149
- rowspan = result[0];
150
- colspan = result[1];
151
- } else if (typeof result === 'object') {
152
- rowspan = result.rowspan;
153
- colspan = result.colspan;
154
- }
155
- }
156
- return { rowspan, colspan };
157
- },
158
-
159
- getRowStyle(row, rowIndex) {
160
- const rowStyle = this.table.rowStyle;
161
- if (typeof rowStyle === 'function') {
162
- return rowStyle.call(null, {
163
- row,
164
- rowIndex
165
- });
166
- }
167
- return rowStyle || null;
168
- },
169
-
170
- getRowClass(row, rowIndex) {
171
- let selection = this.store.states.selection;
172
- const classes = ['el-table__row'];
173
- if (this.table.highlightCurrentRow && row === this.store.states.currentRow) {
174
- classes.push('current-row');
175
- }
176
-
177
- if (this.table.highlightSelectionRow) {
178
- for (let i = 0; i < selection.length; i++) {
179
- if (objectEquals(row, selection[i])) {
180
- classes.push('selection-row');
181
- }
182
- };
183
- }
184
-
185
- if (this.stripe && rowIndex % 2 === 1) {
186
- classes.push('el-table__row--striped');
187
- }
188
- const rowClassName = this.table.rowClassName;
189
- if (typeof rowClassName === 'string') {
190
- classes.push(rowClassName);
191
- } else if (typeof rowClassName === 'function') {
192
- classes.push(rowClassName.call(null, {
193
- row,
194
- rowIndex
195
- }));
196
- }
197
-
198
- if (this.store.states.expandRows.indexOf(row) > -1) {
199
- classes.push('expanded');
200
- }
201
-
202
- return classes;
203
- },
204
-
205
- getCellStyle(rowIndex, columnIndex, row, column) {
206
- const cellStyle = this.table.cellStyle;
207
- if (typeof cellStyle === 'function') {
208
- return cellStyle.call(null, {
209
- rowIndex,
210
- columnIndex,
211
- row,
212
- column
213
- });
214
- }
215
- return cellStyle;
216
- },
217
-
218
- getCellClass(rowIndex, columnIndex, row, column) {
219
- const classes = [column.id, column.align, column.className];
220
-
221
- if (this.isColumnHidden(columnIndex)) {
222
- classes.push('is-hidden');
223
- }
224
-
225
- const cellClassName = this.table.cellClassName;
226
- if (typeof cellClassName === 'string') {
227
- classes.push(cellClassName);
228
- } else if (typeof cellClassName === 'function') {
229
- classes.push(cellClassName.call(null, {
230
- rowIndex,
231
- columnIndex,
232
- row,
233
- column
234
- }));
235
- }
236
-
237
- classes.push('el-table__cell');
238
-
239
- return classes.join(' ');
240
- },
241
-
242
- getColspanRealWidth(columns, colspan, index) {
243
- if (colspan < 1) {
244
- return columns[index].realWidth;
245
- }
246
- const widthArr = columns.map(({ realWidth }) => realWidth).slice(index, index + colspan);
247
- return widthArr.reduce((acc, width) => acc + width, -1);
248
- },
249
-
250
- handleCellMouseEnter(event, row) {
251
- const table = this.table;
252
- const cell = getCell(event);
253
-
254
- if (cell) {
255
- const column = getColumnByCell(table, cell);
256
- const hoverState = table.hoverState = { cell, column, row };
257
- table.$emit('cell-mouse-enter', hoverState.row, hoverState.column, hoverState.cell, event);
258
- }
259
-
260
- // 判断是否text-overflow, 如果是就显示tooltip
261
- const cellChild = event.target.querySelector('.cell');
262
- if (!(hasClass(cellChild, 'el-tooltip') && cellChild.childNodes.length)) {
263
- return;
264
- }
265
- // use range width instead of scrollWidth to determine whether the text is overflowing
266
- // to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3
267
- const range = document.createRange();
268
- range.setStart(cellChild, 0);
269
- range.setEnd(cellChild, cellChild.childNodes.length);
270
- const rangeWidth = range.getBoundingClientRect().width;
271
- const padding = (parseInt(getStyle(cellChild, 'paddingLeft'), 10) || 0) +
12
+ name: 'ElTableBody',
13
+
14
+ mixins: [LayoutObserver],
15
+
16
+ components: {
17
+ ElCheckbox,
18
+ ElTooltip,
19
+ TableRow
20
+ },
21
+
22
+ props: {
23
+ store: {
24
+ required: true
25
+ },
26
+ stripe: Boolean,
27
+ context: {},
28
+ rowClassName: [String, Function],
29
+ rowStyle: [Object, Function],
30
+ fixed: String,
31
+ highlight: Boolean
32
+ },
33
+
34
+ render(h) {
35
+ const data = this.data || [];
36
+ return (
37
+ <table
38
+ class="el-table__body"
39
+ cellspacing="0"
40
+ cellpadding="0"
41
+ border="0">
42
+ <colgroup>
43
+ {
44
+ this.columns.map(column => <col name={column.id} key={column.id} />)
45
+ }
46
+ </colgroup>
47
+ <tbody>
48
+ {
49
+ data.reduce((acc, row) => {
50
+ return acc.concat(this.wrappedRowRender(row, acc.length));
51
+ }, [])
52
+ }
53
+ <el-tooltip effect={this.table.tooltipEffect} placement="top" ref="tooltip" content={this.tooltipContent}></el-tooltip>
54
+ </tbody>
55
+ </table>
56
+ );
57
+ },
58
+
59
+ computed: {
60
+ table() {
61
+ return this.$parent;
62
+ },
63
+
64
+ ...mapStates({
65
+ data: 'data',
66
+ columns: 'columns',
67
+ treeIndent: 'indent',
68
+ leftFixedLeafCount: 'fixedLeafColumnsLength',
69
+ rightFixedLeafCount: 'rightFixedLeafColumnsLength',
70
+ columnsCount: states => states.columns.length,
71
+ leftFixedCount: states => states.fixedColumns.length,
72
+ rightFixedCount: states => states.rightFixedColumns.length,
73
+ hasExpandColumn: states => states.columns.some(({ type }) => type === 'expand')
74
+ }),
75
+
76
+ columnsHidden() {
77
+ return this.columns.map((column, index) => this.isColumnHidden(index));
78
+ },
79
+
80
+ firstDefaultColumnIndex() {
81
+ return arrayFindIndex(this.columns, ({ type }) => type === 'default');
82
+ }
83
+ },
84
+
85
+ watch: {
86
+ // don't trigger getter of currentRow in getCellClass. see https://jsfiddle.net/oe2b4hqt/
87
+ // update DOM manually. see https://github.com/ElemeFE/element/pull/13954/files#diff-9b450c00d0a9dec0ffad5a3176972e40
88
+ 'store.states.hoverRow'(newVal, oldVal) {
89
+ if (!this.store.states.isComplex || this.$isServer) return;
90
+ let raf = window.requestAnimationFrame;
91
+ if (!raf) {
92
+ raf = (fn) => setTimeout(fn, 16);
93
+ }
94
+ raf(() => {
95
+ const rows = this.$el.querySelectorAll('.el-table__row');
96
+ const oldRow = rows[oldVal];
97
+ const newRow = rows[newVal];
98
+ if (oldRow) {
99
+ removeClass(oldRow, 'hover-row');
100
+ }
101
+ if (newRow) {
102
+ addClass(newRow, 'hover-row');
103
+ }
104
+ });
105
+ }
106
+ },
107
+
108
+ data() {
109
+ return {
110
+ tooltipContent: ''
111
+ };
112
+ },
113
+
114
+ created() {
115
+ this.activateTooltip = debounce(50, tooltip => tooltip.handleShowPopper());
116
+ },
117
+
118
+ methods: {
119
+ getKeyOfRow(row, index) {
120
+ const rowKey = this.table.rowKey;
121
+ if (rowKey) {
122
+ return getRowIdentity(row, rowKey);
123
+ }
124
+ return index;
125
+ },
126
+
127
+ isColumnHidden(index) {
128
+ if (this.fixed === true || this.fixed === 'left') {
129
+ return index >= this.leftFixedLeafCount;
130
+ } else if (this.fixed === 'right') {
131
+ return index < this.columnsCount - this.rightFixedLeafCount;
132
+ } else {
133
+ return (index < this.leftFixedLeafCount) || (index >= this.columnsCount - this.rightFixedLeafCount);
134
+ }
135
+ },
136
+
137
+ getSpan(row, column, rowIndex, columnIndex) {
138
+ let rowspan = 1;
139
+ let colspan = 1;
140
+ const fn = this.table.spanMethod;
141
+ if (typeof fn === 'function') {
142
+ const result = fn({
143
+ row,
144
+ column,
145
+ rowIndex,
146
+ columnIndex
147
+ });
148
+ if (Array.isArray(result)) {
149
+ rowspan = result[0];
150
+ colspan = result[1];
151
+ } else if (typeof result === 'object') {
152
+ rowspan = result.rowspan;
153
+ colspan = result.colspan;
154
+ }
155
+ }
156
+ return { rowspan, colspan };
157
+ },
158
+
159
+ getRowStyle(row, rowIndex) {
160
+ const rowStyle = this.table.rowStyle;
161
+ if (typeof rowStyle === 'function') {
162
+ return rowStyle.call(null, {
163
+ row,
164
+ rowIndex
165
+ });
166
+ }
167
+ return rowStyle || null;
168
+ },
169
+
170
+ getRowClass(row, rowIndex) {
171
+ let selection = this.store.states.selection;
172
+ const classes = ['el-table__row'];
173
+ if (this.table.highlightCurrentRow && row === this.store.states.currentRow) {
174
+ classes.push('current-row');
175
+ }
176
+
177
+ if (this.table.highlightSelectionRow) {
178
+ for (let i = 0; i < selection.length; i++) {
179
+ if (objectEquals(row, selection[i])) {
180
+ classes.push('selection-row');
181
+ }
182
+ };
183
+ }
184
+
185
+ if (this.stripe && rowIndex % 2 === 1) {
186
+ classes.push('el-table__row--striped');
187
+ }
188
+ const rowClassName = this.table.rowClassName;
189
+ if (typeof rowClassName === 'string') {
190
+ classes.push(rowClassName);
191
+ } else if (typeof rowClassName === 'function') {
192
+ classes.push(rowClassName.call(null, {
193
+ row,
194
+ rowIndex
195
+ }));
196
+ }
197
+
198
+ if (this.store.states.expandRows.indexOf(row) > -1) {
199
+ classes.push('expanded');
200
+ }
201
+
202
+ return classes;
203
+ },
204
+
205
+ getCellStyle(rowIndex, columnIndex, row, column) {
206
+ const cellStyle = this.table.cellStyle;
207
+ if (typeof cellStyle === 'function') {
208
+ return cellStyle.call(null, {
209
+ rowIndex,
210
+ columnIndex,
211
+ row,
212
+ column
213
+ });
214
+ }
215
+ return cellStyle;
216
+ },
217
+
218
+ getCellClass(rowIndex, columnIndex, row, column) {
219
+ const classes = [column.id, column.align, column.className];
220
+
221
+ if (this.isColumnHidden(columnIndex)) {
222
+ classes.push('is-hidden');
223
+ }
224
+
225
+ const cellClassName = this.table.cellClassName;
226
+ if (typeof cellClassName === 'string') {
227
+ classes.push(cellClassName);
228
+ } else if (typeof cellClassName === 'function') {
229
+ classes.push(cellClassName.call(null, {
230
+ rowIndex,
231
+ columnIndex,
232
+ row,
233
+ column
234
+ }));
235
+ }
236
+
237
+ classes.push('el-table__cell');
238
+
239
+ return classes.join(' ');
240
+ },
241
+
242
+ getColspanRealWidth(columns, colspan, index) {
243
+ if (colspan < 1) {
244
+ return columns[index].realWidth;
245
+ }
246
+ const widthArr = columns.map(({ realWidth }) => realWidth).slice(index, index + colspan);
247
+ return widthArr.reduce((acc, width) => acc + width, -1);
248
+ },
249
+
250
+ handleCellMouseEnter(event, row) {
251
+ const table = this.table;
252
+ const cell = getCell(event);
253
+
254
+ if (cell) {
255
+ const column = getColumnByCell(table, cell);
256
+ const hoverState = table.hoverState = { cell, column, row };
257
+ table.$emit('cell-mouse-enter', hoverState.row, hoverState.column, hoverState.cell, event);
258
+ }
259
+
260
+ // 判断是否text-overflow, 如果是就显示tooltip
261
+ const cellChild = event.target.querySelector('.cell');
262
+ if (!(hasClass(cellChild, 'el-tooltip') && cellChild.childNodes.length)) {
263
+ return;
264
+ }
265
+ // use range width instead of scrollWidth to determine whether the text is overflowing
266
+ // to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3
267
+ const range = document.createRange();
268
+ range.setStart(cellChild, 0);
269
+ range.setEnd(cellChild, cellChild.childNodes.length);
270
+ const rangeWidth = range.getBoundingClientRect().width;
271
+ const padding = (parseInt(getStyle(cellChild, 'paddingLeft'), 10) || 0) +
272
272
  (parseInt(getStyle(cellChild, 'paddingRight'), 10) || 0);
273
- if ((rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) && this.$refs.tooltip) {
274
- const tooltip = this.$refs.tooltip;
275
- // TODO 会引起整个 Table 的重新渲染,需要优化
276
- this.tooltipContent = cell.innerText || cell.textContent;
277
- tooltip.referenceElm = cell;
278
- tooltip.$refs.popper && (tooltip.$refs.popper.style.display = 'none');
279
- tooltip.doDestroy();
280
- tooltip.setExpectedState(true);
281
- this.activateTooltip(tooltip);
282
- }
283
- },
284
-
285
- handleCellMouseLeave(event) {
286
- const tooltip = this.$refs.tooltip;
287
- if (tooltip) {
288
- tooltip.setExpectedState(false);
289
- tooltip.handleClosePopper();
290
- }
291
- const cell = getCell(event);
292
- if (!cell) return;
293
-
294
- const oldHoverState = this.table.hoverState || {};
295
- this.table.$emit('cell-mouse-leave', oldHoverState.row, oldHoverState.column, oldHoverState.cell, event);
296
- },
297
-
298
- handleMouseEnter: debounce(30, function(index) {
299
- this.store.commit('setHoverRow', index);
300
- }),
301
-
302
- handleMouseLeave: debounce(30, function() {
303
- this.store.commit('setHoverRow', null);
304
- }),
305
-
306
- handleContextMenu(event, row) {
307
- this.handleEvent(event, row, 'contextmenu');
308
- },
309
-
310
- handleDoubleClick(event, row) {
311
- this.handleEvent(event, row, 'dblclick');
312
- },
313
-
314
- handleClick(event, row) {
315
- this.store.commit('setCurrentRow', row);
316
- this.handleEvent(event, row, 'click');
317
- },
318
-
319
- handleEvent(event, row, name) {
320
- const table = this.table;
321
- const cell = getCell(event);
322
- let column;
323
- if (cell) {
324
- column = getColumnByCell(table, cell);
325
- if (column) {
326
- table.$emit(`cell-${name}`, row, column, cell, event);
327
- }
328
- }
329
- table.$emit(`row-${name}`, row, column, event);
330
- },
331
-
332
- rowRender(row, $index, treeRowData) {
333
- const { treeIndent, columns, firstDefaultColumnIndex } = this;
334
- const rowClasses = this.getRowClass(row, $index);
335
- let display = true;
336
- if (treeRowData) {
337
- rowClasses.push('el-table__row--level-' + treeRowData.level);
338
- display = treeRowData.display;
339
- }
340
- // 指令 v-show 会覆盖 row-style 中 display
341
- // 使用 :style 代替 v-show https://github.com/ElemeFE/element/issues/16995
342
- let displayStyle = display ? null : {
343
- display: 'none'
344
- };
345
- return (
346
- <TableRow
347
- style={[displayStyle, this.getRowStyle(row, $index)]}
348
- class={rowClasses}
349
- key={this.getKeyOfRow(row, $index)}
350
- nativeOn-dblclick={($event) => this.handleDoubleClick($event, row)}
351
- nativeOn-click={($event) => this.handleClick($event, row)}
352
- nativeOn-contextmenu={($event) => this.handleContextMenu($event, row)}
353
- nativeOn-mouseenter={_ => this.handleMouseEnter($index)}
354
- nativeOn-mouseleave={this.handleMouseLeave}
355
- columns={columns}
356
- row={row}
357
- index={$index}
358
- store={this.store}
359
- context={this.context || this.table.$vnode.context}
360
- firstDefaultColumnIndex={firstDefaultColumnIndex}
361
- treeRowData={treeRowData}
362
- treeIndent={treeIndent}
363
- columnsHidden={this.columnsHidden}
364
- getSpan={this.getSpan}
365
- getColspanRealWidth={this.getColspanRealWidth}
366
- getCellStyle={this.getCellStyle}
367
- getCellClass={this.getCellClass}
368
- handleCellMouseEnter={this.handleCellMouseEnter}
369
- handleCellMouseLeave={this.handleCellMouseLeave}
370
- isSelected={this.store.isSelected(row)}
371
- isExpanded={this.store.states.expandRows.indexOf(row) > -1}
372
- fixed={this.fixed}
373
- >
374
- </TableRow>
375
- );
376
- },
377
-
378
- wrappedRowRender(row, $index) {
379
- const store = this.store;
380
- const { isRowExpanded, assertRowKey } = store;
381
- const { treeData, lazyTreeNodeMap, childrenColumnName, rowKey } = store.states;
382
- if (this.hasExpandColumn && isRowExpanded(row)) {
383
- const renderExpanded = this.table.renderExpanded;
384
- const tr = this.rowRender(row, $index);
385
- if (!renderExpanded) {
386
- console.error('[Element Error]renderExpanded is required.');
387
- return tr;
388
- }
389
- // 使用二维数组,避免修改 $index
390
- return [[
391
- tr,
392
- <tr key={'expanded-row__' + tr.key}>
393
- <td colspan={ this.columnsCount } class="el-table__cell el-table__expanded-cell">
394
- { renderExpanded(this.$createElement, { row, $index, store: this.store }) }
395
- </td>
396
- </tr>]];
397
- } else if (Object.keys(treeData).length) {
398
- assertRowKey();
399
- // TreeTable 时,rowKey 必须由用户设定,不使用 getKeyOfRow 计算
400
- // 在调用 rowRender 函数时,仍然会计算 rowKey,不太好的操作
401
- const key = getRowIdentity(row, rowKey);
402
- let cur = treeData[key];
403
- let treeRowData = null;
404
- if (cur) {
405
- treeRowData = {
406
- expanded: cur.expanded,
407
- level: cur.level,
408
- display: true
409
- };
410
- if (typeof cur.lazy === 'boolean') {
411
- if (typeof cur.loaded === 'boolean' && cur.loaded) {
412
- treeRowData.noLazyChildren = !(cur.children && cur.children.length);
413
- }
414
- treeRowData.loading = cur.loading;
415
- }
416
- }
417
- const tmp = [this.rowRender(row, $index, treeRowData)];
418
- // 渲染嵌套数据
419
- if (cur) {
420
- // currentRow 记录的是 index,所以还需主动增加 TreeTable 的 index
421
- let i = 0;
422
- const traverse = (children, parent) => {
423
- if (!(children && children.length && parent)) return;
424
- children.forEach(node => {
425
- // 父节点的 display 状态影响子节点的显示状态
426
- const innerTreeRowData = {
427
- display: parent.display && parent.expanded,
428
- level: parent.level + 1
429
- };
430
- const childKey = getRowIdentity(node, rowKey);
431
- if (childKey === undefined || childKey === null) {
432
- throw new Error('for nested data item, row-key is required.');
433
- }
434
- cur = { ...treeData[childKey] };
435
- // 对于当前节点,分成有无子节点两种情况。
436
- // 如果包含子节点的,设置 expanded 属性。
437
- // 对于它子节点的 display 属性由它本身的 expanded 与 display 共同决定。
438
- if (cur) {
439
- innerTreeRowData.expanded = cur.expanded;
440
- // 懒加载的某些节点,level 未知
441
- cur.level = cur.level || innerTreeRowData.level;
442
- cur.display = !!(cur.expanded && innerTreeRowData.display);
443
- if (typeof cur.lazy === 'boolean') {
444
- if (typeof cur.loaded === 'boolean' && cur.loaded) {
445
- innerTreeRowData.noLazyChildren = !(cur.children && cur.children.length);
446
- }
447
- innerTreeRowData.loading = cur.loading;
448
- }
449
- }
450
- i++;
451
- tmp.push(this.rowRender(node, $index + i, innerTreeRowData));
452
- if (cur) {
453
- const nodes = lazyTreeNodeMap[childKey] || node[childrenColumnName];
454
- traverse(nodes, cur);
455
- }
456
- });
457
- };
458
- // 对于 root 节点,display 一定为 true
459
- cur.display = true;
460
- const nodes = lazyTreeNodeMap[key] || row[childrenColumnName];
461
- traverse(nodes, cur);
462
- }
463
- return tmp;
464
- } else {
465
- return this.rowRender(row, $index);
466
- }
467
- }
468
- }
273
+ if ((rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) && this.$refs.tooltip) {
274
+ const tooltip = this.$refs.tooltip;
275
+ // TODO 会引起整个 Table 的重新渲染,需要优化
276
+ this.tooltipContent = cell.innerText || cell.textContent;
277
+ tooltip.referenceElm = cell;
278
+ tooltip.$refs.popper && (tooltip.$refs.popper.style.display = 'none');
279
+ tooltip.doDestroy();
280
+ tooltip.setExpectedState(true);
281
+ this.activateTooltip(tooltip);
282
+ }
283
+ },
284
+
285
+ handleCellMouseLeave(event) {
286
+ const tooltip = this.$refs.tooltip;
287
+ if (tooltip) {
288
+ tooltip.setExpectedState(false);
289
+ tooltip.handleClosePopper();
290
+ }
291
+ const cell = getCell(event);
292
+ if (!cell) return;
293
+
294
+ const oldHoverState = this.table.hoverState || {};
295
+ this.table.$emit('cell-mouse-leave', oldHoverState.row, oldHoverState.column, oldHoverState.cell, event);
296
+ },
297
+
298
+ handleMouseEnter: debounce(30, function(index) {
299
+ this.store.commit('setHoverRow', index);
300
+ }),
301
+
302
+ handleMouseLeave: debounce(30, function() {
303
+ this.store.commit('setHoverRow', null);
304
+ }),
305
+
306
+ handleContextMenu(event, row) {
307
+ this.handleEvent(event, row, 'contextmenu');
308
+ },
309
+
310
+ handleDoubleClick(event, row) {
311
+ this.handleEvent(event, row, 'dblclick');
312
+ },
313
+
314
+ handleClick(event, row) {
315
+ this.store.commit('setCurrentRow', row);
316
+ this.handleEvent(event, row, 'click');
317
+ },
318
+
319
+ handleEvent(event, row, name) {
320
+ const table = this.table;
321
+ const cell = getCell(event);
322
+ let column;
323
+ if (cell) {
324
+ column = getColumnByCell(table, cell);
325
+ if (column) {
326
+ table.$emit(`cell-${ name }`, row, column, cell, event);
327
+ }
328
+ }
329
+ table.$emit(`row-${ name }`, row, column, event);
330
+ },
331
+
332
+ rowRender(row, $index, treeRowData) {
333
+ const { treeIndent, columns, firstDefaultColumnIndex } = this;
334
+ const rowClasses = this.getRowClass(row, $index);
335
+ let display = true;
336
+ if (treeRowData) {
337
+ rowClasses.push('el-table__row--level-' + treeRowData.level);
338
+ display = treeRowData.display;
339
+ }
340
+ // 指令 v-show 会覆盖 row-style 中 display
341
+ // 使用 :style 代替 v-show https://github.com/ElemeFE/element/issues/16995
342
+ let displayStyle = display ? null : {
343
+ display: 'none'
344
+ };
345
+ return (
346
+ <TableRow
347
+ style={[displayStyle, this.getRowStyle(row, $index)]}
348
+ class={rowClasses}
349
+ key={this.getKeyOfRow(row, $index)}
350
+ nativeOn-dblclick={($event) => this.handleDoubleClick($event, row)}
351
+ nativeOn-click={($event) => this.handleClick($event, row)}
352
+ nativeOn-contextmenu={($event) => this.handleContextMenu($event, row)}
353
+ nativeOn-mouseenter={_ => this.handleMouseEnter($index)}
354
+ nativeOn-mouseleave={this.handleMouseLeave}
355
+ columns={columns}
356
+ row={row}
357
+ index={$index}
358
+ store={this.store}
359
+ context={this.context || this.table.$vnode.context}
360
+ firstDefaultColumnIndex={firstDefaultColumnIndex}
361
+ treeRowData={treeRowData}
362
+ treeIndent={treeIndent}
363
+ columnsHidden={this.columnsHidden}
364
+ getSpan={this.getSpan}
365
+ getColspanRealWidth={this.getColspanRealWidth}
366
+ getCellStyle={this.getCellStyle}
367
+ getCellClass={this.getCellClass}
368
+ handleCellMouseEnter={this.handleCellMouseEnter}
369
+ handleCellMouseLeave={this.handleCellMouseLeave}
370
+ isSelected={this.store.isSelected(row)}
371
+ isExpanded={this.store.states.expandRows.indexOf(row) > -1}
372
+ fixed={this.fixed}
373
+ >
374
+ </TableRow>
375
+ );
376
+ },
377
+
378
+ wrappedRowRender(row, $index) {
379
+ const store = this.store;
380
+ const { isRowExpanded, assertRowKey } = store;
381
+ const { treeData, lazyTreeNodeMap, childrenColumnName, rowKey } = store.states;
382
+ if (this.hasExpandColumn && isRowExpanded(row)) {
383
+ const renderExpanded = this.table.renderExpanded;
384
+ const tr = this.rowRender(row, $index);
385
+ if (!renderExpanded) {
386
+ console.error('[Element Error]renderExpanded is required.');
387
+ return tr;
388
+ }
389
+ // 使用二维数组,避免修改 $index
390
+ return [[
391
+ tr,
392
+ <tr key={'expanded-row__' + tr.key}>
393
+ <td colspan={ this.columnsCount } class="el-table__cell el-table__expanded-cell">
394
+ { renderExpanded(this.$createElement, { row, $index, store: this.store }) }
395
+ </td>
396
+ </tr>]];
397
+ } else if (Object.keys(treeData).length) {
398
+ assertRowKey();
399
+ // TreeTable 时,rowKey 必须由用户设定,不使用 getKeyOfRow 计算
400
+ // 在调用 rowRender 函数时,仍然会计算 rowKey,不太好的操作
401
+ const key = getRowIdentity(row, rowKey);
402
+ let cur = treeData[key];
403
+ let treeRowData = null;
404
+ if (cur) {
405
+ treeRowData = {
406
+ expanded: cur.expanded,
407
+ level: cur.level,
408
+ display: true
409
+ };
410
+ if (typeof cur.lazy === 'boolean') {
411
+ if (typeof cur.loaded === 'boolean' && cur.loaded) {
412
+ treeRowData.noLazyChildren = !(cur.children && cur.children.length);
413
+ }
414
+ treeRowData.loading = cur.loading;
415
+ }
416
+ }
417
+ const tmp = [this.rowRender(row, $index, treeRowData)];
418
+ // 渲染嵌套数据
419
+ if (cur) {
420
+ // currentRow 记录的是 index,所以还需主动增加 TreeTable 的 index
421
+ let i = 0;
422
+ const traverse = (children, parent) => {
423
+ if (!(children && children.length && parent)) return;
424
+ children.forEach(node => {
425
+ // 父节点的 display 状态影响子节点的显示状态
426
+ const innerTreeRowData = {
427
+ display: parent.display && parent.expanded,
428
+ level: parent.level + 1
429
+ };
430
+ const childKey = getRowIdentity(node, rowKey);
431
+ if (childKey === undefined || childKey === null) {
432
+ throw new Error('for nested data item, row-key is required.');
433
+ }
434
+ cur = { ...treeData[childKey] };
435
+ // 对于当前节点,分成有无子节点两种情况。
436
+ // 如果包含子节点的,设置 expanded 属性。
437
+ // 对于它子节点的 display 属性由它本身的 expanded 与 display 共同决定。
438
+ if (cur) {
439
+ innerTreeRowData.expanded = cur.expanded;
440
+ // 懒加载的某些节点,level 未知
441
+ cur.level = cur.level || innerTreeRowData.level;
442
+ cur.display = !!(cur.expanded && innerTreeRowData.display);
443
+ if (typeof cur.lazy === 'boolean') {
444
+ if (typeof cur.loaded === 'boolean' && cur.loaded) {
445
+ innerTreeRowData.noLazyChildren = !(cur.children && cur.children.length);
446
+ }
447
+ innerTreeRowData.loading = cur.loading;
448
+ }
449
+ }
450
+ i++;
451
+ tmp.push(this.rowRender(node, $index + i, innerTreeRowData));
452
+ if (cur) {
453
+ const nodes = lazyTreeNodeMap[childKey] || node[childrenColumnName];
454
+ traverse(nodes, cur);
455
+ }
456
+ });
457
+ };
458
+ // 对于 root 节点,display 一定为 true
459
+ cur.display = true;
460
+ const nodes = lazyTreeNodeMap[key] || row[childrenColumnName];
461
+ traverse(nodes, cur);
462
+ }
463
+ return tmp;
464
+ } else {
465
+ return this.rowRender(row, $index);
466
+ }
467
+ }
468
+ }
469
469
  };