vxe-table 3.17.8 → 3.17.10

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 (49) hide show
  1. package/es/components.js +1 -1
  2. package/es/grid/src/grid.js +5 -4
  3. package/es/style.css +1 -1
  4. package/es/table/src/body.js +3 -3
  5. package/es/table/src/footer.js +1 -1
  6. package/es/table/src/header.js +2 -2
  7. package/es/table/src/methods.js +37 -21
  8. package/es/table/src/table.js +3 -7
  9. package/es/table/src/util.js +6 -0
  10. package/es/ui/index.js +1 -1
  11. package/es/ui/src/log.js +1 -1
  12. package/lib/components.js +17 -18
  13. package/lib/components.min.js +1 -1
  14. package/lib/grid/src/grid.js +5 -25
  15. package/lib/grid/src/grid.min.js +1 -1
  16. package/lib/index.umd.js +70 -66
  17. package/lib/index.umd.min.js +1 -1
  18. package/lib/style.css +1 -1
  19. package/lib/table/src/body.js +3 -2
  20. package/lib/table/src/body.min.js +1 -1
  21. package/lib/table/src/footer.js +1 -1
  22. package/lib/table/src/footer.min.js +1 -1
  23. package/lib/table/src/header.js +3 -2
  24. package/lib/table/src/header.min.js +1 -1
  25. package/lib/table/src/methods.js +48 -27
  26. package/lib/table/src/methods.min.js +1 -1
  27. package/lib/table/src/table.js +3 -7
  28. package/lib/table/src/table.min.js +1 -1
  29. package/lib/table/src/util.js +6 -0
  30. package/lib/table/src/util.min.js +1 -1
  31. package/lib/ui/index.js +1 -1
  32. package/lib/ui/index.min.js +1 -1
  33. package/lib/ui/src/log.js +1 -1
  34. package/lib/ui/src/log.min.js +1 -1
  35. package/package.json +1 -1
  36. package/packages/components.ts +1 -1
  37. package/packages/grid/src/grid.ts +34 -32
  38. package/packages/table/src/body.ts +3 -3
  39. package/packages/table/src/footer.ts +1 -1
  40. package/packages/table/src/header.ts +2 -2
  41. package/packages/table/src/methods.ts +39 -21
  42. package/packages/table/src/table.ts +3 -7
  43. package/packages/table/src/util.ts +7 -0
  44. /package/es/{iconfont.1754905462391.ttf → iconfont.1755133667514.ttf} +0 -0
  45. /package/es/{iconfont.1754905462391.woff → iconfont.1755133667514.woff} +0 -0
  46. /package/es/{iconfont.1754905462391.woff2 → iconfont.1755133667514.woff2} +0 -0
  47. /package/lib/{iconfont.1754905462391.ttf → iconfont.1755133667514.ttf} +0 -0
  48. /package/lib/{iconfont.1754905462391.woff → iconfont.1755133667514.woff} +0 -0
  49. /package/lib/{iconfont.1754905462391.woff2 → iconfont.1755133667514.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -2002,7 +2002,7 @@ function getClass(property, params) {
2002
2002
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
2003
2003
 
2004
2004
 
2005
- const version = "3.17.8";
2005
+ const version = "3.17.10";
2006
2006
  core_.VxeUI.version = version;
2007
2007
  core_.VxeUI.tableVersion = version;
2008
2008
  core_.VxeUI.setConfig({
@@ -2678,7 +2678,7 @@ function isNodeElement(elem) {
2678
2678
  const {
2679
2679
  log: log_log
2680
2680
  } = core_.VxeUI;
2681
- const log_version = `table v${"3.17.8"}`;
2681
+ const log_version = `table v${"3.17.10"}`;
2682
2682
  const warnLog = log_log.create('warn', log_version);
2683
2683
  const errLog = log_log.create('error', log_version);
2684
2684
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -2994,6 +2994,12 @@ function createInternalData() {
2994
2994
  // 已删除行
2995
2995
  removeRowMaps: {},
2996
2996
  cvCacheMaps: {},
2997
+ // 表头高度
2998
+ tHeaderHeight: 0,
2999
+ // 表体高度
3000
+ tBodyHeight: 0,
3001
+ // 表尾高度
3002
+ tFooterHeight: 0,
2997
3003
  inited: false,
2998
3004
  tooltipTimeout: null,
2999
3005
  initStatus: false,
@@ -6127,6 +6133,8 @@ function cacheColumnMap($xeTable) {
6127
6133
  reactData.rowGroupColumn = rowGroupColumn;
6128
6134
  reactData.treeNodeColumn = treeNodeColumn;
6129
6135
  reactData.expandColumn = expandColumn;
6136
+ reactData.checkboxColumn = checkboxColumn;
6137
+ reactData.radioColumn = radioColumn;
6130
6138
  reactData.isAllOverflow = isAllOverflow;
6131
6139
  }
6132
6140
  function updateScrollXStatus($xeTable, fullColumn) {
@@ -6904,9 +6912,7 @@ function updateStyle($xeTable) {
6904
6912
  editStore,
6905
6913
  isAllOverflow,
6906
6914
  expandColumn,
6907
- isColLoading,
6908
- tHeaderHeight,
6909
- tFooterHeight
6915
+ isColLoading
6910
6916
  } = reactData;
6911
6917
  const {
6912
6918
  visibleColumn,
@@ -6914,7 +6920,9 @@ function updateStyle($xeTable) {
6914
6920
  elemStore,
6915
6921
  customHeight,
6916
6922
  customMinHeight,
6917
- customMaxHeight
6923
+ customMaxHeight,
6924
+ tHeaderHeight,
6925
+ tFooterHeight
6918
6926
  } = internalData;
6919
6927
  const $xeGanttView = internalData.xeGanttView;
6920
6928
  const el = $xeTable.$refs.refElem;
@@ -6923,8 +6931,9 @@ function updateStyle($xeTable) {
6923
6931
  }
6924
6932
  const containerList = ['main', 'left', 'right'];
6925
6933
  let osbWidth = overflowY ? scrollbarWidth : 0;
6926
- const osbHeight = overflowX ? scrollbarHeight : 0;
6934
+ let osbHeight = overflowX ? scrollbarHeight : 0;
6927
6935
  const emptyPlaceholderElem = $xeTable.$refs.refEmptyPlaceholder;
6936
+ const scrollbarOpts = $xeTable.computeScrollbarOpts;
6928
6937
  const mouseOpts = $xeTable.computeMouseOpts;
6929
6938
  const expandOpts = $xeTable.computeExpandOpts;
6930
6939
  const bodyWrapperElem = getRefElem(elemStore['main-body-wrapper']);
@@ -6935,13 +6944,18 @@ function updateStyle($xeTable) {
6935
6944
  }
6936
6945
  const scrollbarXToTop = $xeTable.computeScrollbarXToTop;
6937
6946
  const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft;
6938
- const xScrollbarVisible = overflowX ? 'visible' : 'hidden';
6939
- let yScrollbarVisible = overflowY ? 'visible' : 'hidden';
6947
+ let xScrollbarVisible = overflowX ? 'visible' : 'hidden';
6940
6948
  if ($xeGanttView) {
6941
- if (!scrollbarYToLeft) {
6942
- osbWidth = 0;
6943
- yScrollbarVisible = 'hidden';
6944
- }
6949
+ osbHeight = scrollbarHeight;
6950
+ xScrollbarVisible = 'visible';
6951
+ } else if (scrollbarOpts.x && scrollbarOpts.x.visible === false) {
6952
+ osbHeight = 0;
6953
+ xScrollbarVisible = 'hidden';
6954
+ }
6955
+ let yScrollbarVisible = overflowY ? 'visible' : 'hidden';
6956
+ if (scrollbarOpts.y && scrollbarOpts.y.visible === false || $xeGanttView && !scrollbarYToLeft) {
6957
+ osbWidth = 0;
6958
+ yScrollbarVisible = 'hidden';
6945
6959
  }
6946
6960
  let tbHeight = 0;
6947
6961
  let bodyMaxHeight = 0;
@@ -7010,7 +7024,7 @@ function updateStyle($xeTable) {
7010
7024
  rowExpandEl.style.height = `${tbHeight}px`;
7011
7025
  rowExpandEl.style.top = `${tHeaderHeight}px`;
7012
7026
  }
7013
- reactData.tBodyHeight = tbHeight;
7027
+ internalData.tBodyHeight = tbHeight;
7014
7028
  containerList.forEach((name, index) => {
7015
7029
  const fixedType = index > 0 ? name : '';
7016
7030
  const layoutList = ['header', 'body', 'footer'];
@@ -8899,8 +8913,8 @@ function calcScrollbar($xeTable) {
8899
8913
  const hHeight = headerTableElem ? headerTableElem.clientHeight : 0;
8900
8914
  const fHeight = footerTableElem ? footerTableElem.clientHeight : 0;
8901
8915
  internalData.tableHeight = bodyWrapperElem.offsetHeight;
8902
- reactData.tHeaderHeight = hHeight;
8903
- reactData.tFooterHeight = fHeight;
8916
+ internalData.tHeaderHeight = hHeight;
8917
+ internalData.tFooterHeight = fHeight;
8904
8918
  reactData.overflowX = overflowX;
8905
8919
  reactData.parentHeight = Math.max(hHeight + fHeight + 20, $xeTable.getParentHeight());
8906
8920
  }
@@ -8990,6 +9004,9 @@ function handleLazyRecalculate($xeTable, reFull, reWidth, reHeight) {
8990
9004
  }, refreshDelay);
8991
9005
  });
8992
9006
  }
9007
+ function handleResizeEvent($xeTable) {
9008
+ handleLazyRecalculate($xeTable, true, true, true);
9009
+ }
8993
9010
  function handleUpdateAggValues($xeTable) {
8994
9011
  const reactData = $xeTable;
8995
9012
  const internalData = $xeTable;
@@ -9792,11 +9809,6 @@ function lazyScrollYData($xeTable) {
9792
9809
  function checkLastSyncScroll($xeTable, isRollX, isRollY) {
9793
9810
  const reactData = $xeTable;
9794
9811
  const internalData = $xeTable;
9795
- const {
9796
- scrollXLoad,
9797
- scrollYLoad,
9798
- isAllOverflow
9799
- } = reactData;
9800
9812
  const {
9801
9813
  lcsTimeout
9802
9814
  } = internalData;
@@ -9804,6 +9816,11 @@ function checkLastSyncScroll($xeTable, isRollX, isRollY) {
9804
9816
  clearTimeout(lcsTimeout);
9805
9817
  }
9806
9818
  internalData.lcsTimeout = setTimeout(() => {
9819
+ const {
9820
+ scrollXLoad,
9821
+ scrollYLoad,
9822
+ isAllOverflow
9823
+ } = reactData;
9807
9824
  internalData.lcsRunTime = Date.now();
9808
9825
  internalData.lcsTimeout = undefined;
9809
9826
  internalData.intoRunScroll = false;
@@ -12627,6 +12644,10 @@ const Methods = {
12627
12644
  }, 10);
12628
12645
  });
12629
12646
  },
12647
+ handleResizeEvent() {
12648
+ const $xeTable = this;
12649
+ handleResizeEvent($xeTable);
12650
+ },
12630
12651
  /**
12631
12652
  * 重新渲染布局
12632
12653
  * 刷新布局
@@ -13311,7 +13332,7 @@ const Methods = {
13311
13332
  const $xeTable = this;
13312
13333
  $xeTable.closeMenu();
13313
13334
  $xeTable.updateCellAreas();
13314
- handleLazyRecalculate($xeTable, true, true, true);
13335
+ handleResizeEvent($xeTable);
13315
13336
  $xeTable.updateCellAreas();
13316
13337
  },
13317
13338
  /**
@@ -14743,13 +14764,19 @@ const Methods = {
14743
14764
  const props = $xeTable;
14744
14765
  const reactData = $xeTable;
14745
14766
  const {
14767
+ treeConfig,
14746
14768
  highlightCurrentRow,
14747
14769
  highlightCurrentColumn,
14748
- editConfig
14770
+ editConfig,
14771
+ aggregateConfig,
14772
+ rowGroupConfig
14749
14773
  } = props;
14750
14774
  const {
14751
14775
  editStore,
14752
- isDragResize
14776
+ isDragResize,
14777
+ expandColumn,
14778
+ checkboxColumn,
14779
+ radioColumn
14753
14780
  } = reactData;
14754
14781
  if (isDragResize) {
14755
14782
  return;
@@ -14795,15 +14822,15 @@ const Methods = {
14795
14822
  }, params);
14796
14823
  if (!triggerCheckbox && !triggerRadio) {
14797
14824
  // 如果是展开行
14798
- if (!triggerExpandNode && (expandOpts.trigger === 'row' || isExpandType && expandOpts.trigger === 'cell')) {
14825
+ if (!triggerExpandNode && (expandColumn && expandOpts.trigger === 'row' || isExpandType && expandOpts.trigger === 'cell')) {
14799
14826
  $xeTable.triggerRowExpandEvent(evnt, params);
14800
14827
  }
14801
14828
  // 如果是树形表格
14802
- if (treeOpts.trigger === 'row' || treeNode && treeOpts.trigger === 'cell') {
14829
+ if (treeConfig && (treeOpts.trigger === 'row' || treeNode && treeOpts.trigger === 'cell')) {
14803
14830
  $xeTable.triggerTreeExpandEvent(evnt, params);
14804
14831
  }
14805
14832
  // 如果是行分组
14806
- if (aggregateOpts.trigger === 'row' || rowGroupNode && aggregateOpts.trigger === 'cell') {
14833
+ if ((aggregateConfig || rowGroupConfig) && (aggregateOpts.trigger === 'row' || rowGroupNode && aggregateOpts.trigger === 'cell')) {
14807
14834
  $xeTable.triggerRowGroupExpandEvent(evnt, params);
14808
14835
  }
14809
14836
  }
@@ -14823,11 +14850,11 @@ const Methods = {
14823
14850
  }
14824
14851
  }
14825
14852
  // 如果是单选框
14826
- if (!triggerRadio && (radioOpts.trigger === 'row' || isRadioType && radioOpts.trigger === 'cell')) {
14853
+ if (!triggerRadio && (radioColumn && radioOpts.trigger === 'row' || isRadioType && radioOpts.trigger === 'cell')) {
14827
14854
  $xeTable.triggerRadioRowEvent(evnt, params);
14828
14855
  }
14829
14856
  // 如果是复选框
14830
- if (!triggerCheckbox && (checkboxOpts.trigger === 'row' || isCheckboxType && checkboxOpts.trigger === 'cell')) {
14857
+ if (!triggerCheckbox && (checkboxColumn && checkboxOpts.trigger === 'row' || isCheckboxType && checkboxOpts.trigger === 'cell')) {
14831
14858
  $xeTable.handleToggleCheckRowEvent(evnt, params);
14832
14859
  }
14833
14860
  }
@@ -18571,6 +18598,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
18571
18598
  } = tableProps;
18572
18599
  const {
18573
18600
  tableData,
18601
+ tableColumn,
18574
18602
  dragRow,
18575
18603
  overflowX,
18576
18604
  overflowY,
@@ -18813,9 +18841,9 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
18813
18841
  let isVNPreEmptyStatus = false;
18814
18842
  if (!isMergeCell) {
18815
18843
  if (!dragRow || getRowid($xeTable, dragRow) !== rowid) {
18816
- if (overflowY && scrollYLoad && !treeConfig && !virtualYOpts.immediate && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
18844
+ if (overflowY && scrollYLoad && !treeConfig && tableData.length > 16 && !virtualYOpts.immediate && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
18817
18845
  isVNPreEmptyStatus = true;
18818
- } else if (overflowX && scrollXLoad && !virtualXOpts.immediate && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
18846
+ } else if (overflowX && scrollXLoad && tableColumn.length > 10 && !virtualXOpts.immediate && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
18819
18847
  isVNPreEmptyStatus = true;
18820
18848
  }
18821
18849
  }
@@ -19495,7 +19523,8 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
19495
19523
  dragCol,
19496
19524
  scrollXLoad,
19497
19525
  scrollYLoad,
19498
- overflowX
19526
+ overflowX,
19527
+ tableColumn
19499
19528
  } = tableReactData;
19500
19529
  const {
19501
19530
  fullColumnIdData,
@@ -19593,7 +19622,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
19593
19622
  let isVNPreEmptyStatus = false;
19594
19623
  if (isOptimizeMode && overflowX && !isGroup) {
19595
19624
  if (!dragCol || dragCol.id !== colid) {
19596
- if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
19625
+ if (scrollXLoad && tableColumn.length > 10 && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
19597
19626
  isVNPreEmptyStatus = true;
19598
19627
  }
19599
19628
  }
@@ -20073,7 +20102,7 @@ function footer_renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData,
20073
20102
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
20074
20103
  let isVNPreEmptyStatus = false;
20075
20104
  if (isOptimizeMode && overflowX && !isMergeCell) {
20076
- if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
20105
+ if (scrollXLoad && tableColumn.length > 10 && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
20077
20106
  isVNPreEmptyStatus = true;
20078
20107
  }
20079
20108
  }
@@ -28890,12 +28919,6 @@ function renderBody(h, $xeTable) {
28890
28919
  scrollbarHeight: 0,
28891
28920
  // 行高
28892
28921
  rowHeight: 0,
28893
- // 表头高度
28894
- tHeaderHeight: 0,
28895
- // 表体高度
28896
- tBodyHeight: 0,
28897
- // 表尾高度
28898
- tFooterHeight: 0,
28899
28922
  // 表格父容器的高度
28900
28923
  parentHeight: 0,
28901
28924
  // 是否使用分组表头
@@ -28917,6 +28940,8 @@ function renderBody(h, $xeTable) {
28917
28940
  rowGroupColumn: null,
28918
28941
  // 展开列信息
28919
28942
  expandColumn: null,
28943
+ checkboxColumn: null,
28944
+ radioColumn: null,
28920
28945
  hasFixedColumn: false,
28921
28946
  // 树节点列信息
28922
28947
  treeNodeColumn: null,
@@ -30212,7 +30237,7 @@ function renderBody(h, $xeTable) {
30212
30237
  if (this.autoResize) {
30213
30238
  const resizeObserver = table_globalResize.create(() => {
30214
30239
  if (this.autoResize) {
30215
- this.recalculate(true);
30240
+ this.handleResizeEvent();
30216
30241
  }
30217
30242
  });
30218
30243
  resizeObserver.observe(this.$el);
@@ -31517,30 +31542,6 @@ function grid_createInternalData() {
31517
31542
  name: 'VxeGrid',
31518
31543
  mixins: [grid_globalMixins.sizeMixin],
31519
31544
  props: {
31520
- // 以下仅用于类型
31521
- round: {
31522
- type: Boolean,
31523
- default: () => grid_getConfig().table.round
31524
- },
31525
- height: [Number, String],
31526
- minHeight: {
31527
- type: [Number, String],
31528
- default: () => grid_getConfig().table.minHeight
31529
- },
31530
- maxHeight: [Number, String],
31531
- seqConfig: Object,
31532
- sortConfig: Object,
31533
- filterConfig: Object,
31534
- editConfig: [Boolean, Object],
31535
- loading: Boolean,
31536
- validConfig: Object,
31537
- editRules: Object,
31538
- animat: {
31539
- type: Boolean,
31540
- default: () => grid_getConfig().table.animat
31541
- },
31542
- // 以上仅用于类型
31543
- // eslint-disable-next-line @typescript-eslint/ban-types
31544
31545
  ...tableProps,
31545
31546
  layouts: Array,
31546
31547
  columns: Array,
@@ -32881,7 +32882,10 @@ function grid_createInternalData() {
32881
32882
  zoom() {
32882
32883
  const $xeGrid = this;
32883
32884
  const reactData = $xeGrid.reactData;
32884
- return $xeGrid[reactData.isZMax ? 'revert' : 'maximize']();
32885
+ if (reactData.isZMax) {
32886
+ return $xeGrid.revert();
32887
+ }
32888
+ return $xeGrid.maximize();
32885
32889
  },
32886
32890
  isMaximized() {
32887
32891
  const $xeGrid = this;