vxe-table 4.13.11 → 4.13.13

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 (125) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/ar-EG.js +511 -511
  4. package/es/locale/lang/de-DE.js +280 -280
  5. package/es/locale/lang/en-US.js +206 -206
  6. package/es/locale/lang/es-ES.js +494 -501
  7. package/es/locale/lang/fr-FR.js +517 -517
  8. package/es/locale/lang/hu-HU.js +372 -372
  9. package/es/locale/lang/id-ID.js +529 -529
  10. package/es/locale/lang/it-IT.js +297 -297
  11. package/es/locale/lang/ja-JP.js +454 -454
  12. package/es/locale/lang/ko-KR.js +415 -415
  13. package/es/locale/lang/nb-NO.js +515 -515
  14. package/es/locale/lang/pt-BR.js +505 -505
  15. package/es/locale/lang/ru-RU.js +326 -326
  16. package/es/locale/lang/th-TH.js +255 -255
  17. package/es/locale/lang/uk-UA.js +450 -450
  18. package/es/locale/lang/vi-VN.js +528 -528
  19. package/es/locale/lang/zh-CHT.js +155 -155
  20. package/es/style.css +1 -1
  21. package/es/style.min.css +1 -1
  22. package/es/table/module/menu/panel.js +8 -4
  23. package/es/table/src/cell.js +2 -2
  24. package/es/table/src/table.js +56 -51
  25. package/es/table/src/util.js +13 -17
  26. package/es/table/style.css +24 -0
  27. package/es/table/style.min.css +1 -1
  28. package/es/ui/index.js +4 -4
  29. package/es/ui/src/log.js +1 -1
  30. package/es/vxe-table/style.css +24 -0
  31. package/es/vxe-table/style.min.css +1 -1
  32. package/lib/index.css +1 -1
  33. package/lib/index.min.css +1 -1
  34. package/lib/index.umd.js +80 -36
  35. package/lib/index.umd.min.js +1 -1
  36. package/lib/locale/lang/ar-EG.js +511 -511
  37. package/lib/locale/lang/ar-EG.min.js +1 -1
  38. package/lib/locale/lang/de-DE.js +280 -280
  39. package/lib/locale/lang/de-DE.min.js +1 -1
  40. package/lib/locale/lang/en-US.js +206 -206
  41. package/lib/locale/lang/en-US.min.js +1 -1
  42. package/lib/locale/lang/en-US.umd.js +206 -206
  43. package/lib/locale/lang/es-ES.js +494 -501
  44. package/lib/locale/lang/es-ES.min.js +1 -1
  45. package/lib/locale/lang/es-ES.umd.js +494 -501
  46. package/lib/locale/lang/fr-FR.js +517 -517
  47. package/lib/locale/lang/fr-FR.min.js +1 -1
  48. package/lib/locale/lang/hu-HU.js +372 -372
  49. package/lib/locale/lang/hu-HU.min.js +1 -1
  50. package/lib/locale/lang/hu-HU.umd.js +372 -372
  51. package/lib/locale/lang/id-ID.js +529 -529
  52. package/lib/locale/lang/id-ID.min.js +1 -1
  53. package/lib/locale/lang/it-IT.js +297 -297
  54. package/lib/locale/lang/it-IT.min.js +1 -1
  55. package/lib/locale/lang/ja-JP.js +454 -454
  56. package/lib/locale/lang/ja-JP.min.js +1 -1
  57. package/lib/locale/lang/ja-JP.umd.js +454 -454
  58. package/lib/locale/lang/ko-KR.js +415 -415
  59. package/lib/locale/lang/ko-KR.min.js +1 -1
  60. package/lib/locale/lang/ko-KR.umd.js +415 -415
  61. package/lib/locale/lang/nb-NO.js +515 -515
  62. package/lib/locale/lang/nb-NO.min.js +1 -1
  63. package/lib/locale/lang/pt-BR.js +505 -505
  64. package/lib/locale/lang/pt-BR.min.js +1 -1
  65. package/lib/locale/lang/pt-BR.umd.js +505 -505
  66. package/lib/locale/lang/ru-RU.js +326 -326
  67. package/lib/locale/lang/ru-RU.min.js +1 -1
  68. package/lib/locale/lang/ru-RU.umd.js +326 -326
  69. package/lib/locale/lang/th-TH.js +255 -255
  70. package/lib/locale/lang/th-TH.min.js +1 -1
  71. package/lib/locale/lang/uk-UA.js +450 -450
  72. package/lib/locale/lang/uk-UA.min.js +1 -1
  73. package/lib/locale/lang/uk-UA.umd.js +450 -450
  74. package/lib/locale/lang/vi-VN.js +528 -528
  75. package/lib/locale/lang/vi-VN.min.js +1 -1
  76. package/lib/locale/lang/zh-CHT.js +155 -155
  77. package/lib/locale/lang/zh-CHT.min.js +1 -1
  78. package/lib/style.css +1 -1
  79. package/lib/style.min.css +1 -1
  80. package/lib/table/module/menu/panel.js +8 -4
  81. package/lib/table/module/menu/panel.min.js +1 -1
  82. package/lib/table/src/cell.js +2 -2
  83. package/lib/table/src/cell.min.js +1 -1
  84. package/lib/table/src/table.js +53 -9
  85. package/lib/table/src/table.min.js +1 -1
  86. package/lib/table/src/util.js +12 -16
  87. package/lib/table/src/util.min.js +1 -1
  88. package/lib/table/style/style.css +24 -0
  89. package/lib/table/style/style.min.css +1 -1
  90. package/lib/ui/index.js +4 -4
  91. package/lib/ui/index.min.js +1 -1
  92. package/lib/ui/src/log.js +1 -1
  93. package/lib/ui/src/log.min.js +1 -1
  94. package/lib/vxe-table/style/style.css +24 -0
  95. package/lib/vxe-table/style/style.min.css +1 -1
  96. package/package.json +2 -2
  97. package/packages/locale/lang/ar-EG.ts +511 -511
  98. package/packages/locale/lang/de-DE.ts +281 -282
  99. package/packages/locale/lang/en-US.ts +206 -206
  100. package/packages/locale/lang/es-ES.ts +494 -503
  101. package/packages/locale/lang/fr-FR.ts +517 -517
  102. package/packages/locale/lang/hu-HU.ts +372 -372
  103. package/packages/locale/lang/id-ID.ts +529 -529
  104. package/packages/locale/lang/it-IT.ts +297 -297
  105. package/packages/locale/lang/ja-JP.ts +454 -454
  106. package/packages/locale/lang/ko-KR.ts +415 -415
  107. package/packages/locale/lang/nb-NO.ts +515 -515
  108. package/packages/locale/lang/pt-BR.ts +505 -505
  109. package/packages/locale/lang/ru-RU.ts +326 -326
  110. package/packages/locale/lang/th-TH.ts +255 -255
  111. package/packages/locale/lang/uk-UA.ts +450 -450
  112. package/packages/locale/lang/vi-VN.ts +528 -528
  113. package/packages/locale/lang/zh-CHT.ts +155 -155
  114. package/packages/table/module/menu/panel.ts +8 -4
  115. package/packages/table/src/cell.ts +2 -2
  116. package/packages/table/src/table.ts +60 -50
  117. package/packages/table/src/util.ts +13 -18
  118. package/packages/ui/index.ts +3 -3
  119. package/styles/components/table.scss +35 -0
  120. /package/es/{iconfont.1745574253427.ttf → iconfont.1745800678796.ttf} +0 -0
  121. /package/es/{iconfont.1745574253427.woff → iconfont.1745800678796.woff} +0 -0
  122. /package/es/{iconfont.1745574253427.woff2 → iconfont.1745800678796.woff2} +0 -0
  123. /package/lib/{iconfont.1745574253427.ttf → iconfont.1745800678796.ttf} +0 -0
  124. /package/lib/{iconfont.1745574253427.woff → iconfont.1745800678796.woff} +0 -0
  125. /package/lib/{iconfont.1745574253427.woff2 → iconfont.1745800678796.woff2} +0 -0
@@ -11,7 +11,7 @@ function renderTitlePrefixIcon(params) {
11
11
  const titlePrefix = column.titlePrefix || column.titleHelp;
12
12
  if (titlePrefix) {
13
13
  return h('i', {
14
- class: ['vxe-cell-title-prefix-icon', titlePrefix.icon || getIcon().TABLE_TITLE_PREFIX],
14
+ class: ['vxe-cell-title-prefix-icon', titlePrefix.iconStatus ? `theme--${titlePrefix.iconStatus}` : '', titlePrefix.icon || getIcon().TABLE_TITLE_PREFIX],
15
15
  onMouseenter(evnt) {
16
16
  $table.triggerHeaderTitleEvent(evnt, titlePrefix, params);
17
17
  },
@@ -27,7 +27,7 @@ function renderTitleSuffixIcon(params) {
27
27
  const titleSuffix = column.titleSuffix;
28
28
  if (titleSuffix) {
29
29
  return h('i', {
30
- class: ['vxe-cell-title-suffix-icon', titleSuffix.icon || getIcon().TABLE_TITLE_SUFFIX],
30
+ class: ['vxe-cell-title-suffix-icon', titleSuffix.iconStatus ? `theme--${titleSuffix.iconStatus}` : '', titleSuffix.icon || getIcon().TABLE_TITLE_SUFFIX],
31
31
  onMouseenter(evnt) {
32
32
  $table.triggerHeaderTitleEvent(evnt, titleSuffix, params);
33
33
  },
@@ -376,6 +376,7 @@ export default defineComponent({
376
376
  insertRowMaps: {},
377
377
  // 已删除行
378
378
  removeRowMaps: {},
379
+ cvCacheMaps: {},
379
380
  inited: false,
380
381
  tooltipTimeout: null,
381
382
  initStatus: false,
@@ -2796,12 +2797,12 @@ export default defineComponent({
2796
2797
  if (bodyWrapperElem) {
2797
2798
  overflowY = scrollYHeight > bodyWrapperElem.clientHeight;
2798
2799
  if (yHandleEl) {
2799
- reactData.scrollbarWidth = Math.max(scrollbarOpts.width || 0, yHandleEl.offsetWidth - yHandleEl.clientWidth);
2800
+ reactData.scrollbarWidth = scrollbarOpts.width || (yHandleEl.offsetWidth - yHandleEl.clientWidth) || 14;
2800
2801
  }
2801
2802
  reactData.overflowY = overflowY;
2802
2803
  overflowX = scrollXWidth > bodyWrapperElem.clientWidth;
2803
2804
  if (xHandleEl) {
2804
- reactData.scrollbarHeight = Math.max(scrollbarOpts.height || 0, xHandleEl.offsetHeight - xHandleEl.clientHeight);
2805
+ reactData.scrollbarHeight = scrollbarOpts.height || (xHandleEl.offsetHeight - xHandleEl.clientHeight) || 14;
2805
2806
  }
2806
2807
  const headerHeight = headerTableElem ? headerTableElem.clientHeight : 0;
2807
2808
  const footerHeight = footerTableElem ? footerTableElem.clientHeight : 0;
@@ -2994,6 +2995,7 @@ export default defineComponent({
2994
2995
  scrollYStore.endIndex = 1;
2995
2996
  scrollXStore.startIndex = 0;
2996
2997
  scrollXStore.endIndex = 1;
2998
+ internalData.cvCacheMaps = {};
2997
2999
  reactData.isRowLoading = true;
2998
3000
  reactData.scrollVMLoading = false;
2999
3001
  internalData.treeExpandedMaps = {};
@@ -3587,40 +3589,40 @@ export default defineComponent({
3587
3589
  return -1;
3588
3590
  };
3589
3591
  };
3590
- const lazyScrollXData = () => {
3591
- const { lxTimeout, lxRunTime, scrollXStore } = internalData;
3592
- const { visibleSize } = scrollXStore;
3593
- const fpsTime = Math.max(5, Math.min(10, Math.floor(visibleSize / 3)));
3594
- if (lxTimeout) {
3595
- clearTimeout(lxTimeout);
3596
- }
3597
- if (!lxRunTime || lxRunTime + fpsTime < Date.now()) {
3598
- internalData.lxRunTime = Date.now();
3599
- loadScrollXData();
3600
- }
3601
- internalData.lxTimeout = setTimeout(() => {
3602
- internalData.lxTimeout = undefined;
3603
- internalData.lxRunTime = undefined;
3604
- loadScrollXData();
3605
- }, fpsTime);
3606
- };
3607
- const lazyScrollYData = () => {
3608
- const { lyTimeout, lyRunTime, scrollYStore } = internalData;
3609
- const { visibleSize } = scrollYStore;
3610
- const fpsTime = Math.floor(Math.max(4, Math.min(10, visibleSize / 3)));
3611
- if (lyTimeout) {
3612
- clearTimeout(lyTimeout);
3613
- }
3614
- if (!lyRunTime || lyRunTime + fpsTime < Date.now()) {
3615
- internalData.lyRunTime = Date.now();
3616
- loadScrollYData();
3617
- }
3618
- internalData.lyTimeout = setTimeout(() => {
3619
- internalData.lyTimeout = undefined;
3620
- internalData.lyRunTime = undefined;
3621
- loadScrollYData();
3622
- }, fpsTime);
3623
- };
3592
+ // const lazyScrollXData = () => {
3593
+ // const { lxTimeout, lxRunTime, scrollXStore } = internalData
3594
+ // const { visibleSize } = scrollXStore
3595
+ // const fpsTime = Math.max(5, Math.min(10, Math.floor(visibleSize / 3)))
3596
+ // if (lxTimeout) {
3597
+ // clearTimeout(lxTimeout)
3598
+ // }
3599
+ // if (!lxRunTime || lxRunTime + fpsTime < Date.now()) {
3600
+ // internalData.lxRunTime = Date.now()
3601
+ // loadScrollXData()
3602
+ // }
3603
+ // internalData.lxTimeout = setTimeout(() => {
3604
+ // internalData.lxTimeout = undefined
3605
+ // internalData.lxRunTime = undefined
3606
+ // loadScrollXData()
3607
+ // }, fpsTime)
3608
+ // }
3609
+ // const lazyScrollYData = () => {
3610
+ // const { lyTimeout, lyRunTime, scrollYStore } = internalData
3611
+ // const { visibleSize } = scrollYStore
3612
+ // const fpsTime = Math.floor(Math.max(4, Math.min(10, visibleSize / 3)))
3613
+ // if (lyTimeout) {
3614
+ // clearTimeout(lyTimeout)
3615
+ // }
3616
+ // if (!lyRunTime || lyRunTime + fpsTime < Date.now()) {
3617
+ // internalData.lyRunTime = Date.now()
3618
+ // loadScrollYData()
3619
+ // }
3620
+ // internalData.lyTimeout = setTimeout(() => {
3621
+ // internalData.lyTimeout = undefined
3622
+ // internalData.lyRunTime = undefined
3623
+ // loadScrollYData()
3624
+ // }, fpsTime)
3625
+ // }
3624
3626
  const checkLastSyncScroll = (isRollX, isRollY) => {
3625
3627
  const { scrollXLoad, scrollYLoad } = reactData;
3626
3628
  const { lcsTimeout } = internalData;
@@ -6085,12 +6087,14 @@ export default defineComponent({
6085
6087
  setScrollLeft(bodyScrollElem, scrollLeft);
6086
6088
  setScrollLeft(headerScrollElem, scrollLeft);
6087
6089
  setScrollLeft(footerScrollElem, scrollLeft);
6090
+ loadScrollXData();
6088
6091
  }
6089
6092
  if (XEUtils.isNumber(scrollTop)) {
6090
6093
  setScrollTop(yHandleEl, scrollTop);
6091
6094
  setScrollTop(bodyScrollElem, scrollTop);
6092
6095
  setScrollTop(leftScrollElem, scrollTop);
6093
6096
  setScrollTop(rightScrollElem, scrollTop);
6097
+ loadScrollYData();
6094
6098
  }
6095
6099
  if (reactData.scrollXLoad || reactData.scrollYLoad) {
6096
6100
  return new Promise(resolve => {
@@ -6114,7 +6118,7 @@ export default defineComponent({
6114
6118
  const rest = [];
6115
6119
  if (row) {
6116
6120
  if (props.treeConfig) {
6117
- rest.push(tablePrivateMethods.scrollToTreeRow(row));
6121
+ rest.push($xeTable.scrollToTreeRow(row));
6118
6122
  }
6119
6123
  else {
6120
6124
  rest.push(rowToVisible($xeTable, row));
@@ -9513,25 +9517,23 @@ export default defineComponent({
9513
9517
  * 横向 X 可视渲染事件处理
9514
9518
  */
9515
9519
  triggerScrollXEvent() {
9516
- const virtualXOpts = computeVirtualXOpts.value;
9517
- if (virtualXOpts.immediate) {
9518
- loadScrollXData();
9519
- }
9520
- else {
9521
- lazyScrollXData();
9522
- }
9520
+ // const virtualXOpts = computeVirtualXOpts.value
9521
+ // if (virtualXOpts.immediate) {
9522
+ loadScrollXData();
9523
+ // } else {
9524
+ // lazyScrollXData()
9525
+ // }
9523
9526
  },
9524
9527
  /**
9525
9528
  * 纵向 Y 可视渲染事件处理
9526
9529
  */
9527
9530
  triggerScrollYEvent() {
9528
- const virtualYOpts = computeVirtualYOpts.value;
9529
- if (virtualYOpts.immediate) {
9530
- loadScrollYData();
9531
- }
9532
- else {
9533
- lazyScrollYData();
9534
- }
9531
+ // const virtualYOpts = computeVirtualYOpts.value
9532
+ // if (virtualYOpts.immediate) {
9533
+ loadScrollYData();
9534
+ // } else {
9535
+ // lazyScrollYData()
9536
+ // }
9535
9537
  },
9536
9538
  triggerBodyScrollEvent(evnt, fixedType) {
9537
9539
  const { scrollYLoad, scrollXLoad } = reactData;
@@ -11176,6 +11178,9 @@ export default defineComponent({
11176
11178
  if (tableViewportEl) {
11177
11179
  tableViewportEl.removeEventListener('wheel', $xeTable.triggerBodyWheelEvent);
11178
11180
  }
11181
+ internalData.cvCacheMaps = {};
11182
+ internalData.prevDragRow = null;
11183
+ internalData.prevDragCol = null;
11179
11184
  if (resizeObserver) {
11180
11185
  resizeObserver.disconnect();
11181
11186
  }
@@ -1,4 +1,4 @@
1
- import { watch, reactive } from 'vue';
1
+ import { watch, reactive, nextTick } from 'vue';
2
2
  import XEUtils from 'xe-utils';
3
3
  import { ColumnInfo } from './columnInfo';
4
4
  import { isPx, isScale } from '../../ui/src/dom';
@@ -64,22 +64,18 @@ export const convertHeaderColumnToRows = (originColumns) => {
64
64
  };
65
65
  export function restoreScrollLocation($xeTable, scrollLeft, scrollTop) {
66
66
  const internalData = $xeTable.internalData;
67
- return $xeTable.clearScroll().then(() => {
68
- if (scrollLeft || scrollTop) {
69
- // 重置最后滚动状态
70
- internalData.lastScrollLeft = 0;
71
- internalData.lastScrollTop = 0;
72
- internalData.intoRunScroll = false;
73
- internalData.inVirtualScroll = false;
74
- internalData.inWheelScroll = false;
75
- internalData.inHeaderScroll = false;
76
- internalData.inBodyScroll = false;
77
- internalData.inFooterScroll = false;
78
- internalData.scrollRenderType = '';
79
- // 还原滚动状态
80
- return $xeTable.scrollTo(scrollLeft, scrollTop);
81
- }
82
- });
67
+ if (scrollLeft || scrollTop) {
68
+ internalData.intoRunScroll = false;
69
+ internalData.inVirtualScroll = false;
70
+ internalData.inWheelScroll = false;
71
+ internalData.inHeaderScroll = false;
72
+ internalData.inBodyScroll = false;
73
+ internalData.inFooterScroll = false;
74
+ internalData.scrollRenderType = '';
75
+ // 还原滚动状态
76
+ return $xeTable.scrollTo(scrollLeft, scrollTop);
77
+ }
78
+ return nextTick();
83
79
  }
84
80
  /**
85
81
  * 生成行的唯一主键
@@ -2327,6 +2327,30 @@
2327
2327
  .vxe-header--column .vxe-cell-title-suffix-icon {
2328
2328
  cursor: help;
2329
2329
  }
2330
+ .vxe-header--column .vxe-cell-title-prefix-icon.theme--primary,
2331
+ .vxe-header--column .vxe-cell-title-suffix-icon.theme--primary {
2332
+ color: var(--vxe-ui-font-primary-color);
2333
+ }
2334
+ .vxe-header--column .vxe-cell-title-prefix-icon.theme--success,
2335
+ .vxe-header--column .vxe-cell-title-suffix-icon.theme--success {
2336
+ color: var(--vxe-ui-status-success-color);
2337
+ }
2338
+ .vxe-header--column .vxe-cell-title-prefix-icon.theme--info,
2339
+ .vxe-header--column .vxe-cell-title-suffix-icon.theme--info {
2340
+ color: var(--vxe-ui-status-info-color);
2341
+ }
2342
+ .vxe-header--column .vxe-cell-title-prefix-icon.theme--warning,
2343
+ .vxe-header--column .vxe-cell-title-suffix-icon.theme--warning {
2344
+ color: var(--vxe-ui-status-warning-color);
2345
+ }
2346
+ .vxe-header--column .vxe-cell-title-prefix-icon.theme--danger,
2347
+ .vxe-header--column .vxe-cell-title-suffix-icon.theme--danger {
2348
+ color: var(--vxe-ui-status-danger-color);
2349
+ }
2350
+ .vxe-header--column .vxe-cell-title-prefix-icon.theme--error,
2351
+ .vxe-header--column .vxe-cell-title-suffix-icon.theme--error {
2352
+ color: var(--vxe-ui-status-error-color);
2353
+ }
2330
2354
 
2331
2355
  .vxe-cell--col-resizable {
2332
2356
  position: absolute;