vxe-table 3.11.13 → 3.11.15

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 (119) hide show
  1. package/es/locale/lang/ar-EG.js +678 -0
  2. package/es/locale/lang/de-DE.js +678 -0
  3. package/es/locale/lang/en-US.js +2 -1
  4. package/es/locale/lang/es-ES.js +2 -1
  5. package/es/locale/lang/fr-FR.js +678 -0
  6. package/es/locale/lang/hu-HU.js +2 -1
  7. package/es/locale/lang/hy-AM.js +678 -0
  8. package/es/locale/lang/ja-JP.js +2 -1
  9. package/es/locale/lang/ko-KR.js +2 -1
  10. package/es/locale/lang/nb-NO.js +678 -0
  11. package/es/locale/lang/pt-BR.js +2 -1
  12. package/es/locale/lang/ru-RU.js +2 -1
  13. package/es/locale/lang/ug-CN.js +678 -0
  14. package/es/locale/lang/uk-UA.js +2 -1
  15. package/es/locale/lang/vi-VN.js +2 -1
  16. package/es/locale/lang/zh-CHT.js +2 -1
  17. package/es/locale/lang/zh-CN.js +2 -1
  18. package/es/style.css +1 -1
  19. package/es/table/module/edit/mixin.js +2 -2
  20. package/es/table/module/export/mixin.js +14 -8
  21. package/es/table/module/keyboard/mixin.js +2 -2
  22. package/es/table/src/body.js +15 -4
  23. package/es/table/src/methods.js +93 -13
  24. package/es/table/src/table.js +14 -6
  25. package/es/ui/index.js +1 -1
  26. package/es/ui/src/log.js +1 -1
  27. package/lib/index.umd.js +175 -45
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/locale/lang/ar-EG.js +684 -0
  30. package/lib/locale/lang/ar-EG.min.js +1 -0
  31. package/lib/locale/lang/de-DE.js +684 -0
  32. package/lib/locale/lang/de-DE.min.js +1 -0
  33. package/lib/locale/lang/en-US.js +2 -1
  34. package/lib/locale/lang/en-US.min.js +1 -1
  35. package/lib/locale/lang/en-US.umd.js +2 -1
  36. package/lib/locale/lang/es-ES.js +2 -1
  37. package/lib/locale/lang/es-ES.min.js +1 -1
  38. package/lib/locale/lang/es-ES.umd.js +2 -1
  39. package/lib/locale/lang/fr-FR.js +684 -0
  40. package/lib/locale/lang/fr-FR.min.js +1 -0
  41. package/lib/locale/lang/hu-HU.js +2 -1
  42. package/lib/locale/lang/hu-HU.min.js +1 -1
  43. package/lib/locale/lang/hu-HU.umd.js +2 -1
  44. package/lib/locale/lang/hy-AM.js +684 -0
  45. package/lib/locale/lang/hy-AM.min.js +1 -0
  46. package/lib/locale/lang/ja-JP.js +2 -1
  47. package/lib/locale/lang/ja-JP.min.js +1 -1
  48. package/lib/locale/lang/ja-JP.umd.js +2 -1
  49. package/lib/locale/lang/ko-KR.js +2 -1
  50. package/lib/locale/lang/ko-KR.min.js +1 -1
  51. package/lib/locale/lang/ko-KR.umd.js +2 -1
  52. package/lib/locale/lang/nb-NO.js +684 -0
  53. package/lib/locale/lang/nb-NO.min.js +1 -0
  54. package/lib/locale/lang/pt-BR.js +2 -1
  55. package/lib/locale/lang/pt-BR.min.js +1 -1
  56. package/lib/locale/lang/pt-BR.umd.js +2 -1
  57. package/lib/locale/lang/ru-RU.js +2 -1
  58. package/lib/locale/lang/ru-RU.min.js +1 -1
  59. package/lib/locale/lang/ru-RU.umd.js +2 -1
  60. package/lib/locale/lang/ug-CN.js +684 -0
  61. package/lib/locale/lang/ug-CN.min.js +1 -0
  62. package/lib/locale/lang/uk-UA.js +2 -1
  63. package/lib/locale/lang/uk-UA.min.js +1 -1
  64. package/lib/locale/lang/uk-UA.umd.js +2 -1
  65. package/lib/locale/lang/vi-VN.js +2 -1
  66. package/lib/locale/lang/vi-VN.min.js +1 -1
  67. package/lib/locale/lang/zh-CHT.js +2 -1
  68. package/lib/locale/lang/zh-CHT.min.js +1 -1
  69. package/lib/locale/lang/zh-CHT.umd.js +2 -1
  70. package/lib/locale/lang/zh-CN.js +2 -1
  71. package/lib/locale/lang/zh-CN.min.js +1 -1
  72. package/lib/locale/lang/zh-CN.umd.js +2 -1
  73. package/lib/style.css +1 -1
  74. package/lib/table/module/edit/mixin.js +2 -2
  75. package/lib/table/module/edit/mixin.min.js +1 -1
  76. package/lib/table/module/export/mixin.js +14 -8
  77. package/lib/table/module/export/mixin.min.js +1 -1
  78. package/lib/table/module/keyboard/mixin.js +2 -2
  79. package/lib/table/module/keyboard/mixin.min.js +1 -1
  80. package/lib/table/src/body.js +17 -4
  81. package/lib/table/src/body.min.js +1 -1
  82. package/lib/table/src/methods.js +120 -16
  83. package/lib/table/src/methods.min.js +1 -1
  84. package/lib/table/src/table.js +16 -10
  85. package/lib/table/src/table.min.js +1 -1
  86. package/lib/ui/index.js +1 -1
  87. package/lib/ui/index.min.js +1 -1
  88. package/lib/ui/src/log.js +1 -1
  89. package/lib/ui/src/log.min.js +1 -1
  90. package/package.json +2 -2
  91. package/packages/locale/lang/ar-EG.ts +678 -0
  92. package/packages/locale/lang/de-DE.ts +678 -0
  93. package/packages/locale/lang/en-US.ts +2 -1
  94. package/packages/locale/lang/es-ES.ts +2 -1
  95. package/packages/locale/lang/fr-FR.ts +678 -0
  96. package/packages/locale/lang/hu-HU.ts +2 -1
  97. package/packages/locale/lang/hy-AM.ts +678 -0
  98. package/packages/locale/lang/ja-JP.ts +2 -1
  99. package/packages/locale/lang/ko-KR.ts +2 -1
  100. package/packages/locale/lang/nb-NO.ts +678 -0
  101. package/packages/locale/lang/pt-BR.ts +2 -1
  102. package/packages/locale/lang/ru-RU.ts +2 -1
  103. package/packages/locale/lang/ug-CN.ts +678 -0
  104. package/packages/locale/lang/uk-UA.ts +2 -1
  105. package/packages/locale/lang/vi-VN.ts +2 -1
  106. package/packages/locale/lang/zh-CHT.ts +2 -1
  107. package/packages/locale/lang/zh-CN.ts +2 -1
  108. package/packages/table/module/edit/mixin.ts +2 -2
  109. package/packages/table/module/export/mixin.ts +14 -8
  110. package/packages/table/module/keyboard/mixin.ts +2 -2
  111. package/packages/table/src/body.ts +14 -4
  112. package/packages/table/src/methods.ts +97 -14
  113. package/packages/table/src/table.ts +14 -6
  114. /package/es/{iconfont.1732856009240.ttf → iconfont.1733108997206.ttf} +0 -0
  115. /package/es/{iconfont.1732856009240.woff → iconfont.1733108997206.woff} +0 -0
  116. /package/es/{iconfont.1732856009240.woff2 → iconfont.1733108997206.woff2} +0 -0
  117. /package/lib/{iconfont.1732856009240.ttf → iconfont.1733108997206.ttf} +0 -0
  118. /package/lib/{iconfont.1732856009240.woff → iconfont.1733108997206.woff} +0 -0
  119. /package/lib/{iconfont.1732856009240.woff2 → iconfont.1733108997206.woff2} +0 -0
@@ -280,12 +280,12 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
280
280
  }
281
281
  function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
282
282
  const { stripe, rowKey, highlightHoverRow, rowClassName, rowStyle, editConfig, showOverflow: allColumnOverflow, treeConfig, treeOpts, expandOpts, editOpts, treeExpandedMaps, scrollYLoad, rowExpandedMaps, radioOpts, checkboxOpts, expandColumn, hasFixedColumn, fullAllDataRowIdData, rowOpts, pendingRowList, pendingRowMaps, columnOpts, isDragColMove } = $xeTable;
283
+ const { transform, seqMode } = treeOpts;
283
284
  const childrenField = treeOpts.children || treeOpts.childrenField;
284
285
  const rows = [];
285
286
  tableData.forEach((row, $rowIndex) => {
286
287
  const trOn = {};
287
288
  let rowIndex = $rowIndex;
288
- const _rowIndex = $xeTable.getVTRowIndex(row);
289
289
  // 确保任何情况下 rowIndex 都精准指向真实 data 索引
290
290
  rowIndex = $xeTable.getRowIndex(row);
291
291
  // 当前行事件
@@ -305,8 +305,19 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
305
305
  }
306
306
  const rowid = getRowid($xeTable, row);
307
307
  const rest = fullAllDataRowIdData[rowid];
308
- const rowLevel = rest ? rest.level : 0;
309
- const seq = rest ? rest.seq : -1;
308
+ let rowLevel = 0;
309
+ let seq = -1;
310
+ let _rowIndex = 0;
311
+ if (rest) {
312
+ rowLevel = rest.level;
313
+ if (treeConfig && transform && seqMode === 'increasing') {
314
+ seq = rest._index + 1;
315
+ }
316
+ else {
317
+ seq = rest.seq;
318
+ }
319
+ _rowIndex = rest._index;
320
+ }
310
321
  const params = { $table: $xeTable, seq, rowid, fixed: fixedType, type: renderType, level: rowLevel, row, rowIndex, $rowIndex };
311
322
  // 行是否被展开
312
323
  const isExpandRow = expandColumn && !!rowExpandedMaps[rowid];
@@ -338,7 +349,7 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
338
349
  'vxe-body--row',
339
350
  treeConfig ? `row--level-${rowLevel}` : '',
340
351
  {
341
- 'row--stripe': stripe && ($xeTable.getVTRowIndex(row) + 1) % 2 === 0,
352
+ 'row--stripe': stripe && (_rowIndex + 1) % 2 === 0,
342
353
  'is--new': isNewRow,
343
354
  'is--expand-row': isExpandRow,
344
355
  'is--expand-tree': isExpandTree,
@@ -481,16 +481,15 @@ function handleRecalculateLayout($xeTable, reFull) {
481
481
  }
482
482
  $xeTable.calcCellWidth();
483
483
  $xeTable.autoCellWidth();
484
- if (reFull === true) {
485
- // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
486
- return $xeTable.computeScrollLoad().then(() => {
484
+ return $xeTable.computeScrollLoad().then(() => {
485
+ if (reFull === true) {
486
+ // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
487
487
  calcCellHeight($xeTable);
488
488
  $xeTable.calcCellWidth();
489
489
  $xeTable.autoCellWidth();
490
490
  return $xeTable.computeScrollLoad();
491
- });
492
- }
493
- return $xeTable.computeScrollLoad();
491
+ }
492
+ });
494
493
  }
495
494
  function checkLastSyncScroll($xeTable, isRollX, isRollY) {
496
495
  const reactData = $xeTable;
@@ -1674,6 +1673,9 @@ const Methods = {
1674
1673
  * @returns
1675
1674
  */
1676
1675
  handleVirtualTreeToList() {
1676
+ const $xeTable = this;
1677
+ const internalData = $xeTable;
1678
+ const { fullAllDataRowIdData } = internalData;
1677
1679
  const { treeOpts, treeConfig, treeExpandedMaps, afterTreeFullData, afterFullData } = this;
1678
1680
  const childrenField = treeOpts.children || treeOpts.childrenField;
1679
1681
  if (treeConfig && treeOpts.transform) {
@@ -1683,6 +1685,10 @@ const Methods = {
1683
1685
  const rowid = getRowid(this, row);
1684
1686
  const parentRowid = getRowid(this, parent);
1685
1687
  if (!parent || (expandMaps[parentRowid] && treeExpandedMaps[parentRowid])) {
1688
+ const rowRest = fullAllDataRowIdData[rowid];
1689
+ if (rowRest) {
1690
+ rowRest._index = fullData.length;
1691
+ }
1686
1692
  expandMaps[rowid] = 1;
1687
1693
  fullData.push(row);
1688
1694
  }
@@ -1825,17 +1831,46 @@ const Methods = {
1825
1831
  this.afterTreeFullData = tableTree;
1826
1832
  this.updateAfterDataIndex();
1827
1833
  },
1834
+ updateTreeDataIndex() {
1835
+ const $xeTable = this;
1836
+ const props = $xeTable;
1837
+ const internalData = $xeTable;
1838
+ const { treeConfig } = props;
1839
+ const { afterFullData, fullDataRowIdData, fullAllDataRowIdData } = internalData;
1840
+ const treeOpts = $xeTable.computeTreeOpts;
1841
+ if (treeConfig) {
1842
+ if (treeOpts.transform) {
1843
+ afterFullData.forEach((row, index) => {
1844
+ const rowid = getRowid($xeTable, row);
1845
+ const rowRest = fullAllDataRowIdData[rowid];
1846
+ if (rowRest) {
1847
+ rowRest._index = index;
1848
+ }
1849
+ else {
1850
+ const rest = { row, rowid, seq: '-1', index: -1, $index: -1, _index: index, items: [], parent: null, level: 0, height: 0 };
1851
+ fullAllDataRowIdData[rowid] = rest;
1852
+ fullDataRowIdData[rowid] = rest;
1853
+ }
1854
+ });
1855
+ }
1856
+ }
1857
+ },
1828
1858
  /**
1829
1859
  * 预编译
1830
1860
  * 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
1831
1861
  */
1832
1862
  updateAfterDataIndex() {
1833
- const { treeConfig, afterFullData, fullDataRowIdData, fullAllDataRowIdData, afterTreeFullData, treeOpts } = this;
1863
+ const $xeTable = this;
1864
+ const props = $xeTable;
1865
+ const internalData = $xeTable;
1866
+ const { treeConfig } = props;
1867
+ const { afterFullData, fullDataRowIdData, fullAllDataRowIdData, afterTreeFullData } = internalData;
1868
+ const treeOpts = $xeTable.computeTreeOpts;
1834
1869
  const childrenField = treeOpts.children || treeOpts.childrenField;
1835
1870
  const fullMaps = {};
1836
1871
  if (treeConfig) {
1837
1872
  XEUtils.eachTree(afterTreeFullData, (row, index, items, path) => {
1838
- const rowid = getRowid(this, row);
1873
+ const rowid = getRowid($xeTable, row);
1839
1874
  const rowRest = fullAllDataRowIdData[rowid];
1840
1875
  const seq = path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('');
1841
1876
  if (rowRest) {
@@ -1849,10 +1884,11 @@ const Methods = {
1849
1884
  }
1850
1885
  fullMaps[rowid] = row;
1851
1886
  }, { children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField });
1887
+ $xeTable.updateTreeDataIndex();
1852
1888
  }
1853
1889
  else {
1854
1890
  afterFullData.forEach((row, index) => {
1855
- const rowid = getRowid(this, row);
1891
+ const rowid = getRowid($xeTable, row);
1856
1892
  const rowRest = fullAllDataRowIdData[rowid];
1857
1893
  const seq = index + 1;
1858
1894
  if (rowRest) {
@@ -1869,10 +1905,40 @@ const Methods = {
1869
1905
  }
1870
1906
  this.afterFullRowMaps = fullMaps;
1871
1907
  },
1908
+ /**
1909
+ * 只对 tree-config 有效,获取行的子级
1910
+ */
1911
+ getTreeRowChildren(rowOrRowid) {
1912
+ const $xeTable = this;
1913
+ const props = $xeTable;
1914
+ const internalData = $xeTable;
1915
+ const { treeConfig } = props;
1916
+ const { fullDataRowIdData } = internalData;
1917
+ const treeOpts = $xeTable.computeTreeOpts;
1918
+ const { transform, mapChildrenField } = treeOpts;
1919
+ const childrenField = treeOpts.children || treeOpts.childrenField;
1920
+ if (rowOrRowid && treeConfig) {
1921
+ let rowid;
1922
+ if (XEUtils.isString(rowOrRowid)) {
1923
+ rowid = rowOrRowid;
1924
+ }
1925
+ else {
1926
+ rowid = getRowid($xeTable, rowOrRowid);
1927
+ }
1928
+ if (rowid) {
1929
+ const rest = fullDataRowIdData[rowid];
1930
+ const row = rest ? rest.row : null;
1931
+ if (row) {
1932
+ return row[transform ? mapChildrenField : childrenField] || [];
1933
+ }
1934
+ }
1935
+ }
1936
+ return [];
1937
+ },
1872
1938
  /**
1873
1939
  * 只对 tree-config 有效,获取行的父级
1874
1940
  */
1875
- getParentRow(rowOrRowid) {
1941
+ getTreeParentRow(rowOrRowid) {
1876
1942
  const { treeConfig, fullDataRowIdData } = this;
1877
1943
  if (rowOrRowid && treeConfig) {
1878
1944
  let rowid;
@@ -1889,6 +1955,11 @@ const Methods = {
1889
1955
  }
1890
1956
  return null;
1891
1957
  },
1958
+ getParentRow(rowOrRowid) {
1959
+ const $xeTable = this;
1960
+ warnLog('vxe.error.delFunc', ['getParentRow', 'getTreeParentRow']);
1961
+ return $xeTable.getTreeParentRow(rowOrRowid);
1962
+ },
1892
1963
  /**
1893
1964
  * 根据行的唯一主键获取行
1894
1965
  * @param {String/Number} rowid 行主键
@@ -5807,7 +5878,9 @@ const Methods = {
5807
5878
  }
5808
5879
  return this.$nextTick().then(() => {
5809
5880
  if (transform) {
5810
- return this.handleTableData();
5881
+ this.handleTableData();
5882
+ this.updateTreeDataIndex();
5883
+ return this.$nextTick();
5811
5884
  }
5812
5885
  });
5813
5886
  });
@@ -5907,7 +5980,9 @@ const Methods = {
5907
5980
  validRows.forEach((row) => this.handleTreeExpandReserve(row, expanded));
5908
5981
  }
5909
5982
  this.treeExpandedMaps = treeTempExpandedMaps;
5910
- return Promise.all(result).then(this.recalculate);
5983
+ return Promise.all(result).then(() => {
5984
+ return this.recalculate();
5985
+ });
5911
5986
  },
5912
5987
  /**
5913
5988
  * 虚拟树的展开与收起
@@ -5918,9 +5993,14 @@ const Methods = {
5918
5993
  handleVirtualTreeExpand(rows, expanded) {
5919
5994
  return this.handleBaseTreeExpand(rows, expanded).then(() => {
5920
5995
  this.handleVirtualTreeToList();
5921
- return this.handleTableData();
5996
+ this.handleTableData();
5997
+ this.updateTreeDataIndex();
5922
5998
  }).then(() => {
5923
5999
  return this.recalculate();
6000
+ }).then(() => {
6001
+ setTimeout(() => {
6002
+ this.updateCellAreas();
6003
+ }, 30);
5924
6004
  });
5925
6005
  },
5926
6006
  /**
@@ -849,7 +849,7 @@ export default {
849
849
  if (this.showFooter && !(this.footerMethod || this.footerData)) {
850
850
  warnLog('vxe.error.reqProp', ['footer-data | footer-method']);
851
851
  }
852
- if (treeConfig && this.stripe) {
852
+ if (treeConfig && !treeOpts.transform && this.stripe) {
853
853
  warnLog('vxe.error.noTree', ['stripe']);
854
854
  }
855
855
  if (this.tooltipOpts.enabled) {
@@ -887,7 +887,10 @@ export default {
887
887
  if (this.rowOpts.height && !this.showOverflow) {
888
888
  warnLog('vxe.error.notProp', ['table.show-overflow']);
889
889
  }
890
- if (!this.handleRecalculateCellAreas) {
890
+ if (!this.handleMousedownCellAreaEvent) {
891
+ if (this.areaConfig) {
892
+ warnLog('vxe.error.notProp', ['area-config']);
893
+ }
891
894
  if (this.clipConfig) {
892
895
  warnLog('vxe.error.notProp', ['clip-config']);
893
896
  }
@@ -914,7 +917,7 @@ export default {
914
917
  // if (this.mouseOpts.area && this.checkboxOpts.range) {
915
918
  // warnLog('vxe.error.errConflicts', ['mouse-config.area', 'checkbox-config.range'])
916
919
  // }
917
- if (this.treeConfig && this.mouseOpts.area) {
920
+ if (this.mouseOpts.area && (this.treeConfig && !treeOpts.transform)) {
918
921
  errLog('vxe.error.noTree', ['mouse-config.area']);
919
922
  }
920
923
  }
@@ -1025,7 +1028,7 @@ export default {
1025
1028
  const VxeUITooltipComponent = VxeUI.getComponent('VxeTooltip');
1026
1029
  $xeTable.$nextTick(() => {
1027
1030
  if (props.loading) {
1028
- if (!VxeUILoadingComponent) {
1031
+ if (!VxeUILoadingComponent && !this.$scopedSlots.loading) {
1029
1032
  errLog('vxe.error.reqComp', ['vxe-loading']);
1030
1033
  }
1031
1034
  }
@@ -1280,8 +1283,13 @@ export default {
1280
1283
  value: currLoading,
1281
1284
  icon: loadingOpts.icon,
1282
1285
  text: loadingOpts.text
1283
- }
1284
- }, $xeTable.callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, loading: currLoading }, h))
1286
+ },
1287
+ scopedSlots: loadingSlot
1288
+ ? {
1289
+ default: () => $xeTable.callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, loading: currLoading }, h)
1290
+ }
1291
+ : {}
1292
+ })
1285
1293
  : loadingSlot
1286
1294
  ? h('div', {
1287
1295
  class: ['vxe-loading--custom-wrapper', {
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "3.11.13";
3
+ export const version = "3.11.15";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"3.11.13"}`;
3
+ const version = `table v${"3.11.15"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);