@fecp/designer 5.4.106 → 5.4.108

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 (331) hide show
  1. package/es/_virtual/index2.mjs +2 -5
  2. package/es/designer/package.json.mjs +1 -1
  3. package/es/designer/src/packages/dialog/useDialogDialog.mjs +1 -1
  4. package/es/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +1 -1
  5. package/es/designer/src/packages/form/property/widgets.vue.mjs +2 -2
  6. package/es/designer.css +2 -2
  7. package/es/node_modules/@vxe-ui/core/es/index.esm.mjs +1 -2
  8. package/es/node_modules/@vxe-ui/core/es/src/clipboard.mjs +1 -2
  9. package/es/node_modules/@vxe-ui/core/es/src/commands.mjs +1 -2
  10. package/es/node_modules/@vxe-ui/core/es/src/config.mjs +1 -2
  11. package/es/node_modules/@vxe-ui/core/es/src/event.mjs +1 -2
  12. package/es/node_modules/@vxe-ui/core/es/src/formats.mjs +1 -2
  13. package/es/node_modules/@vxe-ui/core/es/src/i18n.mjs +1 -2
  14. package/es/node_modules/@vxe-ui/core/es/src/icon.mjs +1 -2
  15. package/es/node_modules/@vxe-ui/core/es/src/interceptor.mjs +1 -2
  16. package/es/node_modules/@vxe-ui/core/es/src/menus.mjs +1 -2
  17. package/es/node_modules/@vxe-ui/core/es/src/permission.mjs +1 -2
  18. package/es/node_modules/@vxe-ui/core/es/src/renderer.mjs +1 -2
  19. package/es/node_modules/@vxe-ui/core/es/src/resize.mjs +1 -2
  20. package/es/node_modules/@vxe-ui/core/es/src/store.mjs +1 -2
  21. package/es/node_modules/@vxe-ui/core/es/src/vm.mjs +1 -2
  22. package/es/node_modules/crypto-js/index.mjs +1 -1
  23. package/es/node_modules/vxe-pc-ui/es/alert/src/alert.mjs +1 -1
  24. package/es/node_modules/vxe-pc-ui/es/anchor/src/anchor-link.mjs +1 -1
  25. package/es/node_modules/vxe-pc-ui/es/anchor/src/anchor.mjs +1 -1
  26. package/es/node_modules/vxe-pc-ui/es/anchor/src/util.mjs +1 -1
  27. package/es/node_modules/vxe-pc-ui/es/avatar/src/avatar.mjs +1 -1
  28. package/es/node_modules/vxe-pc-ui/es/backtop/src/backtop.mjs +1 -1
  29. package/es/node_modules/vxe-pc-ui/es/badge/src/badge.mjs +1 -1
  30. package/es/node_modules/vxe-pc-ui/es/breadcrumb/src/breadcrumb-item.mjs +1 -1
  31. package/es/node_modules/vxe-pc-ui/es/breadcrumb/src/breadcrumb.mjs +1 -1
  32. package/es/node_modules/vxe-pc-ui/es/button/src/button-group.mjs +1 -1
  33. package/es/node_modules/vxe-pc-ui/es/button/src/button.mjs +1 -1
  34. package/es/node_modules/vxe-pc-ui/es/calendar/src/calendar.mjs +1 -1
  35. package/es/node_modules/vxe-pc-ui/es/card/src/card.mjs +1 -1
  36. package/es/node_modules/vxe-pc-ui/es/carousel/src/carousel-item.mjs +1 -1
  37. package/es/node_modules/vxe-pc-ui/es/carousel/src/carousel.mjs +1 -1
  38. package/es/node_modules/vxe-pc-ui/es/carousel/src/util.mjs +1 -1
  39. package/es/node_modules/vxe-pc-ui/es/cascader/src/cascader.mjs +1 -1
  40. package/es/node_modules/vxe-pc-ui/es/checkbox/src/button.mjs +1 -1
  41. package/es/node_modules/vxe-pc-ui/es/checkbox/src/checkbox.mjs +1 -1
  42. package/es/node_modules/vxe-pc-ui/es/checkbox/src/group.mjs +1 -1
  43. package/es/node_modules/vxe-pc-ui/es/collapse/src/collapse-pane.mjs +1 -1
  44. package/es/node_modules/vxe-pc-ui/es/collapse/src/collapse.mjs +1 -1
  45. package/es/node_modules/vxe-pc-ui/es/collapse/src/util.mjs +1 -1
  46. package/es/node_modules/vxe-pc-ui/es/color-picker/src/color-picker.mjs +1 -1
  47. package/es/node_modules/vxe-pc-ui/es/color-picker/src/util.mjs +1 -1
  48. package/es/node_modules/vxe-pc-ui/es/context-menu/src/context-menu.mjs +1 -1
  49. package/es/node_modules/vxe-pc-ui/es/countdown/src/countdown.mjs +1 -1
  50. package/es/node_modules/vxe-pc-ui/es/date-panel/src/date-panel.mjs +1 -1
  51. package/es/node_modules/vxe-pc-ui/es/date-panel/src/util.mjs +1 -1
  52. package/es/node_modules/vxe-pc-ui/es/date-picker/src/date-picker.mjs +1 -1
  53. package/es/node_modules/vxe-pc-ui/es/date-range-picker/src/date-range-picker.mjs +1 -1
  54. package/es/node_modules/vxe-pc-ui/es/drawer/index.mjs +1 -1
  55. package/es/node_modules/vxe-pc-ui/es/drawer/src/drawer.mjs +1 -1
  56. package/es/node_modules/vxe-pc-ui/es/empty/src/empty.mjs +1 -1
  57. package/es/node_modules/vxe-pc-ui/es/form/render/index.mjs +1 -1
  58. package/es/node_modules/vxe-pc-ui/es/form/src/form-config-item.mjs +1 -1
  59. package/es/node_modules/vxe-pc-ui/es/form/src/form-group.mjs +1 -1
  60. package/es/node_modules/vxe-pc-ui/es/form/src/form-item.mjs +1 -1
  61. package/es/node_modules/vxe-pc-ui/es/form/src/form.mjs +1 -1
  62. package/es/node_modules/vxe-pc-ui/es/form/src/itemInfo.mjs +1 -1
  63. package/es/node_modules/vxe-pc-ui/es/form/src/render.mjs +1 -1
  64. package/es/node_modules/vxe-pc-ui/es/form/src/util.mjs +1 -1
  65. package/es/node_modules/vxe-pc-ui/es/icon/src/icon.mjs +1 -1
  66. package/es/node_modules/vxe-pc-ui/es/icon-picker/src/icon-picker.mjs +1 -1
  67. package/es/node_modules/vxe-pc-ui/es/image/src/group.mjs +1 -1
  68. package/es/node_modules/vxe-pc-ui/es/image/src/image.mjs +1 -1
  69. package/es/node_modules/vxe-pc-ui/es/image/src/preview.mjs +1 -1
  70. package/es/node_modules/vxe-pc-ui/es/image/src/util.mjs +1 -1
  71. package/es/node_modules/vxe-pc-ui/es/input/src/input.mjs +1 -1
  72. package/es/node_modules/vxe-pc-ui/es/layout-aside/src/layout-aside.mjs +1 -1
  73. package/es/node_modules/vxe-pc-ui/es/layout-body/src/layout-body.mjs +1 -1
  74. package/es/node_modules/vxe-pc-ui/es/layout-container/src/layout-container.mjs +1 -1
  75. package/es/node_modules/vxe-pc-ui/es/layout-footer/src/layout-footer.mjs +1 -1
  76. package/es/node_modules/vxe-pc-ui/es/layout-header/src/layout-header.mjs +1 -1
  77. package/es/node_modules/vxe-pc-ui/es/link/src/link.mjs +1 -1
  78. package/es/node_modules/vxe-pc-ui/es/list/src/list.mjs +1 -1
  79. package/es/node_modules/vxe-pc-ui/es/loading/src/loading.mjs +1 -1
  80. package/es/node_modules/vxe-pc-ui/es/menu/src/menu.mjs +1 -1
  81. package/es/node_modules/vxe-pc-ui/es/modal/index.mjs +1 -1
  82. package/es/node_modules/vxe-pc-ui/es/modal/src/modal.mjs +1 -1
  83. package/es/node_modules/vxe-pc-ui/es/notice-bar/src/notice-bar.mjs +1 -1
  84. package/es/node_modules/vxe-pc-ui/es/number-input/src/number-input.mjs +1 -1
  85. package/es/node_modules/vxe-pc-ui/es/number-input/src/util.mjs +1 -1
  86. package/es/node_modules/vxe-pc-ui/es/pager/src/pager.mjs +1 -1
  87. package/es/node_modules/vxe-pc-ui/es/password-input/src/password-input.mjs +1 -1
  88. package/es/node_modules/vxe-pc-ui/es/print/src/page-break.mjs +1 -1
  89. package/es/node_modules/vxe-pc-ui/es/print/src/print.mjs +1 -1
  90. package/es/node_modules/vxe-pc-ui/es/print/src/util.mjs +1 -1
  91. package/es/node_modules/vxe-pc-ui/es/pulldown/src/pulldown.mjs +1 -1
  92. package/es/node_modules/vxe-pc-ui/es/radio/src/button.mjs +1 -1
  93. package/es/node_modules/vxe-pc-ui/es/radio/src/group.mjs +1 -1
  94. package/es/node_modules/vxe-pc-ui/es/radio/src/radio.mjs +1 -1
  95. package/es/node_modules/vxe-pc-ui/es/rate/src/rate.mjs +1 -1
  96. package/es/node_modules/vxe-pc-ui/es/result/src/result.mjs +1 -1
  97. package/es/node_modules/vxe-pc-ui/es/row/src/col.mjs +1 -1
  98. package/es/node_modules/vxe-pc-ui/es/row/src/row.mjs +1 -1
  99. package/es/node_modules/vxe-pc-ui/es/segmented/src/segmented.mjs +1 -1
  100. package/es/node_modules/vxe-pc-ui/es/select/src/option-info.mjs +1 -1
  101. package/es/node_modules/vxe-pc-ui/es/select/src/select.mjs +1 -1
  102. package/es/node_modules/vxe-pc-ui/es/select/src/util.mjs +1 -1
  103. package/es/node_modules/vxe-pc-ui/es/slider/src/slider.mjs +1 -1
  104. package/es/node_modules/vxe-pc-ui/es/splitter/src/splitter-panel.mjs +1 -1
  105. package/es/node_modules/vxe-pc-ui/es/splitter/src/splitter.mjs +1 -1
  106. package/es/node_modules/vxe-pc-ui/es/splitter/src/util.mjs +1 -1
  107. package/es/node_modules/vxe-pc-ui/es/steps/src/steps.mjs +1 -1
  108. package/es/node_modules/vxe-pc-ui/es/switch/src/switch.mjs +1 -1
  109. package/es/node_modules/vxe-pc-ui/es/table-select/src/table-select.mjs +1 -1
  110. package/es/node_modules/vxe-pc-ui/es/tabs/src/tab-pane.mjs +1 -1
  111. package/es/node_modules/vxe-pc-ui/es/tabs/src/tabs.mjs +1 -1
  112. package/es/node_modules/vxe-pc-ui/es/tabs/src/util.mjs +1 -1
  113. package/es/node_modules/vxe-pc-ui/es/tag/src/tag.mjs +1 -1
  114. package/es/node_modules/vxe-pc-ui/es/text/src/text.mjs +1 -1
  115. package/es/node_modules/vxe-pc-ui/es/text-ellipsis/src/text-ellipsis.mjs +1 -1
  116. package/es/node_modules/vxe-pc-ui/es/textarea/src/textarea.mjs +1 -1
  117. package/es/node_modules/vxe-pc-ui/es/timeline/src/timeline-item.mjs +1 -1
  118. package/es/node_modules/vxe-pc-ui/es/timeline/src/timeline.mjs +1 -1
  119. package/es/node_modules/vxe-pc-ui/es/tip/src/tip.mjs +1 -1
  120. package/es/node_modules/vxe-pc-ui/es/tooltip/src/tooltip.mjs +1 -1
  121. package/es/node_modules/vxe-pc-ui/es/tour/src/tour.mjs +1 -1
  122. package/es/node_modules/vxe-pc-ui/es/tree/src/tree.mjs +1 -1
  123. package/es/node_modules/vxe-pc-ui/es/tree/src/util.mjs +1 -1
  124. package/es/node_modules/vxe-pc-ui/es/tree-select/src/tree-select.mjs +1 -1
  125. package/es/node_modules/vxe-pc-ui/es/ui/src/anime.mjs +1 -1
  126. package/es/node_modules/vxe-pc-ui/es/ui/src/dom.mjs +1 -1
  127. package/es/node_modules/vxe-pc-ui/es/ui/src/utils.mjs +1 -1
  128. package/es/node_modules/vxe-pc-ui/es/ui/src/vn.mjs +1 -1
  129. package/es/node_modules/vxe-pc-ui/es/upload/src/upload.mjs +1 -1
  130. package/es/node_modules/vxe-pc-ui/es/upload/src/util.mjs +1 -1
  131. package/es/node_modules/vxe-pc-ui/es/watermark/src/util.mjs +1 -1
  132. package/es/node_modules/vxe-pc-ui/es/watermark/src/watermark.mjs +1 -1
  133. package/es/node_modules/vxe-table/es/components.mjs +2 -1
  134. package/es/node_modules/vxe-table/es/grid/index.mjs +5 -1
  135. package/es/node_modules/vxe-table/es/grid/src/grid.mjs +20 -24
  136. package/es/node_modules/vxe-table/es/locale/lang/zh-CN.mjs +0 -6
  137. package/es/node_modules/vxe-table/es/table/module/custom/hook.mjs +8 -25
  138. package/es/node_modules/vxe-table/es/table/module/custom/panel.mjs +9 -14
  139. package/es/node_modules/vxe-table/es/table/module/export/export-panel.mjs +5 -11
  140. package/es/node_modules/vxe-table/es/table/module/export/import-panel.mjs +4 -11
  141. package/es/node_modules/vxe-table/es/table/module/filter/hook.mjs +19 -63
  142. package/es/node_modules/vxe-table/es/table/module/keyboard/hook.mjs +7 -18
  143. package/es/node_modules/vxe-table/es/table/module/menu/hook.mjs +2 -2
  144. package/es/node_modules/vxe-table/es/table/module/validator/hook.mjs +19 -19
  145. package/es/node_modules/vxe-table/es/table/src/body.mjs +17 -28
  146. package/es/node_modules/vxe-table/es/table/src/column.mjs +1 -1
  147. package/es/node_modules/vxe-table/es/table/src/columnInfo.mjs +0 -2
  148. package/es/node_modules/vxe-table/es/table/src/emits.mjs +0 -1
  149. package/es/node_modules/vxe-table/es/table/src/footer.mjs +2 -2
  150. package/es/node_modules/vxe-table/es/table/src/group.mjs +1 -2
  151. package/es/node_modules/vxe-table/es/table/src/props.mjs +0 -4
  152. package/es/node_modules/vxe-table/es/table/src/table.mjs +496 -619
  153. package/es/node_modules/vxe-table/es/table/src/util.mjs +22 -286
  154. package/es/node_modules/vxe-table/es/toolbar/src/toolbar.mjs +7 -11
  155. package/es/node_modules/vxe-table/es/ui/index.mjs +4 -12
  156. package/es/node_modules/vxe-table/es/ui/src/dom.mjs +1 -24
  157. package/es/node_modules/vxe-table/es/ui/src/log.mjs +1 -1
  158. package/es/packages/mobile/src/components/dataDisplay/table/Table.vue.mjs +2 -3
  159. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +1 -1
  160. package/es/packages/mobile/src/utils/formatterUtil.mjs +1 -1
  161. package/es/packages/mobile/src/utils/optionUtil.mjs +1 -1
  162. package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +1 -2
  163. package/es/packages/vue/src/components/table/DynamicQuery.vue.mjs +1 -2
  164. package/es/packages/vue/src/components/table/Table.vue.mjs +2 -3
  165. package/es/packages/vue/src/components/table/TableColumn.vue.mjs +1 -2
  166. package/lib/_virtual/index2.js +3 -6
  167. package/lib/designer/package.json.js +1 -1
  168. package/lib/designer/src/packages/dialog/useDialogDialog.js +1 -1
  169. package/lib/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +1 -1
  170. package/lib/designer/src/packages/form/property/widgets.vue.js +2 -2
  171. package/lib/designer.css +2 -2
  172. package/lib/node_modules/@vxe-ui/core/es/index.esm.js +4 -5
  173. package/lib/node_modules/@vxe-ui/core/es/src/clipboard.js +2 -3
  174. package/lib/node_modules/@vxe-ui/core/es/src/commands.js +7 -8
  175. package/lib/node_modules/@vxe-ui/core/es/src/config.js +3 -4
  176. package/lib/node_modules/@vxe-ui/core/es/src/event.js +6 -7
  177. package/lib/node_modules/@vxe-ui/core/es/src/formats.js +7 -8
  178. package/lib/node_modules/@vxe-ui/core/es/src/i18n.js +2 -3
  179. package/lib/node_modules/@vxe-ui/core/es/src/icon.js +3 -4
  180. package/lib/node_modules/@vxe-ui/core/es/src/interceptor.js +5 -6
  181. package/lib/node_modules/@vxe-ui/core/es/src/menus.js +7 -8
  182. package/lib/node_modules/@vxe-ui/core/es/src/permission.js +2 -3
  183. package/lib/node_modules/@vxe-ui/core/es/src/renderer.js +5 -6
  184. package/lib/node_modules/@vxe-ui/core/es/src/resize.js +3 -4
  185. package/lib/node_modules/@vxe-ui/core/es/src/store.js +6 -7
  186. package/lib/node_modules/@vxe-ui/core/es/src/vm.js +2 -3
  187. package/lib/node_modules/crypto-js/index.js +1 -1
  188. package/lib/node_modules/vxe-pc-ui/es/alert/src/alert.js +4 -4
  189. package/lib/node_modules/vxe-pc-ui/es/anchor/src/anchor-link.js +3 -3
  190. package/lib/node_modules/vxe-pc-ui/es/anchor/src/anchor.js +6 -6
  191. package/lib/node_modules/vxe-pc-ui/es/anchor/src/util.js +3 -3
  192. package/lib/node_modules/vxe-pc-ui/es/avatar/src/avatar.js +3 -3
  193. package/lib/node_modules/vxe-pc-ui/es/backtop/src/backtop.js +9 -9
  194. package/lib/node_modules/vxe-pc-ui/es/badge/src/badge.js +3 -3
  195. package/lib/node_modules/vxe-pc-ui/es/breadcrumb/src/breadcrumb-item.js +2 -2
  196. package/lib/node_modules/vxe-pc-ui/es/breadcrumb/src/breadcrumb.js +2 -2
  197. package/lib/node_modules/vxe-pc-ui/es/button/src/button-group.js +5 -5
  198. package/lib/node_modules/vxe-pc-ui/es/button/src/button.js +15 -15
  199. package/lib/node_modules/vxe-pc-ui/es/calendar/src/calendar.js +80 -80
  200. package/lib/node_modules/vxe-pc-ui/es/card/src/card.js +2 -2
  201. package/lib/node_modules/vxe-pc-ui/es/carousel/src/carousel-item.js +2 -2
  202. package/lib/node_modules/vxe-pc-ui/es/carousel/src/carousel.js +12 -12
  203. package/lib/node_modules/vxe-pc-ui/es/carousel/src/util.js +5 -5
  204. package/lib/node_modules/vxe-pc-ui/es/cascader/src/cascader.js +16 -16
  205. package/lib/node_modules/vxe-pc-ui/es/checkbox/src/button.js +3 -3
  206. package/lib/node_modules/vxe-pc-ui/es/checkbox/src/checkbox.js +3 -3
  207. package/lib/node_modules/vxe-pc-ui/es/checkbox/src/group.js +7 -7
  208. package/lib/node_modules/vxe-pc-ui/es/collapse/src/collapse-pane.js +2 -2
  209. package/lib/node_modules/vxe-pc-ui/es/collapse/src/collapse.js +4 -4
  210. package/lib/node_modules/vxe-pc-ui/es/collapse/src/util.js +3 -3
  211. package/lib/node_modules/vxe-pc-ui/es/color-picker/src/color-picker.js +15 -15
  212. package/lib/node_modules/vxe-pc-ui/es/color-picker/src/util.js +4 -4
  213. package/lib/node_modules/vxe-pc-ui/es/context-menu/src/context-menu.js +13 -13
  214. package/lib/node_modules/vxe-pc-ui/es/countdown/src/countdown.js +9 -9
  215. package/lib/node_modules/vxe-pc-ui/es/date-panel/src/date-panel.js +120 -120
  216. package/lib/node_modules/vxe-pc-ui/es/date-panel/src/util.js +29 -29
  217. package/lib/node_modules/vxe-pc-ui/es/date-picker/src/date-picker.js +15 -15
  218. package/lib/node_modules/vxe-pc-ui/es/date-range-picker/src/date-range-picker.js +17 -17
  219. package/lib/node_modules/vxe-pc-ui/es/drawer/index.js +3 -3
  220. package/lib/node_modules/vxe-pc-ui/es/drawer/src/drawer.js +8 -8
  221. package/lib/node_modules/vxe-pc-ui/es/empty/src/empty.js +2 -2
  222. package/lib/node_modules/vxe-pc-ui/es/form/render/index.js +31 -31
  223. package/lib/node_modules/vxe-pc-ui/es/form/src/form-config-item.js +3 -3
  224. package/lib/node_modules/vxe-pc-ui/es/form/src/form-group.js +4 -4
  225. package/lib/node_modules/vxe-pc-ui/es/form/src/form-item.js +4 -4
  226. package/lib/node_modules/vxe-pc-ui/es/form/src/form.js +43 -43
  227. package/lib/node_modules/vxe-pc-ui/es/form/src/itemInfo.js +4 -4
  228. package/lib/node_modules/vxe-pc-ui/es/form/src/render.js +25 -25
  229. package/lib/node_modules/vxe-pc-ui/es/form/src/util.js +6 -6
  230. package/lib/node_modules/vxe-pc-ui/es/icon/src/icon.js +2 -2
  231. package/lib/node_modules/vxe-pc-ui/es/icon-picker/src/icon-picker.js +8 -8
  232. package/lib/node_modules/vxe-pc-ui/es/image/src/group.js +7 -7
  233. package/lib/node_modules/vxe-pc-ui/es/image/src/image.js +7 -7
  234. package/lib/node_modules/vxe-pc-ui/es/image/src/preview.js +9 -9
  235. package/lib/node_modules/vxe-pc-ui/es/image/src/util.js +2 -2
  236. package/lib/node_modules/vxe-pc-ui/es/input/src/input.js +146 -146
  237. package/lib/node_modules/vxe-pc-ui/es/layout-aside/src/layout-aside.js +2 -2
  238. package/lib/node_modules/vxe-pc-ui/es/layout-body/src/layout-body.js +6 -6
  239. package/lib/node_modules/vxe-pc-ui/es/layout-container/src/layout-container.js +2 -2
  240. package/lib/node_modules/vxe-pc-ui/es/layout-footer/src/layout-footer.js +2 -2
  241. package/lib/node_modules/vxe-pc-ui/es/layout-header/src/layout-header.js +2 -2
  242. package/lib/node_modules/vxe-pc-ui/es/link/src/link.js +3 -3
  243. package/lib/node_modules/vxe-pc-ui/es/list/src/list.js +12 -12
  244. package/lib/node_modules/vxe-pc-ui/es/loading/src/loading.js +3 -3
  245. package/lib/node_modules/vxe-pc-ui/es/menu/src/menu.js +10 -10
  246. package/lib/node_modules/vxe-pc-ui/es/modal/index.js +5 -5
  247. package/lib/node_modules/vxe-pc-ui/es/modal/src/modal.js +36 -36
  248. package/lib/node_modules/vxe-pc-ui/es/notice-bar/src/notice-bar.js +2 -2
  249. package/lib/node_modules/vxe-pc-ui/es/number-input/src/number-input.js +30 -30
  250. package/lib/node_modules/vxe-pc-ui/es/number-input/src/util.js +4 -4
  251. package/lib/node_modules/vxe-pc-ui/es/pager/src/pager.js +13 -13
  252. package/lib/node_modules/vxe-pc-ui/es/password-input/src/password-input.js +5 -5
  253. package/lib/node_modules/vxe-pc-ui/es/print/src/page-break.js +2 -2
  254. package/lib/node_modules/vxe-pc-ui/es/print/src/print.js +13 -13
  255. package/lib/node_modules/vxe-pc-ui/es/print/src/util.js +11 -11
  256. package/lib/node_modules/vxe-pc-ui/es/pulldown/src/pulldown.js +7 -7
  257. package/lib/node_modules/vxe-pc-ui/es/radio/src/button.js +6 -6
  258. package/lib/node_modules/vxe-pc-ui/es/radio/src/group.js +7 -7
  259. package/lib/node_modules/vxe-pc-ui/es/radio/src/radio.js +6 -6
  260. package/lib/node_modules/vxe-pc-ui/es/rate/src/rate.js +3 -3
  261. package/lib/node_modules/vxe-pc-ui/es/result/src/result.js +2 -2
  262. package/lib/node_modules/vxe-pc-ui/es/row/src/col.js +5 -5
  263. package/lib/node_modules/vxe-pc-ui/es/row/src/row.js +5 -5
  264. package/lib/node_modules/vxe-pc-ui/es/segmented/src/segmented.js +6 -6
  265. package/lib/node_modules/vxe-pc-ui/es/select/src/option-info.js +2 -2
  266. package/lib/node_modules/vxe-pc-ui/es/select/src/select.js +27 -27
  267. package/lib/node_modules/vxe-pc-ui/es/select/src/util.js +3 -3
  268. package/lib/node_modules/vxe-pc-ui/es/slider/src/slider.js +14 -14
  269. package/lib/node_modules/vxe-pc-ui/es/splitter/src/splitter-panel.js +2 -2
  270. package/lib/node_modules/vxe-pc-ui/es/splitter/src/splitter.js +28 -28
  271. package/lib/node_modules/vxe-pc-ui/es/splitter/src/util.js +5 -5
  272. package/lib/node_modules/vxe-pc-ui/es/steps/src/steps.js +2 -2
  273. package/lib/node_modules/vxe-pc-ui/es/switch/src/switch.js +2 -2
  274. package/lib/node_modules/vxe-pc-ui/es/table-select/src/table-select.js +18 -18
  275. package/lib/node_modules/vxe-pc-ui/es/tabs/src/tab-pane.js +2 -2
  276. package/lib/node_modules/vxe-pc-ui/es/tabs/src/tabs.js +22 -22
  277. package/lib/node_modules/vxe-pc-ui/es/tabs/src/util.js +3 -3
  278. package/lib/node_modules/vxe-pc-ui/es/tag/src/tag.js +3 -3
  279. package/lib/node_modules/vxe-pc-ui/es/text/src/text.js +3 -3
  280. package/lib/node_modules/vxe-pc-ui/es/text-ellipsis/src/text-ellipsis.js +7 -7
  281. package/lib/node_modules/vxe-pc-ui/es/textarea/src/textarea.js +12 -12
  282. package/lib/node_modules/vxe-pc-ui/es/timeline/src/timeline-item.js +2 -2
  283. package/lib/node_modules/vxe-pc-ui/es/timeline/src/timeline.js +2 -2
  284. package/lib/node_modules/vxe-pc-ui/es/tip/src/tip.js +4 -4
  285. package/lib/node_modules/vxe-pc-ui/es/tooltip/src/tooltip.js +9 -9
  286. package/lib/node_modules/vxe-pc-ui/es/tour/src/tour.js +2 -2
  287. package/lib/node_modules/vxe-pc-ui/es/tree/src/tree.js +61 -61
  288. package/lib/node_modules/vxe-pc-ui/es/tree/src/util.js +4 -4
  289. package/lib/node_modules/vxe-pc-ui/es/tree-select/src/tree-select.js +27 -27
  290. package/lib/node_modules/vxe-pc-ui/es/ui/src/anime.js +4 -4
  291. package/lib/node_modules/vxe-pc-ui/es/ui/src/dom.js +9 -9
  292. package/lib/node_modules/vxe-pc-ui/es/ui/src/utils.js +4 -4
  293. package/lib/node_modules/vxe-pc-ui/es/ui/src/vn.js +2 -2
  294. package/lib/node_modules/vxe-pc-ui/es/upload/src/upload.js +63 -63
  295. package/lib/node_modules/vxe-pc-ui/es/upload/src/util.js +4 -4
  296. package/lib/node_modules/vxe-pc-ui/es/watermark/src/util.js +11 -11
  297. package/lib/node_modules/vxe-pc-ui/es/watermark/src/watermark.js +5 -5
  298. package/lib/node_modules/vxe-table/es/components.js +4 -3
  299. package/lib/node_modules/vxe-table/es/grid/index.js +4 -1
  300. package/lib/node_modules/vxe-table/es/grid/src/grid.js +19 -23
  301. package/lib/node_modules/vxe-table/es/locale/lang/zh-CN.js +0 -6
  302. package/lib/node_modules/vxe-table/es/table/module/custom/hook.js +8 -25
  303. package/lib/node_modules/vxe-table/es/table/module/custom/panel.js +8 -13
  304. package/lib/node_modules/vxe-table/es/table/module/export/export-panel.js +5 -11
  305. package/lib/node_modules/vxe-table/es/table/module/export/import-panel.js +4 -11
  306. package/lib/node_modules/vxe-table/es/table/module/filter/hook.js +19 -63
  307. package/lib/node_modules/vxe-table/es/table/module/keyboard/hook.js +7 -18
  308. package/lib/node_modules/vxe-table/es/table/module/menu/hook.js +2 -2
  309. package/lib/node_modules/vxe-table/es/table/module/validator/hook.js +19 -19
  310. package/lib/node_modules/vxe-table/es/table/src/body.js +17 -28
  311. package/lib/node_modules/vxe-table/es/table/src/column.js +1 -1
  312. package/lib/node_modules/vxe-table/es/table/src/columnInfo.js +0 -2
  313. package/lib/node_modules/vxe-table/es/table/src/emits.js +0 -1
  314. package/lib/node_modules/vxe-table/es/table/src/footer.js +2 -2
  315. package/lib/node_modules/vxe-table/es/table/src/group.js +1 -2
  316. package/lib/node_modules/vxe-table/es/table/src/props.js +0 -4
  317. package/lib/node_modules/vxe-table/es/table/src/table.js +494 -617
  318. package/lib/node_modules/vxe-table/es/table/src/util.js +22 -286
  319. package/lib/node_modules/vxe-table/es/toolbar/src/toolbar.js +6 -10
  320. package/lib/node_modules/vxe-table/es/ui/index.js +4 -12
  321. package/lib/node_modules/vxe-table/es/ui/src/dom.js +0 -23
  322. package/lib/node_modules/vxe-table/es/ui/src/log.js +1 -1
  323. package/lib/packages/mobile/src/components/dataDisplay/table/Table.vue.js +3 -4
  324. package/lib/packages/mobile/src/components/form/field/Field.vue.js +1 -1
  325. package/lib/packages/mobile/src/utils/formatterUtil.js +21 -21
  326. package/lib/packages/mobile/src/utils/optionUtil.js +5 -5
  327. package/lib/packages/vue/src/components/table/CustomButtons.vue.js +4 -5
  328. package/lib/packages/vue/src/components/table/DynamicQuery.vue.js +26 -27
  329. package/lib/packages/vue/src/components/table/Table.vue.js +8 -9
  330. package/lib/packages/vue/src/components/table/TableColumn.vue.js +16 -17
  331. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  import { inject, reactive, ref, computed, watch, nextTick, onActivated, onDeactivated, onMounted, onBeforeUnmount, onUnmounted, provide, h, Teleport } from "vue";
2
2
  import { defineVxeComponent } from "../../ui/src/comp.mjs";
3
3
  import XEUtils from "../../../../../_virtual/index2.mjs";
4
- import { toCssUnit, initTpImg, getEventTargetNode, hasClass, hasControlKey, isScale, setScrollLeft, setScrollTop, removeClass, addClass, checkTargetElement, wheelScrollLeftTo, wheelScrollTopTo, getTpImg, isPx, getPaddingTopBottomSize } from "../../ui/src/dom.mjs";
4
+ import { initTpImg, getEventTargetNode, hasClass, hasControlKey, isScale, toCssUnit, setScrollLeft, setScrollTop, removeClass, addClass, checkTargetElement, getTpImg, isPx, getPaddingTopBottomSize } from "../../ui/src/dom.mjs";
5
5
  import { isEnableConf, hasChildrenList, getFuncText, eqEmptyValue, getLastZIndex, nextZIndex, formatText } from "../../ui/src/utils.mjs";
6
6
  import "../../ui/index.mjs";
7
- import { createReactData, createInternalData, getCalcHeight, restoreScrollLocation, getColumnList, hasDeepKey, setCellValue, getRowkey, getRowUniqueId, createRowId, getRefElem, getRowid, createHandleGetRowId, getCellRestHeight, rowToVisible, handleFieldOrColumn, toFilters, getRootColumn, handleRowidOrRow, getCellValue, clearTableAllStatus, getColReMinWidth, getLastChildColumn, createHandleUpdateRowId, toTreePathSeq, colToVisible } from "./util.mjs";
7
+ import { createInternalData, getCalcHeight, restoreScrollLocation, getColumnList, hasDeepKey, setCellValue, getRowkey, getRowUniqueId, getRefElem, getRowid, createHandleGetRowId, getCellRestHeight, handleFieldOrColumn, colToVisible, rowToVisible, toFilters, getRootColumn, handleRowidOrRow, getCellValue, clearTableAllStatus, getColReMinWidth, getLastChildColumn, createHandleUpdateRowId, toTreePathSeq } from "./util.mjs";
8
8
  import { getSlotVNs } from "../../ui/src/vn.mjs";
9
9
  import { moveColAnimateToLr, moveRowAnimateToTb, clearRowAnimate, clearColAnimate } from "../../ui/src/anime.mjs";
10
10
  import { warnLog, errLog } from "../../ui/src/log.mjs";
@@ -53,7 +53,246 @@ const VxeTableComponent = defineVxeComponent({
53
53
  const $xeGGWrapper = $xeGrid || $xeGantt;
54
54
  const { computeSize } = useFns.useSize(props);
55
55
  const crossTableDragRowInfo = getCrossTableDragRowInfo();
56
- const reactData = reactive(createReactData());
56
+ const reactData = reactive({
57
+ // 低性能的静态列
58
+ staticColumns: [],
59
+ // 渲染的列分组
60
+ tableGroupColumn: [],
61
+ // 可视区渲染的列
62
+ tableColumn: [],
63
+ // 渲染中的数据
64
+ tableData: [],
65
+ // 是否启用了横向 X 可视渲染方式加载
66
+ scrollXLoad: false,
67
+ // 是否启用了纵向 Y 可视渲染方式加载
68
+ scrollYLoad: false,
69
+ // 是否存在纵向滚动条
70
+ overflowY: true,
71
+ // 是否存在横向滚动条
72
+ overflowX: false,
73
+ // 纵向滚动条的宽度
74
+ scrollbarWidth: 0,
75
+ // 横向滚动条的高度
76
+ scrollbarHeight: 0,
77
+ // 最后滚动时间戳
78
+ lastScrollTime: 0,
79
+ // 行高
80
+ rowHeight: 0,
81
+ // 表格父容器的高度
82
+ parentHeight: 0,
83
+ // 是否使用分组表头
84
+ isGroup: false,
85
+ isAllOverflow: false,
86
+ // 复选框属性,是否全选
87
+ isAllSelected: false,
88
+ // 复选框属性,有选中且非全选状态
89
+ isIndeterminate: false,
90
+ // 当前行
91
+ currentRow: null,
92
+ // 单选框属性,选中列
93
+ currentColumn: null,
94
+ // 单选框属性,选中行
95
+ selectRadioRow: null,
96
+ // 表尾合计数据
97
+ footerTableData: [],
98
+ // 行分组列信息
99
+ rowGroupColumn: null,
100
+ // 展开列信息
101
+ expandColumn: null,
102
+ checkboxColumn: null,
103
+ radioColumn: null,
104
+ // 树节点列信息
105
+ treeNodeColumn: null,
106
+ hasFixedColumn: false,
107
+ // 刷新列标识,当列筛选被改变时,触发表格刷新数据
108
+ upDataFlag: 0,
109
+ // 刷新列标识,当列的特定属性被改变时,触发表格刷新列
110
+ reColumnFlag: 0,
111
+ // 初始化标识
112
+ initStore: {
113
+ filter: false,
114
+ import: false,
115
+ export: false,
116
+ custom: false
117
+ },
118
+ // 自定义列相关的信息
119
+ customStore: {
120
+ btnEl: null,
121
+ isAll: false,
122
+ isIndeterminate: false,
123
+ activeBtn: false,
124
+ activeWrapper: false,
125
+ visible: false,
126
+ maxHeight: 0,
127
+ oldSortMaps: {},
128
+ oldFixedMaps: {},
129
+ oldVisibleMaps: {}
130
+ },
131
+ customColumnList: [],
132
+ // 当前选中的筛选列
133
+ filterStore: {
134
+ isAllSelected: false,
135
+ isIndeterminate: false,
136
+ style: null,
137
+ column: null,
138
+ visible: false,
139
+ maxHeight: null
140
+ },
141
+ // 存放列相关的信息
142
+ columnStore: {
143
+ leftList: [],
144
+ centerList: [],
145
+ rightList: [],
146
+ resizeList: [],
147
+ pxList: [],
148
+ pxMinList: [],
149
+ autoMinList: [],
150
+ scaleList: [],
151
+ scaleMinList: [],
152
+ autoList: [],
153
+ remainList: []
154
+ },
155
+ // 存放快捷菜单的信息
156
+ ctxMenuStore: {
157
+ selected: null,
158
+ visible: false,
159
+ showChild: false,
160
+ selectChild: null,
161
+ list: [],
162
+ style: null
163
+ },
164
+ // 存放可编辑相关信息
165
+ editStore: {
166
+ indexs: {
167
+ columns: []
168
+ },
169
+ titles: {
170
+ columns: []
171
+ },
172
+ // 选中源
173
+ selected: {
174
+ row: null,
175
+ column: null
176
+ },
177
+ // 已复制源
178
+ copyed: {
179
+ cut: false,
180
+ rows: [],
181
+ columns: []
182
+ },
183
+ // 激活
184
+ actived: {
185
+ row: null,
186
+ column: null
187
+ },
188
+ // 当前被强制聚焦单元格,只会在鼠标点击后算聚焦
189
+ focused: {
190
+ row: null,
191
+ column: null
192
+ }
193
+ },
194
+ // 存放 tooltip 相关信息
195
+ tooltipStore: {
196
+ row: null,
197
+ column: null,
198
+ content: null,
199
+ visible: false,
200
+ type: null,
201
+ currOpts: {}
202
+ },
203
+ // 存放数据校验相关信息
204
+ validStore: {
205
+ visible: false
206
+ },
207
+ validErrorMaps: {},
208
+ // 导入相关信息
209
+ importStore: {
210
+ inited: false,
211
+ file: null,
212
+ type: "",
213
+ modeList: [],
214
+ typeList: [],
215
+ filename: "",
216
+ visible: false
217
+ },
218
+ importParams: {
219
+ mode: "",
220
+ types: null,
221
+ message: true
222
+ },
223
+ // 导出相关信息
224
+ exportStore: {
225
+ inited: false,
226
+ name: "",
227
+ modeList: [],
228
+ typeList: [],
229
+ columns: [],
230
+ isPrint: false,
231
+ hasFooter: false,
232
+ hasMerge: false,
233
+ hasTree: false,
234
+ hasColgroup: false,
235
+ visible: false
236
+ },
237
+ exportParams: {
238
+ filename: "",
239
+ sheetName: "",
240
+ mode: "",
241
+ type: "",
242
+ isColgroup: false,
243
+ isMerge: false,
244
+ isAllExpand: false,
245
+ useStyle: false,
246
+ original: false,
247
+ message: true,
248
+ isHeader: false,
249
+ isTitle: false,
250
+ isFooter: false
251
+ },
252
+ visiblwRowsFlag: 1,
253
+ isRowGroupStatus: false,
254
+ rowGroupList: [],
255
+ aggHandleFields: [],
256
+ aggHandleAggColumns: [],
257
+ rowGroupExpandedFlag: 1,
258
+ rowExpandedFlag: 1,
259
+ treeExpandedFlag: 1,
260
+ updateCheckboxFlag: 1,
261
+ pendingRowFlag: 1,
262
+ insertRowFlag: 1,
263
+ removeRowFlag: 1,
264
+ mergeHeadFlag: 1,
265
+ mergeBodyFlag: 1,
266
+ mergeFootFlag: 1,
267
+ rowHeightStore: {
268
+ large: 52,
269
+ default: 48,
270
+ medium: 44,
271
+ small: 40,
272
+ mini: 36
273
+ },
274
+ scrollVMLoading: false,
275
+ scrollYHeight: 0,
276
+ scrollYTop: 0,
277
+ isScrollYBig: false,
278
+ scrollXLeft: 0,
279
+ scrollXWidth: 0,
280
+ isScrollXBig: false,
281
+ lazScrollLoading: false,
282
+ rowExpandHeightFlag: 1,
283
+ calcCellHeightFlag: 1,
284
+ resizeHeightFlag: 1,
285
+ resizeWidthFlag: 1,
286
+ isCustomStatus: false,
287
+ isCrossDragRow: false,
288
+ dragRow: null,
289
+ isCrossDragCol: false,
290
+ dragCol: null,
291
+ dragTipText: "",
292
+ isDragResize: false,
293
+ isRowLoading: false,
294
+ isColLoading: false
295
+ });
57
296
  const internalData = createInternalData();
58
297
  let tableMethods = {};
59
298
  let tablePrivateMethods = {};
@@ -115,11 +354,7 @@ const VxeTableComponent = defineVxeComponent({
115
354
  return `${props.rowId || rowOpts.keyField || "_X_ROW_KEY"}`;
116
355
  });
117
356
  const computeValidOpts = computed(() => {
118
- const opts = Object.assign({}, getConfig().table.validConfig, props.validConfig);
119
- if (XEUtils.isBoolean(opts.showMessage)) {
120
- opts.showErrorMessage = opts.showMessage;
121
- }
122
- return opts;
357
+ return Object.assign({}, getConfig().table.validConfig, props.validConfig);
123
358
  });
124
359
  const computeSXOpts = computed(() => {
125
360
  const virtualXOpts = computeVirtualXOpts.value;
@@ -248,9 +483,6 @@ const VxeTableComponent = defineVxeComponent({
248
483
  const computeRowGroupOpts = computed(() => {
249
484
  return computeAggregateOpts.value;
250
485
  });
251
- const computeAggregateAccuracyOpts = computed(() => {
252
- return Object.assign({}, getConfig().table.aggregateAccuracyConfig, props.aggregateAccuracyConfig);
253
- });
254
486
  const computeCurrentRowOpts = computed(() => {
255
487
  return Object.assign({}, getConfig().table.currentRowConfig, props.currentRowConfig);
256
488
  });
@@ -296,9 +528,6 @@ const VxeTableComponent = defineVxeComponent({
296
528
  const computeEditOpts = computed(() => {
297
529
  return Object.assign({}, getConfig().table.editConfig, props.editConfig);
298
530
  });
299
- const computeEditDirtyOpts = computed(() => {
300
- return Object.assign({}, getConfig().table.editDirtyConfig, props.editDirtyConfig);
301
- });
302
531
  const computeSortOpts = computed(() => {
303
532
  return Object.assign({ orders: ["asc", "desc", null] }, getConfig().table.sortConfig, props.sortConfig);
304
533
  });
@@ -362,9 +591,7 @@ const VxeTableComponent = defineVxeComponent({
362
591
  const lecIndex = leftList.length;
363
592
  for (let i = 0; i < mergeBodyList.length; i++) {
364
593
  const { col, colspan } = mergeBodyList[i];
365
- if (col < lecIndex && col + colspan > lecIndex) {
366
- return true;
367
- } else if (col < rscIndex && col + colspan > rscIndex) {
594
+ if (col < lecIndex || col + colspan > rscIndex) {
368
595
  return true;
369
596
  }
370
597
  }
@@ -475,38 +702,6 @@ const VxeTableComponent = defineVxeComponent({
475
702
  const computeCustomOpts = computed(() => {
476
703
  return Object.assign({}, getConfig().table.customConfig, props.customConfig);
477
704
  });
478
- const computeCustomSimpleMode = computed(() => {
479
- const { minHeight, height } = props;
480
- const customOpts = computeCustomOpts.value;
481
- const { mode, popupOptions, placement } = customOpts;
482
- if (!placement || placement === "top-left" || placement === "top-right") {
483
- if (!(mode === "modal" || mode === "drawer")) {
484
- const { mode: mode2 } = popupOptions || {};
485
- if (!mode2 || mode2 === "auto") {
486
- if (height || minHeight) {
487
- return "inside";
488
- }
489
- return "outside";
490
- }
491
- if (mode2) {
492
- return mode2;
493
- }
494
- }
495
- }
496
- return "";
497
- });
498
- const computeTableStyle = computed(() => {
499
- const scrollbarOpts = computeScrollbarOpts.value;
500
- const { width, height } = scrollbarOpts;
501
- const tStys = {};
502
- if (width) {
503
- tStys["--vxe-ui-table-view-scrollbar-width"] = toCssUnit(width);
504
- }
505
- if (height) {
506
- tStys["--vxe-ui-table-view-scrollbar-height"] = toCssUnit(height);
507
- }
508
- return tStys;
509
- });
510
705
  const computeTableRowExpandedList = computed(() => {
511
706
  const { tableData, rowExpandedFlag, expandColumn, rowGroupExpandedFlag, treeExpandedFlag } = reactData;
512
707
  const { visibleDataRowIdData, rowExpandedMaps } = internalData;
@@ -547,32 +742,6 @@ const VxeTableComponent = defineVxeComponent({
547
742
  }
548
743
  return false;
549
744
  });
550
- const computeKeepFields = computed(() => {
551
- const { tableFullColumn } = internalData;
552
- const { updateColFlag } = reactData;
553
- const editDirtyOpts = computeEditDirtyOpts.value;
554
- const { includeFields, excludeFields } = editDirtyOpts;
555
- const kpFields = [];
556
- if (updateColFlag) {
557
- if (includeFields && includeFields.length) {
558
- return includeFields;
559
- }
560
- const exfMaps = {};
561
- if (excludeFields && excludeFields.length) {
562
- excludeFields.forEach((field) => {
563
- exfMaps[field] = 1;
564
- });
565
- }
566
- for (let i = 0; i < tableFullColumn.length; i++) {
567
- const column = tableFullColumn[i];
568
- const { field, type, editRender, cellRender } = column;
569
- if (field && !type && (editRender || cellRender) && !exfMaps[field]) {
570
- kpFields.push(field);
571
- }
572
- }
573
- }
574
- return kpFields;
575
- });
576
745
  const computeTableBorder = computed(() => {
577
746
  const { border } = props;
578
747
  if (border === true) {
@@ -680,7 +849,6 @@ const VxeTableComponent = defineVxeComponent({
680
849
  computeFooterCellOpts,
681
850
  computeRowOpts,
682
851
  computeAggregateOpts,
683
- computeAggregateAccuracyOpts,
684
852
  computeRowGroupOpts,
685
853
  computeCurrentRowOpts,
686
854
  computeRowDragOpts,
@@ -694,7 +862,6 @@ const VxeTableComponent = defineVxeComponent({
694
862
  computeHeaderTooltipOpts,
695
863
  computeFooterTooltipOpts,
696
864
  computeEditOpts,
697
- computeEditDirtyOpts,
698
865
  computeSortOpts,
699
866
  computeFilterOpts,
700
867
  computeFloatingFilterOpts,
@@ -719,13 +886,11 @@ const VxeTableComponent = defineVxeComponent({
719
886
  computeLoadingOpts,
720
887
  computeCellOffsetWidth,
721
888
  computeCustomOpts,
722
- computeCustomSimpleMode,
723
889
  computeLeftFixedWidth,
724
890
  computeRightFixedWidth,
725
891
  computeBodyMergeCoverFixed,
726
892
  computeFixedColumnSize,
727
893
  computeIsMaxFixedColumn,
728
- computeKeepFields,
729
894
  computeIsAllCheckboxDisabled,
730
895
  computeIsHeaderRenderOptimize,
731
896
  computeIsBodyRenderOptimize,
@@ -937,44 +1102,32 @@ const VxeTableComponent = defineVxeComponent({
937
1102
  }
938
1103
  return { toVisibleIndex: 0, visibleSize: 6 };
939
1104
  };
940
- const calculateMergerOffsetIndex = (list, mergeMaps, offsetItem, type) => {
941
- const mKey = `${offsetItem.startIndex}:${offsetItem.endIndex}`;
942
- const mObj = mergeMaps[mKey];
943
- if (mObj) {
944
- offsetItem.startIndex = mObj.startIndex;
945
- offsetItem.endIndex = mObj.endIndex;
946
- } else {
947
- for (let mcIndex = 0, len = list.length; mcIndex < len; mcIndex++) {
948
- const mergeItem = list[mcIndex];
949
- const { startIndex, endIndex } = offsetItem;
950
- const mergeStartIndex = mergeItem[type];
951
- const mergeSpanNumber = mergeItem[type + "span"];
952
- const mergeEndIndex = mergeStartIndex + mergeSpanNumber;
953
- if (mergeStartIndex < startIndex && startIndex < mergeEndIndex) {
954
- offsetItem.startIndex = mergeStartIndex;
955
- }
956
- if (mergeStartIndex < endIndex && endIndex < mergeEndIndex) {
957
- offsetItem.endIndex = mergeEndIndex;
958
- }
959
- if (offsetItem.startIndex !== startIndex || offsetItem.endIndex !== endIndex) {
960
- mcIndex = -1;
961
- }
1105
+ const calculateMergerOffsetIndex = (list, offsetItem, type) => {
1106
+ for (let mcIndex = 0, len = list.length; mcIndex < len; mcIndex++) {
1107
+ const mergeItem = list[mcIndex];
1108
+ const { startIndex, endIndex } = offsetItem;
1109
+ const mergeStartIndex = mergeItem[type];
1110
+ const mergeSpanNumber = mergeItem[type + "span"];
1111
+ const mergeEndIndex = mergeStartIndex + mergeSpanNumber;
1112
+ if (mergeStartIndex < startIndex && startIndex < mergeEndIndex) {
1113
+ offsetItem.startIndex = mergeStartIndex;
1114
+ }
1115
+ if (mergeStartIndex < endIndex && endIndex < mergeEndIndex) {
1116
+ offsetItem.endIndex = mergeEndIndex;
1117
+ }
1118
+ if (offsetItem.startIndex !== startIndex || offsetItem.endIndex !== endIndex) {
1119
+ mcIndex = -1;
962
1120
  }
963
- mergeMaps[mKey] = offsetItem;
964
1121
  }
965
1122
  };
966
1123
  function buildMergeData(mergeConfigs) {
967
1124
  const mergeMaps = {};
968
- const mergeRowMaps = {};
969
- const mergeColMaps = {};
970
1125
  if (mergeConfigs && mergeConfigs.length) {
971
1126
  for (let mIndex = 0; mIndex < mergeConfigs.length; mIndex++) {
972
1127
  const { row: _rowIndex, col: _columnIndex, rowspan: mergeRowspan, colspan: mergeColspan } = mergeConfigs[mIndex];
973
1128
  for (let i = 0; i < mergeRowspan; i++) {
974
- const currRIndex = _rowIndex + i;
975
1129
  for (let j = 0; j < mergeColspan; j++) {
976
- const currCIndex = _columnIndex + j;
977
- mergeMaps[`${currRIndex}:${currCIndex}`] = !i && !j ? {
1130
+ mergeMaps[`${_rowIndex + i}:${_columnIndex + j}`] = !i && !j ? {
978
1131
  rowspan: mergeRowspan,
979
1132
  colspan: mergeColspan
980
1133
  } : {
@@ -985,14 +1138,12 @@ const VxeTableComponent = defineVxeComponent({
985
1138
  }
986
1139
  }
987
1140
  }
988
- return { mergeMaps, mergeRowMaps, mergeColMaps };
1141
+ return mergeMaps;
989
1142
  }
990
1143
  const handleUpdateMergeBodyCells = (merges) => {
991
1144
  internalData.mergeBodyList = [];
992
1145
  internalData.mergeBodyMaps = {};
993
1146
  internalData.mergeBodyCellMaps = {};
994
- internalData.mergeBodyRowMaps = {};
995
- internalData.mergeBodyColMaps = {};
996
1147
  $xeTable.setMergeCells(merges);
997
1148
  };
998
1149
  const handleBodyMerge = (merges) => {
@@ -1104,8 +1255,6 @@ const VxeTableComponent = defineVxeComponent({
1104
1255
  internalData.mergeHeaderList = [];
1105
1256
  internalData.mergeHeaderMaps = {};
1106
1257
  internalData.mergeHeaderCellMaps = {};
1107
- internalData.mergeHeaderRowMaps = {};
1108
- internalData.mergeBodyColMaps = {};
1109
1258
  $xeTable.setMergeHeaderCells(merges);
1110
1259
  };
1111
1260
  const handleHeaderMerge = (merges) => {
@@ -1204,8 +1353,6 @@ const VxeTableComponent = defineVxeComponent({
1204
1353
  internalData.mergeFooterList = [];
1205
1354
  internalData.mergeFooterMaps = {};
1206
1355
  internalData.mergeFooterCellMaps = {};
1207
- internalData.mergeFooterRowMaps = {};
1208
- internalData.mergeFooterColMaps = {};
1209
1356
  $xeTable.setMergeFooterCells(merges);
1210
1357
  };
1211
1358
  const handleFooterMerge = (merges) => {
@@ -1476,7 +1623,6 @@ const VxeTableComponent = defineVxeComponent({
1476
1623
  const newCollectCols = XEUtils.toArrayTree(XEUtils.orderBy(allCols, "renderSortNumber"), { key: "id", parentKey: "parentId", children: "children" });
1477
1624
  internalData.collectColumn = newCollectCols;
1478
1625
  internalData.tableFullColumn = getColumnList(newCollectCols);
1479
- reactData.updateColFlag++;
1480
1626
  }
1481
1627
  reactData.isCustomStatus = true;
1482
1628
  } else {
@@ -1514,26 +1660,6 @@ const VxeTableComponent = defineVxeComponent({
1514
1660
  }
1515
1661
  }
1516
1662
  };
1517
- const updateColumnAllOverflow = () => {
1518
- const { showOverflow } = props;
1519
- const { isGroup } = reactData;
1520
- const { fullAllDataRowIdData, tableFullColumn, collectColumn } = internalData;
1521
- let isAllOverflow = !!showOverflow;
1522
- const handleFunc = (column) => {
1523
- if (isAllOverflow && column.showOverflow === false) {
1524
- isAllOverflow = false;
1525
- }
1526
- };
1527
- if (isGroup) {
1528
- XEUtils.eachTree(collectColumn, handleFunc);
1529
- } else {
1530
- tableFullColumn.forEach(handleFunc);
1531
- }
1532
- XEUtils.each(fullAllDataRowIdData, (rowRest) => {
1533
- rowRest.height = 0;
1534
- });
1535
- reactData.isAllOverflow = isAllOverflow;
1536
- };
1537
1663
  const cacheColumnMap = () => {
1538
1664
  const { treeConfig, showOverflow } = props;
1539
1665
  const { tableFullColumn, collectColumn } = internalData;
@@ -1873,7 +1999,7 @@ const VxeTableComponent = defineVxeComponent({
1873
1999
  if (sortBy) {
1874
2000
  cellValue = XEUtils.isFunction(sortBy) ? sortBy({ row, column }) : XEUtils.get(row, sortBy);
1875
2001
  } else {
1876
- cellValue = $xeTable.getCellLabel(row, column);
2002
+ cellValue = tableMethods.getCellLabel(row, column);
1877
2003
  }
1878
2004
  if (!sortType || sortType === "auto") {
1879
2005
  return isNaN(cellValue) ? cellValue : XEUtils.toNumber(cellValue);
@@ -1888,7 +2014,7 @@ const VxeTableComponent = defineVxeComponent({
1888
2014
  if (sortBy) {
1889
2015
  cellValue = XEUtils.isFunction(sortBy) ? sortBy({ row, column }) : XEUtils.get(row, sortBy);
1890
2016
  } else {
1891
- cellValue = $xeTable.getCellLabel(row, column);
2017
+ cellValue = tableMethods.getCellLabel(row, column);
1892
2018
  }
1893
2019
  if (!sortType || sortType === "auto") {
1894
2020
  return isNaN(cellValue) ? cellValue : XEUtils.toNumber(cellValue);
@@ -2023,8 +2149,8 @@ const VxeTableComponent = defineVxeComponent({
2023
2149
  const treeOpts = computeTreeOpts.value;
2024
2150
  const childrenField = treeOpts.children || treeOpts.childrenField;
2025
2151
  const { transform, rowField, parentField, mapChildrenField } = treeOpts;
2026
- const { isEvery, remote: allRemoteFilter, filterMethod: allFilterMethod, isDeep: isFilterDeep } = filterOpts;
2027
- const { remote: allRemoteSort, sortMethod: allSortMethod, multiple: sortMultiple, chronological, isDeep: isSortDeep } = sortOpts;
2152
+ const { isEvery, remote: allRemoteFilter, filterMethod: allFilterMethod } = filterOpts;
2153
+ const { remote: allRemoteSort, sortMethod: allSortMethod, multiple: sortMultiple, chronological } = sortOpts;
2028
2154
  let tableData = [];
2029
2155
  let tableTree = [];
2030
2156
  if (!allRemoteFilter || !allRemoteSort) {
@@ -2080,7 +2206,7 @@ const VxeTableComponent = defineVxeComponent({
2080
2206
  mapChildren: aggregateOpts.childrenField
2081
2207
  });
2082
2208
  tableData = tableTree;
2083
- } else if (treeConfig && transform && isFilterDeep !== false) {
2209
+ } else if (treeConfig && transform) {
2084
2210
  tableTree = XEUtils.searchTree(tableFullTreeData, handleFilter, {
2085
2211
  original: true,
2086
2212
  isEvery,
@@ -2101,7 +2227,7 @@ const VxeTableComponent = defineVxeComponent({
2101
2227
  mapChildren: aggregateOpts.childrenField
2102
2228
  });
2103
2229
  tableData = tableTree;
2104
- } else if (treeConfig && transform && isFilterDeep !== false) {
2230
+ } else if (treeConfig && transform) {
2105
2231
  tableTree = XEUtils.searchTree(tableFullTreeData, () => true, {
2106
2232
  original: true,
2107
2233
  isEvery,
@@ -2133,7 +2259,7 @@ const VxeTableComponent = defineVxeComponent({
2133
2259
  });
2134
2260
  }
2135
2261
  tableData = tableTree;
2136
- } else if (treeConfig && transform && isSortDeep !== false) {
2262
+ } else if (treeConfig && transform) {
2137
2263
  if (allSortMethod) {
2138
2264
  const sortRests = allSortMethod({ data: tableTree, sortList: orderColumns, $table: $xeTable });
2139
2265
  tableTree = XEUtils.isArray(sortRests) ? sortRests : tableTree;
@@ -2168,7 +2294,7 @@ const VxeTableComponent = defineVxeComponent({
2168
2294
  mapChildren: aggregateOpts.childrenField
2169
2295
  });
2170
2296
  tableData = tableTree;
2171
- } else if (treeConfig && transform && isSortDeep !== false) {
2297
+ } else if (treeConfig && transform) {
2172
2298
  tableTree = XEUtils.searchTree(tableFullTreeData, () => true, {
2173
2299
  original: true,
2174
2300
  isEvery,
@@ -3163,7 +3289,6 @@ const VxeTableComponent = defineVxeComponent({
3163
3289
  if (rowGroups) {
3164
3290
  const aggregateOpts = computeAggregateOpts.value;
3165
3291
  const { rowField, parentField, childrenField, mapChildrenField } = aggregateOpts;
3166
- const rowOpts = computeRowOpts.value;
3167
3292
  const checkboxOpts = computeCheckboxOpts.value;
3168
3293
  const { checkField } = checkboxOpts;
3169
3294
  const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
@@ -3199,10 +3324,10 @@ const VxeTableComponent = defineVxeComponent({
3199
3324
  childCount: 0,
3200
3325
  [rowField]: getRowUniqueId(),
3201
3326
  [parentField]: null,
3327
+ [rowkey]: getRowUniqueId(),
3202
3328
  [childrenField]: childTreeData,
3203
3329
  [mapChildrenField]: childTreeData
3204
3330
  };
3205
- aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey);
3206
3331
  if (checkField) {
3207
3332
  aggRow[checkField] = false;
3208
3333
  }
@@ -3348,7 +3473,7 @@ const VxeTableComponent = defineVxeComponent({
3348
3473
  if (reactData.expandColumn && expandOpts.mode !== "fixed") {
3349
3474
  errLog("vxe.error.notConflictProp", ['column.type="expand', 'expand-config.mode="fixed"']);
3350
3475
  }
3351
- if (virtualYOpts.mode === "scroll" && reactData.expandColumn && expandOpts.mode === "fixed") {
3476
+ if (virtualYOpts.mode === "scroll" && expandOpts.mode === "fixed") {
3352
3477
  warnLog("vxe.error.notConflictProp", ["virtual-y-config.mode=scroll", "expand-config.mode=inside"]);
3353
3478
  }
3354
3479
  if (!(props.height || props.maxHeight)) {
@@ -3451,14 +3576,13 @@ const VxeTableComponent = defineVxeComponent({
3451
3576
  const handleUpdateColumn = () => {
3452
3577
  const columnList = XEUtils.orderBy(internalData.collectColumn, "renderSortNumber");
3453
3578
  internalData.collectColumn = columnList;
3454
- const tFullColumn = getColumnList(columnList);
3455
- internalData.tableFullColumn = tFullColumn;
3456
- reactData.updateColFlag++;
3579
+ const tableFullColumn = getColumnList(columnList);
3580
+ internalData.tableFullColumn = tableFullColumn;
3457
3581
  cacheColumnMap();
3458
3582
  };
3459
3583
  const loadScrollXData = () => {
3460
3584
  const { isScrollXBig } = reactData;
3461
- const { mergeBodyList, mergeFooterList, mergeBodyRowMaps, scrollXStore } = internalData;
3585
+ const { mergeBodyList, mergeFooterList, scrollXStore } = internalData;
3462
3586
  const { preloadSize, startIndex, endIndex, offsetSize } = scrollXStore;
3463
3587
  const { toVisibleIndex, visibleSize } = handleVirtualXVisible();
3464
3588
  const offsetItem = {
@@ -3467,7 +3591,7 @@ const VxeTableComponent = defineVxeComponent({
3467
3591
  };
3468
3592
  scrollXStore.visibleStartIndex = toVisibleIndex - 1;
3469
3593
  scrollXStore.visibleEndIndex = toVisibleIndex + visibleSize + 1;
3470
- calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList), mergeBodyRowMaps, offsetItem, "col");
3594
+ calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList), offsetItem, "col");
3471
3595
  const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem;
3472
3596
  if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
3473
3597
  if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
@@ -3607,9 +3731,8 @@ const VxeTableComponent = defineVxeComponent({
3607
3731
  const handleInitColumn = (collectColumn) => {
3608
3732
  const expandOpts = computeExpandOpts.value;
3609
3733
  internalData.collectColumn = collectColumn;
3610
- const tFullColumn = getColumnList(collectColumn);
3611
- internalData.tableFullColumn = tFullColumn;
3612
- reactData.updateColFlag++;
3734
+ const tableFullColumn = getColumnList(collectColumn);
3735
+ internalData.tableFullColumn = tableFullColumn;
3613
3736
  reactData.isColLoading = true;
3614
3737
  initColumnHierarchy();
3615
3738
  return Promise.resolve(restoreCustomStorage()).then(() => {
@@ -3826,7 +3949,7 @@ const VxeTableComponent = defineVxeComponent({
3826
3949
  };
3827
3950
  const loadScrollYData = () => {
3828
3951
  const { isAllOverflow, isScrollYBig } = reactData;
3829
- const { mergeBodyList, mergeBodyColMaps, scrollYStore } = internalData;
3952
+ const { mergeBodyList, scrollYStore } = internalData;
3830
3953
  const { preloadSize, startIndex, endIndex, offsetSize } = scrollYStore;
3831
3954
  const autoOffsetYSize = isAllOverflow ? offsetSize : offsetSize + 1;
3832
3955
  const { toVisibleIndex, visibleSize } = handleVirtualYVisible();
@@ -3836,7 +3959,7 @@ const VxeTableComponent = defineVxeComponent({
3836
3959
  };
3837
3960
  scrollYStore.visibleStartIndex = toVisibleIndex - 1;
3838
3961
  scrollYStore.visibleEndIndex = toVisibleIndex + visibleSize + 1;
3839
- calculateMergerOffsetIndex(mergeBodyList, mergeBodyColMaps, offsetItem, "row");
3962
+ calculateMergerOffsetIndex(mergeBodyList, offsetItem, "row");
3840
3963
  const { startIndex: offsetStartIndex, endIndex: offsetEndIndex } = offsetItem;
3841
3964
  if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
3842
3965
  if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
@@ -3939,7 +4062,7 @@ const VxeTableComponent = defineVxeComponent({
3939
4062
  return Promise.all([
3940
4063
  xRest,
3941
4064
  yRest,
3942
- scrollXLoad || scrollYLoad ? $xeTable.updateCellAreas() : null
4065
+ $xeTable.updateCellAreas()
3943
4066
  ]);
3944
4067
  };
3945
4068
  const checkLastSyncScroll = (isRollX, isRollY) => {
@@ -3979,6 +4102,32 @@ const VxeTableComponent = defineVxeComponent({
3979
4102
  }
3980
4103
  return multiple;
3981
4104
  };
4105
+ const wheelScrollLeftTo = (scrollLeft, cb) => {
4106
+ requestAnimationFrame(() => {
4107
+ cb(scrollLeft);
4108
+ });
4109
+ };
4110
+ const wheelScrollTopTo = (diffNum, cb) => {
4111
+ const duration = Math.abs(diffNum);
4112
+ const startTime = performance.now();
4113
+ let countTop = 0;
4114
+ const step = (timestamp) => {
4115
+ let progress = (timestamp - startTime) / duration;
4116
+ if (progress < 0) {
4117
+ progress = 0;
4118
+ } else if (progress > 1) {
4119
+ progress = 1;
4120
+ }
4121
+ const easedProgress = Math.pow(progress, 2);
4122
+ const offsetTop = Math.floor(diffNum * easedProgress) - countTop;
4123
+ countTop += offsetTop;
4124
+ cb(offsetTop);
4125
+ if (progress < 1) {
4126
+ requestAnimationFrame(step);
4127
+ }
4128
+ };
4129
+ requestAnimationFrame(step);
4130
+ };
3982
4131
  const syncGanttScrollTop = (scrollTop) => {
3983
4132
  const $xeGanttView = internalData.xeGanttView;
3984
4133
  if ($xeGanttView) {
@@ -3993,11 +4142,11 @@ const VxeTableComponent = defineVxeComponent({
3993
4142
  const dispatchEvent = (type, params, evnt) => {
3994
4143
  emit(type, createEvent(evnt, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }, params));
3995
4144
  };
3996
- const handleScrollToRowColumn = (fieldOrColumn, row, options) => {
4145
+ const handleScrollToRowColumn = (fieldOrColumn, row) => {
3997
4146
  const { fullColumnIdData } = internalData;
3998
4147
  const column = handleFieldOrColumn($xeTable, fieldOrColumn);
3999
4148
  if (column && fullColumnIdData[column.id]) {
4000
- return colToVisible($xeTable, options ? options.colAlign !== false : true, column, row);
4149
+ return colToVisible($xeTable, column, row);
4001
4150
  }
4002
4151
  return nextTick();
4003
4152
  };
@@ -4084,7 +4233,7 @@ const VxeTableComponent = defineVxeComponent({
4084
4233
  const rowid = expandEl.getAttribute("rowid") || "";
4085
4234
  const rowRest = fullAllDataRowIdData[rowid];
4086
4235
  if (rowRest) {
4087
- const expandHeight = expandEl.offsetHeight;
4236
+ const expandHeight = expandEl.offsetHeight + 1;
4088
4237
  const trEl = bodyScrollElem.querySelector(`.vxe-body--row[rowid="${rowid}"]`);
4089
4238
  let offsetTop = 0;
4090
4239
  if (scrollYLoad) {
@@ -4381,7 +4530,7 @@ const VxeTableComponent = defineVxeComponent({
4381
4530
  const childrenField = treeOpts.children || treeOpts.childrenField;
4382
4531
  const parentRest = fullAllDataRowIdData[getRowid($xeTable, row)];
4383
4532
  const parentLevel = parentRest ? parentRest.level : 0;
4384
- return $xeTable.createData(childRecords).then((rows) => {
4533
+ return tableMethods.createData(childRecords).then((rows) => {
4385
4534
  if (keepSource) {
4386
4535
  const rowid = getRowid($xeTable, row);
4387
4536
  const matchObj = XEUtils.findTree(tableSourceData, (item) => rowid === getRowid($xeTable, item), { children: childrenField });
@@ -4436,8 +4585,8 @@ const VxeTableComponent = defineVxeComponent({
4436
4585
  * @param {ColumnInfo} columns 列配置
4437
4586
  */
4438
4587
  reloadColumn(columns) {
4439
- return $xeTable.clearAll().then(() => {
4440
- return $xeTable.loadColumn(columns);
4588
+ return tableMethods.clearAll().then(() => {
4589
+ return tableMethods.loadColumn(columns);
4441
4590
  });
4442
4591
  },
4443
4592
  /**
@@ -4528,7 +4677,7 @@ const VxeTableComponent = defineVxeComponent({
4528
4677
  */
4529
4678
  createData(records) {
4530
4679
  return nextTick().then(() => {
4531
- return reactive($xeTable.defineField(records));
4680
+ return reactive(tablePrivateMethods.defineField(records));
4532
4681
  });
4533
4682
  },
4534
4683
  /**
@@ -4541,7 +4690,7 @@ const VxeTableComponent = defineVxeComponent({
4541
4690
  if (!isArr) {
4542
4691
  records = [records || {}];
4543
4692
  }
4544
- return $xeTable.createData(records).then((rows) => isArr ? rows : rows[0]);
4693
+ return tableMethods.createData(records).then((rows) => isArr ? rows : rows[0]);
4545
4694
  },
4546
4695
  /**
4547
4696
  * 还原数据
@@ -4725,7 +4874,7 @@ const VxeTableComponent = defineVxeComponent({
4725
4874
  const tcFormatMethod = gFormatOpts ? gFormatOpts.tableCellFormatMethod || gFormatOpts.cellFormatMethod : null;
4726
4875
  cellLabel = tcFormatMethod ? tcFormatMethod(formatParams, ...formatter.slice(1)) : "";
4727
4876
  } else {
4728
- cellLabel = formatter(formatParams);
4877
+ cellLabel = `${formatter(formatParams)}`;
4729
4878
  }
4730
4879
  } else if (renderOpts && tcFormatter) {
4731
4880
  cellLabel = tcFormatter(renderOpts, formatParams);
@@ -4736,43 +4885,6 @@ const VxeTableComponent = defineVxeComponent({
4736
4885
  }
4737
4886
  return cellLabel;
4738
4887
  },
4739
- updateCellLabel(row, fieldOrColumn) {
4740
- const column = handleFieldOrColumn($xeTable, fieldOrColumn);
4741
- if (!column) {
4742
- return null;
4743
- }
4744
- const { fullAllDataRowIdData } = internalData;
4745
- const rowid = getRowid($xeTable, row);
4746
- if (rowid) {
4747
- const colid = column.id;
4748
- const rowid2 = getRowid($xeTable, row);
4749
- const rowRest = fullAllDataRowIdData[rowid2];
4750
- if (rowRest) {
4751
- const formatData = rowRest.formatData;
4752
- if (formatData) {
4753
- delete formatData[colid];
4754
- }
4755
- }
4756
- }
4757
- return $xeTable.getFooterCellLabel(row, column);
4758
- },
4759
- clearFormatterCache(isUpdate) {
4760
- const { tableData, tableColumn } = reactData;
4761
- const { fullAllDataRowIdData } = internalData;
4762
- XEUtils.each(fullAllDataRowIdData, (rowRest) => {
4763
- if (rowRest.formatData) {
4764
- rowRest.formatData = void 0;
4765
- }
4766
- });
4767
- if (isUpdate) {
4768
- tableData.forEach((row) => {
4769
- tableColumn.forEach((column) => {
4770
- $xeTable.getCellLabel(row, column);
4771
- });
4772
- });
4773
- }
4774
- return nextTick();
4775
- },
4776
4888
  getFooterCellLabel(row, fieldOrColumn) {
4777
4889
  const column = handleFieldOrColumn($xeTable, fieldOrColumn);
4778
4890
  if (!column) {
@@ -4837,41 +4949,6 @@ const VxeTableComponent = defineVxeComponent({
4837
4949
  }
4838
4950
  return cellLabel;
4839
4951
  },
4840
- updateFooterCellLabel(row, fieldOrColumn) {
4841
- const column = handleFieldOrColumn($xeTable, fieldOrColumn);
4842
- if (!column) {
4843
- return null;
4844
- }
4845
- const { footerTableData } = reactData;
4846
- const { footerFullDataRowData } = internalData;
4847
- const colid = column.id;
4848
- const $rowIndex = footerTableData.indexOf(row);
4849
- const rowRest = footerFullDataRowData[$rowIndex];
4850
- if (rowRest) {
4851
- const formatData = rowRest.formatData;
4852
- if (formatData) {
4853
- delete formatData[colid];
4854
- }
4855
- }
4856
- return $xeTable.getFooterCellLabel(row, column);
4857
- },
4858
- clearFooterFormatterCache(isUpdate) {
4859
- const { tableData, tableColumn } = reactData;
4860
- const { footerFullDataRowData } = internalData;
4861
- XEUtils.each(footerFullDataRowData, (rowRest) => {
4862
- if (rowRest.formatData) {
4863
- rowRest.formatData = void 0;
4864
- }
4865
- });
4866
- if (isUpdate) {
4867
- tableData.forEach((row) => {
4868
- tableColumn.forEach((column) => {
4869
- $xeTable.getFooterCellLabel(row, column);
4870
- });
4871
- });
4872
- }
4873
- return nextTick();
4874
- },
4875
4952
  /**
4876
4953
  * 检查是否为临时行数据
4877
4954
  */
@@ -4895,8 +4972,7 @@ const VxeTableComponent = defineVxeComponent({
4895
4972
  */
4896
4973
  isUpdateByRow(rowidOrRow, field) {
4897
4974
  const { keepSource } = props;
4898
- const { fullDataRowIdData, sourceDataRowIdData } = internalData;
4899
- const keepFields = computeKeepFields.value;
4975
+ const { tableFullColumn, fullDataRowIdData, sourceDataRowIdData } = internalData;
4900
4976
  if (keepSource) {
4901
4977
  const rowid = XEUtils.isString(rowidOrRow) || XEUtils.isNumber(rowidOrRow) ? rowidOrRow : getRowid($xeTable, rowidOrRow);
4902
4978
  const rowRest = fullDataRowIdData[rowid];
@@ -4909,8 +4985,9 @@ const VxeTableComponent = defineVxeComponent({
4909
4985
  if (arguments.length > 1) {
4910
4986
  return !eqCellValue(oRow, row, field);
4911
4987
  }
4912
- for (let i = 0; i < keepFields.length; i++) {
4913
- if (!eqCellValue(oRow, row, keepFields[i])) {
4988
+ for (let index = 0, len = tableFullColumn.length; index < len; index++) {
4989
+ const property = tableFullColumn[index].field;
4990
+ if (property && !eqCellValue(oRow, row, property)) {
4914
4991
  return true;
4915
4992
  }
4916
4993
  }
@@ -5242,14 +5319,14 @@ const VxeTableComponent = defineVxeComponent({
5242
5319
  column2.fixed = fixed;
5243
5320
  column2.renderFixed = fixed;
5244
5321
  });
5245
- $xeTable.saveCustomStore("update:fixed");
5322
+ tablePrivateMethods.saveCustomStore("update:fixed");
5246
5323
  if (!status) {
5247
5324
  status = true;
5248
5325
  }
5249
5326
  }
5250
5327
  }
5251
5328
  if (status) {
5252
- return $xeTable.refreshColumn();
5329
+ return tableMethods.refreshColumn();
5253
5330
  }
5254
5331
  return nextTick();
5255
5332
  },
@@ -5267,14 +5344,14 @@ const VxeTableComponent = defineVxeComponent({
5267
5344
  column2.fixed = null;
5268
5345
  column2.renderFixed = null;
5269
5346
  });
5270
- $xeTable.saveCustomStore("update:fixed");
5347
+ tablePrivateMethods.saveCustomStore("update:fixed");
5271
5348
  if (!status) {
5272
5349
  status = true;
5273
5350
  }
5274
5351
  }
5275
5352
  });
5276
5353
  if (status) {
5277
- return $xeTable.refreshColumn();
5354
+ return tableMethods.refreshColumn();
5278
5355
  }
5279
5356
  return nextTick();
5280
5357
  },
@@ -5630,8 +5707,8 @@ const VxeTableComponent = defineVxeComponent({
5630
5707
  const checkboxOpts = computeCheckboxOpts.value;
5631
5708
  const { checkField } = checkboxOpts;
5632
5709
  const checked = checkField ? !XEUtils.get(row, checkField) : !selectCheckboxMaps[getRowid($xeTable, row)];
5633
- $xeTable.handleBatchSelectRows([row], checked, true);
5634
- $xeTable.checkSelectionStatus();
5710
+ tablePrivateMethods.handleBatchSelectRows([row], checked, true);
5711
+ tablePrivateMethods.checkSelectionStatus();
5635
5712
  return nextTick();
5636
5713
  },
5637
5714
  /**
@@ -5768,7 +5845,7 @@ const VxeTableComponent = defineVxeComponent({
5768
5845
  const $xeGanttView = internalData.xeGanttView;
5769
5846
  const rowOpts = computeRowOpts.value;
5770
5847
  const el = refElem.value;
5771
- $xeTable.clearCurrentRow();
5848
+ tableMethods.clearCurrentRow();
5772
5849
  reactData.currentRow = row;
5773
5850
  if (rowOpts.isCurrent || props.highlightCurrentRow) {
5774
5851
  if (el) {
@@ -5950,7 +6027,7 @@ const VxeTableComponent = defineVxeComponent({
5950
6027
  return nextTick();
5951
6028
  },
5952
6029
  hasPendingByRow(row) {
5953
- return $xeTable.isPendingByRow(row);
6030
+ return tableMethods.isPendingByRow(row);
5954
6031
  },
5955
6032
  isPendingByRow(row) {
5956
6033
  const { pendingRowMaps } = internalData;
@@ -5993,7 +6070,7 @@ const VxeTableComponent = defineVxeComponent({
5993
6070
  let { field, order } = confs;
5994
6071
  let column = field;
5995
6072
  if (XEUtils.isString(field)) {
5996
- column = $xeTable.getColumnByField(field);
6073
+ column = tableMethods.getColumnByField(field);
5997
6074
  }
5998
6075
  if (column && column.sortable) {
5999
6076
  if (orders && orders.indexOf(order) === -1) {
@@ -6006,11 +6083,11 @@ const VxeTableComponent = defineVxeComponent({
6006
6083
  }
6007
6084
  });
6008
6085
  if (!remote) {
6009
- $xeTable.handleTableData(true);
6086
+ tablePrivateMethods.handleTableData(true);
6010
6087
  }
6011
6088
  return nextTick().then(() => {
6012
6089
  updateRowOffsetTop();
6013
- $xeTable.updateCellAreas();
6090
+ tableMethods.updateCellAreas();
6014
6091
  return updateStyle();
6015
6092
  });
6016
6093
  }
@@ -6089,7 +6166,7 @@ const VxeTableComponent = defineVxeComponent({
6089
6166
  const column = handleFieldOrColumn($xeTable, fieldOrColumn);
6090
6167
  return column ? column.sortable && !!column.order : false;
6091
6168
  }
6092
- return $xeTable.getSortColumns().length > 0;
6169
+ return tableMethods.getSortColumns().length > 0;
6093
6170
  },
6094
6171
  getSortColumns() {
6095
6172
  const sortOpts = computeSortOpts.value;
@@ -6149,7 +6226,7 @@ const VxeTableComponent = defineVxeComponent({
6149
6226
  return $xeTable.getCheckedFilters().length > 0;
6150
6227
  },
6151
6228
  isFilter(fieldOrColumn) {
6152
- return $xeTable.isActiveFilterByColumn(fieldOrColumn);
6229
+ return tableMethods.isActiveFilterByColumn(fieldOrColumn);
6153
6230
  },
6154
6231
  clearFilterByEvent(evnt, fieldOrColumn) {
6155
6232
  const { filterStore } = reactData;
@@ -6280,7 +6357,7 @@ const VxeTableComponent = defineVxeComponent({
6280
6357
  } else {
6281
6358
  expandedRows = tableFullData;
6282
6359
  }
6283
- return $xeTable.setRowExpand(expandedRows, expanded);
6360
+ return tableMethods.setRowExpand(expandedRows, expanded);
6284
6361
  },
6285
6362
  /**
6286
6363
  * 设置展开行,二个参数设置这一行展开与否
@@ -6353,7 +6430,7 @@ const VxeTableComponent = defineVxeComponent({
6353
6430
  },
6354
6431
  isExpandByRow(row) {
6355
6432
  warnLog("vxe.error.delFunc", ["isExpandByRow", "isRowExpandByRow"]);
6356
- return $xeTable.isRowExpandByRow(row);
6433
+ return tableMethods.isRowExpandByRow(row);
6357
6434
  },
6358
6435
  /**
6359
6436
  * 手动清空展开行状态,数据会恢复成未展开的状态
@@ -6775,45 +6852,37 @@ const VxeTableComponent = defineVxeComponent({
6775
6852
  setScrollLeft(bodyScrollElem, scrollLeft);
6776
6853
  setScrollLeft(headerScrollElem, scrollLeft);
6777
6854
  setScrollLeft(footerScrollElem, scrollLeft);
6778
- if (reactData.scrollXLoad) {
6779
- loadScrollXData();
6780
- }
6855
+ loadScrollXData();
6781
6856
  }
6782
6857
  if (XEUtils.isNumber(scrollTop)) {
6783
6858
  setScrollTop(yHandleEl, scrollTop);
6784
6859
  setScrollTop(bodyScrollElem, scrollTop);
6785
6860
  setScrollTop(leftScrollElem, scrollTop);
6786
6861
  setScrollTop(rightScrollElem, scrollTop);
6787
- if (reactData.scrollYLoad) {
6788
- loadScrollYData();
6789
- }
6862
+ loadScrollYData();
6790
6863
  }
6791
- return new Promise((resolve) => {
6792
- setTimeout(() => {
6793
- nextTick(() => {
6794
- internalData.intoRunScroll = false;
6795
- resolve();
6796
- });
6797
- }, reactData.scrollXLoad || reactData.scrollYLoad ? 30 : 0);
6864
+ if (reactData.scrollXLoad || reactData.scrollYLoad) {
6865
+ return new Promise((resolve) => {
6866
+ setTimeout(() => {
6867
+ nextTick(() => {
6868
+ internalData.intoRunScroll = false;
6869
+ resolve();
6870
+ });
6871
+ }, 30);
6872
+ });
6873
+ }
6874
+ return nextTick().then(() => {
6875
+ internalData.intoRunScroll = false;
6798
6876
  });
6799
6877
  },
6800
6878
  /**
6801
6879
  * 如果有滚动条,则滚动到对应的行
6880
+ * @param {Row} row 行对象
6881
+ * @param {ColumnInfo} fieldOrColumn 列配置
6802
6882
  */
6803
- scrollToRow(rowOrRowid, fieldOrColumn, options) {
6883
+ scrollToRow(row, fieldOrColumn) {
6804
6884
  const { isAllOverflow, scrollYLoad, scrollXLoad } = reactData;
6805
- const { fullAllDataRowIdData, _sToTime } = internalData;
6806
6885
  const rest = [];
6807
- let row;
6808
- if (XEUtils.isString(rowOrRowid) || XEUtils.isNumber(rowOrRowid)) {
6809
- const rowid = rowOrRowid;
6810
- const rowRest = rowid ? fullAllDataRowIdData[rowid] : null;
6811
- if (rowRest) {
6812
- row = rowRest.row;
6813
- }
6814
- } else {
6815
- row = rowOrRowid;
6816
- }
6817
6886
  if (row) {
6818
6887
  if (props.treeConfig) {
6819
6888
  rest.push($xeTable.scrollToTreeRow(row));
@@ -6822,29 +6891,13 @@ const VxeTableComponent = defineVxeComponent({
6822
6891
  }
6823
6892
  }
6824
6893
  if (fieldOrColumn) {
6825
- rest.push(handleScrollToRowColumn(fieldOrColumn, row, options));
6826
- }
6827
- if (_sToTime) {
6828
- clearTimeout(_sToTime);
6894
+ rest.push(handleScrollToRowColumn(fieldOrColumn, row));
6829
6895
  }
6830
6896
  return Promise.all(rest).then(() => {
6831
6897
  if (row) {
6832
6898
  if (!isAllOverflow && (scrollYLoad || scrollXLoad)) {
6833
6899
  calcCellHeight();
6834
6900
  calcCellWidth();
6835
- internalData._sToTime = setTimeout(() => {
6836
- internalData._sToTime = void 0;
6837
- if (scrollYLoad) {
6838
- if (props.treeConfig) {
6839
- $xeTable.scrollToTreeRow(row);
6840
- } else {
6841
- rowToVisible($xeTable, row);
6842
- }
6843
- }
6844
- if (scrollXLoad && fieldOrColumn) {
6845
- handleScrollToRowColumn(fieldOrColumn, row, options);
6846
- }
6847
- }, 350);
6848
6901
  }
6849
6902
  return nextTick();
6850
6903
  }
@@ -6853,36 +6906,41 @@ const VxeTableComponent = defineVxeComponent({
6853
6906
  /**
6854
6907
  * 如果有滚动条,则滚动到第一行
6855
6908
  */
6856
- scrollToStartRow(fieldOrColumn, options) {
6909
+ scrollToStartRow(fieldOrColumn) {
6857
6910
  const { afterFullData } = internalData;
6858
- return $xeTable.scrollToRow(afterFullData[0], fieldOrColumn, options);
6911
+ return $xeTable.scrollToRow(afterFullData[0], fieldOrColumn);
6859
6912
  },
6860
6913
  /**
6861
6914
  * 如果有滚动条,则滚动到最后一行
6862
6915
  */
6863
- scrollToEndRow(fieldOrColumn, options) {
6916
+ scrollToEndRow(fieldOrColumn) {
6864
6917
  const { afterFullData } = internalData;
6865
- return $xeTable.scrollToRow(afterFullData[afterFullData.length - 1], fieldOrColumn, options);
6918
+ return $xeTable.scrollToRow(afterFullData[afterFullData.length - 1], fieldOrColumn);
6866
6919
  },
6867
6920
  /**
6868
6921
  * 如果有滚动条,则滚动到对应的列
6869
6922
  */
6870
- scrollToColumn(fieldOrColumn, options) {
6871
- return handleScrollToRowColumn(fieldOrColumn, null, options);
6923
+ scrollToColumn(fieldOrColumn) {
6924
+ const { fullColumnIdData } = internalData;
6925
+ const column = handleFieldOrColumn($xeTable, fieldOrColumn);
6926
+ if (column && fullColumnIdData[column.id]) {
6927
+ return colToVisible($xeTable, column);
6928
+ }
6929
+ return nextTick();
6872
6930
  },
6873
6931
  /**
6874
6932
  * 如果有滚动条,则滚动到第一列
6875
6933
  */
6876
- scrollToStartColumn(options) {
6934
+ scrollToStartColumn() {
6877
6935
  const { visibleColumn } = internalData;
6878
- return $xeTable.scrollToColumn(visibleColumn[0], options);
6936
+ return $xeTable.scrollToColumn(visibleColumn[0]);
6879
6937
  },
6880
6938
  /**
6881
6939
  * 如果有滚动条,则滚动到最后一列
6882
6940
  */
6883
- scrollToEndColumn(options) {
6941
+ scrollToEndColumn() {
6884
6942
  const { visibleColumn } = internalData;
6885
- return $xeTable.scrollToColumn(visibleColumn[visibleColumn.length - 1], options);
6943
+ return $xeTable.scrollToColumn(visibleColumn[visibleColumn.length - 1]);
6886
6944
  },
6887
6945
  /**
6888
6946
  * 手动清除滚动相关信息,还原到初始状态
@@ -6947,8 +7005,7 @@ const VxeTableComponent = defineVxeComponent({
6947
7005
  updateStatus(slotParams, cellValue) {
6948
7006
  return nextTick().then(() => {
6949
7007
  const { editRules } = props;
6950
- const { isActivated } = internalData;
6951
- if (isActivated && slotParams && editRules) {
7008
+ if (slotParams && editRules) {
6952
7009
  return $xeTable.handleCellRuleUpdateStatus("change", slotParams, cellValue);
6953
7010
  }
6954
7011
  });
@@ -7000,8 +7057,6 @@ const VxeTableComponent = defineVxeComponent({
7000
7057
  internalData.mergeBodyList = [];
7001
7058
  internalData.mergeBodyMaps = {};
7002
7059
  internalData.mergeBodyCellMaps = {};
7003
- internalData.mergeBodyRowMaps = {};
7004
- internalData.mergeBodyColMaps = {};
7005
7060
  reactData.mergeBodyFlag++;
7006
7061
  return nextTick().then(() => {
7007
7062
  return updateStyle();
@@ -7038,8 +7093,6 @@ const VxeTableComponent = defineVxeComponent({
7038
7093
  internalData.mergeHeaderList = [];
7039
7094
  internalData.mergeHeaderMaps = {};
7040
7095
  internalData.mergeHeaderCellMaps = {};
7041
- internalData.mergeHeaderRowMaps = {};
7042
- internalData.mergeBodyColMaps = {};
7043
7096
  reactData.mergeHeadFlag++;
7044
7097
  return nextTick().then(() => {
7045
7098
  return updateStyle();
@@ -7088,8 +7141,6 @@ const VxeTableComponent = defineVxeComponent({
7088
7141
  internalData.mergeFooterList = [];
7089
7142
  internalData.mergeFooterMaps = {};
7090
7143
  internalData.mergeFooterCellMaps = {};
7091
- internalData.mergeFooterRowMaps = {};
7092
- internalData.mergeFooterColMaps = {};
7093
7144
  reactData.mergeFootFlag++;
7094
7145
  return nextTick().then(() => {
7095
7146
  return updateStyle();
@@ -7268,7 +7319,7 @@ const VxeTableComponent = defineVxeComponent({
7268
7319
  else if (getEventTargetNode(evnt, tableFilter.getRefMaps().refElem.value).flag) ;
7269
7320
  else {
7270
7321
  if (!getEventTargetNode(evnt, document.body, "vxe-table--ignore-clear").flag) {
7271
- $xeTable.preventEvent(evnt, "event.clearFilter", internalData._currFilterParams, $xeTable.closeFilter);
7322
+ tablePrivateMethods.preventEvent(evnt, "event.clearFilter", internalData._currFilterParams, tableMethods.closeFilter);
7272
7323
  }
7273
7324
  }
7274
7325
  }
@@ -7278,7 +7329,7 @@ const VxeTableComponent = defineVxeComponent({
7278
7329
  else {
7279
7330
  if (!getEventTargetNode(evnt, document.body, "vxe-table--ignore-clear").flag) {
7280
7331
  if (customStore.visible && $xeTable.closeCustom) {
7281
- $xeTable.preventEvent(evnt, "event.clearCustom", {}, () => {
7332
+ tablePrivateMethods.preventEvent(evnt, "event.clearCustom", {}, () => {
7282
7333
  $xeTable.closeCustom();
7283
7334
  $xeTable.dispatchEvent("custom", { type: "close" }, evnt);
7284
7335
  });
@@ -7293,11 +7344,11 @@ const VxeTableComponent = defineVxeComponent({
7293
7344
  if ($validTooltip && getEventTargetNode(evnt, $validTooltip.$el).flag) ;
7294
7345
  else if (!internalData._lastCallTime || internalData._lastCallTime + 50 < Date.now()) {
7295
7346
  if (!getEventTargetNode(evnt, document.body, "vxe-table--ignore-clear").flag) {
7296
- $xeTable.preventEvent(evnt, "event.clearEdit", actived.args, () => {
7347
+ tablePrivateMethods.preventEvent(evnt, "event.clearEdit", actived.args, () => {
7297
7348
  let isClear;
7298
7349
  if (editOpts.mode === "row") {
7299
7350
  const rowTargetNode = getEventTargetNode(evnt, el, "vxe-body--row");
7300
- const rowNodeRest = rowTargetNode.flag ? $xeTable.getRowNode(rowTargetNode.targetElem) : null;
7351
+ const rowNodeRest = rowTargetNode.flag ? tableMethods.getRowNode(rowTargetNode.targetElem) : null;
7301
7352
  isClear = rowNodeRest ? !$xeTable.eqRow(rowNodeRest.item, actived.args.row) : false;
7302
7353
  } else {
7303
7354
  isClear = !getEventTargetNode(evnt, el, "col--edit").flag;
@@ -7338,7 +7389,7 @@ const VxeTableComponent = defineVxeComponent({
7338
7389
  if ($xeTable.getCellAreas) {
7339
7390
  const cellAreas = $xeTable.getCellAreas();
7340
7391
  if (cellAreas && cellAreas.length && !getEventTargetNode(evnt, document.body, "vxe-table--ignore-areas-clear").flag) {
7341
- $xeTable.preventEvent(evnt, "event.clearAreas", {}, () => {
7392
+ tablePrivateMethods.preventEvent(evnt, "event.clearAreas", {}, () => {
7342
7393
  $xeTable.clearCellAreas();
7343
7394
  $xeTable.clearCopyCellArea();
7344
7395
  dispatchEvent("clear-cell-area-selection", { cellAreas }, evnt);
@@ -7353,22 +7404,20 @@ const VxeTableComponent = defineVxeComponent({
7353
7404
  $xeTable.closeMenu();
7354
7405
  }
7355
7406
  }
7356
- if (!(actived.row && getEventTargetNode(evnt, document.body, "vxe-table--ignore-clear").flag)) {
7357
- const isActivated = getEventTargetNode(evnt, $xeGGWrapper ? $xeGGWrapper.getRefMaps().refElem.value : el).flag;
7358
- if (!isActivated && editRules && validOpts.autoClear) {
7359
- reactData.validErrorMaps = {};
7360
- }
7361
- internalData.isActivated = isActivated;
7407
+ const isActivated = getEventTargetNode(evnt, $xeGGWrapper ? $xeGGWrapper.getRefMaps().refElem.value : el).flag;
7408
+ if (!isActivated && editRules && validOpts.autoClear) {
7409
+ reactData.validErrorMaps = {};
7362
7410
  }
7411
+ internalData.isActivated = isActivated;
7363
7412
  };
7364
7413
  const handleGlobalBlurEvent = () => {
7365
- $xeTable.closeFilter();
7414
+ tableMethods.closeFilter();
7366
7415
  if ($xeTable.closeMenu) {
7367
7416
  $xeTable.closeMenu();
7368
7417
  }
7369
7418
  };
7370
7419
  const handleGlobalMousewheelEvent = () => {
7371
- $xeTable.closeTooltip();
7420
+ tableMethods.closeTooltip();
7372
7421
  if ($xeTable.closeMenu) {
7373
7422
  $xeTable.closeMenu();
7374
7423
  }
@@ -7381,7 +7430,7 @@ const VxeTableComponent = defineVxeComponent({
7381
7430
  const { actived } = editStore;
7382
7431
  const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
7383
7432
  if (isEsc) {
7384
- $xeTable.preventEvent(evnt, "event.keydown", null, () => {
7433
+ tablePrivateMethods.preventEvent(evnt, "event.keydown", null, () => {
7385
7434
  dispatchEvent("keydown-start", {}, evnt);
7386
7435
  if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKeyboardCellAreaEvent) {
7387
7436
  $xeTable.handleKeyboardCellAreaEvent(evnt);
@@ -7390,7 +7439,7 @@ const VxeTableComponent = defineVxeComponent({
7390
7439
  if ($xeTable.closeMenu) {
7391
7440
  $xeTable.closeMenu();
7392
7441
  }
7393
- $xeTable.closeFilter();
7442
+ tableMethods.closeFilter();
7394
7443
  if (keyboardConfig && keyboardOpts.isEsc) {
7395
7444
  if (actived.row) {
7396
7445
  const params = actived.args;
@@ -7414,7 +7463,7 @@ const VxeTableComponent = defineVxeComponent({
7414
7463
  $xeTable.preventEvent(evnt, "event.keydown", null, () => {
7415
7464
  const { mouseConfig, keyboardConfig, treeConfig, editConfig, highlightCurrentRow, highlightCurrentColumn } = props;
7416
7465
  const { ctxMenuStore, editStore, currentRow } = reactData;
7417
- const { afterFullData, visibleColumn } = internalData;
7466
+ const { afterFullData } = internalData;
7418
7467
  const isContentMenu = computeIsContentMenu.value;
7419
7468
  const bodyMenu = computeBodyMenu.value;
7420
7469
  const keyboardOpts = computeKeyboardOpts.value;
@@ -7424,7 +7473,6 @@ const VxeTableComponent = defineVxeComponent({
7424
7473
  const menuList = computeMenuList.value;
7425
7474
  const rowOpts = computeRowOpts.value;
7426
7475
  const columnOpts = computeColumnOpts.value;
7427
- const { isLastEnterAppendRow, beforeEnterMethod, enterMethod, isLastTabAppendRow, beforeTabMethod, tabMethod } = keyboardOpts;
7428
7476
  const { selected, actived } = editStore;
7429
7477
  const childrenField = treeOpts.children || treeOpts.childrenField;
7430
7478
  const keyCode = evnt.keyCode;
@@ -7473,9 +7521,9 @@ const VxeTableComponent = defineVxeComponent({
7473
7521
  } else if (isSpacebar && keyboardConfig && keyboardOpts.isChecked && selected.row && selected.column && (selected.column.type === "checkbox" || selected.column.type === "radio")) {
7474
7522
  evnt.preventDefault();
7475
7523
  if (selected.column.type === "checkbox") {
7476
- $xeTable.handleToggleCheckRowEvent(evnt, selected.args);
7524
+ tablePrivateMethods.handleToggleCheckRowEvent(evnt, selected.args);
7477
7525
  } else {
7478
- $xeTable.triggerRadioRowEvent(evnt, selected.args);
7526
+ tablePrivateMethods.triggerRadioRowEvent(evnt, selected.args);
7479
7527
  }
7480
7528
  } else if (isF2 && isEnableConf(editConfig)) {
7481
7529
  if (!isEditStatus) {
@@ -7491,6 +7539,7 @@ const VxeTableComponent = defineVxeComponent({
7491
7539
  internalData._keyCtx = false;
7492
7540
  }, 1e3);
7493
7541
  } else if (isEnter && !isAltKey && keyboardConfig && keyboardOpts.isEnter && (selected.row || actived.row || treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow)) {
7542
+ const { isLastEnterAppendRow, beforeEnterMethod, enterMethod } = keyboardOpts;
7494
7543
  if (isControlKey) {
7495
7544
  if (actived.row) {
7496
7545
  const params = actived.args;
@@ -7503,8 +7552,6 @@ const VxeTableComponent = defineVxeComponent({
7503
7552
  }
7504
7553
  } else {
7505
7554
  if (selected.row || actived.row) {
7506
- const activeRow = selected.row || actived.row;
7507
- const activeColumn = selected.column || actived.column;
7508
7555
  const activeParams = selected.row ? selected.args : actived.args;
7509
7556
  if (hasShiftKey) {
7510
7557
  if (keyboardOpts.enterToTab) {
@@ -7513,43 +7560,12 @@ const VxeTableComponent = defineVxeComponent({
7513
7560
  $xeTable.moveEnterSelected(activeParams, isLeftArrow, true, isRightArrow, false, evnt);
7514
7561
  }
7515
7562
  } else {
7516
- const _rowIndex = $xeTable.getVTRowIndex(activeRow);
7517
- const _columnIndex = $xeTable.getVTColumnIndex(activeColumn);
7518
7563
  if (keyboardOpts.enterToTab) {
7519
- const ttrParams = {
7520
- row: activeRow,
7521
- rowIndex: $xeTable.getRowIndex(activeRow),
7522
- $rowIndex: $xeTable.getVMRowIndex(activeRow),
7523
- _rowIndex,
7524
- column: activeColumn,
7525
- columnIndex: $xeTable.getColumnIndex(activeColumn),
7526
- $columnIndex: $xeTable.getVMColumnIndex(activeColumn),
7527
- _columnIndex,
7528
- $table: $xeTable
7529
- };
7530
- if (!beforeTabMethod || beforeTabMethod(ttrParams) !== false) {
7531
- evnt.preventDefault();
7532
- if (isLastTabAppendRow) {
7533
- const newColumn = visibleColumn[0];
7534
- if (_rowIndex >= afterFullData.length - 1 && _columnIndex >= visibleColumn.length - 1) {
7535
- if (actived.row) {
7536
- $xeTable.handleClearEdit(evnt);
7537
- }
7538
- $xeTable.insertAt({}, -1).then(({ row: newRow }) => {
7539
- $xeTable.scrollToRow(newRow, newColumn);
7540
- $xeTable.handleSelected(Object.assign(Object.assign({}, activeParams), { row: newRow, column: newColumn }), evnt);
7541
- });
7542
- $xeTable.dispatchEvent("tab-append-row", ttrParams, evnt);
7543
- return;
7544
- }
7545
- }
7546
- if (tabMethod) {
7547
- tabMethod(ttrParams);
7548
- } else {
7549
- $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
7550
- }
7551
- }
7564
+ $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
7552
7565
  } else {
7566
+ const activeRow = selected.row || actived.row;
7567
+ const activeColumn = selected.column || actived.column;
7568
+ const _rowIndex = $xeTable.getVTRowIndex(activeRow);
7553
7569
  const etrParams = {
7554
7570
  row: activeRow,
7555
7571
  rowIndex: $xeTable.getRowIndex(activeRow),
@@ -7558,11 +7574,10 @@ const VxeTableComponent = defineVxeComponent({
7558
7574
  column: activeColumn,
7559
7575
  columnIndex: $xeTable.getColumnIndex(activeColumn),
7560
7576
  $columnIndex: $xeTable.getVMColumnIndex(activeColumn),
7561
- _columnIndex,
7577
+ _columnIndex: $xeTable.getVTColumnIndex(activeColumn),
7562
7578
  $table: $xeTable
7563
7579
  };
7564
7580
  if (!beforeEnterMethod || beforeEnterMethod(etrParams) !== false) {
7565
- evnt.preventDefault();
7566
7581
  if (isLastEnterAppendRow) {
7567
7582
  if (_rowIndex >= afterFullData.length - 1) {
7568
7583
  $xeTable.insertAt({}, -1).then(({ row: newRow }) => {
@@ -7573,13 +7588,9 @@ const VxeTableComponent = defineVxeComponent({
7573
7588
  return;
7574
7589
  }
7575
7590
  }
7591
+ $xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
7576
7592
  if (enterMethod) {
7577
7593
  enterMethod(etrParams);
7578
- } else {
7579
- if (actived.row) {
7580
- $xeTable.handleClearEdit(evnt);
7581
- }
7582
- $xeTable.moveEnterSelected(activeParams, isLeftArrow, false, isRightArrow, true, evnt);
7583
7594
  }
7584
7595
  }
7585
7596
  }
@@ -7613,57 +7624,19 @@ const VxeTableComponent = defineVxeComponent({
7613
7624
  }
7614
7625
  }
7615
7626
  } else if (isTab && keyboardConfig && keyboardOpts.isTab) {
7616
- if (selected.row || actived.row) {
7617
- const activeRow = selected.row || actived.row;
7618
- const activeColumn = selected.column || actived.column;
7619
- const activeParams = selected.row ? selected.args : actived.args;
7620
- const _rowIndex = $xeTable.getVTRowIndex(activeRow);
7621
- const _columnIndex = $xeTable.getVTColumnIndex(activeColumn);
7622
- const ttrParams = {
7623
- row: activeRow,
7624
- rowIndex: $xeTable.getRowIndex(activeRow),
7625
- $rowIndex: $xeTable.getVMRowIndex(activeRow),
7626
- _rowIndex,
7627
- column: activeColumn,
7628
- columnIndex: $xeTable.getColumnIndex(activeColumn),
7629
- $columnIndex: $xeTable.getVMColumnIndex(activeColumn),
7630
- _columnIndex,
7631
- $table: $xeTable
7632
- };
7633
- if (!beforeTabMethod || beforeTabMethod(ttrParams) !== false) {
7634
- evnt.preventDefault();
7635
- if (isLastTabAppendRow) {
7636
- const newColumn = visibleColumn[0];
7637
- if (_rowIndex >= afterFullData.length - 1 && _columnIndex >= visibleColumn.length - 1) {
7638
- if (actived.row) {
7639
- $xeTable.handleClearEdit(evnt);
7640
- }
7641
- $xeTable.insertAt({}, -1).then(({ row: newRow }) => {
7642
- $xeTable.scrollToRow(newRow, newColumn);
7643
- $xeTable.handleSelected(Object.assign(Object.assign({}, activeParams), { row: newRow, column: newColumn }), evnt);
7644
- });
7645
- $xeTable.dispatchEvent("tab-append-row", ttrParams, evnt);
7646
- return;
7647
- }
7648
- }
7649
- if (tabMethod) {
7650
- tabMethod(ttrParams);
7651
- } else {
7652
- if (actived.row) {
7653
- $xeTable.handleClearEdit(evnt);
7654
- }
7655
- $xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
7656
- }
7657
- }
7627
+ if (selected.row || selected.column) {
7628
+ $xeTable.moveTabSelected(selected.args, hasShiftKey, evnt);
7629
+ } else if (actived.row || actived.column) {
7630
+ $xeTable.moveTabSelected(actived.args, hasShiftKey, evnt);
7658
7631
  }
7659
7632
  } else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selected.row || selected.column)) {
7660
7633
  if (!isEditStatus) {
7661
7634
  const { delMethod } = keyboardOpts;
7662
7635
  const params = {
7663
7636
  row: selected.row,
7664
- rowIndex: $xeTable.getRowIndex(selected.row),
7637
+ rowIndex: tableMethods.getRowIndex(selected.row),
7665
7638
  column: selected.column,
7666
- columnIndex: $xeTable.getColumnIndex(selected.column),
7639
+ columnIndex: tableMethods.getColumnIndex(selected.column),
7667
7640
  $table: $xeTable,
7668
7641
  $grid: $xeGrid,
7669
7642
  $gantt: $xeGantt
@@ -7674,7 +7647,7 @@ const VxeTableComponent = defineVxeComponent({
7674
7647
  } else {
7675
7648
  setCellValue(selected.row, selected.column, null);
7676
7649
  }
7677
- $xeTable.updateFooter();
7650
+ tableMethods.updateFooter();
7678
7651
  dispatchEvent("cell-delete-value", params, evnt);
7679
7652
  }
7680
7653
  }
@@ -7754,8 +7727,8 @@ const VxeTableComponent = defineVxeComponent({
7754
7727
  const { actived } = editStore;
7755
7728
  if (isActivated && !filterStore.visible) {
7756
7729
  if (!(actived.row || actived.column)) {
7757
- if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && $xeTable.handlePeClAreaEvent) {
7758
- $xeTable.handlePeClAreaEvent(evnt);
7730
+ if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && $xeTable.handlePasteCellAreaEvent) {
7731
+ $xeTable.handlePasteCellAreaEvent(evnt);
7759
7732
  }
7760
7733
  }
7761
7734
  dispatchEvent("paste", {}, evnt);
@@ -7770,8 +7743,8 @@ const VxeTableComponent = defineVxeComponent({
7770
7743
  const { actived } = editStore;
7771
7744
  if (isActivated && !filterStore.visible) {
7772
7745
  if (!(actived.row || actived.column)) {
7773
- if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && $xeTable.handleCyClAreaEvent) {
7774
- $xeTable.handleCyClAreaEvent(evnt);
7746
+ if (keyboardConfig && keyboardOpts.isClip && mouseConfig && mouseOpts.area && $xeTable.handleCopyCellAreaEvent) {
7747
+ $xeTable.handleCopyCellAreaEvent(evnt);
7775
7748
  }
7776
7749
  }
7777
7750
  dispatchEvent("copy", {}, evnt);
@@ -7808,7 +7781,7 @@ const VxeTableComponent = defineVxeComponent({
7808
7781
  const $tooltip = refTooltip.value;
7809
7782
  clearTimeout(internalData.tooltipTimeout);
7810
7783
  if (isClear) {
7811
- $xeTable.closeTooltip();
7784
+ tableMethods.closeTooltip();
7812
7785
  } else {
7813
7786
  if ($tooltip && $tooltip.setActived) {
7814
7787
  $tooltip.setActived(true);
@@ -8146,7 +8119,6 @@ const VxeTableComponent = defineVxeComponent({
8146
8119
  const expandOpts = computeExpandOpts.value;
8147
8120
  const treeOpts = computeTreeOpts.value;
8148
8121
  const radioOpts = computeRadioOpts.value;
8149
- const rowOpts = computeRowOpts.value;
8150
8122
  const checkboxOpts = computeCheckboxOpts.value;
8151
8123
  const childrenField = treeOpts.children || treeOpts.childrenField;
8152
8124
  const rowkey = getRowkey($xeTable);
@@ -8179,7 +8151,7 @@ const VxeTableComponent = defineVxeComponent({
8179
8151
  record[childrenField] = null;
8180
8152
  }
8181
8153
  if (eqEmptyValue(XEUtils.get(record, rowkey))) {
8182
- XEUtils.set(record, rowkey, createRowId(rowOpts, record, rowkey));
8154
+ XEUtils.set(record, rowkey, getRowUniqueId());
8183
8155
  }
8184
8156
  return record;
8185
8157
  });
@@ -8192,12 +8164,6 @@ const VxeTableComponent = defineVxeComponent({
8192
8164
  if (force) {
8193
8165
  updateAfterFullData();
8194
8166
  fullList = handleVirtualTreeToList();
8195
- internalData.mergeHeaderRowMaps = {};
8196
- internalData.mergeHeaderColMaps = {};
8197
- internalData.mergeBodyRowMaps = {};
8198
- internalData.mergeBodyColMaps = {};
8199
- internalData.mergeFooterRowMaps = {};
8200
- internalData.mergeFooterColMaps = {};
8201
8167
  }
8202
8168
  const tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
8203
8169
  const visibleDataRowIdMaps = {};
@@ -8713,7 +8679,7 @@ const VxeTableComponent = defineVxeComponent({
8713
8679
  fixedData: {},
8714
8680
  aggGroupData: {},
8715
8681
  aggFuncData: {}
8716
- } : $xeTable.getCustomStoreData();
8682
+ } : tableMethods.getCustomStoreData();
8717
8683
  if (updateStore) {
8718
8684
  return updateStore({
8719
8685
  $table: $xeTable,
@@ -8738,8 +8704,8 @@ const VxeTableComponent = defineVxeComponent({
8738
8704
  $xeTable.clearCopyCellArea();
8739
8705
  }
8740
8706
  }
8741
- $xeTable.analyColumnWidth();
8742
- return $xeTable.refreshColumn(true);
8707
+ tablePrivateMethods.analyColumnWidth();
8708
+ return tableMethods.refreshColumn(true);
8743
8709
  },
8744
8710
  handleUpdateDataQueue() {
8745
8711
  reactData.upDataFlag++;
@@ -9088,31 +9054,22 @@ const VxeTableComponent = defineVxeComponent({
9088
9054
  handleSelectRow({ row }, checked, isForce) {
9089
9055
  $xeTable.handleBatchSelectRows([row], checked, isForce);
9090
9056
  },
9091
- handleUpdateHeaderMerge() {
9092
- const { mergeHeaderList } = internalData;
9093
- const { mergeMaps, mergeRowMaps, mergeColMaps } = buildMergeData(mergeHeaderList);
9094
- internalData.mergeHeaderCellMaps = mergeMaps;
9095
- internalData.mergeHeaderRowMaps = mergeRowMaps;
9096
- internalData.mergeHeaderColMaps = mergeColMaps;
9097
- reactData.mergeHeadFlag++;
9098
- },
9099
9057
  /**
9100
9058
  * 处理合并
9101
9059
  */
9102
9060
  handleUpdateBodyMerge() {
9103
9061
  const { mergeBodyList } = internalData;
9104
- const { mergeMaps, mergeRowMaps, mergeColMaps } = buildMergeData(mergeBodyList);
9105
- internalData.mergeBodyCellMaps = mergeMaps;
9106
- internalData.mergeBodyRowMaps = mergeRowMaps;
9107
- internalData.mergeBodyColMaps = mergeColMaps;
9062
+ internalData.mergeBodyCellMaps = buildMergeData(mergeBodyList);
9108
9063
  reactData.mergeBodyFlag++;
9109
9064
  },
9065
+ handleUpdateHeaderMerge() {
9066
+ const { mergeHeaderList } = internalData;
9067
+ internalData.mergeHeaderCellMaps = buildMergeData(mergeHeaderList);
9068
+ reactData.mergeHeadFlag++;
9069
+ },
9110
9070
  handleUpdateFooterMerge() {
9111
9071
  const { mergeFooterList } = internalData;
9112
- const { mergeMaps, mergeRowMaps, mergeColMaps } = buildMergeData(mergeFooterList);
9113
- internalData.mergeFooterCellMaps = mergeMaps;
9114
- internalData.mergeFooterRowMaps = mergeRowMaps;
9115
- internalData.mergeFooterColMaps = mergeColMaps;
9072
+ internalData.mergeFooterCellMaps = buildMergeData(mergeFooterList);
9116
9073
  reactData.mergeFootFlag++;
9117
9074
  },
9118
9075
  handleAggregateSummaryData() {
@@ -9252,10 +9209,6 @@ const VxeTableComponent = defineVxeComponent({
9252
9209
  if (sortOpts.trigger === "cell" && !(triggerResizable || triggerSort || triggerFilter)) {
9253
9210
  $xeTable.triggerSortEvent(evnt, column, getNextSortOrder(column));
9254
9211
  }
9255
- if ($xeGantt) {
9256
- const ganttReactData = $xeGantt.reactData;
9257
- ganttReactData.activeBarRowid = null;
9258
- }
9259
9212
  dispatchEvent("header-cell-click", Object.assign({ triggerResizable, triggerSort, triggerFilter, cell }, params), evnt);
9260
9213
  if ((columnOpts.isCurrent || props.highlightCurrentColumn) && (!currentColumnOpts.trigger || ["header", "default"].includes(currentColumnOpts.trigger))) {
9261
9214
  $xeTable.triggerCurrentColumnEvent(evnt, params);
@@ -9361,10 +9314,6 @@ const VxeTableComponent = defineVxeComponent({
9361
9314
  }
9362
9315
  }
9363
9316
  }
9364
- if ($xeGantt) {
9365
- const ganttReactData = $xeGantt.reactData;
9366
- ganttReactData.activeBarRowid = null;
9367
- }
9368
9317
  dispatchEvent("cell-click", params, evnt);
9369
9318
  },
9370
9319
  /**
@@ -9394,20 +9343,6 @@ const VxeTableComponent = defineVxeComponent({
9394
9343
  }
9395
9344
  dispatchEvent("cell-dblclick", params, evnt);
9396
9345
  },
9397
- triggerFooterCellClickEvent(evnt, params) {
9398
- const cell = evnt.currentTarget;
9399
- params = Object.assign({ cell }, params);
9400
- if ($xeGantt) {
9401
- const ganttReactData = $xeGantt.reactData;
9402
- ganttReactData.activeBarRowid = null;
9403
- }
9404
- $xeTable.dispatchEvent("footer-cell-click", params, evnt);
9405
- },
9406
- triggerFooterCellDblclickEvent(evnt, params) {
9407
- const cell = evnt.currentTarget;
9408
- params = Object.assign({ cell }, params);
9409
- $xeTable.dispatchEvent("footer-cell-dblclick", params, evnt);
9410
- },
9411
9346
  handleToggleCheckRowEvent(evnt, params) {
9412
9347
  const { selectCheckboxMaps } = internalData;
9413
9348
  const checkboxOpts = computeCheckboxOpts.value;
@@ -9489,7 +9424,7 @@ const VxeTableComponent = defineVxeComponent({
9489
9424
  const { selectRadioRow: oldValue } = reactData;
9490
9425
  const { row } = params;
9491
9426
  const radioOpts = computeRadioOpts.value;
9492
- const { trigger, strict, checkMethod } = radioOpts;
9427
+ const { trigger, checkMethod } = radioOpts;
9493
9428
  if (trigger === "manual") {
9494
9429
  return;
9495
9430
  }
@@ -9497,22 +9432,17 @@ const VxeTableComponent = defineVxeComponent({
9497
9432
  if (!checkMethod || checkMethod({ $table: $xeTable, row })) {
9498
9433
  let newValue = row;
9499
9434
  let isChange = oldValue !== newValue;
9500
- if (strict) {
9435
+ if (isChange) {
9501
9436
  handleCheckedRadioRow(newValue);
9502
- } else {
9503
- if (oldValue === newValue) {
9504
- newValue = null;
9505
- }
9506
- isChange = oldValue !== newValue;
9507
- if (isChange && newValue) {
9508
- handleCheckedRadioRow(newValue);
9509
- } else {
9437
+ } else if (!radioOpts.strict) {
9438
+ isChange = oldValue === newValue;
9439
+ if (isChange) {
9510
9440
  newValue = null;
9511
9441
  $xeTable.clearRadioRow();
9512
9442
  }
9513
9443
  }
9514
9444
  if (isChange) {
9515
- dispatchEvent("radio-change", Object.assign({ oldValue, newValue, selected: !!newValue }, params), evnt);
9445
+ dispatchEvent("radio-change", Object.assign({ oldValue, newValue }, params), evnt);
9516
9446
  }
9517
9447
  }
9518
9448
  },
@@ -9521,29 +9451,16 @@ const VxeTableComponent = defineVxeComponent({
9521
9451
  const columnOpts = computeColumnOpts.value;
9522
9452
  const currentColumnOpts = computeCurrentColumnOpts.value;
9523
9453
  const beforeRowMethod = currentColumnOpts.beforeSelectMethod || columnOpts.currentMethod;
9524
- let newValue = params.column;
9525
- const { trigger, strict } = currentColumnOpts;
9454
+ const { column: newValue } = params;
9455
+ const { trigger } = currentColumnOpts;
9526
9456
  if (trigger === "manual") {
9527
9457
  return;
9528
9458
  }
9529
- let isChange = oldValue !== newValue;
9459
+ const isChange = oldValue !== newValue;
9530
9460
  if (!beforeRowMethod || beforeRowMethod({ column: newValue, $table: $xeTable })) {
9531
- if (strict) {
9532
- $xeTable.setCurrentColumn(newValue);
9533
- } else {
9534
- if (oldValue === newValue) {
9535
- newValue = null;
9536
- }
9537
- isChange = oldValue !== newValue;
9538
- if (isChange && newValue) {
9539
- $xeTable.setCurrentColumn(newValue);
9540
- } else {
9541
- newValue = null;
9542
- $xeTable.clearCurrentColumn();
9543
- }
9544
- }
9461
+ $xeTable.setCurrentColumn(newValue);
9545
9462
  if (isChange) {
9546
- dispatchEvent("current-column-change", Object.assign({ oldValue, newValue, selected: !!newValue }, params), evnt);
9463
+ dispatchEvent("current-column-change", Object.assign({ oldValue, newValue }, params), evnt);
9547
9464
  }
9548
9465
  } else {
9549
9466
  dispatchEvent("current-column-disabled", params, evnt);
@@ -9554,29 +9471,16 @@ const VxeTableComponent = defineVxeComponent({
9554
9471
  const rowOpts = computeRowOpts.value;
9555
9472
  const currentRowOpts = computeCurrentRowOpts.value;
9556
9473
  const beforeRowMethod = currentRowOpts.beforeSelectMethod || rowOpts.currentMethod;
9557
- let { row: newValue } = params;
9558
- const { trigger, strict } = currentRowOpts;
9474
+ const { row: newValue } = params;
9475
+ const { trigger } = currentRowOpts;
9559
9476
  if (trigger === "manual") {
9560
9477
  return;
9561
9478
  }
9562
- let isChange = oldValue !== newValue;
9479
+ const isChange = oldValue !== newValue;
9563
9480
  if (!beforeRowMethod || beforeRowMethod({ row: newValue, $table: $xeTable })) {
9564
- if (strict) {
9565
- $xeTable.setCurrentRow(newValue);
9566
- } else {
9567
- if (oldValue === newValue) {
9568
- newValue = null;
9569
- }
9570
- isChange = oldValue !== newValue;
9571
- if (isChange && newValue) {
9572
- $xeTable.setCurrentRow(newValue);
9573
- } else {
9574
- newValue = null;
9575
- $xeTable.clearCurrentRow();
9576
- }
9577
- }
9481
+ $xeTable.setCurrentRow(newValue);
9578
9482
  if (isChange) {
9579
- dispatchEvent("current-row-change", Object.assign({ oldValue, newValue, selected: !!newValue }, params), evnt);
9483
+ dispatchEvent("current-row-change", Object.assign({ oldValue, newValue }, params), evnt);
9580
9484
  dispatchEvent("current-change", Object.assign({ oldValue, newValue }, params), evnt);
9581
9485
  }
9582
9486
  } else {
@@ -9668,7 +9572,7 @@ const VxeTableComponent = defineVxeComponent({
9668
9572
  const mouseOpts = computeMouseOpts.value;
9669
9573
  const { field, sortable, order } = column;
9670
9574
  if (sortable) {
9671
- const params = { $table: $xeTable, $event: evnt, column, field, property: field, order, sortList: $xeTable.getSortColumns(), sortTime: column.sortTime };
9575
+ const params = { $table: $xeTable, $event: evnt, column, field, property: field, order, sortList: tableMethods.getSortColumns(), sortTime: column.sortTime };
9672
9576
  if (mouseConfig && mouseOpts.area && $xeTable.handleSortEvent) {
9673
9577
  $xeTable.handleSortEvent(evnt, params);
9674
9578
  }
@@ -9919,7 +9823,6 @@ const VxeTableComponent = defineVxeComponent({
9919
9823
  if (transform) {
9920
9824
  if (oldRest && newRest) {
9921
9825
  const fullList = XEUtils.toTreeArray(internalData.afterTreeFullData, {
9922
- updated: false,
9923
9826
  key: rowField,
9924
9827
  parentKey: parentField,
9925
9828
  children: mapChildrenField
@@ -10852,7 +10755,7 @@ const VxeTableComponent = defineVxeComponent({
10852
10755
  }
10853
10756
  internalData.lastScrollTop = scrollTop;
10854
10757
  }
10855
- internalData.lastSTime = Date.now();
10758
+ reactData.lastScrollTime = Date.now();
10856
10759
  const evntParams = Object.assign({
10857
10760
  source: sourceType,
10858
10761
  scrollTop,
@@ -11091,7 +10994,7 @@ const VxeTableComponent = defineVxeComponent({
11091
10994
  if (!bodyScrollElem) {
11092
10995
  return;
11093
10996
  }
11094
- const wheelSpeed = getWheelSpeed(internalData.lastSTime);
10997
+ const wheelSpeed = getWheelSpeed(reactData.lastScrollTime);
11095
10998
  const deltaTop = shiftKey ? 0 : deltaY * wheelSpeed;
11096
10999
  const deltaLeft = (shiftKey ? deltaX || deltaY : deltaX) * wheelSpeed;
11097
11000
  const currScrollTop = bodyScrollElem.scrollTop;
@@ -11139,9 +11042,8 @@ const VxeTableComponent = defineVxeComponent({
11139
11042
  if (isRollX) {
11140
11043
  evnt.preventDefault();
11141
11044
  internalData.inWheelScroll = true;
11142
- wheelScrollLeftTo(scrollLeft, (offsetLeft) => {
11143
- internalData.inWheelScroll = true;
11144
- const currLeftNum = offsetLeft;
11045
+ if (browseObj.firefox || browseObj.safari) {
11046
+ const currLeftNum = scrollLeft;
11145
11047
  setScrollLeft(xHandleEl, currLeftNum);
11146
11048
  setScrollLeft(bodyScrollElem, currLeftNum);
11147
11049
  setScrollLeft(headerScrollElem, currLeftNum);
@@ -11153,14 +11055,29 @@ const VxeTableComponent = defineVxeComponent({
11153
11055
  type: "table",
11154
11056
  fixed: ""
11155
11057
  });
11156
- });
11058
+ } else {
11059
+ wheelScrollLeftTo(scrollLeft, (offsetLeft) => {
11060
+ internalData.inWheelScroll = true;
11061
+ const currLeftNum = offsetLeft;
11062
+ setScrollLeft(xHandleEl, currLeftNum);
11063
+ setScrollLeft(bodyScrollElem, currLeftNum);
11064
+ setScrollLeft(headerScrollElem, currLeftNum);
11065
+ setScrollLeft(footerScrollElem, currLeftNum);
11066
+ if (scrollXLoad) {
11067
+ $xeTable.triggerScrollXEvent(evnt);
11068
+ }
11069
+ $xeTable.handleScrollEvent(evnt, isRollY, isRollX, bodyScrollElem.scrollTop, currLeftNum, {
11070
+ type: "table",
11071
+ fixed: ""
11072
+ });
11073
+ });
11074
+ }
11157
11075
  }
11158
11076
  if (isRollY) {
11159
11077
  evnt.preventDefault();
11160
11078
  internalData.inWheelScroll = true;
11161
- wheelScrollTopTo(scrollTop, (offsetTop) => {
11162
- internalData.inWheelScroll = true;
11163
- const currTopNum = offsetTop;
11079
+ if (browseObj.firefox || browseObj.safari) {
11080
+ const currTopNum = scrollTop;
11164
11081
  setScrollTop(yHandleEl, currTopNum);
11165
11082
  setScrollTop(bodyScrollElem, currTopNum);
11166
11083
  setScrollTop(leftScrollElem, currTopNum);
@@ -11170,11 +11087,29 @@ const VxeTableComponent = defineVxeComponent({
11170
11087
  if (scrollYLoad) {
11171
11088
  $xeTable.triggerScrollYEvent(evnt);
11172
11089
  }
11173
- $xeTable.handleScrollEvent(evnt, isRollY, isRollX, offsetTop, bodyScrollElem.scrollLeft, {
11090
+ $xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, bodyScrollElem.scrollLeft, {
11174
11091
  type: "table",
11175
11092
  fixed: ""
11176
11093
  });
11177
- });
11094
+ } else {
11095
+ wheelScrollTopTo(scrollTop - currScrollTop, (offsetTop) => {
11096
+ internalData.inWheelScroll = true;
11097
+ const currTopNum = bodyScrollElem.scrollTop + offsetTop;
11098
+ setScrollTop(yHandleEl, currTopNum);
11099
+ setScrollTop(bodyScrollElem, currTopNum);
11100
+ setScrollTop(leftScrollElem, currTopNum);
11101
+ setScrollTop(rightScrollElem, currTopNum);
11102
+ setScrollTop(rowExpandEl, currTopNum);
11103
+ syncGanttScrollTop(currTopNum);
11104
+ if (scrollYLoad) {
11105
+ $xeTable.triggerScrollYEvent(evnt);
11106
+ }
11107
+ $xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, bodyScrollElem.scrollLeft, {
11108
+ type: "table",
11109
+ fixed: ""
11110
+ });
11111
+ });
11112
+ }
11178
11113
  }
11179
11114
  },
11180
11115
  triggerVirtualScrollXEvent(evnt) {
@@ -11550,13 +11485,13 @@ const VxeTableComponent = defineVxeComponent({
11550
11485
  * 行 hover 事件
11551
11486
  */
11552
11487
  triggerHoverEvent(evnt, { row }) {
11553
- $xeTable.setHoverRow(row);
11488
+ tablePrivateMethods.setHoverRow(row);
11554
11489
  },
11555
11490
  setHoverRow(row) {
11556
11491
  const $xeGanttView = internalData.xeGanttView;
11557
11492
  const rowid = getRowid($xeTable, row);
11558
11493
  const el = refElem.value;
11559
- $xeTable.clearHoverRow();
11494
+ tablePrivateMethods.clearHoverRow();
11560
11495
  if (el) {
11561
11496
  XEUtils.arrayEach(el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`), (elem) => addClass(elem, "row--hover"));
11562
11497
  }
@@ -11581,7 +11516,7 @@ const VxeTableComponent = defineVxeComponent({
11581
11516
  * @deprecated
11582
11517
  */
11583
11518
  getCell(row, column) {
11584
- return $xeTable.getCellElement(row, column);
11519
+ return tableMethods.getCellElement(row, column);
11585
11520
  },
11586
11521
  findRowIndexOf(list, row) {
11587
11522
  return row ? XEUtils.findIndexOf(list, (item) => $xeTable.eqRow(item, row)) : -1;
@@ -11823,11 +11758,7 @@ const VxeTableComponent = defineVxeComponent({
11823
11758
  }],
11824
11759
  rowid,
11825
11760
  style: cellStyle
11826
- }, [
11827
- h("div", {
11828
- class: "vxe-body--row-expanded-content"
11829
- }, expandColumn.renderData(expandParams))
11830
- ]));
11761
+ }, expandColumn.renderData(expandParams)));
11831
11762
  });
11832
11763
  }
11833
11764
  return h("div", {
@@ -11982,7 +11913,6 @@ const VxeTableComponent = defineVxeComponent({
11982
11913
  footer: slots.footerTooltip || slots["footer-tooltip"]
11983
11914
  };
11984
11915
  const currTooltipSlot = tooltipStore.visible && tooltipStore.type ? tipSlots[tooltipStore.type] : null;
11985
- const tableStyle = computeTableStyle.value;
11986
11916
  const rowDragOpts = computeRowDragOpts.value;
11987
11917
  const tableTipConfig = computeTableTipConfig.value;
11988
11918
  const validTipConfig = computeValidTipConfig.value;
@@ -12003,8 +11933,6 @@ const VxeTableComponent = defineVxeComponent({
12003
11933
  const columnDragOpts = computeColumnDragOpts.value;
12004
11934
  const scrollbarXToTop = computeScrollbarXToTop.value;
12005
11935
  const scrollbarYToLeft = computeScrollbarYToLeft.value;
12006
- const customSimpleMode = computeCustomSimpleMode.value;
12007
- const showCustomSimpleOutside = customSimpleMode === "outside";
12008
11936
  const { isCrossTableDrag } = rowDragOpts;
12009
11937
  const tbOns = {
12010
11938
  onKeydown: keydownEvent,
@@ -12047,7 +11975,7 @@ const VxeTableComponent = defineVxeComponent({
12047
11975
  "not--scroll-x": !overflowX,
12048
11976
  "is--virtual-x": scrollXLoad,
12049
11977
  "is--virtual-y": scrollYLoad
12050
- }], style: tableStyle, spellcheck: false }, tbOns), [
11978
+ }], spellcheck: false }, tbOns), [
12051
11979
  /**
12052
11980
  * 隐藏列
12053
11981
  */
@@ -12142,7 +12070,7 @@ const VxeTableComponent = defineVxeComponent({
12142
12070
  /**
12143
12071
  * 自定义列
12144
12072
  */
12145
- !showCustomSimpleOutside && initStore.custom ? h(TableCustomPanelComponent, {
12073
+ initStore.custom ? h(TableCustomPanelComponent, {
12146
12074
  key: "cs",
12147
12075
  ref: refTableCustom,
12148
12076
  customStore
@@ -12180,14 +12108,6 @@ const VxeTableComponent = defineVxeComponent({
12180
12108
  h("div", {
12181
12109
  ref: refPopupWrapperElem
12182
12110
  }, [
12183
- /**
12184
- * 自定义列
12185
- */
12186
- showCustomSimpleOutside && initStore.custom ? h(TableCustomPanelComponent, {
12187
- key: "cs",
12188
- ref: refTableCustom,
12189
- customStore
12190
- }) : renderEmptyElement($xeTable),
12191
12111
  /**
12192
12112
  * 筛选
12193
12113
  */
@@ -12251,10 +12171,7 @@ const VxeTableComponent = defineVxeComponent({
12251
12171
  minWidth: tableTipConfig.minWidth,
12252
12172
  minHeight: tableTipConfig.minHeight,
12253
12173
  maxWidth: tableTipConfig.maxWidth,
12254
- maxHeight: tableTipConfig.maxHeight,
12255
- placement: tableTipConfig.placement,
12256
- defaultPlacement: tableTipConfig.defaultPlacement,
12257
- popupClassName: tableTipConfig.popupClassName
12174
+ maxHeight: tableTipConfig.maxHeight
12258
12175
  }, currTooltipSlot ? {
12259
12176
  content: () => {
12260
12177
  const { type, row, column, content: tooltipContent } = tooltipStore;
@@ -12281,7 +12198,7 @@ const VxeTableComponent = defineVxeComponent({
12281
12198
  /**
12282
12199
  * 校验提示
12283
12200
  */
12284
- props.editRules && validOpts.showErrorMessage && (validOpts.message === "default" ? !height : validOpts.message === "tooltip") ? h(VxeUITooltipComponent, {
12201
+ props.editRules && validOpts.showMessage && (validOpts.message === "default" ? !height : validOpts.message === "tooltip") ? h(VxeUITooltipComponent, {
12285
12202
  key: "vtp",
12286
12203
  ref: refValidTooltip,
12287
12204
  class: [{
@@ -12319,7 +12236,7 @@ const VxeTableComponent = defineVxeComponent({
12319
12236
  if ((scrollXLoad || scrollYLoad) && (expandColumn && expandOpts.mode !== "fixed")) {
12320
12237
  warnLog("vxe.error.scrollErrProp", ["column.type=expand"]);
12321
12238
  }
12322
- return $xeTable.recalculate();
12239
+ return tableMethods.recalculate();
12323
12240
  });
12324
12241
  });
12325
12242
  const staticColumnFlag = ref(0);
@@ -12340,16 +12257,16 @@ const VxeTableComponent = defineVxeComponent({
12340
12257
  tableColumnFlag.value++;
12341
12258
  });
12342
12259
  watch(tableColumnFlag, () => {
12343
- $xeTable.analyColumnWidth();
12260
+ tablePrivateMethods.analyColumnWidth();
12344
12261
  });
12345
12262
  watch(() => reactData.upDataFlag, () => {
12346
12263
  nextTick(() => {
12347
- $xeTable.updateData();
12264
+ tableMethods.updateData();
12348
12265
  });
12349
12266
  });
12350
12267
  watch(() => reactData.reColumnFlag, () => {
12351
12268
  nextTick(() => {
12352
- $xeTable.refreshColumn();
12269
+ tableMethods.refreshColumn();
12353
12270
  });
12354
12271
  });
12355
12272
  const reLayoutFlag = ref(0);
@@ -12362,16 +12279,6 @@ const VxeTableComponent = defineVxeComponent({
12362
12279
  watch(() => props.showFooter, () => {
12363
12280
  reLayoutFlag.value++;
12364
12281
  });
12365
- watch(() => props.showHeaderOverflow, () => {
12366
- reLayoutFlag.value++;
12367
- });
12368
- watch(() => props.showOverflow, () => {
12369
- updateColumnAllOverflow();
12370
- reLayoutFlag.value++;
12371
- });
12372
- watch(() => props.showFooterOverflow, () => {
12373
- reLayoutFlag.value++;
12374
- });
12375
12282
  watch(() => reactData.overflowX, () => {
12376
12283
  reLayoutFlag.value++;
12377
12284
  });
@@ -12478,21 +12385,6 @@ const VxeTableComponent = defineVxeComponent({
12478
12385
  });
12479
12386
  }
12480
12387
  });
12481
- const kfFlag = ref(0);
12482
- watch(() => reactData.updateColFlag, () => {
12483
- kfFlag.value++;
12484
- });
12485
- watch(computeKeepFields, () => {
12486
- kfFlag.value++;
12487
- });
12488
- watch(kfFlag, () => {
12489
- const keepFields = computeKeepFields.value;
12490
- const kpfMaps = {};
12491
- keepFields.forEach((field) => {
12492
- kpfMaps[field] = 1;
12493
- });
12494
- internalData.keepUpdateFieldMaps = kpfMaps;
12495
- });
12496
12388
  if ($xeTabs) {
12497
12389
  watch(() => $xeTabs ? $xeTabs.reactData.resizeFlag : null, () => {
12498
12390
  handleGlobalResizeEvent();
@@ -12508,11 +12400,11 @@ const VxeTableComponent = defineVxeComponent({
12508
12400
  }
12509
12401
  }
12510
12402
  });
12511
- $xeTable.preventEvent(null, "created", { $table: $xeTable });
12403
+ tablePrivateMethods.preventEvent(null, "created", { $table: $xeTable });
12512
12404
  let resizeObserver;
12513
12405
  onActivated(() => {
12514
- $xeTable.recalculate().then(() => $xeTable.refreshScroll());
12515
- $xeTable.preventEvent(null, "activated", { $table: $xeTable });
12406
+ tableMethods.recalculate().then(() => tableMethods.refreshScroll());
12407
+ tablePrivateMethods.preventEvent(null, "activated", { $table: $xeTable });
12516
12408
  });
12517
12409
  onDeactivated(() => {
12518
12410
  const { filterStore } = reactData;
@@ -12521,7 +12413,7 @@ const VxeTableComponent = defineVxeComponent({
12521
12413
  }
12522
12414
  $xeTable.closeTooltip();
12523
12415
  internalData.isActivated = false;
12524
- $xeTable.preventEvent(null, "deactivated", { $table: $xeTable });
12416
+ tablePrivateMethods.preventEvent(null, "deactivated", { $table: $xeTable });
12525
12417
  });
12526
12418
  onMounted(() => {
12527
12419
  const { exportConfig, importConfig, treeConfig, minHeight } = props;
@@ -12542,8 +12434,6 @@ const VxeTableComponent = defineVxeComponent({
12542
12434
  const importOpts = computeImportOpts.value;
12543
12435
  const rowDragOpts = computeRowDragOpts.value;
12544
12436
  const areaOpts = computeAreaOpts.value;
12545
- const sortOpts = computeSortOpts.value;
12546
- const filterOpts = computeFilterOpts.value;
12547
12437
  const { groupFields } = aggregateOpts;
12548
12438
  if ($xeGantt) {
12549
12439
  const { refClassifyWrapperElem } = $xeGantt.getRefMaps();
@@ -12580,14 +12470,6 @@ const VxeTableComponent = defineVxeComponent({
12580
12470
  if (treeConfig && !treeOpts.transform && props.stripe) {
12581
12471
  warnLog("vxe.error.noTree", ["stripe"]);
12582
12472
  }
12583
- if (treeConfig && !treeOpts.transform) {
12584
- if (sortOpts.isDeep) {
12585
- warnLog("vxe.error.reqSupportProp", ["transform=false", "sort-config.isDeep=false"]);
12586
- }
12587
- if (filterOpts.isDeep) {
12588
- warnLog("vxe.error.reqSupportProp", ["transform=false", "filter-config.isDeep=false"]);
12589
- }
12590
- }
12591
12473
  if (props.showFooter && !(props.footerMethod || props.footerData)) {
12592
12474
  warnLog("vxe.error.reqProp", ["footer-data | footer-method"]);
12593
12475
  }
@@ -12629,7 +12511,7 @@ const VxeTableComponent = defineVxeComponent({
12629
12511
  if (rowOpts.height && !props.showOverflow) {
12630
12512
  warnLog("vxe.error.notProp", ["table.show-overflow"]);
12631
12513
  }
12632
- if (!$xeTable.triggerClAreaModnEvent) {
12514
+ if (!$xeTable.triggerCellAreaModnEvent) {
12633
12515
  if (props.areaConfig) {
12634
12516
  warnLog("vxe.error.notProp", ["area-config"]);
12635
12517
  }
@@ -12731,7 +12613,7 @@ const VxeTableComponent = defineVxeComponent({
12731
12613
  nextTick(() => {
12732
12614
  if (props.autoResize) {
12733
12615
  const el = refElem.value;
12734
- const parentEl = $xeTable.getParentElem();
12616
+ const parentEl = tablePrivateMethods.getParentElem();
12735
12617
  resizeObserver = globalResize.create(() => {
12736
12618
  if (props.autoResize) {
12737
12619
  handleResizeEvent();
@@ -12763,10 +12645,6 @@ const VxeTableComponent = defineVxeComponent({
12763
12645
  $xeTable.preventEvent(null, "mounted", { $table: $xeTable });
12764
12646
  });
12765
12647
  onBeforeUnmount(() => {
12766
- const { _sToTime } = internalData;
12767
- if (_sToTime) {
12768
- clearTimeout(_sToTime);
12769
- }
12770
12648
  const tableViewportEl = refTableViewportElem.value;
12771
12649
  if (tableViewportEl) {
12772
12650
  tableViewportEl.removeEventListener("wheel", $xeTable.triggerBodyWheelEvent);
@@ -12778,7 +12656,7 @@ const VxeTableComponent = defineVxeComponent({
12778
12656
  resizeObserver.disconnect();
12779
12657
  }
12780
12658
  $xeTable.closeTooltip();
12781
- $xeTable.closeFilter();
12659
+ tableMethods.closeFilter();
12782
12660
  if ($xeTable.closeMenu) {
12783
12661
  $xeTable.closeMenu();
12784
12662
  }
@@ -12791,12 +12669,11 @@ const VxeTableComponent = defineVxeComponent({
12791
12669
  globalEvents.off($xeTable, "keydown");
12792
12670
  globalEvents.off($xeTable, "resize");
12793
12671
  globalEvents.off($xeTable, "contextmenu");
12794
- $xeTable.preventEvent(null, "beforeUnmount", { $table: $xeTable });
12795
- XEUtils.assign(reactData, createReactData());
12796
- XEUtils.assign(internalData, createInternalData());
12672
+ tablePrivateMethods.preventEvent(null, "beforeUnmount", { $table: $xeTable });
12797
12673
  });
12798
12674
  onUnmounted(() => {
12799
- $xeTable.preventEvent(null, "unmounted", { $table: $xeTable });
12675
+ tablePrivateMethods.preventEvent(null, "unmounted", { $table: $xeTable });
12676
+ XEUtils.assign(internalData, createInternalData());
12800
12677
  });
12801
12678
  nextTick(() => {
12802
12679
  if (props.loading) {