vxe-table 4.23.5 → 4.23.7

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 (482) hide show
  1. package/dist/all.esm.js +32456 -33938
  2. package/dist/style.css +4501 -1
  3. package/dist/style.mini.css +1 -0
  4. package/es/colgroup/index.d.ts +760 -0
  5. package/es/colgroup/index.js +16 -13
  6. package/es/column/index.d.ts +760 -0
  7. package/es/column/index.js +16 -13
  8. package/es/components.d.ts +9 -0
  9. package/es/components.js +29 -29
  10. package/es/grid/index.d.ts +2824 -0
  11. package/es/grid/index.js +14 -9
  12. package/es/grid/src/emits.d.ts +2 -0
  13. package/es/grid/src/emits.js +18 -15
  14. package/es/grid/src/grid.d.ts +556 -0
  15. package/es/grid/src/grid.js +1695 -1758
  16. package/es/grid/src/props.d.ts +200 -0
  17. package/es/grid/src/props.js +19 -6
  18. package/es/{vxe-grid/style.min.css → grid/style.mini.css} +1 -1
  19. package/es/index.d.ts +3 -0
  20. package/es/index.esm.js +6 -3
  21. package/es/index.js +6 -0
  22. package/es/locale/lang/ar-EG.d.ts +908 -2
  23. package/es/locale/lang/ar-EG.js +906 -903
  24. package/es/locale/lang/de-DE.d.ts +908 -2
  25. package/es/locale/lang/de-DE.js +906 -903
  26. package/es/locale/lang/en-US.d.ts +908 -2
  27. package/es/locale/lang/en-US.js +906 -903
  28. package/es/locale/lang/es-ES.d.ts +908 -2
  29. package/es/locale/lang/es-ES.js +906 -903
  30. package/es/locale/lang/fr-FR.d.ts +908 -2
  31. package/es/locale/lang/fr-FR.js +906 -903
  32. package/es/locale/lang/hu-HU.d.ts +908 -2
  33. package/es/locale/lang/hu-HU.js +906 -903
  34. package/es/locale/lang/hy-AM.d.ts +908 -2
  35. package/es/locale/lang/hy-AM.js +906 -903
  36. package/es/locale/lang/id-ID.d.ts +908 -2
  37. package/es/locale/lang/id-ID.js +906 -903
  38. package/es/locale/lang/it-IT.d.ts +908 -2
  39. package/es/locale/lang/it-IT.js +906 -903
  40. package/es/locale/lang/ja-JP.d.ts +908 -2
  41. package/es/locale/lang/ja-JP.js +906 -903
  42. package/es/locale/lang/ko-KR.d.ts +908 -2
  43. package/es/locale/lang/ko-KR.js +906 -903
  44. package/es/locale/lang/ms-MY.d.ts +908 -2
  45. package/es/locale/lang/ms-MY.js +906 -903
  46. package/es/locale/lang/nb-NO.d.ts +908 -2
  47. package/es/locale/lang/nb-NO.js +906 -903
  48. package/es/locale/lang/pt-BR.d.ts +908 -2
  49. package/es/locale/lang/pt-BR.js +906 -903
  50. package/es/locale/lang/ru-RU.d.ts +908 -2
  51. package/es/locale/lang/ru-RU.js +906 -903
  52. package/es/locale/lang/th-TH.d.ts +908 -2
  53. package/es/locale/lang/th-TH.js +906 -903
  54. package/es/locale/lang/ug-CN.d.ts +908 -2
  55. package/es/locale/lang/ug-CN.js +906 -903
  56. package/es/locale/lang/uk-UA.d.ts +908 -2
  57. package/es/locale/lang/uk-UA.js +906 -903
  58. package/es/locale/lang/uz-UZ.d.ts +908 -2
  59. package/es/locale/lang/uz-UZ.js +906 -903
  60. package/es/locale/lang/vi-VN.d.ts +908 -2
  61. package/es/locale/lang/vi-VN.js +906 -903
  62. package/es/locale/lang/zh-CHT.d.ts +908 -2
  63. package/es/locale/lang/zh-CHT.js +906 -903
  64. package/es/locale/lang/zh-CN.d.ts +908 -2
  65. package/es/locale/lang/zh-CN.js +906 -903
  66. package/es/locale/lang/zh-HK.d.ts +908 -2
  67. package/es/locale/lang/zh-HK.js +910 -2
  68. package/es/locale/lang/zh-MO.d.ts +908 -2
  69. package/es/locale/lang/zh-MO.js +910 -2
  70. package/es/locale/lang/zh-TC.d.ts +908 -0
  71. package/es/locale/lang/zh-TC.js +910 -2
  72. package/es/locale/lang/zh-TW.d.ts +908 -2
  73. package/es/locale/lang/zh-TW.js +910 -2
  74. package/es/style.css +4501 -1
  75. package/es/style.mini.css +1 -0
  76. package/es/table/index.d.ts +2672 -0
  77. package/es/table/index.js +16 -11
  78. package/es/table/module/custom/hook.d.ts +1 -0
  79. package/es/table/module/custom/hook.js +462 -483
  80. package/es/table/module/custom/panel.d.ts +17 -0
  81. package/es/table/module/custom/panel.js +1482 -1559
  82. package/es/table/module/edit/hook.d.ts +1 -0
  83. package/es/table/module/edit/hook.js +1008 -1078
  84. package/es/table/module/export/export-panel.d.ts +27 -0
  85. package/es/table/module/export/export-panel.js +523 -575
  86. package/es/table/module/export/hook.d.ts +1 -0
  87. package/es/table/module/export/hook.js +1805 -1884
  88. package/es/table/module/export/import-panel.d.ts +27 -0
  89. package/es/table/module/export/import-panel.js +244 -252
  90. package/es/table/module/export/util.d.ts +5 -0
  91. package/es/table/module/export/util.js +20 -17
  92. package/es/table/module/filter/hook.d.ts +1 -0
  93. package/es/table/module/filter/hook.js +472 -487
  94. package/es/table/module/filter/panel.d.ts +16 -0
  95. package/es/table/module/filter/panel.js +251 -275
  96. package/es/table/module/keyboard/hook.d.ts +1 -0
  97. package/es/table/module/keyboard/hook.js +445 -497
  98. package/es/table/module/menu/hook.d.ts +1 -0
  99. package/es/table/module/menu/hook.js +295 -315
  100. package/es/table/module/menu/panel.d.ts +2 -0
  101. package/es/table/module/menu/panel.js +164 -183
  102. package/es/table/module/validator/hook.d.ts +1 -0
  103. package/es/table/module/validator/hook.js +522 -571
  104. package/es/table/render/index.d.ts +1 -0
  105. package/es/table/render/index.js +1402 -1362
  106. package/es/table/src/body.d.ts +24 -0
  107. package/es/table/src/body.js +850 -865
  108. package/es/table/src/cell.d.ts +192 -0
  109. package/es/table/src/cell.js +1209 -1207
  110. package/es/table/src/column.d.ts +263 -0
  111. package/es/table/src/column.js +178 -174
  112. package/es/table/src/columnInfo.d.ts +13 -0
  113. package/es/table/src/columnInfo.js +202 -196
  114. package/es/table/src/emits.d.ts +2 -0
  115. package/es/table/src/emits.js +126 -119
  116. package/es/table/src/footer.d.ts +45 -0
  117. package/es/table/src/footer.js +336 -340
  118. package/es/table/src/group.d.ts +178 -0
  119. package/es/table/src/group.js +49 -46
  120. package/es/table/src/header.d.ts +26 -0
  121. package/es/table/src/header.js +517 -519
  122. package/es/table/src/props.d.ts +238 -0
  123. package/es/table/src/props.js +331 -328
  124. package/es/table/src/store.d.ts +6 -0
  125. package/es/table/src/store.js +9 -6
  126. package/es/table/src/table.d.ts +539 -0
  127. package/es/table/src/table.js +14061 -15071
  128. package/es/table/src/use/cell-view.d.ts +10 -0
  129. package/es/table/src/use/cell-view.js +36 -33
  130. package/es/table/src/use/index.d.ts +1 -0
  131. package/es/table/src/use/index.js +1 -1
  132. package/es/table/src/util.d.ts +74 -0
  133. package/es/table/src/util.js +1038 -1026
  134. package/es/table/style.css +1 -1
  135. package/es/table/style.mini.css +1 -0
  136. package/es/toolbar/index.d.ts +340 -0
  137. package/es/toolbar/index.js +14 -9
  138. package/es/toolbar/src/toolbar.d.ts +75 -0
  139. package/es/toolbar/src/toolbar.js +605 -613
  140. package/es/toolbar/{style.min.css → style.mini.css} +1 -1
  141. package/es/ui/index.d.ts +86 -0
  142. package/es/ui/index.js +457 -501
  143. package/es/ui/src/anime.d.ts +10 -0
  144. package/es/ui/src/anime.js +40 -40
  145. package/es/ui/src/comp.d.ts +2 -0
  146. package/es/ui/src/comp.js +5 -2
  147. package/es/ui/src/dom.d.ts +80 -0
  148. package/es/ui/src/dom.js +377 -380
  149. package/es/ui/src/log.d.ts +6 -0
  150. package/es/ui/src/log.js +18 -13
  151. package/es/ui/src/utils.d.ts +23 -0
  152. package/es/ui/src/utils.js +57 -53
  153. package/es/ui/src/vn.d.ts +7 -0
  154. package/es/ui/src/vn.js +49 -42
  155. package/es/v-x-e-table/index.d.ts +3 -0
  156. package/es/v-x-e-table/index.js +6 -3
  157. package/es/vxe-colgroup/index.d.ts +3 -0
  158. package/es/vxe-colgroup/index.js +6 -3
  159. package/es/vxe-column/index.d.ts +3 -0
  160. package/es/vxe-column/index.js +6 -3
  161. package/es/vxe-grid/index.d.ts +3 -0
  162. package/es/vxe-grid/index.js +6 -3
  163. package/{lib/grid/style/style.min.css → es/vxe-grid/style.mini.css} +1 -1
  164. package/es/vxe-table/index.d.ts +3 -0
  165. package/es/vxe-table/index.js +6 -3
  166. package/es/vxe-table/style.css +1 -1
  167. package/es/vxe-table/style.mini.css +1 -0
  168. package/es/vxe-toolbar/index.d.ts +3 -0
  169. package/es/vxe-toolbar/index.js +6 -3
  170. package/es/vxe-toolbar/{style.min.css → style.mini.css} +1 -1
  171. package/es/vxe-ui/index.d.ts +3 -0
  172. package/es/vxe-ui/index.js +6 -3
  173. package/lib/colgroup/index.js +44 -18
  174. package/lib/colgroup/style/index.js +1 -1
  175. package/lib/column/index.js +44 -18
  176. package/lib/column/style/index.js +1 -1
  177. package/lib/components.js +58 -92
  178. package/lib/grid/index.js +42 -14
  179. package/lib/grid/src/emits.js +37 -6
  180. package/lib/grid/src/grid.js +850 -1195
  181. package/lib/grid/src/props.js +27 -11
  182. package/lib/grid/style/index.js +1 -1
  183. package/lib/{vxe-grid/style/style.min.css → grid/style/style.mini.css} +1 -1
  184. package/lib/iconfont.1792979665397.ttf +0 -0
  185. package/lib/iconfont.1792979665397.woff +0 -0
  186. package/lib/iconfont.1792979665397.woff2 +0 -0
  187. package/lib/index.common.js +35 -19
  188. package/lib/index.js +37 -0
  189. package/lib/index.umd.js +30584 -24324
  190. package/lib/index.umd.min.js +3 -1
  191. package/lib/locale/ar-EG.umd.js +948 -0
  192. package/lib/locale/de-DE.umd.js +948 -0
  193. package/lib/locale/en-US.umd.js +948 -0
  194. package/lib/locale/es-ES.umd.js +948 -0
  195. package/lib/locale/fr-FR.umd.js +948 -0
  196. package/lib/locale/hu-HU.umd.js +948 -0
  197. package/lib/locale/hy-AM.umd.js +948 -0
  198. package/lib/locale/id-ID.umd.js +948 -0
  199. package/lib/locale/it-IT.umd.js +948 -0
  200. package/lib/locale/ja-JP.umd.js +948 -0
  201. package/lib/locale/ko-KR.umd.js +948 -0
  202. package/lib/locale/lang/ar-EG.js +681 -664
  203. package/lib/locale/lang/ar-EG.umd.js +913 -892
  204. package/lib/locale/lang/de-DE.js +681 -664
  205. package/lib/locale/lang/de-DE.umd.js +913 -892
  206. package/lib/locale/lang/en-US.js +678 -661
  207. package/lib/locale/lang/en-US.umd.js +913 -892
  208. package/lib/locale/lang/es-ES.js +681 -664
  209. package/lib/locale/lang/es-ES.umd.js +913 -892
  210. package/lib/locale/lang/fr-FR.js +654 -637
  211. package/lib/locale/lang/fr-FR.umd.js +913 -892
  212. package/lib/locale/lang/hu-HU.js +681 -664
  213. package/lib/locale/lang/hu-HU.umd.js +913 -892
  214. package/lib/locale/lang/hy-AM.js +681 -664
  215. package/lib/locale/lang/hy-AM.umd.js +913 -892
  216. package/lib/locale/lang/id-ID.js +681 -664
  217. package/lib/locale/lang/id-ID.umd.js +913 -892
  218. package/lib/locale/lang/it-IT.js +661 -644
  219. package/lib/locale/lang/it-IT.umd.js +912 -891
  220. package/lib/locale/lang/ja-JP.js +710 -693
  221. package/lib/locale/lang/ja-JP.umd.js +913 -892
  222. package/lib/locale/lang/ko-KR.js +681 -664
  223. package/lib/locale/lang/ko-KR.umd.js +913 -892
  224. package/lib/locale/lang/ms-MY.js +681 -664
  225. package/lib/locale/lang/ms-MY.umd.js +913 -892
  226. package/lib/locale/lang/nb-NO.js +681 -664
  227. package/lib/locale/lang/nb-NO.umd.js +913 -892
  228. package/lib/locale/lang/pt-BR.js +681 -664
  229. package/lib/locale/lang/pt-BR.umd.js +913 -892
  230. package/lib/locale/lang/ru-RU.js +690 -673
  231. package/lib/locale/lang/ru-RU.umd.js +913 -892
  232. package/lib/locale/lang/th-TH.js +681 -664
  233. package/lib/locale/lang/th-TH.umd.js +913 -892
  234. package/lib/locale/lang/ug-CN.js +681 -664
  235. package/lib/locale/lang/ug-CN.umd.js +913 -892
  236. package/lib/locale/lang/uk-UA.js +674 -657
  237. package/lib/locale/lang/uk-UA.umd.js +913 -892
  238. package/lib/locale/lang/uz-UZ.js +583 -566
  239. package/lib/locale/lang/uz-UZ.umd.js +908 -887
  240. package/lib/locale/lang/vi-VN.js +681 -664
  241. package/lib/locale/lang/vi-VN.umd.js +913 -892
  242. package/lib/locale/lang/zh-CHT.js +681 -664
  243. package/lib/locale/lang/zh-CHT.umd.js +913 -892
  244. package/lib/locale/lang/zh-CN.js +681 -664
  245. package/lib/locale/lang/zh-CN.umd.js +913 -892
  246. package/lib/locale/lang/zh-HK.js +928 -7
  247. package/lib/locale/lang/zh-HK.umd.js +945 -20
  248. package/lib/locale/lang/zh-MO.js +928 -7
  249. package/lib/locale/lang/zh-MO.umd.js +945 -20
  250. package/lib/locale/lang/zh-TC.js +928 -7
  251. package/lib/locale/lang/zh-TC.umd.js +948 -0
  252. package/lib/locale/lang/zh-TW.js +928 -7
  253. package/lib/locale/lang/zh-TW.umd.js +945 -20
  254. package/lib/locale/ms-MY.umd.js +948 -0
  255. package/lib/locale/nb-NO.umd.js +948 -0
  256. package/lib/locale/pt-BR.umd.js +948 -0
  257. package/lib/locale/ru-RU.umd.js +948 -0
  258. package/lib/locale/th-TH.umd.js +948 -0
  259. package/lib/locale/ug-CN.umd.js +948 -0
  260. package/lib/locale/uk-UA.umd.js +948 -0
  261. package/lib/locale/uz-UZ.umd.js +948 -0
  262. package/lib/locale/vi-VN.umd.js +948 -0
  263. package/lib/locale/zh-CHT.umd.js +948 -0
  264. package/lib/locale/zh-CN.umd.js +948 -0
  265. package/lib/locale/zh-HK.umd.js +948 -0
  266. package/lib/locale/zh-MO.umd.js +948 -0
  267. package/lib/locale/zh-TC.umd.js +948 -0
  268. package/lib/locale/zh-TW.umd.js +948 -0
  269. package/lib/style.css +4501 -1
  270. package/lib/style.mini.css +1 -0
  271. package/lib/table/index.js +45 -17
  272. package/lib/table/module/custom/hook.js +132 -252
  273. package/lib/table/module/custom/panel.js +919 -970
  274. package/lib/table/module/edit/hook.js +248 -618
  275. package/lib/table/module/export/export-panel.js +390 -347
  276. package/lib/table/module/export/hook.js +745 -1179
  277. package/lib/table/module/export/import-panel.js +170 -136
  278. package/lib/table/module/export/util.js +37 -14
  279. package/lib/table/module/filter/hook.js +127 -227
  280. package/lib/table/module/filter/panel.js +177 -208
  281. package/lib/table/module/keyboard/hook.js +93 -172
  282. package/lib/table/module/menu/hook.js +86 -165
  283. package/lib/table/module/menu/panel.js +176 -141
  284. package/lib/table/module/validator/hook.js +164 -271
  285. package/lib/table/render/index.js +700 -1147
  286. package/lib/table/src/body.js +426 -559
  287. package/lib/table/src/cell.js +619 -987
  288. package/lib/table/src/column.js +55 -30
  289. package/lib/table/src/columnInfo.js +88 -110
  290. package/lib/table/src/emits.js +145 -13
  291. package/lib/table/src/footer.js +181 -240
  292. package/lib/table/src/group.js +56 -34
  293. package/lib/table/src/header.js +292 -367
  294. package/lib/table/src/props.js +27 -12
  295. package/lib/table/src/store.js +25 -9
  296. package/lib/table/src/table.js +14179 -1023
  297. package/lib/table/src/use/cell-view.js +47 -37
  298. package/lib/table/src/use/index.js +17 -15
  299. package/lib/table/src/util.js +236 -337
  300. package/lib/table/style/index.js +1 -1
  301. package/lib/table/style/style.css +1 -1
  302. package/lib/table/style/style.mini.css +1 -0
  303. package/lib/toolbar/index.js +42 -14
  304. package/lib/toolbar/src/toolbar.js +271 -379
  305. package/lib/toolbar/style/index.js +1 -1
  306. package/lib/toolbar/style/{style.min.css → style.mini.css} +1 -1
  307. package/lib/ui/index.js +153 -195
  308. package/lib/ui/src/anime.js +49 -29
  309. package/lib/ui/src/comp.js +23 -6
  310. package/lib/ui/src/dom.js +114 -147
  311. package/lib/ui/src/log.js +34 -18
  312. package/lib/ui/src/utils.js +57 -45
  313. package/lib/ui/src/vn.js +60 -34
  314. package/lib/ui/style/index.js +1 -1
  315. package/lib/v-x-e-table/index.js +35 -19
  316. package/lib/vxe-colgroup/index.js +35 -19
  317. package/lib/vxe-colgroup/style/index.js +1 -1
  318. package/lib/vxe-column/index.js +35 -19
  319. package/lib/vxe-column/style/index.js +1 -1
  320. package/lib/vxe-grid/index.js +35 -19
  321. package/lib/vxe-grid/style/index.js +1 -1
  322. package/{es/grid/style.min.css → lib/vxe-grid/style/style.mini.css} +1 -1
  323. package/lib/vxe-table/index.js +35 -19
  324. package/lib/vxe-table/style/index.js +1 -1
  325. package/lib/vxe-table/style/style.css +1 -1
  326. package/lib/vxe-table/style/style.mini.css +1 -0
  327. package/lib/vxe-toolbar/index.js +35 -19
  328. package/lib/vxe-toolbar/style/index.js +1 -1
  329. package/lib/vxe-toolbar/style/{style.min.css → style.mini.css} +1 -1
  330. package/lib/vxe-ui/index.js +35 -19
  331. package/lib/vxe-ui/style/index.js +1 -1
  332. package/package.json +8 -4
  333. package/packages/locale/lang/zh-HK.ts +907 -3
  334. package/packages/locale/lang/zh-MO.ts +907 -3
  335. package/packages/locale/lang/zh-TC.ts +907 -3
  336. package/packages/locale/lang/zh-TW.ts +907 -3
  337. package/packages/ui/index.ts +1 -28
  338. package/dist/style.min.css +0 -1
  339. package/es/index.css +0 -1
  340. package/es/index.min.css +0 -1
  341. package/es/style.min.css +0 -1
  342. package/es/table/style.min.css +0 -1
  343. package/es/vxe-table/style.min.css +0 -1
  344. package/es/vxe-v-x-e-table/index.js +0 -3
  345. package/lib/colgroup/index.min.js +0 -1
  346. package/lib/column/index.min.js +0 -1
  347. package/lib/components.min.js +0 -1
  348. package/lib/grid/index.min.js +0 -1
  349. package/lib/grid/src/emits.min.js +0 -1
  350. package/lib/grid/src/grid.min.js +0 -1
  351. package/lib/grid/src/props.min.js +0 -1
  352. package/lib/index.css +0 -1
  353. package/lib/index.min.css +0 -1
  354. package/lib/locale/lang/ar-EG.d.ts +0 -2
  355. package/lib/locale/lang/ar-EG.min.js +0 -1
  356. package/lib/locale/lang/de-DE.d.ts +0 -2
  357. package/lib/locale/lang/de-DE.min.js +0 -1
  358. package/lib/locale/lang/en-US.d.ts +0 -2
  359. package/lib/locale/lang/en-US.min.js +0 -1
  360. package/lib/locale/lang/es-ES.d.ts +0 -2
  361. package/lib/locale/lang/es-ES.min.js +0 -1
  362. package/lib/locale/lang/fr-FR.d.ts +0 -2
  363. package/lib/locale/lang/fr-FR.min.js +0 -1
  364. package/lib/locale/lang/hu-HU.d.ts +0 -2
  365. package/lib/locale/lang/hu-HU.min.js +0 -1
  366. package/lib/locale/lang/hy-AM.d.ts +0 -2
  367. package/lib/locale/lang/hy-AM.min.js +0 -1
  368. package/lib/locale/lang/id-ID.d.ts +0 -2
  369. package/lib/locale/lang/id-ID.min.js +0 -1
  370. package/lib/locale/lang/it-IT.d.ts +0 -2
  371. package/lib/locale/lang/it-IT.min.js +0 -1
  372. package/lib/locale/lang/ja-JP.d.ts +0 -2
  373. package/lib/locale/lang/ja-JP.min.js +0 -1
  374. package/lib/locale/lang/ko-KR.d.ts +0 -2
  375. package/lib/locale/lang/ko-KR.min.js +0 -1
  376. package/lib/locale/lang/ms-MY.d.ts +0 -2
  377. package/lib/locale/lang/ms-MY.min.js +0 -1
  378. package/lib/locale/lang/nb-NO.d.ts +0 -2
  379. package/lib/locale/lang/nb-NO.min.js +0 -1
  380. package/lib/locale/lang/pt-BR.d.ts +0 -2
  381. package/lib/locale/lang/pt-BR.min.js +0 -1
  382. package/lib/locale/lang/ru-RU.d.ts +0 -2
  383. package/lib/locale/lang/ru-RU.min.js +0 -1
  384. package/lib/locale/lang/th-TH.d.ts +0 -2
  385. package/lib/locale/lang/th-TH.min.js +0 -1
  386. package/lib/locale/lang/ug-CN.d.ts +0 -2
  387. package/lib/locale/lang/ug-CN.min.js +0 -1
  388. package/lib/locale/lang/uk-UA.d.ts +0 -2
  389. package/lib/locale/lang/uk-UA.min.js +0 -1
  390. package/lib/locale/lang/uz-UZ.d.ts +0 -2
  391. package/lib/locale/lang/uz-UZ.min.js +0 -1
  392. package/lib/locale/lang/vi-VN.d.ts +0 -2
  393. package/lib/locale/lang/vi-VN.min.js +0 -1
  394. package/lib/locale/lang/zh-CHT.d.ts +0 -2
  395. package/lib/locale/lang/zh-CHT.min.js +0 -1
  396. package/lib/locale/lang/zh-CN.d.ts +0 -2
  397. package/lib/locale/lang/zh-CN.min.js +0 -1
  398. package/lib/locale/lang/zh-HK.d.ts +0 -2
  399. package/lib/locale/lang/zh-HK.min.js +0 -1
  400. package/lib/locale/lang/zh-MO.d.ts +0 -2
  401. package/lib/locale/lang/zh-MO.min.js +0 -1
  402. package/lib/locale/lang/zh-TC.min.js +0 -1
  403. package/lib/locale/lang/zh-TW.d.ts +0 -2
  404. package/lib/locale/lang/zh-TW.min.js +0 -1
  405. package/lib/style.min.css +0 -1
  406. package/lib/table/index.min.js +0 -1
  407. package/lib/table/module/custom/hook.min.js +0 -1
  408. package/lib/table/module/custom/panel.min.js +0 -1
  409. package/lib/table/module/edit/hook.min.js +0 -1
  410. package/lib/table/module/export/export-panel.min.js +0 -1
  411. package/lib/table/module/export/hook.min.js +0 -1
  412. package/lib/table/module/export/import-panel.min.js +0 -1
  413. package/lib/table/module/export/util.min.js +0 -1
  414. package/lib/table/module/filter/hook.min.js +0 -1
  415. package/lib/table/module/filter/panel.min.js +0 -1
  416. package/lib/table/module/keyboard/hook.min.js +0 -1
  417. package/lib/table/module/menu/hook.min.js +0 -1
  418. package/lib/table/module/menu/panel.min.js +0 -1
  419. package/lib/table/module/validator/hook.min.js +0 -1
  420. package/lib/table/render/index.min.js +0 -1
  421. package/lib/table/src/body.min.js +0 -1
  422. package/lib/table/src/cell.min.js +0 -1
  423. package/lib/table/src/column.min.js +0 -1
  424. package/lib/table/src/columnInfo.min.js +0 -1
  425. package/lib/table/src/emits.min.js +0 -1
  426. package/lib/table/src/footer.min.js +0 -1
  427. package/lib/table/src/group.min.js +0 -1
  428. package/lib/table/src/header.min.js +0 -1
  429. package/lib/table/src/props.min.js +0 -1
  430. package/lib/table/src/store.min.js +0 -1
  431. package/lib/table/src/table.min.js +0 -1
  432. package/lib/table/src/use/cell-view.min.js +0 -1
  433. package/lib/table/src/use/index.min.js +0 -1
  434. package/lib/table/src/util.min.js +0 -1
  435. package/lib/table/style/style.min.css +0 -1
  436. package/lib/toolbar/index.min.js +0 -1
  437. package/lib/toolbar/src/toolbar.min.js +0 -1
  438. package/lib/ui/index.min.js +0 -1
  439. package/lib/ui/src/anime.min.js +0 -1
  440. package/lib/ui/src/comp.min.js +0 -1
  441. package/lib/ui/src/dom.min.js +0 -1
  442. package/lib/ui/src/log.min.js +0 -1
  443. package/lib/ui/src/utils.min.js +0 -1
  444. package/lib/ui/src/vn.min.js +0 -1
  445. package/lib/ui/style/style.min.css +0 -0
  446. package/lib/v-x-e-table/index.min.js +0 -1
  447. package/lib/v-x-e-table/style/index.js +0 -1
  448. package/lib/v-x-e-table/style/style.css +0 -0
  449. package/lib/v-x-e-table/style/style.min.css +0 -0
  450. package/lib/vxe-colgroup/index.min.js +0 -1
  451. package/lib/vxe-colgroup/style/style.min.css +0 -0
  452. package/lib/vxe-column/index.min.js +0 -1
  453. package/lib/vxe-column/style/style.min.css +0 -0
  454. package/lib/vxe-grid/index.min.js +0 -1
  455. package/lib/vxe-table/index.min.js +0 -1
  456. package/lib/vxe-table/style/style.min.css +0 -1
  457. package/lib/vxe-toolbar/index.min.js +0 -1
  458. package/lib/vxe-ui/index.min.js +0 -1
  459. package/lib/vxe-ui/style/style.min.css +0 -0
  460. package/lib/vxe-v-x-e-table/index.js +0 -21
  461. package/lib/vxe-v-x-e-table/index.min.js +0 -1
  462. package/lib/vxe-v-x-e-table/style/index.js +0 -1
  463. package/lib/vxe-v-x-e-table/style/style.css +0 -0
  464. package/lib/vxe-v-x-e-table/style/style.min.css +0 -0
  465. /package/{es/iconfont.1792838769925.ttf → dist/iconfont.1792979665397.ttf} +0 -0
  466. /package/{es/iconfont.1792838769925.woff → dist/iconfont.1792979665397.woff} +0 -0
  467. /package/{es/iconfont.1792838769925.woff2 → dist/iconfont.1792979665397.woff2} +0 -0
  468. /package/es/colgroup/{style.min.css → style.mini.css} +0 -0
  469. /package/es/column/{style.min.css → style.mini.css} +0 -0
  470. /package/{lib/iconfont.1792838769925.ttf → es/iconfont.1792979665397.ttf} +0 -0
  471. /package/{lib/iconfont.1792838769925.woff → es/iconfont.1792979665397.woff} +0 -0
  472. /package/{lib/iconfont.1792838769925.woff2 → es/iconfont.1792979665397.woff2} +0 -0
  473. /package/es/ui/{style.min.css → style.mini.css} +0 -0
  474. /package/es/{v-x-e-table/style.css → vxe-colgroup/style.mini.css} +0 -0
  475. /package/es/{v-x-e-table/style.min.css → vxe-column/style.mini.css} +0 -0
  476. /package/es/{vxe-colgroup/style.min.css → vxe-ui/style.mini.css} +0 -0
  477. /package/{es/vxe-column/style.min.css → lib/colgroup/style/style.mini.css} +0 -0
  478. /package/{es/vxe-ui/style.min.css → lib/column/style/style.mini.css} +0 -0
  479. /package/{es/vxe-v-x-e-table/style.css → lib/ui/style/style.mini.css} +0 -0
  480. /package/{es/vxe-v-x-e-table/style.min.css → lib/vxe-colgroup/style/style.mini.css} +0 -0
  481. /package/lib/{colgroup/style/style.min.css → vxe-column/style/style.mini.css} +0 -0
  482. /package/lib/{column/style/style.min.css → vxe-ui/style/style.mini.css} +0 -0
@@ -1,531 +1,529 @@
1
- import { h, ref, inject, nextTick, watch, onMounted, onUnmounted } from 'vue';
2
- import { defineVxeComponent } from '../../ui/src/comp';
3
- import XEUtils from 'xe-utils';
4
- import { VxeUI } from '../../ui';
5
- import { getDefaultConfig, hasEnableConf, isEnableConf } from '../../ui/src/utils';
6
- import { getCalcHeight, convertHeaderColumnToRows, convertHeaderToGridRows } from './util';
7
- import { getSlotVNs } from '../../ui/src/vn';
1
+ import { h, ref, inject, nextTick, watch, onMounted, onUnmounted } from "vue";
2
+ import { defineVxeComponent } from "../../ui/src/comp";
3
+ import XEUtils from "xe-utils";
4
+ import { VxeUI } from "../../ui";
5
+ import { getDefaultConfig, hasEnableConf, isEnableConf } from "../../ui/src/utils";
6
+ import { getCalcHeight, convertHeaderColumnToRows, convertHeaderToGridRows } from "./util";
7
+ import { getSlotVNs } from "../../ui/src/vn";
8
8
  const { renderer, renderEmptyElement } = VxeUI;
9
- const sourceType = 'table';
10
- const renderType = 'header';
11
- export default defineVxeComponent({
12
- name: 'VxeTableHeader',
13
- props: {
14
- tableData: Array,
15
- tableColumn: Array,
16
- tableGroupColumn: Array,
17
- fixedColumn: Array,
18
- fixedType: {
19
- type: String,
20
- default: null
9
+ const sourceType = "table";
10
+ const renderType = "header";
11
+ var header_default = defineVxeComponent({
12
+ name: "VxeTableHeader",
13
+ props: {
14
+ tableData: Array,
15
+ tableColumn: Array,
16
+ tableGroupColumn: Array,
17
+ fixedColumn: Array,
18
+ fixedType: {
19
+ type: String,
20
+ default: null
21
+ }
22
+ },
23
+ setup(props) {
24
+ const $xeTable = inject("$xeTable", {});
25
+ const { xID, props: tableProps, reactData: tableReactData, internalData: tableInternalData } = $xeTable;
26
+ const { computeColumnOpts, computeColumnDragOpts, computeCellOpts, computeMouseOpts, computeHeaderCellOpts, computeDefaultRowHeight, computeVirtualXOpts, computeFloatingFilterOpts, computeIsHeaderRenderOptimize, computeHeaderTooltipOpts, computeRendererOpts } = $xeTable.getComputeMaps();
27
+ const headerColumn = ref([]);
28
+ const refElem = ref();
29
+ const refHeaderScroll = ref();
30
+ const refHeaderTable = ref();
31
+ const refHeaderColgroup = ref();
32
+ const refHeaderTHead = ref();
33
+ const refHeaderXSpace = ref();
34
+ const refHeaderBorderRepair = ref();
35
+ const uploadColumn = () => {
36
+ const { showCustomHeader } = tableProps;
37
+ const { collectColumn, visibleColumn } = tableInternalData;
38
+ const { tableGroupColumn } = props;
39
+ const { isGroup } = tableReactData;
40
+ let spanColumns = isGroup ? convertHeaderColumnToRows(tableGroupColumn) : [];
41
+ let visibleColgroups = [];
42
+ if (showCustomHeader && spanColumns.length > 1) {
43
+ visibleColgroups = convertHeaderToGridRows(spanColumns);
44
+ spanColumns = visibleColgroups;
45
+ }
46
+ headerColumn.value = spanColumns;
47
+ nextTick(() => {
48
+ $xeTable.dispatchEvent("columns-change", { visibleColgroups, collectColumn, visibleColumn }, null);
49
+ });
50
+ };
51
+ const renderRows = (isGroup, isOptimizeMode, headerGroups, _rowIndex, cols) => {
52
+ const $xeGrid = $xeTable.xeGrid;
53
+ const $xeGantt = $xeTable.xeGantt;
54
+ const { fixedType } = props;
55
+ const { resizable: allResizable, columnKey, showCustomHeader, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
56
+ const { dragCol, scrollXLoad, scrollYLoad, overflowX, mergeHeadFlag, tableColumn, currColFlag } = tableReactData;
57
+ const { fullColumnIdData, scrollXStore, mergeHeaderList, mergeHeaderCellMaps, currentCol } = tableInternalData;
58
+ const virtualXOpts = computeVirtualXOpts.value;
59
+ const columnOpts = computeColumnOpts.value;
60
+ const columnDragOpts = computeColumnDragOpts.value;
61
+ const headerTooltipOpts = computeHeaderTooltipOpts.value;
62
+ const cellOpts = computeCellOpts.value;
63
+ const defaultRowHeight = computeDefaultRowHeight.value;
64
+ const headerCellOpts = computeHeaderCellOpts.value;
65
+ const rendererOpts = computeRendererOpts.value;
66
+ const mouseOpts = computeMouseOpts.value;
67
+ const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
68
+ const { disabledMethod: dragDisabledMethod, isCrossDrag, isPeerDrag } = columnDragOpts;
69
+ const isLastRow = _rowIndex === headerGroups.length - 1;
70
+ return cols.map((column, $columnIndex) => {
71
+ const { type, showHeaderOverflow, headerAlign, align, filters, headerClassName, editRender, cellRender } = column;
72
+ const colid = column.id;
73
+ const colRest = fullColumnIdData[colid] || {};
74
+ const renderOpts = editRender || cellRender;
75
+ const compConf = renderOpts && renderOpts.name ? rendererOpts[renderOpts.name] || renderer.get(renderOpts.name) : null;
76
+ const isColGroup = column.children && column.children.length;
77
+ const fixedHiddenColumn = overflowX && !isColGroup && (fixedType ? column.fixed !== fixedType : !!column.fixed);
78
+ const cellPadding = getDefaultConfig(headerCellOpts.padding, cellOpts.padding);
79
+ const isAllCellPadding = cellPadding === true;
80
+ const isCellPaddingTop = cellPadding ? isAllCellPadding || cellPadding.top !== false : false;
81
+ const isCellPaddingBottom = cellPadding ? isAllCellPadding || cellPadding.bottom !== false : false;
82
+ const isCellPaddingLeft = cellPadding ? isAllCellPadding || cellPadding.left !== false : false;
83
+ const isCellPaddingRight = cellPadding ? isAllCellPadding || cellPadding.right !== false : false;
84
+ const headOverflow = getDefaultConfig(showHeaderOverflow, allColumnHeaderOverflow);
85
+ const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : "") || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : "") || allAlign;
86
+ const showEllipsis = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === "ellipsis";
87
+ const showTitle = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === "title";
88
+ const showTooltip = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === "tooltip";
89
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
90
+ let hasFilter = false;
91
+ let firstFilterOption = null;
92
+ if (filters) {
93
+ firstFilterOption = filters[0];
94
+ hasFilter = filters.some((item) => item.checked);
21
95
  }
22
- },
23
- setup(props) {
24
- const $xeTable = inject('$xeTable', {});
25
- const { xID, props: tableProps, reactData: tableReactData, internalData: tableInternalData } = $xeTable;
26
- const { computeColumnOpts, computeColumnDragOpts, computeCellOpts, computeMouseOpts, computeHeaderCellOpts, computeDefaultRowHeight, computeVirtualXOpts, computeFloatingFilterOpts, computeIsHeaderRenderOptimize, computeHeaderTooltipOpts, computeRendererOpts } = $xeTable.getComputeMaps();
27
- const headerColumn = ref([]);
28
- const refElem = ref();
29
- const refHeaderScroll = ref();
30
- const refHeaderTable = ref();
31
- const refHeaderColgroup = ref();
32
- const refHeaderTHead = ref();
33
- const refHeaderXSpace = ref();
34
- const refHeaderBorderRepair = ref();
35
- const uploadColumn = () => {
36
- const { showCustomHeader } = tableProps;
37
- const { collectColumn, visibleColumn } = tableInternalData;
38
- const { tableGroupColumn } = props;
39
- const { isGroup } = tableReactData;
40
- let spanColumns = isGroup ? convertHeaderColumnToRows(tableGroupColumn) : [];
41
- let visibleColgroups = [];
42
- if (showCustomHeader && spanColumns.length > 1) {
43
- visibleColgroups = convertHeaderToGridRows(spanColumns);
44
- spanColumns = visibleColgroups;
45
- }
46
- headerColumn.value = spanColumns;
47
- nextTick(() => {
48
- $xeTable.dispatchEvent('columns-change', { visibleColgroups, collectColumn, visibleColumn }, null);
49
- });
96
+ const columnIndex = colRest.index;
97
+ const _columnIndex = colRest._index;
98
+ const cellParams = {
99
+ $table: $xeTable,
100
+ $grid: $xeGrid,
101
+ $gantt: $xeGantt,
102
+ rowIndex: _rowIndex,
103
+ _rowIndex,
104
+ $rowIndex: _rowIndex,
105
+ column,
106
+ columnIndex,
107
+ $columnIndex,
108
+ _columnIndex,
109
+ firstFilterOption,
110
+ fixed: fixedType,
111
+ source: sourceType,
112
+ type: renderType,
113
+ isHidden: fixedHiddenColumn,
114
+ hasFilter
50
115
  };
51
- const renderRows = (isGroup, isOptimizeMode, headerGroups, _rowIndex, cols) => {
52
- const $xeGrid = $xeTable.xeGrid;
53
- const $xeGantt = $xeTable.xeGantt;
54
- const { fixedType } = props;
55
- const { resizable: allResizable, columnKey, showCustomHeader, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
56
- const { dragCol, scrollXLoad, scrollYLoad, overflowX, mergeHeadFlag, tableColumn, currColFlag } = tableReactData;
57
- const { fullColumnIdData, scrollXStore, mergeHeaderList, mergeHeaderCellMaps, currentCol } = tableInternalData;
58
- const virtualXOpts = computeVirtualXOpts.value;
59
- const columnOpts = computeColumnOpts.value;
60
- const columnDragOpts = computeColumnDragOpts.value;
61
- const headerTooltipOpts = computeHeaderTooltipOpts.value;
62
- const cellOpts = computeCellOpts.value;
63
- const defaultRowHeight = computeDefaultRowHeight.value;
64
- const headerCellOpts = computeHeaderCellOpts.value;
65
- const rendererOpts = computeRendererOpts.value;
66
- const mouseOpts = computeMouseOpts.value;
67
- const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
68
- const { disabledMethod: dragDisabledMethod, isCrossDrag, isPeerDrag } = columnDragOpts;
69
- const isLastRow = _rowIndex === headerGroups.length - 1;
70
- return cols.map((column, $columnIndex) => {
71
- const { type, showHeaderOverflow, headerAlign, align, filters, headerClassName, editRender, cellRender } = column;
72
- const colid = column.id;
73
- const colRest = fullColumnIdData[colid] || {};
74
- const renderOpts = editRender || cellRender;
75
- const compConf = renderOpts && renderOpts.name ? (rendererOpts[renderOpts.name] || renderer.get(renderOpts.name)) : null;
76
- const isColGroup = column.children && column.children.length;
77
- const fixedHiddenColumn = overflowX && !isColGroup && (fixedType ? column.fixed !== fixedType : !!column.fixed);
78
- const cellPadding = getDefaultConfig(headerCellOpts.padding, cellOpts.padding);
79
- const isAllCellPadding = cellPadding === true;
80
- const isCellPaddingTop = cellPadding ? (isAllCellPadding || cellPadding.top !== false) : false;
81
- const isCellPaddingBottom = cellPadding ? (isAllCellPadding || cellPadding.bottom !== false) : false;
82
- const isCellPaddingLeft = cellPadding ? (isAllCellPadding || cellPadding.left !== false) : false;
83
- const isCellPaddingRight = cellPadding ? (isAllCellPadding || cellPadding.right !== false) : false;
84
- const headOverflow = getDefaultConfig(showHeaderOverflow, allColumnHeaderOverflow);
85
- const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
86
- const showEllipsis = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'ellipsis';
87
- const showTitle = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'title';
88
- const showTooltip = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'tooltip';
89
- const hasEllipsis = showTitle || showTooltip || showEllipsis;
90
- let hasFilter = false;
91
- let firstFilterOption = null;
92
- if (filters) {
93
- firstFilterOption = filters[0];
94
- hasFilter = filters.some((item) => item.checked);
95
- }
96
- const columnIndex = colRest.index;
97
- const _columnIndex = colRest._index;
98
- const cellParams = {
99
- $table: $xeTable,
100
- $grid: $xeGrid,
101
- $gantt: $xeGantt,
102
- rowIndex: _rowIndex,
103
- _rowIndex,
104
- $rowIndex: _rowIndex,
105
- column,
106
- columnIndex,
107
- $columnIndex,
108
- _columnIndex,
109
- firstFilterOption: firstFilterOption,
110
- fixed: fixedType,
111
- source: sourceType,
112
- type: renderType,
113
- isHidden: fixedHiddenColumn,
114
- hasFilter
115
- };
116
- const thAttrs = {
117
- colid
118
- };
119
- let isMergeCell = false;
120
- // 合并行或列
121
- if (!showCustomHeader) {
122
- thAttrs.colspan = column.colSpan > 1 ? column.colSpan : null;
123
- thAttrs.rowspan = column.rowSpan > 1 ? column.rowSpan : null;
124
- }
125
- if (mergeHeadFlag && mergeHeaderList.length && (showCustomHeader || isLastRow)) {
126
- const spanRest = mergeHeaderCellMaps[`${_rowIndex}:${showCustomHeader ? $columnIndex : _columnIndex}`];
127
- if (spanRest) {
128
- const { rowspan, colspan } = spanRest;
129
- if (!rowspan || !colspan) {
130
- return null;
131
- }
132
- if (rowspan > 1) {
133
- isMergeCell = true;
134
- thAttrs.rowspan = rowspan;
135
- }
136
- if (colspan > 1) {
137
- isMergeCell = true;
138
- thAttrs.colspan = colspan;
139
- }
140
- }
141
- }
142
- const thOns = {
143
- onClick: (evnt) => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
144
- onDblclick: (evnt) => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
145
- };
146
- const isColDragCell = columnOpts.drag && columnDragOpts.trigger === 'cell';
147
- let isDisabledDrag = false;
148
- if (isColDragCell) {
149
- isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(cellParams));
150
- }
151
- // 按下事件处理
152
- if (hasEnableConf(mouseConfig, mouseOpts) || isColDragCell) {
153
- thOns.onMousedown = (evnt) => $xeTable.triggerHeaderCellMousedownEvent(evnt, cellParams);
154
- }
155
- // 拖拽列事件
156
- if (columnOpts.drag) {
157
- thOns.onDragstart = $xeTable.handleHeaderCellDragDragstartEvent;
158
- thOns.onDragend = $xeTable.handleHeaderCellDragDragendEvent;
159
- thOns.onDragover = $xeTable.handleHeaderCellDragDragoverEvent;
160
- if (isColDragCell) {
161
- thOns.onMouseup = $xeTable.handleHeaderCellDragMouseupEvent;
162
- }
163
- }
164
- const isLastColumn = $columnIndex === cols.length - 1;
165
- const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
166
- const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
167
- let isVNPreEmptyStatus = false;
168
- if (isOptimizeMode && overflowX && !isGroup && !isMergeCell) {
169
- if (!dragCol || dragCol.id !== colid) {
170
- if (scrollXLoad && tableColumn.length > 10 && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
171
- isVNPreEmptyStatus = true;
172
- }
173
- }
174
- }
175
- const tcStyle = {};
176
- if (hasEllipsis) {
177
- tcStyle.height = `${currCellHeight}px`;
178
- }
179
- else {
180
- tcStyle.minHeight = `${currCellHeight}px`;
181
- }
182
- if (showCustomHeader) {
183
- // custom
184
- }
185
- else if (isColGroup && !isLastRow) {
186
- let childWidth = 0;
187
- XEUtils.eachTree(column.children, (childRow) => {
188
- if (childRow.visible && (!childRow.children || !childRow.children.length)) {
189
- childWidth += childRow.renderWidth;
190
- }
191
- });
192
- tcStyle.width = `${childWidth}px`;
193
- }
194
- return h('th', Object.assign(Object.assign(Object.assign({ class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
195
- [`col--${headAlign}`]: headAlign,
196
- [`col--${type}`]: type,
197
- 'col--last': isLastColumn,
198
- 'col--fixed': column.fixed,
199
- 'col--group': isColGroup,
200
- 'col--ellipsis': hasEllipsis,
201
- 'fixed--width': !isAutoCellWidth,
202
- 'is--pg-top': isCellPaddingTop,
203
- 'is--pg-bottom': isCellPaddingBottom,
204
- 'is--pg-left': isCellPaddingLeft,
205
- 'is--pg-right': isCellPaddingRight,
206
- 'is--sortable': column.sortable,
207
- 'col--filter': !!filters,
208
- 'is--filter-active': hasFilter,
209
- 'is--drag-active': columnOpts.drag && !column.fixed && !isDisabledDrag && (isCrossDrag || isPeerDrag || !column.parentId),
210
- 'is--drag-disabled': columnOpts.drag && isDisabledDrag,
211
- 'col--current': currColFlag && currentCol === column
212
- },
213
- headerClassName ? (XEUtils.isFunction(headerClassName) ? headerClassName(cellParams) : headerClassName) : '',
214
- headerCellClassName ? (XEUtils.isFunction(headerCellClassName) ? headerCellClassName(cellParams) : headerCellClassName) : ''
215
- ], style: headerCellStyle ? (XEUtils.isFunction(headerCellStyle) ? headerCellStyle(cellParams) : headerCellStyle) : null }, thAttrs), thOns), { key: showCustomHeader ? `${colid}${$columnIndex}` : (columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex) }), [
216
- h('div', {
217
- class: ['vxe-cell', {
218
- 'c--title': showTitle,
219
- 'c--tooltip': showTooltip,
220
- 'c--ellipsis': showEllipsis
221
- }],
222
- style: tcStyle
223
- }, isVNPreEmptyStatus || (isOptimizeMode && fixedHiddenColumn)
224
- ? []
225
- : [
226
- h('div', {
227
- colid,
228
- class: 'vxe-cell--wrapper vxe-header-cell--wrapper'
229
- }, column.renderHeader(cellParams))
230
- ]),
231
- /**
232
- * 列宽拖动
233
- */
234
- !fixedHiddenColumn && showResizable && (!showCustomHeader || isLastRow)
235
- ? h('div', {
236
- class: 'vxe-cell--col-resizable',
237
- onMousedown: (evnt) => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
238
- onDblclick: (evnt) => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
239
- })
240
- : renderEmptyElement($xeTable)
241
- ]);
242
- });
116
+ const thAttrs = {
117
+ colid
243
118
  };
244
- const renderFilterRows = (isOptimizeMode, cols) => {
245
- const $xeGrid = $xeTable.xeGrid;
246
- const $xeGantt = $xeTable.xeGantt;
247
- const { fixedType } = props;
248
- const { showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign } = tableProps;
249
- const { overflowX, currColFlag } = tableReactData;
250
- const { fullColumnIdData, currentCol } = tableInternalData;
251
- const headerTooltipOpts = computeHeaderTooltipOpts.value;
252
- const cellOpts = computeCellOpts.value;
253
- const defaultRowHeight = computeDefaultRowHeight.value;
254
- const headerCellOpts = computeHeaderCellOpts.value;
255
- const floatingFilterOpts = computeFloatingFilterOpts.value;
256
- const rendererOpts = computeRendererOpts.value;
257
- const { cellClassName } = floatingFilterOpts;
258
- const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
259
- return cols.map((column, $columnIndex) => {
260
- const { type, showHeaderOverflow, headerAlign, align, filters, editRender, cellRender, floatingFilters, filterRender, slots } = column;
261
- const colid = column.id;
262
- const colRest = fullColumnIdData[colid] || {};
263
- const renderOpts = editRender || cellRender;
264
- const flSlot = slots ? (slots.floatingFilter || slots['floating-filter']) : null;
265
- const compConf = renderOpts && renderOpts.name ? (rendererOpts[renderOpts.name] || renderer.get(renderOpts.name)) : null;
266
- const flCompConf = isEnableConf(filterRender) && filterRender.name ? (rendererOpts[filterRender.name] || renderer.get(filterRender.name)) : null;
267
- const rtFloatingFilter = flCompConf ? flCompConf.renderTableFloatingFilter : null;
268
- const fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
269
- const isPadding = XEUtils.isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
270
- const headOverflow = XEUtils.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
271
- const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
272
- const showEllipsis = headOverflow === 'ellipsis';
273
- const showTitle = headOverflow === 'title';
274
- const showTooltip = headOverflow === true ? headerTooltipOpts.mode === 'tooltip' : headOverflow === 'tooltip';
275
- const hasEllipsis = showTitle || showTooltip || showEllipsis;
276
- let hasFilter = false;
277
- let firstFilterOption = null;
278
- if (filters) {
279
- firstFilterOption = filters[0];
280
- hasFilter = filters.some((item) => item.checked);
281
- }
282
- const columnIndex = colRest.index;
283
- const _columnIndex = colRest._index;
284
- const cellParams = {
285
- $table: $xeTable,
286
- $grid: $xeGrid,
287
- $gantt: $xeGantt,
288
- column,
289
- columnIndex,
290
- $columnIndex,
291
- _columnIndex,
292
- option: firstFilterOption,
293
- fixed: fixedType,
294
- source: sourceType,
295
- type: renderType,
296
- isHidden: fixedHiddenColumn,
297
- hasFilter
298
- };
299
- const thAttrs = {
300
- colid
301
- };
302
- const isLastColumn = $columnIndex === cols.length - 1;
303
- const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
304
- const tcStyle = {};
305
- if (hasEllipsis) {
306
- tcStyle.height = `${currCellHeight}px`;
307
- }
308
- else {
309
- tcStyle.minHeight = `${currCellHeight}px`;
310
- }
311
- return h('th', Object.assign({ class: ['vxe-table--column vxe-header--column is--floating-filters', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
312
- [`col--${headAlign}`]: headAlign,
313
- [`col--${type}`]: type,
314
- 'col--last': isLastColumn,
315
- 'col--fixed': column.fixed,
316
- 'col--ellipsis': hasEllipsis,
317
- 'fixed--width': !isAutoCellWidth,
318
- 'is--padding': isPadding,
319
- 'is--sortable': column.sortable,
320
- 'col--current': currColFlag && currentCol === column
321
- }
322
- ], key: colid }, thAttrs), [
323
- h('div', {
324
- class: ['vxe-cell', '' + (cellClassName || ''), {
325
- 'c--title': showTitle,
326
- 'c--tooltip': showTooltip,
327
- 'c--ellipsis': showEllipsis
328
- }],
329
- style: tcStyle
330
- }, isOptimizeMode && fixedHiddenColumn && !floatingFilters
331
- ? []
332
- : [
333
- h('div', {
334
- colid,
335
- class: 'vxe-cell--wrapper vxe-header-cell--wrapper'
336
- }, flSlot
337
- ? $xeTable.callSlot(flSlot, cellParams)
338
- : (rtFloatingFilter && firstFilterOption
339
- ? getSlotVNs(rtFloatingFilter(filterRender, cellParams))
340
- : []))
341
- ])
342
- ]);
343
- });
119
+ let isMergeCell = false;
120
+ if (!showCustomHeader) {
121
+ thAttrs.colspan = column.colSpan > 1 ? column.colSpan : null;
122
+ thAttrs.rowspan = column.rowSpan > 1 ? column.rowSpan : null;
123
+ }
124
+ if (mergeHeadFlag && mergeHeaderList.length && (showCustomHeader || isLastRow)) {
125
+ const spanRest = mergeHeaderCellMaps[`${_rowIndex}:${showCustomHeader ? $columnIndex : _columnIndex}`];
126
+ if (spanRest) {
127
+ const { rowspan, colspan } = spanRest;
128
+ if (!rowspan || !colspan) {
129
+ return null;
130
+ }
131
+ if (rowspan > 1) {
132
+ isMergeCell = true;
133
+ thAttrs.rowspan = rowspan;
134
+ }
135
+ if (colspan > 1) {
136
+ isMergeCell = true;
137
+ thAttrs.colspan = colspan;
138
+ }
139
+ }
140
+ }
141
+ const thOns = {
142
+ onClick: (evnt) => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
143
+ onDblclick: (evnt) => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
344
144
  };
345
- const renderHeads = (isGroup, isOptimizeMode, headerGroups, renderColumnList) => {
346
- const { fixedType } = props;
347
- const { headerRowClassName, headerRowStyle } = tableProps;
348
- const floatingFilterOpts = computeFloatingFilterOpts.value;
349
- const rowVNs = headerGroups.map((cols, _rowIndex) => {
350
- const params = { $table: $xeTable, rowIndex: _rowIndex, _rowIndex, $rowIndex: _rowIndex, fixed: fixedType, type: renderType };
351
- return h('tr', {
352
- key: _rowIndex,
353
- class: [
354
- 'vxe-header--row',
355
- headerRowClassName ? (XEUtils.isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName) : ''
356
- ],
357
- style: headerRowStyle ? (XEUtils.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle) : null
358
- }, renderRows(isGroup, isOptimizeMode, headerGroups, _rowIndex, cols));
359
- });
360
- if (floatingFilterOpts.enabled) {
361
- rowVNs.push(h('tr', {
362
- key: 'ff',
363
- class: [
364
- 'vxe-header--row is--floating-filters',
365
- '' + (floatingFilterOpts.rowClassName || '')
366
- ]
367
- }, renderFilterRows(isOptimizeMode, renderColumnList)));
145
+ const isColDragCell = columnOpts.drag && columnDragOpts.trigger === "cell";
146
+ let isDisabledDrag = false;
147
+ if (isColDragCell) {
148
+ isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(cellParams));
149
+ }
150
+ if (hasEnableConf(mouseConfig, mouseOpts) || isColDragCell) {
151
+ thOns.onMousedown = (evnt) => $xeTable.triggerHeaderCellMousedownEvent(evnt, cellParams);
152
+ }
153
+ if (columnOpts.drag) {
154
+ thOns.onDragstart = $xeTable.handleHeaderCellDragDragstartEvent;
155
+ thOns.onDragend = $xeTable.handleHeaderCellDragDragendEvent;
156
+ thOns.onDragover = $xeTable.handleHeaderCellDragDragoverEvent;
157
+ if (isColDragCell) {
158
+ thOns.onMouseup = $xeTable.handleHeaderCellDragMouseupEvent;
159
+ }
160
+ }
161
+ const isLastColumn = $columnIndex === cols.length - 1;
162
+ const showResizable = XEUtils.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
163
+ const isAutoCellWidth = !column.resizeWidth && (column.minWidth === "auto" || column.width === "auto");
164
+ let isVNPreEmptyStatus = false;
165
+ if (isOptimizeMode && overflowX && !isGroup && !isMergeCell) {
166
+ if (!dragCol || dragCol.id !== colid) {
167
+ if (scrollXLoad && tableColumn.length > 10 && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
168
+ isVNPreEmptyStatus = true;
368
169
  }
369
- return rowVNs;
170
+ }
171
+ }
172
+ const tcStyle = {};
173
+ if (hasEllipsis) {
174
+ tcStyle.height = `${currCellHeight}px`;
175
+ } else {
176
+ tcStyle.minHeight = `${currCellHeight}px`;
177
+ }
178
+ if (showCustomHeader) {
179
+ } else if (isColGroup && !isLastRow) {
180
+ let childWidth = 0;
181
+ XEUtils.eachTree(column.children, (childRow) => {
182
+ if (childRow.visible && (!childRow.children || !childRow.children.length)) {
183
+ childWidth += childRow.renderWidth;
184
+ }
185
+ });
186
+ tcStyle.width = `${childWidth}px`;
187
+ }
188
+ return h("th", {
189
+ class: [
190
+ "vxe-table--column vxe-header--column",
191
+ colid,
192
+ fixedHiddenColumn ? "fixed--hidden" : "fixed--visible",
193
+ {
194
+ [`col--${headAlign}`]: headAlign,
195
+ [`col--${type}`]: type,
196
+ "col--last": isLastColumn,
197
+ "col--fixed": column.fixed,
198
+ "col--group": isColGroup,
199
+ "col--ellipsis": hasEllipsis,
200
+ "fixed--width": !isAutoCellWidth,
201
+ "is--pg-top": isCellPaddingTop,
202
+ "is--pg-bottom": isCellPaddingBottom,
203
+ "is--pg-left": isCellPaddingLeft,
204
+ "is--pg-right": isCellPaddingRight,
205
+ "is--sortable": column.sortable,
206
+ "col--filter": !!filters,
207
+ "is--filter-active": hasFilter,
208
+ "is--drag-active": columnOpts.drag && !column.fixed && !isDisabledDrag && (isCrossDrag || isPeerDrag || !column.parentId),
209
+ "is--drag-disabled": columnOpts.drag && isDisabledDrag,
210
+ "col--current": currColFlag && currentCol === column
211
+ },
212
+ headerClassName ? XEUtils.isFunction(headerClassName) ? headerClassName(cellParams) : headerClassName : "",
213
+ headerCellClassName ? XEUtils.isFunction(headerCellClassName) ? headerCellClassName(cellParams) : headerCellClassName : ""
214
+ ],
215
+ style: headerCellStyle ? XEUtils.isFunction(headerCellStyle) ? headerCellStyle(cellParams) : headerCellStyle : null,
216
+ ...thAttrs,
217
+ ...thOns,
218
+ key: showCustomHeader ? `${colid}${$columnIndex}` : columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
219
+ }, [
220
+ h("div", {
221
+ class: ["vxe-cell", {
222
+ "c--title": showTitle,
223
+ "c--tooltip": showTooltip,
224
+ "c--ellipsis": showEllipsis
225
+ }],
226
+ style: tcStyle
227
+ }, isVNPreEmptyStatus || isOptimizeMode && fixedHiddenColumn ? [] : [
228
+ h("div", {
229
+ colid,
230
+ class: "vxe-cell--wrapper vxe-header-cell--wrapper"
231
+ }, column.renderHeader(cellParams))
232
+ ]),
233
+ /**
234
+ * 列宽拖动
235
+ */
236
+ !fixedHiddenColumn && showResizable && (!showCustomHeader || isLastRow) ? h("div", {
237
+ class: "vxe-cell--col-resizable",
238
+ onMousedown: (evnt) => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
239
+ onDblclick: (evnt) => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
240
+ }) : renderEmptyElement($xeTable)
241
+ ]);
242
+ });
243
+ };
244
+ const renderFilterRows = (isOptimizeMode, cols) => {
245
+ const $xeGrid = $xeTable.xeGrid;
246
+ const $xeGantt = $xeTable.xeGantt;
247
+ const { fixedType } = props;
248
+ const { showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign } = tableProps;
249
+ const { overflowX, currColFlag } = tableReactData;
250
+ const { fullColumnIdData, currentCol } = tableInternalData;
251
+ const headerTooltipOpts = computeHeaderTooltipOpts.value;
252
+ const cellOpts = computeCellOpts.value;
253
+ const defaultRowHeight = computeDefaultRowHeight.value;
254
+ const headerCellOpts = computeHeaderCellOpts.value;
255
+ const floatingFilterOpts = computeFloatingFilterOpts.value;
256
+ const rendererOpts = computeRendererOpts.value;
257
+ const { cellClassName } = floatingFilterOpts;
258
+ const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
259
+ return cols.map((column, $columnIndex) => {
260
+ const { type, showHeaderOverflow, headerAlign, align, filters, editRender, cellRender, floatingFilters, filterRender, slots } = column;
261
+ const colid = column.id;
262
+ const colRest = fullColumnIdData[colid] || {};
263
+ const renderOpts = editRender || cellRender;
264
+ const flSlot = slots ? slots.floatingFilter || slots["floating-filter"] : null;
265
+ const compConf = renderOpts && renderOpts.name ? rendererOpts[renderOpts.name] || renderer.get(renderOpts.name) : null;
266
+ const flCompConf = isEnableConf(filterRender) && filterRender.name ? rendererOpts[filterRender.name] || renderer.get(filterRender.name) : null;
267
+ const rtFloatingFilter = flCompConf ? flCompConf.renderTableFloatingFilter : null;
268
+ const fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
269
+ const isPadding = XEUtils.isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
270
+ const headOverflow = XEUtils.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
271
+ const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : "") || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : "") || allAlign;
272
+ const showEllipsis = headOverflow === "ellipsis";
273
+ const showTitle = headOverflow === "title";
274
+ const showTooltip = headOverflow === true ? headerTooltipOpts.mode === "tooltip" : headOverflow === "tooltip";
275
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
276
+ let hasFilter = false;
277
+ let firstFilterOption = null;
278
+ if (filters) {
279
+ firstFilterOption = filters[0];
280
+ hasFilter = filters.some((item) => item.checked);
281
+ }
282
+ const columnIndex = colRest.index;
283
+ const _columnIndex = colRest._index;
284
+ const cellParams = {
285
+ $table: $xeTable,
286
+ $grid: $xeGrid,
287
+ $gantt: $xeGantt,
288
+ column,
289
+ columnIndex,
290
+ $columnIndex,
291
+ _columnIndex,
292
+ option: firstFilterOption,
293
+ fixed: fixedType,
294
+ source: sourceType,
295
+ type: renderType,
296
+ isHidden: fixedHiddenColumn,
297
+ hasFilter
370
298
  };
371
- const renderVN = () => {
372
- const { fixedType, fixedColumn, tableColumn } = props;
373
- const { mouseConfig } = tableProps;
374
- const { isGroup, isColLoading, overflowX, scrollXLoad, dragCol } = tableReactData;
375
- const { visibleColumn, fullColumnIdData } = tableInternalData;
376
- const mouseOpts = computeMouseOpts.value;
377
- const isHeaderRenderOptimize = computeIsHeaderRenderOptimize.value;
378
- let renderHeaderList = headerColumn.value || [];
379
- let renderColumnList = tableColumn;
380
- const isOptimizeMode = isHeaderRenderOptimize;
381
- if (isGroup) {
382
- renderColumnList = visibleColumn;
299
+ const thAttrs = {
300
+ colid
301
+ };
302
+ const isLastColumn = $columnIndex === cols.length - 1;
303
+ const isAutoCellWidth = !column.resizeWidth && (column.minWidth === "auto" || column.width === "auto");
304
+ const tcStyle = {};
305
+ if (hasEllipsis) {
306
+ tcStyle.height = `${currCellHeight}px`;
307
+ } else {
308
+ tcStyle.minHeight = `${currCellHeight}px`;
309
+ }
310
+ return h("th", {
311
+ class: [
312
+ "vxe-table--column vxe-header--column is--floating-filters",
313
+ colid,
314
+ fixedHiddenColumn ? "fixed--hidden" : "fixed--visible",
315
+ {
316
+ [`col--${headAlign}`]: headAlign,
317
+ [`col--${type}`]: type,
318
+ "col--last": isLastColumn,
319
+ "col--fixed": column.fixed,
320
+ "col--ellipsis": hasEllipsis,
321
+ "fixed--width": !isAutoCellWidth,
322
+ "is--padding": isPadding,
323
+ "is--sortable": column.sortable,
324
+ "col--current": currColFlag && currentCol === column
383
325
  }
384
- else {
385
- if (!isOptimizeMode || (!isColLoading && (fixedType || !overflowX))) {
386
- renderColumnList = visibleColumn;
387
- }
388
- if (fixedType) {
389
- // 如果是使用优化模式
390
- if (isOptimizeMode) {
391
- renderColumnList = fixedColumn || [];
392
- }
326
+ ],
327
+ key: colid,
328
+ ...thAttrs
329
+ }, [
330
+ h("div", {
331
+ class: ["vxe-cell", "" + (cellClassName || ""), {
332
+ "c--title": showTitle,
333
+ "c--tooltip": showTooltip,
334
+ "c--ellipsis": showEllipsis
335
+ }],
336
+ style: tcStyle
337
+ }, isOptimizeMode && fixedHiddenColumn && !floatingFilters ? [] : [
338
+ h("div", {
339
+ colid,
340
+ class: "vxe-cell--wrapper vxe-header-cell--wrapper"
341
+ }, flSlot ? $xeTable.callSlot(flSlot, cellParams) : rtFloatingFilter && firstFilterOption ? getSlotVNs(rtFloatingFilter(filterRender, cellParams)) : [])
342
+ ])
343
+ ]);
344
+ });
345
+ };
346
+ const renderHeads = (isGroup, isOptimizeMode, headerGroups, renderColumnList) => {
347
+ const { fixedType } = props;
348
+ const { headerRowClassName, headerRowStyle } = tableProps;
349
+ const floatingFilterOpts = computeFloatingFilterOpts.value;
350
+ const rowVNs = headerGroups.map((cols, _rowIndex) => {
351
+ const params = { $table: $xeTable, rowIndex: _rowIndex, _rowIndex, $rowIndex: _rowIndex, fixed: fixedType, type: renderType };
352
+ return h("tr", {
353
+ key: _rowIndex,
354
+ class: [
355
+ "vxe-header--row",
356
+ headerRowClassName ? XEUtils.isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName : ""
357
+ ],
358
+ style: headerRowStyle ? XEUtils.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle : null
359
+ }, renderRows(isGroup, isOptimizeMode, headerGroups, _rowIndex, cols));
360
+ });
361
+ if (floatingFilterOpts.enabled) {
362
+ rowVNs.push(
363
+ h("tr", {
364
+ key: "ff",
365
+ class: [
366
+ "vxe-header--row is--floating-filters",
367
+ "" + (floatingFilterOpts.rowClassName || "")
368
+ ]
369
+ }, renderFilterRows(isOptimizeMode, renderColumnList))
370
+ );
371
+ }
372
+ return rowVNs;
373
+ };
374
+ const renderVN = () => {
375
+ const { fixedType, fixedColumn, tableColumn } = props;
376
+ const { mouseConfig } = tableProps;
377
+ const { isGroup, isColLoading, overflowX, scrollXLoad, dragCol } = tableReactData;
378
+ const { visibleColumn, fullColumnIdData } = tableInternalData;
379
+ const mouseOpts = computeMouseOpts.value;
380
+ const isHeaderRenderOptimize = computeIsHeaderRenderOptimize.value;
381
+ let renderHeaderList = headerColumn.value || [];
382
+ let renderColumnList = tableColumn;
383
+ const isOptimizeMode = isHeaderRenderOptimize;
384
+ if (isGroup) {
385
+ renderColumnList = visibleColumn;
386
+ } else {
387
+ if (!isOptimizeMode || !isColLoading && (fixedType || !overflowX)) {
388
+ renderColumnList = visibleColumn;
389
+ }
390
+ if (fixedType) {
391
+ if (isOptimizeMode) {
392
+ renderColumnList = fixedColumn || [];
393
+ }
394
+ }
395
+ renderHeaderList = [renderColumnList];
396
+ }
397
+ if (!fixedType && !isGroup) {
398
+ if (scrollXLoad && dragCol) {
399
+ if (renderColumnList.length > 2) {
400
+ const dCowRest = fullColumnIdData[dragCol.id];
401
+ if (dCowRest) {
402
+ const dcIndex = dCowRest._index;
403
+ const firstCol = renderColumnList[0];
404
+ const lastCol = renderColumnList[renderColumnList.length - 1];
405
+ const firstColRest = fullColumnIdData[firstCol.id];
406
+ const lastColRest = fullColumnIdData[lastCol.id];
407
+ if (firstColRest && lastColRest) {
408
+ const fcIndex = firstColRest._index;
409
+ const lcIndex = lastColRest._index;
410
+ if (dcIndex < fcIndex) {
411
+ renderColumnList = [dragCol].concat(renderColumnList);
412
+ renderHeaderList = [[dragCol].concat(renderHeaderList[0])].concat(renderHeaderList.slice(1));
413
+ } else if (dcIndex > lcIndex) {
414
+ renderColumnList = renderColumnList.concat([dragCol]);
415
+ renderHeaderList = [renderHeaderList[0].concat([dragCol])].concat(renderHeaderList.slice(1));
393
416
  }
394
- renderHeaderList = [renderColumnList];
417
+ }
395
418
  }
396
- if (!fixedType && !isGroup) {
397
- // 列拖拽
398
- if (scrollXLoad && dragCol) {
399
- if (renderColumnList.length > 2) {
400
- const dCowRest = fullColumnIdData[dragCol.id];
401
- if (dCowRest) {
402
- const dcIndex = dCowRest._index;
403
- const firstCol = renderColumnList[0];
404
- const lastCol = renderColumnList[renderColumnList.length - 1];
405
- const firstColRest = fullColumnIdData[firstCol.id];
406
- const lastColRest = fullColumnIdData[lastCol.id];
407
- if (firstColRest && lastColRest) {
408
- const fcIndex = firstColRest._index;
409
- const lcIndex = lastColRest._index;
410
- if (dcIndex < fcIndex) {
411
- renderColumnList = [dragCol].concat(renderColumnList);
412
- renderHeaderList = [[dragCol].concat(renderHeaderList[0])].concat(renderHeaderList.slice(1));
413
- }
414
- else if (dcIndex > lcIndex) {
415
- renderColumnList = renderColumnList.concat([dragCol]);
416
- renderHeaderList = [renderHeaderList[0].concat([dragCol])].concat(renderHeaderList.slice(1));
417
- }
418
- }
419
- }
420
- }
419
+ }
420
+ }
421
+ }
422
+ return h("div", {
423
+ ref: refElem,
424
+ class: ["vxe-table--header-wrapper", fixedType ? `fixed-${fixedType}--wrapper` : "body--wrapper"],
425
+ xid: xID
426
+ }, [
427
+ h("div", {
428
+ ref: refHeaderScroll,
429
+ class: "vxe-table--header-inner-wrapper",
430
+ onScroll(evnt) {
431
+ $xeTable.triggerHeaderScrollEvent(evnt, fixedType);
432
+ }
433
+ }, [
434
+ fixedType ? renderEmptyElement($xeTable) : h("div", {
435
+ ref: refHeaderXSpace,
436
+ class: "vxe-body--x-space"
437
+ }),
438
+ h("table", {
439
+ ref: refHeaderTable,
440
+ class: "vxe-table--header",
441
+ xid: xID,
442
+ cellspacing: 0,
443
+ cellpadding: 0,
444
+ border: 0,
445
+ xvm: isOptimizeMode ? "1" : null
446
+ }, [
447
+ /**
448
+ * 列宽
449
+ */
450
+ h("colgroup", {
451
+ ref: refHeaderColgroup
452
+ }, renderColumnList.map((column, $columnIndex) => {
453
+ return h("col", {
454
+ name: column.id,
455
+ key: $columnIndex,
456
+ style: {
457
+ width: `${column.renderWidth}px`
421
458
  }
422
- }
423
- return h('div', {
424
- ref: refElem,
425
- class: ['vxe-table--header-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
426
- xid: xID
427
- }, [
428
- h('div', {
429
- ref: refHeaderScroll,
430
- class: 'vxe-table--header-inner-wrapper',
431
- onScroll(evnt) {
432
- $xeTable.triggerHeaderScrollEvent(evnt, fixedType);
433
- }
434
- }, [
435
- fixedType
436
- ? renderEmptyElement($xeTable)
437
- : h('div', {
438
- ref: refHeaderXSpace,
439
- class: 'vxe-body--x-space'
440
- }),
441
- h('table', {
442
- ref: refHeaderTable,
443
- class: 'vxe-table--header',
444
- xid: xID,
445
- cellspacing: 0,
446
- cellpadding: 0,
447
- border: 0,
448
- xvm: isOptimizeMode ? '1' : null
449
- }, [
450
- /**
451
- * 列宽
452
- */
453
- h('colgroup', {
454
- ref: refHeaderColgroup
455
- }, renderColumnList.map((column, $columnIndex) => {
456
- return h('col', {
457
- name: column.id,
458
- key: $columnIndex,
459
- style: {
460
- width: `${column.renderWidth}px`
461
- }
462
- });
463
- })),
464
- /**
465
- * 头部
466
- */
467
- h('thead', {
468
- ref: refHeaderTHead
469
- }, renderHeads(isGroup, isOptimizeMode, renderHeaderList, renderColumnList))
470
- ]),
471
- hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area
472
- ? h('div', {
473
- class: 'vxe-table--cell-area',
474
- xid: xID
475
- }, [
476
- h('span', {
477
- class: 'vxe-table--cell-main-area'
478
- }),
479
- h('span', {
480
- class: 'vxe-table--cell-clip-area'
481
- }),
482
- h('span', {
483
- class: 'vxe-table--cell-extend-area'
484
- }),
485
- h('span', {
486
- class: 'vxe-table--cell-multi-area'
487
- }),
488
- h('span', {
489
- class: 'vxe-table--cell-active-area'
490
- }),
491
- h('span', {
492
- class: 'vxe-table--cell-col-status-area'
493
- })
494
- ])
495
- : renderEmptyElement($xeTable)
496
- ])
497
- ]);
498
- };
499
- watch(() => props.tableColumn, uploadColumn);
500
- onMounted(() => {
501
- nextTick(() => {
502
- const { fixedType } = props;
503
- const { internalData } = $xeTable;
504
- const { elemStore } = internalData;
505
- const prefix = `${fixedType || 'main'}-header-`;
506
- elemStore[`${prefix}wrapper`] = refElem;
507
- elemStore[`${prefix}scroll`] = refHeaderScroll;
508
- elemStore[`${prefix}table`] = refHeaderTable;
509
- elemStore[`${prefix}colgroup`] = refHeaderColgroup;
510
- elemStore[`${prefix}list`] = refHeaderTHead;
511
- elemStore[`${prefix}xSpace`] = refHeaderXSpace;
512
- elemStore[`${prefix}repair`] = refHeaderBorderRepair;
513
- uploadColumn();
514
- });
515
- });
516
- onUnmounted(() => {
517
- const { fixedType } = props;
518
- const { internalData } = $xeTable;
519
- const { elemStore } = internalData;
520
- const prefix = `${fixedType || 'main'}-header-`;
521
- elemStore[`${prefix}wrapper`] = null;
522
- elemStore[`${prefix}scroll`] = null;
523
- elemStore[`${prefix}table`] = null;
524
- elemStore[`${prefix}colgroup`] = null;
525
- elemStore[`${prefix}list`] = null;
526
- elemStore[`${prefix}xSpace`] = null;
527
- elemStore[`${prefix}repair`] = null;
528
- });
529
- return renderVN;
530
- }
459
+ });
460
+ })),
461
+ /**
462
+ * 头部
463
+ */
464
+ h("thead", {
465
+ ref: refHeaderTHead
466
+ }, renderHeads(isGroup, isOptimizeMode, renderHeaderList, renderColumnList))
467
+ ]),
468
+ hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area ? h("div", {
469
+ class: "vxe-table--cell-area",
470
+ xid: xID
471
+ }, [
472
+ h("span", {
473
+ class: "vxe-table--cell-main-area"
474
+ }),
475
+ h("span", {
476
+ class: "vxe-table--cell-clip-area"
477
+ }),
478
+ h("span", {
479
+ class: "vxe-table--cell-extend-area"
480
+ }),
481
+ h("span", {
482
+ class: "vxe-table--cell-multi-area"
483
+ }),
484
+ h("span", {
485
+ class: "vxe-table--cell-active-area"
486
+ }),
487
+ h("span", {
488
+ class: "vxe-table--cell-col-status-area"
489
+ })
490
+ ]) : renderEmptyElement($xeTable)
491
+ ])
492
+ ]);
493
+ };
494
+ watch(() => props.tableColumn, uploadColumn);
495
+ onMounted(() => {
496
+ nextTick(() => {
497
+ const { fixedType } = props;
498
+ const { internalData } = $xeTable;
499
+ const { elemStore } = internalData;
500
+ const prefix = `${fixedType || "main"}-header-`;
501
+ elemStore[`${prefix}wrapper`] = refElem;
502
+ elemStore[`${prefix}scroll`] = refHeaderScroll;
503
+ elemStore[`${prefix}table`] = refHeaderTable;
504
+ elemStore[`${prefix}colgroup`] = refHeaderColgroup;
505
+ elemStore[`${prefix}list`] = refHeaderTHead;
506
+ elemStore[`${prefix}xSpace`] = refHeaderXSpace;
507
+ elemStore[`${prefix}repair`] = refHeaderBorderRepair;
508
+ uploadColumn();
509
+ });
510
+ });
511
+ onUnmounted(() => {
512
+ const { fixedType } = props;
513
+ const { internalData } = $xeTable;
514
+ const { elemStore } = internalData;
515
+ const prefix = `${fixedType || "main"}-header-`;
516
+ elemStore[`${prefix}wrapper`] = null;
517
+ elemStore[`${prefix}scroll`] = null;
518
+ elemStore[`${prefix}table`] = null;
519
+ elemStore[`${prefix}colgroup`] = null;
520
+ elemStore[`${prefix}list`] = null;
521
+ elemStore[`${prefix}xSpace`] = null;
522
+ elemStore[`${prefix}repair`] = null;
523
+ });
524
+ return renderVN;
525
+ }
531
526
  });
527
+ export {
528
+ header_default as default
529
+ };