vxe-table 3.11.39 → 3.12.0-beta.1

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 (61) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/custom/panel.js +6 -2
  6. package/es/table/render/index.js +3 -1
  7. package/es/table/src/body.js +56 -13
  8. package/es/table/src/footer.js +28 -3
  9. package/es/table/src/header.js +36 -6
  10. package/es/table/src/methods.js +136 -104
  11. package/es/table/src/table.js +5 -13
  12. package/es/table/style.css +3 -5
  13. package/es/table/style.min.css +1 -1
  14. package/es/ui/index.js +5 -3
  15. package/es/ui/src/log.js +1 -1
  16. package/es/vxe-table/style.css +3 -5
  17. package/es/vxe-table/style.min.css +1 -1
  18. package/lib/index.css +1 -1
  19. package/lib/index.min.css +1 -1
  20. package/lib/index.umd.js +294 -166
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/style.min.css +1 -1
  24. package/lib/table/module/custom/panel.js +6 -4
  25. package/lib/table/module/custom/panel.min.js +1 -1
  26. package/lib/table/render/index.js +3 -1
  27. package/lib/table/render/index.min.js +1 -1
  28. package/lib/table/src/body.js +58 -13
  29. package/lib/table/src/body.min.js +1 -1
  30. package/lib/table/src/footer.js +31 -3
  31. package/lib/table/src/footer.min.js +1 -1
  32. package/lib/table/src/header.js +39 -6
  33. package/lib/table/src/header.min.js +1 -1
  34. package/lib/table/src/methods.js +146 -120
  35. package/lib/table/src/methods.min.js +1 -1
  36. package/lib/table/src/table.js +5 -15
  37. package/lib/table/src/table.min.js +1 -1
  38. package/lib/table/style/style.css +3 -5
  39. package/lib/table/style/style.min.css +1 -1
  40. package/lib/ui/index.js +5 -3
  41. package/lib/ui/index.min.js +1 -1
  42. package/lib/ui/src/log.js +1 -1
  43. package/lib/ui/src/log.min.js +1 -1
  44. package/lib/vxe-table/style/style.css +3 -5
  45. package/lib/vxe-table/style/style.min.css +1 -1
  46. package/package.json +1 -1
  47. package/packages/table/module/custom/panel.ts +7 -2
  48. package/packages/table/render/index.ts +3 -1
  49. package/packages/table/src/body.ts +56 -13
  50. package/packages/table/src/footer.ts +28 -3
  51. package/packages/table/src/header.ts +40 -7
  52. package/packages/table/src/methods.ts +140 -109
  53. package/packages/table/src/table.ts +6 -15
  54. package/packages/ui/index.ts +4 -2
  55. package/styles/components/table.scss +1 -3
  56. /package/es/{iconfont.1735027791418.ttf → iconfont.1735108867776.ttf} +0 -0
  57. /package/es/{iconfont.1735027791418.woff → iconfont.1735108867776.woff} +0 -0
  58. /package/es/{iconfont.1735027791418.woff2 → iconfont.1735108867776.woff2} +0 -0
  59. /package/lib/{iconfont.1735027791418.ttf → iconfont.1735108867776.ttf} +0 -0
  60. /package/lib/{iconfont.1735027791418.woff → iconfont.1735108867776.woff} +0 -0
  61. /package/lib/{iconfont.1735027791418.woff2 → iconfont.1735108867776.woff2} +0 -0
@@ -21,8 +21,6 @@ const {
21
21
  interceptor,
22
22
  createEvent
23
23
  } = _ui.VxeUI;
24
- // const isWebkit = browse['-webkit'] && !browse.edge
25
- // const debounceScrollYDuration = browse.msie ? 80 : 20
26
24
  const customStorageKey = 'VXE_CUSTOM_STORE';
27
25
  // 获取所有的列,排除分组
28
26
  const getColumnList = columns => {
@@ -356,7 +354,7 @@ const calcCellHeight = $xeTable => {
356
354
  const {
357
355
  fullAllDataRowIdData
358
356
  } = internalData;
359
- const el = $xeTable.$el;
357
+ const el = $xeTable.$refs.refElem;
360
358
  if (!showOverflow && (scrollXLoad || scrollYLoad) && el) {
361
359
  let paddingTop = 0;
362
360
  let paddingBottom = 0;
@@ -364,28 +362,27 @@ const calcCellHeight = $xeTable => {
364
362
  tableData.forEach(row => {
365
363
  const rowid = (0, _util.getRowid)($xeTable, row);
366
364
  const rowRest = fullAllDataRowIdData[rowid];
367
- const trList = el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`);
368
- if (rowRest && trList.length) {
365
+ const cellList = el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]>.vxe-body--column>.vxe-cell`);
366
+ if (rowRest && cellList.length) {
369
367
  let height = 0;
370
- for (let i = 0; i < trList.length; i++) {
371
- const trEl = trList[i];
372
- const tdList = trEl.children;
373
- for (let j = 0; j < tdList.length; j++) {
374
- const tdEl = tdList[j];
375
- const cellElem = tdEl.querySelector('.vxe-cell');
376
- if (!calcPadding) {
377
- paddingTop = _xeUtils.default.toNumber(getComputedStyle(tdEl).paddingTop);
378
- paddingBottom = _xeUtils.default.toNumber(getComputedStyle(tdEl).paddingBottom);
379
- calcPadding = true;
380
- }
381
- let cellHeight = paddingTop + paddingBottom;
382
- if (cellElem) {
383
- cellHeight += cellElem.offsetHeight;
384
- }
385
- height = Math.max(height, cellHeight);
368
+ for (let i = 0; i < cellList.length; i++) {
369
+ const cellElem = cellList[i];
370
+ const tdEl = cellElem.parentElement;
371
+ if (!tdEl || !tdEl.clientWidth) {
372
+ break;
373
+ }
374
+ if (!calcPadding) {
375
+ paddingTop = _xeUtils.default.toNumber(getComputedStyle(tdEl).paddingTop);
376
+ paddingBottom = _xeUtils.default.toNumber(getComputedStyle(tdEl).paddingBottom);
377
+ calcPadding = true;
378
+ }
379
+ let cellHeight = paddingTop + paddingBottom;
380
+ if (cellElem) {
381
+ cellHeight += cellElem.clientHeight;
386
382
  }
383
+ height = Math.max(height, cellHeight);
387
384
  }
388
- rowRest.height = height;
385
+ rowRest.height = scrollXLoad ? Math.max(rowRest.height, height) : height;
389
386
  }
390
387
  });
391
388
  }
@@ -516,15 +513,22 @@ function showDropTip($xeTable, evnt, trEl, thEl, showLine, dragPos) {
516
513
  prevDragToChild
517
514
  } = internalData;
518
515
  const wrapperRect = el.getBoundingClientRect();
516
+ const tableWidth = el.clientWidth;
517
+ const tableHeight = el.clientHeight;
519
518
  if (trEl) {
520
519
  const rdLineEl = $xeTable.$refs.refDragRowLineElem;
521
520
  if (rdLineEl) {
522
521
  if (showLine) {
523
522
  const trRect = trEl.getBoundingClientRect();
523
+ let trHeight = trEl.clientHeight;
524
+ const offsetTop = Math.max(1, trRect.y - wrapperRect.y);
525
+ if (offsetTop + trHeight > tableHeight - scrollbarHeight) {
526
+ trHeight = tableHeight - offsetTop - scrollbarHeight;
527
+ }
524
528
  rdLineEl.style.display = 'block';
525
- rdLineEl.style.top = `${Math.max(1, trRect.y - wrapperRect.y)}px`;
526
- rdLineEl.style.height = `${trRect.height}px`;
527
- rdLineEl.style.width = `${wrapperRect.width - scrollbarWidth}px`;
529
+ rdLineEl.style.top = `${offsetTop}px`;
530
+ rdLineEl.style.height = `${trHeight}px`;
531
+ rdLineEl.style.width = `${tableWidth - scrollbarWidth}px`;
528
532
  rdLineEl.setAttribute('drag-pos', dragPos);
529
533
  rdLineEl.setAttribute('drag-to-child', prevDragToChild ? 'y' : 'n');
530
534
  } else {
@@ -535,16 +539,31 @@ function showDropTip($xeTable, evnt, trEl, thEl, showLine, dragPos) {
535
539
  const cdLineEl = $xeTable.$refs.refDragColLineElem;
536
540
  if (cdLineEl) {
537
541
  if (showLine) {
542
+ const leftContainerElem = $xeTable.$refs.leftContainer;
543
+ const leftContainerWidth = leftContainerElem ? leftContainerElem.clientWidth : 0;
544
+ const rightContainerElem = $xeTable.$refs.rightContainer;
545
+ const rightContainerWidth = rightContainerElem ? rightContainerElem.clientWidth : 0;
538
546
  const thRect = thEl.getBoundingClientRect();
547
+ let thWidth = thEl.clientWidth;
539
548
  const offsetTop = Math.max(0, thRect.y - wrapperRect.y);
549
+ const startX = leftContainerWidth;
550
+ let offsetLeft = thRect.x - wrapperRect.x;
551
+ if (offsetLeft < startX) {
552
+ thWidth -= startX - offsetLeft;
553
+ offsetLeft = startX;
554
+ }
555
+ const endX = tableWidth - rightContainerWidth - (rightContainerWidth ? 0 : scrollbarWidth);
556
+ if (offsetLeft + thWidth > endX) {
557
+ thWidth = endX - offsetLeft;
558
+ }
540
559
  cdLineEl.style.display = 'block';
541
560
  cdLineEl.style.top = `${offsetTop}px`;
542
- cdLineEl.style.left = `${Math.max(1, thRect.x - wrapperRect.x)}px`;
543
- cdLineEl.style.width = `${thRect.width}px`;
561
+ cdLineEl.style.left = `${offsetLeft}px`;
562
+ cdLineEl.style.width = `${thWidth}px`;
544
563
  if (prevDragToChild) {
545
564
  cdLineEl.style.height = `${thRect.height}px`;
546
565
  } else {
547
- cdLineEl.style.height = `${wrapperRect.height - offsetTop - scrollbarHeight}px`;
566
+ cdLineEl.style.height = `${tableHeight - offsetTop - scrollbarHeight}px`;
548
567
  }
549
568
  cdLineEl.setAttribute('drag-pos', dragPos);
550
569
  cdLineEl.setAttribute('drag-to-child', prevDragToChild ? 'y' : 'n');
@@ -1030,7 +1049,7 @@ const Methods = {
1030
1049
  return Promise.resolve(this.restoreCustomStorage()).then(() => {
1031
1050
  this._isLoading = false;
1032
1051
  this.cacheColumnMap();
1033
- this.parseColumns().then(() => {
1052
+ this.parseColumns(true).then(() => {
1034
1053
  if (this.scrollXLoad) {
1035
1054
  this.loadScrollXData(true);
1036
1055
  }
@@ -2902,15 +2921,11 @@ const Methods = {
2902
2921
  /**
2903
2922
  * 刷新列配置
2904
2923
  */
2905
- refreshColumn(initOrder) {
2906
- if (initOrder) {
2907
- const columnList = _xeUtils.default.orderBy(this.collectColumn, 'renderSortNumber');
2908
- this.collectColumn = columnList;
2909
- const tableFullColumn = getColumnList(columnList);
2910
- this.tableFullColumn = tableFullColumn;
2911
- this.cacheColumnMap();
2924
+ refreshColumn(initSort) {
2925
+ if (initSort) {
2926
+ this.handleUpdateColumn();
2912
2927
  }
2913
- return this.parseColumns().then(() => {
2928
+ return this.parseColumns(true).then(() => {
2914
2929
  return this.refreshScroll();
2915
2930
  }).then(() => {
2916
2931
  return this.recalculate();
@@ -2920,7 +2935,7 @@ const Methods = {
2920
2935
  * 刷新列信息
2921
2936
  * 将固定的列左边、右边分别靠边
2922
2937
  */
2923
- parseColumns() {
2938
+ parseColumns(isReset) {
2924
2939
  const $xeTable = this;
2925
2940
  const props = $xeTable;
2926
2941
  const internalData = $xeTable;
@@ -3024,12 +3039,14 @@ const Methods = {
3024
3039
  (0, _log.warnLog)('vxe.error.scrollErrProp', ['footer-span-method']);
3025
3040
  }
3026
3041
  }
3027
- const {
3028
- visibleSize
3029
- } = handleVirtualXVisible(this);
3030
- scrollXStore.startIndex = 0;
3031
- scrollXStore.endIndex = visibleSize;
3032
- scrollXStore.visibleSize = visibleSize;
3042
+ if (isReset) {
3043
+ const {
3044
+ visibleSize
3045
+ } = handleVirtualXVisible(this);
3046
+ scrollXStore.startIndex = 0;
3047
+ scrollXStore.endIndex = visibleSize;
3048
+ scrollXStore.visibleSize = visibleSize;
3049
+ }
3033
3050
  }
3034
3051
  // 如果列被显示/隐藏,则清除合并状态
3035
3052
  // 如果列被设置为固定,则清除合并状态
@@ -3047,12 +3064,15 @@ const Methods = {
3047
3064
  });
3048
3065
  this.visibleColumn = visibleColumn;
3049
3066
  this.handleTableColumn();
3050
- return this.updateFooter().then(() => {
3051
- return this.recalculate();
3052
- }).then(() => {
3053
- this.updateCellAreas();
3054
- return this.recalculate();
3055
- });
3067
+ if (isReset) {
3068
+ return this.updateFooter().then(() => {
3069
+ return this.recalculate();
3070
+ }).then(() => {
3071
+ this.updateCellAreas();
3072
+ return this.recalculate();
3073
+ });
3074
+ }
3075
+ return this.updateFooter();
3056
3076
  },
3057
3077
  /**
3058
3078
  * 指定列宽的列进行拆分
@@ -3383,56 +3403,6 @@ const Methods = {
3383
3403
  this.checkScrolling();
3384
3404
  }
3385
3405
  },
3386
- calcCellHeight() {
3387
- const $xeTable = this;
3388
- const props = $xeTable;
3389
- const reactData = $xeTable;
3390
- const internalData = $xeTable;
3391
- const {
3392
- showOverflow
3393
- } = props;
3394
- const {
3395
- tableData,
3396
- scrollXLoad,
3397
- scrollYLoad
3398
- } = reactData;
3399
- const {
3400
- fullAllDataRowIdData
3401
- } = internalData;
3402
- const el = $xeTable.$el;
3403
- if (!showOverflow && (scrollXLoad || scrollYLoad) && el) {
3404
- let paddingTop = 0;
3405
- let paddingBottom = 0;
3406
- let calcPadding = false;
3407
- tableData.forEach(row => {
3408
- const rowid = (0, _util.getRowid)($xeTable, row);
3409
- const rowRest = fullAllDataRowIdData[rowid];
3410
- const trList = el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`);
3411
- if (rowRest && trList.length) {
3412
- let height = 0;
3413
- for (let i = 0; i < trList.length; i++) {
3414
- const trEl = trList[i];
3415
- const tdList = trEl.children;
3416
- for (let j = 0; j < tdList.length; j++) {
3417
- const tdEl = tdList[j];
3418
- const cellElem = tdEl.querySelector('.vxe-cell');
3419
- if (!calcPadding) {
3420
- paddingTop = _xeUtils.default.toNumber(getComputedStyle(tdEl).paddingTop);
3421
- paddingBottom = _xeUtils.default.toNumber(getComputedStyle(tdEl).paddingBottom);
3422
- calcPadding = true;
3423
- }
3424
- let cellHeight = paddingTop + paddingBottom;
3425
- if (cellElem) {
3426
- cellHeight += cellElem.offsetHeight;
3427
- }
3428
- height = Math.max(height, cellHeight);
3429
- }
3430
- }
3431
- rowRest.height = scrollXLoad ? Math.max(rowRest.height, height) : height;
3432
- }
3433
- });
3434
- }
3435
- },
3436
3406
  updateHeight() {
3437
3407
  this.customHeight = calcTableHeight(this, 'height');
3438
3408
  this.customMinHeight = calcTableHeight(this, 'minHeight');
@@ -3528,7 +3498,7 @@ const Methods = {
3528
3498
  } else {
3529
3499
  if (fixedType) {
3530
3500
  // 如果是使用优化模式
3531
- if (allColumnHeaderOverflow) {
3501
+ if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
3532
3502
  // 如果不支持优化模式
3533
3503
  if (spanMethod || footerSpanMethod) {
3534
3504
  renderColumnList = visibleColumn;
@@ -3650,7 +3620,7 @@ const Methods = {
3650
3620
  let renderColumnList = tableColumn;
3651
3621
  if (fixedType) {
3652
3622
  // 如果是使用优化模式
3653
- if (allColumnFooterOverflow) {
3623
+ if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
3654
3624
  // 如果不支持优化模式
3655
3625
  if (spanMethod || footerSpanMethod) {
3656
3626
  renderColumnList = visibleColumn;
@@ -6101,7 +6071,10 @@ const Methods = {
6101
6071
  const triggerFilter = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--filter').flag;
6102
6072
  let triggerDrag = false;
6103
6073
  if (!(triggerInput || triggerCheckbox || triggerSort || triggerFilter)) {
6104
- if (columnOpts.drag && trigger === 'cell' && !(disabledMethod && disabledMethod(params))) {
6074
+ const {
6075
+ column
6076
+ } = params;
6077
+ if (columnOpts.drag && !column.fixed && trigger === 'cell' && !(disabledMethod && disabledMethod(params))) {
6105
6078
  triggerDrag = true;
6106
6079
  $xeTable.handleHeaderCellDragMousedownEvent(evnt, params);
6107
6080
  }
@@ -6478,7 +6451,7 @@ const Methods = {
6478
6451
  evnt.dataTransfer.setDragImage(img, 0, 0);
6479
6452
  }
6480
6453
  },
6481
- handleHeaderCellDragDragendEvent(evnt) {
6454
+ handleColDragSwapEvent(evnt, isSyncColumn, dragCol, prevDragCol, prevDragPos, prevDragToChild) {
6482
6455
  const $xeTable = this;
6483
6456
  const props = $xeTable;
6484
6457
  const reactData = $xeTable;
@@ -6494,13 +6467,7 @@ const Methods = {
6494
6467
  dragEndMethod
6495
6468
  } = columnDragOpts;
6496
6469
  const {
6497
- dragCol
6498
- } = reactData;
6499
- const {
6500
- collectColumn,
6501
- prevDragCol,
6502
- prevDragPos,
6503
- prevDragToChild
6470
+ collectColumn
6504
6471
  } = internalData;
6505
6472
  const dragOffsetIndex = prevDragPos === 'right' ? 1 : 0;
6506
6473
  if (prevDragCol && dragCol) {
@@ -6508,7 +6475,7 @@ const Methods = {
6508
6475
  if (prevDragCol !== dragCol) {
6509
6476
  const oldColumn = dragCol;
6510
6477
  const newColumn = prevDragCol;
6511
- Promise.resolve(dragEndMethod ? dragEndMethod({
6478
+ return Promise.resolve(dragEndMethod ? dragEndMethod({
6512
6479
  oldColumn,
6513
6480
  newColumn,
6514
6481
  dragPos: prevDragPos,
@@ -6629,9 +6596,6 @@ const Methods = {
6629
6596
  $xeTable.clearCopyCellArea();
6630
6597
  }
6631
6598
  }
6632
- $xeTable.refreshColumn(true).then(() => {
6633
- $xeTable.updateCellAreas();
6634
- });
6635
6599
  $xeTable.dispatchEvent('column-dragend', {
6636
6600
  oldColumn,
6637
6601
  newColumn,
@@ -6642,10 +6606,31 @@ const Methods = {
6642
6606
  oldIndex: oafIndex
6643
6607
  }
6644
6608
  }, evnt);
6645
- $xeTable.saveCustomStore('update:sort');
6609
+ if (isSyncColumn) {
6610
+ $xeTable.handleUpdateColumn();
6611
+ $xeTable.parseColumns(false).then(() => {
6612
+ $xeTable.updateCellAreas();
6613
+ return $xeTable.saveCustomStore('update:sort');
6614
+ });
6615
+ }
6646
6616
  }).catch(() => {});
6647
6617
  }
6648
6618
  }
6619
+ return Promise.resolve();
6620
+ },
6621
+ handleHeaderCellDragDragendEvent(evnt) {
6622
+ const $xeTable = this;
6623
+ const reactData = $xeTable;
6624
+ const internalData = $xeTable;
6625
+ const {
6626
+ dragCol
6627
+ } = reactData;
6628
+ const {
6629
+ prevDragCol,
6630
+ prevDragPos,
6631
+ prevDragToChild
6632
+ } = internalData;
6633
+ $xeTable.handleColDragSwapEvent(evnt, true, dragCol, prevDragCol, prevDragPos, prevDragToChild);
6649
6634
  hideDropTip($xeTable);
6650
6635
  clearColDropOrigin($xeTable);
6651
6636
  internalData.prevDragToChild = false;
@@ -6653,6 +6638,9 @@ const Methods = {
6653
6638
  reactData.dragCol = null;
6654
6639
  setTimeout(() => {
6655
6640
  reactData.isDragColMove = false;
6641
+ $xeTable.recalculate().then(() => {
6642
+ $xeTable.loadScrollXData();
6643
+ });
6656
6644
  }, 500);
6657
6645
  },
6658
6646
  handleHeaderCellDragDragoverEvent(evnt) {
@@ -6678,11 +6666,11 @@ const Methods = {
6678
6666
  if (column) {
6679
6667
  evnt.preventDefault();
6680
6668
  const {
6681
- dragCol
6682
- } = reactData;
6683
- const offsetX = evnt.clientX - thEl.getBoundingClientRect().x;
6669
+ clientX
6670
+ } = evnt;
6671
+ const offsetX = clientX - thEl.getBoundingClientRect().x;
6684
6672
  const dragPos = offsetX < thEl.clientWidth / 2 ? 'left' : 'right';
6685
- if (dragCol && dragCol.id === column.id || !isCrossDrag && column.parentId) {
6673
+ if (column.fixed || dragCol && dragCol.id === column.id || !isCrossDrag && column.parentId) {
6686
6674
  showDropTip($xeTable, evnt, null, thEl, false, dragPos);
6687
6675
  return;
6688
6676
  }
@@ -6695,6 +6683,35 @@ const Methods = {
6695
6683
  targetColumn: column,
6696
6684
  dragPos
6697
6685
  }, evnt);
6686
+ // 边缘滚动
6687
+ const el = $xeTable.$refs.refElem;
6688
+ if (!el) {
6689
+ return;
6690
+ }
6691
+ const xHandleEl = $xeTable.$refs.refScrollXHandleElem;
6692
+ const tableBody = $xeTable.$refs.tableBody;
6693
+ const tableBodyElem = tableBody ? tableBody.$el : null;
6694
+ const scrollTargetEl = xHandleEl || tableBodyElem;
6695
+ if (scrollTargetEl) {
6696
+ const wrapperRect = el.getBoundingClientRect();
6697
+ const tableWidth = el.clientWidth;
6698
+ const leftContainerElem = $xeTable.$refs.leftContainer;
6699
+ const leftContainerWidth = leftContainerElem ? leftContainerElem.clientWidth : 0;
6700
+ const rightContainerElem = $xeTable.$refs.rightContainer;
6701
+ const rightContainerWidth = rightContainerElem ? rightContainerElem.clientWidth : 0;
6702
+ const srartX = wrapperRect.x + leftContainerWidth;
6703
+ const endX = wrapperRect.x + tableWidth - rightContainerWidth;
6704
+ const distSize = 28;
6705
+ const startDistSize = clientX - srartX;
6706
+ const endDistSize = endX - clientX;
6707
+ if (startDistSize > 0 && startDistSize <= distSize) {
6708
+ const scrollRatio = Math.floor(tableWidth / (startDistSize > distSize / 2 ? 240 : 120));
6709
+ scrollTargetEl.scrollLeft -= scrollRatio * (distSize - startDistSize);
6710
+ } else if (endDistSize > 0 && endDistSize <= distSize) {
6711
+ const scrollRatio = Math.floor(tableWidth / (endDistSize > distSize / 2 ? 240 : 120));
6712
+ scrollTargetEl.scrollLeft += scrollRatio * (distSize - endDistSize);
6713
+ }
6714
+ }
6698
6715
  }
6699
6716
  },
6700
6717
  handleHeaderCellDragMousedownEvent(evnt, params) {
@@ -8246,6 +8263,15 @@ const Methods = {
8246
8263
  });
8247
8264
  this.tableColumn = tableColumn;
8248
8265
  },
8266
+ handleUpdateColumn() {
8267
+ const $xeTable = this;
8268
+ const internalData = $xeTable;
8269
+ const columnList = _xeUtils.default.orderBy(internalData.collectColumn, 'renderSortNumber');
8270
+ internalData.collectColumn = columnList;
8271
+ const tableFullColumn = getColumnList(columnList);
8272
+ internalData.tableFullColumn = tableFullColumn;
8273
+ $xeTable.cacheColumnMap();
8274
+ },
8249
8275
  updateScrollXData() {
8250
8276
  const $xeTable = this;
8251
8277
  const props = $xeTable;