vxe-table 3.15.19 → 3.15.21

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.
@@ -518,7 +518,7 @@ function updateAfterDataIndex($xeTable) {
518
518
  const props = $xeTable;
519
519
  const internalData = $xeTable;
520
520
  const { treeConfig } = props;
521
- const { fullDataRowIdData, fullAllDataRowIdData, afterTreeFullData } = internalData;
521
+ const { fullDataRowIdData, fullAllDataRowIdData, afterFullData, afterTreeFullData } = internalData;
522
522
  const treeOpts = $xeTable.computeTreeOpts;
523
523
  const { transform } = treeOpts;
524
524
  const childrenField = treeOpts.children || treeOpts.childrenField;
@@ -540,8 +540,20 @@ function updateAfterDataIndex($xeTable) {
540
540
  }
541
541
  fullMaps[rowid] = row;
542
542
  }, { children: transform ? treeOpts.mapChildrenField : childrenField });
543
+ if (transform) {
544
+ afterFullData.forEach((row, index) => {
545
+ const rowid = handleGetRowId(row);
546
+ const rowRest = fullAllDataRowIdData[rowid];
547
+ const seq = index + 1;
548
+ if (rowRest) {
549
+ if (!treeConfig) {
550
+ rowRest.seq = seq;
551
+ }
552
+ rowRest._index = index;
553
+ }
554
+ });
555
+ }
543
556
  internalData.afterFullRowMaps = fullMaps;
544
- updateAfterListIndex($xeTable);
545
557
  }
546
558
  else {
547
559
  updateAfterListIndex($xeTable);
@@ -1800,7 +1812,7 @@ const handleFooterMerge = ($xeTable, merges) => {
1800
1812
  const reactData = $xeTable;
1801
1813
  const internalData = $xeTable;
1802
1814
  const { footerTableData } = reactData;
1803
- const { mergeFooterList, mergeFooterMaps } = internalData;
1815
+ const { mergeFooterList, mergeFooterMaps, fullColumnIdData } = internalData;
1804
1816
  if (merges) {
1805
1817
  const { visibleColumn } = internalData;
1806
1818
  if (!XEUtils.isArray(merges)) {
@@ -1813,6 +1825,13 @@ const handleFooterMerge = ($xeTable, merges) => {
1813
1825
  if (XEUtils.isNumber(margeCol)) {
1814
1826
  mergeColumnIndex = margeCol;
1815
1827
  }
1828
+ else {
1829
+ const colid = margeCol ? margeCol.id : null;
1830
+ const colRest = colid ? fullColumnIdData[colid] : null;
1831
+ if (colRest) {
1832
+ mergeColumnIndex = colRest._index;
1833
+ }
1834
+ }
1816
1835
  if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
1817
1836
  rowspan = XEUtils.toNumber(rowspan) || 1;
1818
1837
  colspan = XEUtils.toNumber(colspan) || 1;
@@ -1845,31 +1864,86 @@ const handleFooterMerge = ($xeTable, merges) => {
1845
1864
  });
1846
1865
  }
1847
1866
  };
1848
- function removeMerges($xeTable, merges, mList, rowList) {
1849
- // const props = $xeTable
1867
+ function removeBodyMerges($xeTable, merges) {
1850
1868
  const internalData = $xeTable;
1869
+ const { mergeBodyList, fullColumnIdData, fullAllDataRowIdData, mergeBodyMaps } = internalData;
1851
1870
  const rest = [];
1852
1871
  if (merges) {
1853
- // const { treeConfig } = props
1854
- const { visibleColumn } = internalData;
1872
+ const { handleGetRowId } = createHandleGetRowId($xeTable);
1855
1873
  if (!XEUtils.isArray(merges)) {
1856
1874
  merges = [merges];
1857
1875
  }
1858
- // if (treeConfig && merges.length) {
1859
- // errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
1860
- // }
1861
1876
  merges.forEach((item) => {
1862
- let { row, col } = item;
1863
- if (rowList && XEUtils.isNumber(row)) {
1864
- row = rowList[row];
1877
+ const { row: margeRow, col: margeCol } = item;
1878
+ let mergeRowIndex = -1;
1879
+ let mergeColumnIndex = -1;
1880
+ if (XEUtils.isNumber(margeRow)) {
1881
+ mergeRowIndex = margeRow;
1865
1882
  }
1866
- if (XEUtils.isNumber(col)) {
1867
- col = visibleColumn[col];
1883
+ else {
1884
+ const rowid = margeRow ? handleGetRowId(margeRow) : null;
1885
+ const rowRest = rowid ? fullAllDataRowIdData[rowid] : null;
1886
+ if (rowRest) {
1887
+ mergeRowIndex = rowRest._index;
1888
+ }
1889
+ }
1890
+ if (XEUtils.isNumber(margeCol)) {
1891
+ mergeColumnIndex = margeCol;
1868
1892
  }
1869
- const mcIndex = XEUtils.findIndexOf(mList, item => item._row === row && item._col === col);
1893
+ else {
1894
+ const colid = margeCol ? margeCol.id : null;
1895
+ const colRest = colid ? fullColumnIdData[colid] : null;
1896
+ if (colRest) {
1897
+ mergeColumnIndex = colRest._index;
1898
+ }
1899
+ }
1900
+ const mcIndex = XEUtils.findIndexOf(mergeBodyList, item => (item.row === mergeRowIndex) && (item.col === mergeColumnIndex));
1870
1901
  if (mcIndex > -1) {
1871
- const rItems = mList.splice(mcIndex, 1);
1872
- rest.push(rItems[0]);
1902
+ const rItems = mergeBodyList.splice(mcIndex, 1);
1903
+ const item = rItems[0];
1904
+ if (item) {
1905
+ rest.push(rItems[0]);
1906
+ if (mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`]) {
1907
+ delete mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
1908
+ }
1909
+ }
1910
+ }
1911
+ });
1912
+ }
1913
+ return rest;
1914
+ }
1915
+ function removeFooterMerges($xeTable, merges) {
1916
+ const internalData = $xeTable;
1917
+ const { mergeFooterList, fullColumnIdData, mergeFooterMaps } = internalData;
1918
+ const rest = [];
1919
+ if (merges) {
1920
+ if (!XEUtils.isArray(merges)) {
1921
+ merges = [merges];
1922
+ }
1923
+ merges.forEach((item) => {
1924
+ const { row: margeRow, col: margeCol } = item;
1925
+ const mergeRowIndex = XEUtils.isNumber(margeRow) ? margeRow : -1;
1926
+ let mergeColumnIndex = -1;
1927
+ if (XEUtils.isNumber(margeCol)) {
1928
+ mergeColumnIndex = margeCol;
1929
+ }
1930
+ else {
1931
+ const colid = margeCol ? margeCol.id : null;
1932
+ const colRest = colid ? fullColumnIdData[colid] : null;
1933
+ if (colRest) {
1934
+ mergeColumnIndex = colRest._index;
1935
+ }
1936
+ }
1937
+ const mcIndex = XEUtils.findIndexOf(mergeFooterList, item => item.row === mergeRowIndex && item.col === mergeColumnIndex);
1938
+ if (mcIndex > -1) {
1939
+ const rItems = mergeFooterList.splice(mcIndex, 1);
1940
+ const item = rItems[0];
1941
+ if (item) {
1942
+ rest.push(item);
1943
+ if (mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`]) {
1944
+ delete mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
1945
+ }
1946
+ }
1873
1947
  }
1874
1948
  });
1875
1949
  }
@@ -9833,11 +9907,11 @@ const Methods = {
9833
9907
  removeMergeCells(merges) {
9834
9908
  const $xeTable = this;
9835
9909
  const props = $xeTable;
9836
- const internalData = $xeTable;
9837
9910
  if (props.spanMethod) {
9838
9911
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
9839
9912
  }
9840
- const rest = removeMerges($xeTable, merges, internalData.mergeBodyList, internalData.afterFullData);
9913
+ const rest = removeBodyMerges($xeTable, merges);
9914
+ $xeTable.handleUpdateBodyMerge();
9841
9915
  return $xeTable.$nextTick().then(() => {
9842
9916
  $xeTable.updateCellAreas();
9843
9917
  updateStyle($xeTable);
@@ -9857,10 +9931,12 @@ const Methods = {
9857
9931
  */
9858
9932
  clearMergeCells() {
9859
9933
  const $xeTable = this;
9934
+ const reactData = $xeTable;
9860
9935
  const internalData = $xeTable;
9861
9936
  internalData.mergeBodyList = [];
9862
9937
  internalData.mergeBodyMaps = {};
9863
9938
  internalData.mergeBodyCellMaps = {};
9939
+ reactData.mergeBodyFlag++;
9864
9940
  return $xeTable.$nextTick().then(() => {
9865
9941
  return updateStyle($xeTable);
9866
9942
  });
@@ -9881,11 +9957,11 @@ const Methods = {
9881
9957
  removeMergeFooterItems(merges) {
9882
9958
  const $xeTable = this;
9883
9959
  const props = $xeTable;
9884
- const internalData = $xeTable;
9885
9960
  if (props.footerSpanMethod) {
9886
9961
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
9887
9962
  }
9888
- const rest = removeMerges($xeTable, merges, internalData.mergeFooterList);
9963
+ const rest = removeFooterMerges($xeTable, merges);
9964
+ $xeTable.handleUpdateFooterMerge();
9889
9965
  return $xeTable.$nextTick().then(() => {
9890
9966
  $xeTable.updateCellAreas();
9891
9967
  updateStyle($xeTable);
@@ -9905,10 +9981,12 @@ const Methods = {
9905
9981
  */
9906
9982
  clearMergeFooterItems() {
9907
9983
  const $xeTable = this;
9984
+ const reactData = $xeTable;
9908
9985
  const internalData = $xeTable;
9909
9986
  internalData.mergeFooterList = [];
9910
9987
  internalData.mergeFooterMaps = {};
9911
9988
  internalData.mergeFooterCellMaps = {};
9989
+ reactData.mergeFootFlag++;
9912
9990
  return $xeTable.$nextTick().then(() => {
9913
9991
  return updateStyle($xeTable);
9914
9992
  });
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.15.19";
3
+ export const version = "3.15.21";
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.15.19"}`;
3
+ const version = `table v${"3.15.21"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
package/lib/index.umd.js CHANGED
@@ -2220,7 +2220,7 @@ function getClass(property, params) {
2220
2220
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
2221
2221
 
2222
2222
 
2223
- const version = "3.15.19";
2223
+ const version = "3.15.21";
2224
2224
  core_.VxeUI.version = version;
2225
2225
  core_.VxeUI.tableVersion = version;
2226
2226
  core_.VxeUI.setConfig({
@@ -2858,7 +2858,7 @@ function isNodeElement(elem) {
2858
2858
  const {
2859
2859
  log: log_log
2860
2860
  } = core_.VxeUI;
2861
- const log_version = `table v${"3.15.19"}`;
2861
+ const log_version = `table v${"3.15.21"}`;
2862
2862
  const warnLog = log_log.create('warn', log_version);
2863
2863
  const errLog = log_log.create('error', log_version);
2864
2864
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -5913,6 +5913,7 @@ function updateAfterDataIndex($xeTable) {
5913
5913
  const {
5914
5914
  fullDataRowIdData,
5915
5915
  fullAllDataRowIdData,
5916
+ afterFullData,
5916
5917
  afterTreeFullData
5917
5918
  } = internalData;
5918
5919
  const treeOpts = $xeTable.computeTreeOpts;
@@ -5956,8 +5957,20 @@ function updateAfterDataIndex($xeTable) {
5956
5957
  }, {
5957
5958
  children: transform ? treeOpts.mapChildrenField : childrenField
5958
5959
  });
5960
+ if (transform) {
5961
+ afterFullData.forEach((row, index) => {
5962
+ const rowid = handleGetRowId(row);
5963
+ const rowRest = fullAllDataRowIdData[rowid];
5964
+ const seq = index + 1;
5965
+ if (rowRest) {
5966
+ if (!treeConfig) {
5967
+ rowRest.seq = seq;
5968
+ }
5969
+ rowRest._index = index;
5970
+ }
5971
+ });
5972
+ }
5959
5973
  internalData.afterFullRowMaps = fullMaps;
5960
- updateAfterListIndex($xeTable);
5961
5974
  } else {
5962
5975
  updateAfterListIndex($xeTable);
5963
5976
  }
@@ -7488,7 +7501,8 @@ const handleFooterMerge = ($xeTable, merges) => {
7488
7501
  } = reactData;
7489
7502
  const {
7490
7503
  mergeFooterList,
7491
- mergeFooterMaps
7504
+ mergeFooterMaps,
7505
+ fullColumnIdData
7492
7506
  } = internalData;
7493
7507
  if (merges) {
7494
7508
  const {
@@ -7508,6 +7522,12 @@ const handleFooterMerge = ($xeTable, merges) => {
7508
7522
  let mergeColumnIndex = -1;
7509
7523
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)) {
7510
7524
  mergeColumnIndex = margeCol;
7525
+ } else {
7526
+ const colid = margeCol ? margeCol.id : null;
7527
+ const colRest = colid ? fullColumnIdData[colid] : null;
7528
+ if (colRest) {
7529
+ mergeColumnIndex = colRest._index;
7530
+ }
7511
7531
  }
7512
7532
  if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
7513
7533
  rowspan = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(rowspan) || 1;
@@ -7540,36 +7560,100 @@ const handleFooterMerge = ($xeTable, merges) => {
7540
7560
  });
7541
7561
  }
7542
7562
  };
7543
- function removeMerges($xeTable, merges, mList, rowList) {
7544
- // const props = $xeTable
7563
+ function removeBodyMerges($xeTable, merges) {
7545
7564
  const internalData = $xeTable;
7565
+ const {
7566
+ mergeBodyList,
7567
+ fullColumnIdData,
7568
+ fullAllDataRowIdData,
7569
+ mergeBodyMaps
7570
+ } = internalData;
7546
7571
  const rest = [];
7547
7572
  if (merges) {
7548
- // const { treeConfig } = props
7549
7573
  const {
7550
- visibleColumn
7551
- } = internalData;
7574
+ handleGetRowId
7575
+ } = createHandleGetRowId($xeTable);
7552
7576
  if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)) {
7553
7577
  merges = [merges];
7554
7578
  }
7555
- // if (treeConfig && merges.length) {
7556
- // errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
7557
- // }
7558
7579
  merges.forEach(item => {
7559
- let {
7560
- row,
7561
- col
7580
+ const {
7581
+ row: margeRow,
7582
+ col: margeCol
7562
7583
  } = item;
7563
- if (rowList && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)) {
7564
- row = rowList[row];
7584
+ let mergeRowIndex = -1;
7585
+ let mergeColumnIndex = -1;
7586
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)) {
7587
+ mergeRowIndex = margeRow;
7588
+ } else {
7589
+ const rowid = margeRow ? handleGetRowId(margeRow) : null;
7590
+ const rowRest = rowid ? fullAllDataRowIdData[rowid] : null;
7591
+ if (rowRest) {
7592
+ mergeRowIndex = rowRest._index;
7593
+ }
7565
7594
  }
7566
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(col)) {
7567
- col = visibleColumn[col];
7595
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)) {
7596
+ mergeColumnIndex = margeCol;
7597
+ } else {
7598
+ const colid = margeCol ? margeCol.id : null;
7599
+ const colRest = colid ? fullColumnIdData[colid] : null;
7600
+ if (colRest) {
7601
+ mergeColumnIndex = colRest._index;
7602
+ }
7568
7603
  }
7569
- const mcIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mList, item => item._row === row && item._col === col);
7604
+ const mcIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mergeBodyList, item => item.row === mergeRowIndex && item.col === mergeColumnIndex);
7570
7605
  if (mcIndex > -1) {
7571
- const rItems = mList.splice(mcIndex, 1);
7572
- rest.push(rItems[0]);
7606
+ const rItems = mergeBodyList.splice(mcIndex, 1);
7607
+ const item = rItems[0];
7608
+ if (item) {
7609
+ rest.push(rItems[0]);
7610
+ if (mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`]) {
7611
+ delete mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
7612
+ }
7613
+ }
7614
+ }
7615
+ });
7616
+ }
7617
+ return rest;
7618
+ }
7619
+ function removeFooterMerges($xeTable, merges) {
7620
+ const internalData = $xeTable;
7621
+ const {
7622
+ mergeFooterList,
7623
+ fullColumnIdData,
7624
+ mergeFooterMaps
7625
+ } = internalData;
7626
+ const rest = [];
7627
+ if (merges) {
7628
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)) {
7629
+ merges = [merges];
7630
+ }
7631
+ merges.forEach(item => {
7632
+ const {
7633
+ row: margeRow,
7634
+ col: margeCol
7635
+ } = item;
7636
+ const mergeRowIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow) ? margeRow : -1;
7637
+ let mergeColumnIndex = -1;
7638
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)) {
7639
+ mergeColumnIndex = margeCol;
7640
+ } else {
7641
+ const colid = margeCol ? margeCol.id : null;
7642
+ const colRest = colid ? fullColumnIdData[colid] : null;
7643
+ if (colRest) {
7644
+ mergeColumnIndex = colRest._index;
7645
+ }
7646
+ }
7647
+ const mcIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mergeFooterList, item => item.row === mergeRowIndex && item.col === mergeColumnIndex);
7648
+ if (mcIndex > -1) {
7649
+ const rItems = mergeFooterList.splice(mcIndex, 1);
7650
+ const item = rItems[0];
7651
+ if (item) {
7652
+ rest.push(item);
7653
+ if (mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`]) {
7654
+ delete mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`];
7655
+ }
7656
+ }
7573
7657
  }
7574
7658
  });
7575
7659
  }
@@ -16774,11 +16858,11 @@ const Methods = {
16774
16858
  removeMergeCells(merges) {
16775
16859
  const $xeTable = this;
16776
16860
  const props = $xeTable;
16777
- const internalData = $xeTable;
16778
16861
  if (props.spanMethod) {
16779
16862
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
16780
16863
  }
16781
- const rest = removeMerges($xeTable, merges, internalData.mergeBodyList, internalData.afterFullData);
16864
+ const rest = removeBodyMerges($xeTable, merges);
16865
+ $xeTable.handleUpdateBodyMerge();
16782
16866
  return $xeTable.$nextTick().then(() => {
16783
16867
  $xeTable.updateCellAreas();
16784
16868
  updateStyle($xeTable);
@@ -16798,10 +16882,12 @@ const Methods = {
16798
16882
  */
16799
16883
  clearMergeCells() {
16800
16884
  const $xeTable = this;
16885
+ const reactData = $xeTable;
16801
16886
  const internalData = $xeTable;
16802
16887
  internalData.mergeBodyList = [];
16803
16888
  internalData.mergeBodyMaps = {};
16804
16889
  internalData.mergeBodyCellMaps = {};
16890
+ reactData.mergeBodyFlag++;
16805
16891
  return $xeTable.$nextTick().then(() => {
16806
16892
  return updateStyle($xeTable);
16807
16893
  });
@@ -16822,11 +16908,11 @@ const Methods = {
16822
16908
  removeMergeFooterItems(merges) {
16823
16909
  const $xeTable = this;
16824
16910
  const props = $xeTable;
16825
- const internalData = $xeTable;
16826
16911
  if (props.footerSpanMethod) {
16827
16912
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
16828
16913
  }
16829
- const rest = removeMerges($xeTable, merges, internalData.mergeFooterList);
16914
+ const rest = removeFooterMerges($xeTable, merges);
16915
+ $xeTable.handleUpdateFooterMerge();
16830
16916
  return $xeTable.$nextTick().then(() => {
16831
16917
  $xeTable.updateCellAreas();
16832
16918
  updateStyle($xeTable);
@@ -16846,10 +16932,12 @@ const Methods = {
16846
16932
  */
16847
16933
  clearMergeFooterItems() {
16848
16934
  const $xeTable = this;
16935
+ const reactData = $xeTable;
16849
16936
  const internalData = $xeTable;
16850
16937
  internalData.mergeFooterList = [];
16851
16938
  internalData.mergeFooterMaps = {};
16852
16939
  internalData.mergeFooterCellMaps = {};
16940
+ reactData.mergeFootFlag++;
16853
16941
  return $xeTable.$nextTick().then(() => {
16854
16942
  return updateStyle($xeTable);
16855
16943
  });