vxe-table 3.15.19 → 3.15.20

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.
@@ -1800,7 +1800,7 @@ const handleFooterMerge = ($xeTable, merges) => {
1800
1800
  const reactData = $xeTable;
1801
1801
  const internalData = $xeTable;
1802
1802
  const { footerTableData } = reactData;
1803
- const { mergeFooterList, mergeFooterMaps } = internalData;
1803
+ const { mergeFooterList, mergeFooterMaps, fullColumnIdData } = internalData;
1804
1804
  if (merges) {
1805
1805
  const { visibleColumn } = internalData;
1806
1806
  if (!XEUtils.isArray(merges)) {
@@ -1813,6 +1813,13 @@ const handleFooterMerge = ($xeTable, merges) => {
1813
1813
  if (XEUtils.isNumber(margeCol)) {
1814
1814
  mergeColumnIndex = margeCol;
1815
1815
  }
1816
+ else {
1817
+ const colid = margeCol ? margeCol.id : null;
1818
+ const colRest = colid ? fullColumnIdData[colid] : null;
1819
+ if (colRest) {
1820
+ mergeColumnIndex = colRest._index;
1821
+ }
1822
+ }
1816
1823
  if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
1817
1824
  rowspan = XEUtils.toNumber(rowspan) || 1;
1818
1825
  colspan = XEUtils.toNumber(colspan) || 1;
@@ -1845,31 +1852,80 @@ const handleFooterMerge = ($xeTable, merges) => {
1845
1852
  });
1846
1853
  }
1847
1854
  };
1848
- function removeMerges($xeTable, merges, mList, rowList) {
1849
- // const props = $xeTable
1855
+ function removeBodyMerges($xeTable, merges) {
1850
1856
  const internalData = $xeTable;
1857
+ const { mergeBodyList, fullColumnIdData, fullAllDataRowIdData } = internalData;
1851
1858
  const rest = [];
1852
1859
  if (merges) {
1853
- // const { treeConfig } = props
1854
- const { visibleColumn } = internalData;
1860
+ const { handleGetRowId } = createHandleGetRowId($xeTable);
1855
1861
  if (!XEUtils.isArray(merges)) {
1856
1862
  merges = [merges];
1857
1863
  }
1858
- // if (treeConfig && merges.length) {
1859
- // errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
1860
- // }
1861
1864
  merges.forEach((item) => {
1862
- let { row, col } = item;
1863
- if (rowList && XEUtils.isNumber(row)) {
1864
- row = rowList[row];
1865
+ const { row: margeRow, col: margeCol } = item;
1866
+ let mergeRowIndex = -1;
1867
+ let mergeColumnIndex = -1;
1868
+ if (XEUtils.isNumber(margeRow)) {
1869
+ mergeRowIndex = margeRow;
1865
1870
  }
1866
- if (XEUtils.isNumber(col)) {
1867
- col = visibleColumn[col];
1871
+ else {
1872
+ const rowid = margeRow ? handleGetRowId(margeRow) : null;
1873
+ const rowRest = rowid ? fullAllDataRowIdData[rowid] : null;
1874
+ if (rowRest) {
1875
+ mergeRowIndex = rowRest._index;
1876
+ }
1877
+ }
1878
+ if (XEUtils.isNumber(margeCol)) {
1879
+ mergeColumnIndex = margeCol;
1880
+ }
1881
+ else {
1882
+ const colid = margeCol ? margeCol.id : null;
1883
+ const colRest = colid ? fullColumnIdData[colid] : null;
1884
+ if (colRest) {
1885
+ mergeColumnIndex = colRest._index;
1886
+ }
1887
+ }
1888
+ const mcIndex = XEUtils.findIndexOf(mergeBodyList, item => (item.row === mergeRowIndex) && (item.col === mergeColumnIndex));
1889
+ if (mcIndex > -1) {
1890
+ const rItems = mergeBodyList.splice(mcIndex, 1);
1891
+ const item = rItems[0];
1892
+ if (item) {
1893
+ rest.push(rItems[0]);
1894
+ }
1895
+ }
1896
+ });
1897
+ }
1898
+ return rest;
1899
+ }
1900
+ function removeFooterMerges($xeTable, merges) {
1901
+ const internalData = $xeTable;
1902
+ const { mergeFooterList, fullColumnIdData } = internalData;
1903
+ const rest = [];
1904
+ if (merges) {
1905
+ if (!XEUtils.isArray(merges)) {
1906
+ merges = [merges];
1907
+ }
1908
+ merges.forEach((item) => {
1909
+ const { row: margeRow, col: margeCol } = item;
1910
+ const mergeRowIndex = XEUtils.isNumber(margeRow) ? margeRow : -1;
1911
+ let mergeColumnIndex = -1;
1912
+ if (XEUtils.isNumber(margeCol)) {
1913
+ mergeColumnIndex = margeCol;
1868
1914
  }
1869
- const mcIndex = XEUtils.findIndexOf(mList, item => item._row === row && item._col === col);
1915
+ else {
1916
+ const colid = margeCol ? margeCol.id : null;
1917
+ const colRest = colid ? fullColumnIdData[colid] : null;
1918
+ if (colRest) {
1919
+ mergeColumnIndex = colRest._index;
1920
+ }
1921
+ }
1922
+ const mcIndex = XEUtils.findIndexOf(mergeFooterList, item => item.row === mergeRowIndex && item.col === mergeColumnIndex);
1870
1923
  if (mcIndex > -1) {
1871
- const rItems = mList.splice(mcIndex, 1);
1872
- rest.push(rItems[0]);
1924
+ const rItems = mergeFooterList.splice(mcIndex, 1);
1925
+ const item = rItems[0];
1926
+ if (item) {
1927
+ rest.push(item);
1928
+ }
1873
1929
  }
1874
1930
  });
1875
1931
  }
@@ -9833,11 +9889,11 @@ const Methods = {
9833
9889
  removeMergeCells(merges) {
9834
9890
  const $xeTable = this;
9835
9891
  const props = $xeTable;
9836
- const internalData = $xeTable;
9837
9892
  if (props.spanMethod) {
9838
9893
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
9839
9894
  }
9840
- const rest = removeMerges($xeTable, merges, internalData.mergeBodyList, internalData.afterFullData);
9895
+ const rest = removeBodyMerges($xeTable, merges);
9896
+ $xeTable.handleUpdateBodyMerge();
9841
9897
  return $xeTable.$nextTick().then(() => {
9842
9898
  $xeTable.updateCellAreas();
9843
9899
  updateStyle($xeTable);
@@ -9857,10 +9913,12 @@ const Methods = {
9857
9913
  */
9858
9914
  clearMergeCells() {
9859
9915
  const $xeTable = this;
9916
+ const reactData = $xeTable;
9860
9917
  const internalData = $xeTable;
9861
9918
  internalData.mergeBodyList = [];
9862
9919
  internalData.mergeBodyMaps = {};
9863
9920
  internalData.mergeBodyCellMaps = {};
9921
+ reactData.mergeBodyFlag++;
9864
9922
  return $xeTable.$nextTick().then(() => {
9865
9923
  return updateStyle($xeTable);
9866
9924
  });
@@ -9881,11 +9939,11 @@ const Methods = {
9881
9939
  removeMergeFooterItems(merges) {
9882
9940
  const $xeTable = this;
9883
9941
  const props = $xeTable;
9884
- const internalData = $xeTable;
9885
9942
  if (props.footerSpanMethod) {
9886
9943
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
9887
9944
  }
9888
- const rest = removeMerges($xeTable, merges, internalData.mergeFooterList);
9945
+ const rest = removeFooterMerges($xeTable, merges);
9946
+ $xeTable.handleUpdateFooterMerge();
9889
9947
  return $xeTable.$nextTick().then(() => {
9890
9948
  $xeTable.updateCellAreas();
9891
9949
  updateStyle($xeTable);
@@ -9905,10 +9963,12 @@ const Methods = {
9905
9963
  */
9906
9964
  clearMergeFooterItems() {
9907
9965
  const $xeTable = this;
9966
+ const reactData = $xeTable;
9908
9967
  const internalData = $xeTable;
9909
9968
  internalData.mergeFooterList = [];
9910
9969
  internalData.mergeFooterMaps = {};
9911
9970
  internalData.mergeFooterCellMaps = {};
9971
+ reactData.mergeFootFlag++;
9912
9972
  return $xeTable.$nextTick().then(() => {
9913
9973
  return updateStyle($xeTable);
9914
9974
  });
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.20";
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.20"}`;
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.20";
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.20"}`;
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
@@ -7488,7 +7488,8 @@ const handleFooterMerge = ($xeTable, merges) => {
7488
7488
  } = reactData;
7489
7489
  const {
7490
7490
  mergeFooterList,
7491
- mergeFooterMaps
7491
+ mergeFooterMaps,
7492
+ fullColumnIdData
7492
7493
  } = internalData;
7493
7494
  if (merges) {
7494
7495
  const {
@@ -7508,6 +7509,12 @@ const handleFooterMerge = ($xeTable, merges) => {
7508
7509
  let mergeColumnIndex = -1;
7509
7510
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)) {
7510
7511
  mergeColumnIndex = margeCol;
7512
+ } else {
7513
+ const colid = margeCol ? margeCol.id : null;
7514
+ const colRest = colid ? fullColumnIdData[colid] : null;
7515
+ if (colRest) {
7516
+ mergeColumnIndex = colRest._index;
7517
+ }
7511
7518
  }
7512
7519
  if (mergeRowIndex > -1 && mergeColumnIndex > -1 && (rowspan || colspan)) {
7513
7520
  rowspan = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(rowspan) || 1;
@@ -7540,36 +7547,92 @@ const handleFooterMerge = ($xeTable, merges) => {
7540
7547
  });
7541
7548
  }
7542
7549
  };
7543
- function removeMerges($xeTable, merges, mList, rowList) {
7544
- // const props = $xeTable
7550
+ function removeBodyMerges($xeTable, merges) {
7545
7551
  const internalData = $xeTable;
7552
+ const {
7553
+ mergeBodyList,
7554
+ fullColumnIdData,
7555
+ fullAllDataRowIdData
7556
+ } = internalData;
7546
7557
  const rest = [];
7547
7558
  if (merges) {
7548
- // const { treeConfig } = props
7549
7559
  const {
7550
- visibleColumn
7551
- } = internalData;
7560
+ handleGetRowId
7561
+ } = createHandleGetRowId($xeTable);
7552
7562
  if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)) {
7553
7563
  merges = [merges];
7554
7564
  }
7555
- // if (treeConfig && merges.length) {
7556
- // errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
7557
- // }
7558
7565
  merges.forEach(item => {
7559
- let {
7560
- row,
7561
- col
7566
+ const {
7567
+ row: margeRow,
7568
+ col: margeCol
7562
7569
  } = item;
7563
- if (rowList && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)) {
7564
- row = rowList[row];
7570
+ let mergeRowIndex = -1;
7571
+ let mergeColumnIndex = -1;
7572
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)) {
7573
+ mergeRowIndex = margeRow;
7574
+ } else {
7575
+ const rowid = margeRow ? handleGetRowId(margeRow) : null;
7576
+ const rowRest = rowid ? fullAllDataRowIdData[rowid] : null;
7577
+ if (rowRest) {
7578
+ mergeRowIndex = rowRest._index;
7579
+ }
7565
7580
  }
7566
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(col)) {
7567
- col = visibleColumn[col];
7581
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)) {
7582
+ mergeColumnIndex = margeCol;
7583
+ } else {
7584
+ const colid = margeCol ? margeCol.id : null;
7585
+ const colRest = colid ? fullColumnIdData[colid] : null;
7586
+ if (colRest) {
7587
+ mergeColumnIndex = colRest._index;
7588
+ }
7589
+ }
7590
+ const mcIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mergeBodyList, item => item.row === mergeRowIndex && item.col === mergeColumnIndex);
7591
+ if (mcIndex > -1) {
7592
+ const rItems = mergeBodyList.splice(mcIndex, 1);
7593
+ const item = rItems[0];
7594
+ if (item) {
7595
+ rest.push(rItems[0]);
7596
+ }
7568
7597
  }
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);
7598
+ });
7599
+ }
7600
+ return rest;
7601
+ }
7602
+ function removeFooterMerges($xeTable, merges) {
7603
+ const internalData = $xeTable;
7604
+ const {
7605
+ mergeFooterList,
7606
+ fullColumnIdData
7607
+ } = internalData;
7608
+ const rest = [];
7609
+ if (merges) {
7610
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)) {
7611
+ merges = [merges];
7612
+ }
7613
+ merges.forEach(item => {
7614
+ const {
7615
+ row: margeRow,
7616
+ col: margeCol
7617
+ } = item;
7618
+ const mergeRowIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow) ? margeRow : -1;
7619
+ let mergeColumnIndex = -1;
7620
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)) {
7621
+ mergeColumnIndex = margeCol;
7622
+ } else {
7623
+ const colid = margeCol ? margeCol.id : null;
7624
+ const colRest = colid ? fullColumnIdData[colid] : null;
7625
+ if (colRest) {
7626
+ mergeColumnIndex = colRest._index;
7627
+ }
7628
+ }
7629
+ const mcIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mergeFooterList, item => item.row === mergeRowIndex && item.col === mergeColumnIndex);
7570
7630
  if (mcIndex > -1) {
7571
- const rItems = mList.splice(mcIndex, 1);
7572
- rest.push(rItems[0]);
7631
+ const rItems = mergeFooterList.splice(mcIndex, 1);
7632
+ const item = rItems[0];
7633
+ if (item) {
7634
+ rest.push(item);
7635
+ }
7573
7636
  }
7574
7637
  });
7575
7638
  }
@@ -16774,11 +16837,11 @@ const Methods = {
16774
16837
  removeMergeCells(merges) {
16775
16838
  const $xeTable = this;
16776
16839
  const props = $xeTable;
16777
- const internalData = $xeTable;
16778
16840
  if (props.spanMethod) {
16779
16841
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
16780
16842
  }
16781
- const rest = removeMerges($xeTable, merges, internalData.mergeBodyList, internalData.afterFullData);
16843
+ const rest = removeBodyMerges($xeTable, merges);
16844
+ $xeTable.handleUpdateBodyMerge();
16782
16845
  return $xeTable.$nextTick().then(() => {
16783
16846
  $xeTable.updateCellAreas();
16784
16847
  updateStyle($xeTable);
@@ -16798,10 +16861,12 @@ const Methods = {
16798
16861
  */
16799
16862
  clearMergeCells() {
16800
16863
  const $xeTable = this;
16864
+ const reactData = $xeTable;
16801
16865
  const internalData = $xeTable;
16802
16866
  internalData.mergeBodyList = [];
16803
16867
  internalData.mergeBodyMaps = {};
16804
16868
  internalData.mergeBodyCellMaps = {};
16869
+ reactData.mergeBodyFlag++;
16805
16870
  return $xeTable.$nextTick().then(() => {
16806
16871
  return updateStyle($xeTable);
16807
16872
  });
@@ -16822,11 +16887,11 @@ const Methods = {
16822
16887
  removeMergeFooterItems(merges) {
16823
16888
  const $xeTable = this;
16824
16889
  const props = $xeTable;
16825
- const internalData = $xeTable;
16826
16890
  if (props.footerSpanMethod) {
16827
16891
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
16828
16892
  }
16829
- const rest = removeMerges($xeTable, merges, internalData.mergeFooterList);
16893
+ const rest = removeFooterMerges($xeTable, merges);
16894
+ $xeTable.handleUpdateFooterMerge();
16830
16895
  return $xeTable.$nextTick().then(() => {
16831
16896
  $xeTable.updateCellAreas();
16832
16897
  updateStyle($xeTable);
@@ -16846,10 +16911,12 @@ const Methods = {
16846
16911
  */
16847
16912
  clearMergeFooterItems() {
16848
16913
  const $xeTable = this;
16914
+ const reactData = $xeTable;
16849
16915
  const internalData = $xeTable;
16850
16916
  internalData.mergeFooterList = [];
16851
16917
  internalData.mergeFooterMaps = {};
16852
16918
  internalData.mergeFooterCellMaps = {};
16919
+ reactData.mergeFootFlag++;
16853
16920
  return $xeTable.$nextTick().then(() => {
16854
16921
  return updateStyle($xeTable);
16855
16922
  });