vxe-table 4.23.0-beta.4 → 4.23.0-beta.6

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.
package/dist/all.esm.js CHANGED
@@ -56,7 +56,7 @@ function getDefaultConfig(val1, def1) {
56
56
  return XEUtils.eqNull(val1) ? def1 : val1;
57
57
  }
58
58
 
59
- const version = "4.23.0-beta.4";
59
+ const version = "4.23.0-beta.6";
60
60
  VxeUI.version = version;
61
61
  VxeUI.tableVersion = version;
62
62
  VxeUI.setConfig({
@@ -952,7 +952,7 @@ function getPopupAppendElement(appendTo) {
952
952
  }
953
953
 
954
954
  const { log } = VxeUI;
955
- const tableVersion = `table v${"4.23.0-beta.4"}`;
955
+ const tableVersion = `table v${"4.23.0-beta.6"}`;
956
956
  function createComponentLog(name) {
957
957
  const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
958
958
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -1316,9 +1316,34 @@ function createInternalData$3() {
1316
1316
  tooltipTimeout: null,
1317
1317
  initStatus: false,
1318
1318
  isActivated: false,
1319
+ // keyCtxTimeout: undefined,
1320
+ // 刷新布局
1319
1321
  // rceTimeout: undefined,
1320
1322
  // rceRunTime: undefined,
1321
1323
  rceDelay: 0
1324
+ // rsePending: false,
1325
+ // 滚动属性
1326
+ // intoRunScroll: false,
1327
+ // inVirtualScroll: false,
1328
+ // inWheelScroll: false,
1329
+ // inHeaderScroll: false,
1330
+ // inBodyScroll: false,
1331
+ // inFooterScroll: false,
1332
+ // scrollRenderType?: '',
1333
+ // isSyncGanttScrollTop: false,
1334
+ // 同步滚动
1335
+ // lcsTimeout: undefined,
1336
+ // lcsRunTime: undefined,
1337
+ // 横向虚拟
1338
+ // lxRunTime: undefined,
1339
+ // lxTimeout: undefined,
1340
+ // 纵向虚拟
1341
+ // lyRunTime: undefined,
1342
+ // lyTimeout: undefined,
1343
+ // 动态高度
1344
+ // chRunTime: undefined,
1345
+ // chTimeout: undefined,
1346
+ // isResizeCellHeight: false,
1322
1347
  // _sToTime: null
1323
1348
  };
1324
1349
  }
@@ -15995,8 +16020,7 @@ renderer$2.mixin({
15995
16020
  });
15996
16021
 
15997
16022
  const { warnLog: warnLog$2, errLog: errLog$2 } = createComponentLog('table');
15998
- const { getConfig: getConfig$2, getIcon: getIcon$1, getI18n: getI18n$2, renderer: renderer$1, formats, scrollbarUtils, createEvent: createEvent$2, globalResize, interceptor, hooks: hooks$1, domUtils, globalEvents: globalEvents$1, GLOBAL_EVENT_KEYS: GLOBAL_EVENT_KEYS$1, useFns: useFns$2, renderEmptyElement: renderEmptyElement$1 } = VxeUI;
15999
- const { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } = scrollbarUtils || {};
16023
+ const { getConfig: getConfig$2, getIcon: getIcon$1, getI18n: getI18n$2, renderer: renderer$1, formats, createEvent: createEvent$2, globalResize, interceptor, hooks: hooks$1, domUtils, globalEvents: globalEvents$1, GLOBAL_EVENT_KEYS: GLOBAL_EVENT_KEYS$1, useFns: useFns$2, renderEmptyElement: renderEmptyElement$1 } = VxeUI;
16000
16024
  const supportMaxRow = 5e6;
16001
16025
  const customStorageKey = 'VXE_CUSTOM_STORE';
16002
16026
  const maxYHeight = 5e6;
@@ -16027,8 +16051,6 @@ var VxeTableComponent = defineVxeComponent({
16027
16051
  const crossTableDragRowInfo = getCrossTableDragRowInfo();
16028
16052
  const reactData = reactive(createReactData$2());
16029
16053
  const internalData = createInternalData$3();
16030
- let tableMethods = {};
16031
- let tablePrivateMethods = {};
16032
16054
  const refElem = ref();
16033
16055
  const refVarElem = ref();
16034
16056
  const refTooltip = ref();
@@ -16072,10 +16094,6 @@ var VxeTableComponent = defineVxeComponent({
16072
16094
  const refScrollYBottomCornerElem = ref();
16073
16095
  const refScrollXSpaceElem = ref();
16074
16096
  const refScrollYSpaceElem = ref();
16075
- const refTrackXElem = ref();
16076
- const refTrackYElem = ref();
16077
- const refThumbXElem = ref();
16078
- const refThumbYElem = ref();
16079
16097
  let $xeToolbar;
16080
16098
  const computeTableId = computed(() => {
16081
16099
  const { id } = props;
@@ -16746,6 +16764,7 @@ var VxeTableComponent = defineVxeComponent({
16746
16764
  computeSize,
16747
16765
  computeIsVScrollbar,
16748
16766
  computeTableId,
16767
+ computeTableStyle,
16749
16768
  computeValidOpts,
16750
16769
  computeRowField,
16751
16770
  computeVirtualXOpts,
@@ -16846,6 +16865,7 @@ var VxeTableComponent = defineVxeComponent({
16846
16865
  // 已废弃
16847
16866
  xegrid: $xeGrid
16848
16867
  };
16868
+ const { refTrackXElem, refTrackYElem, refThumbXElem, refThumbYElem, updateThumbSize, updateThumbOffset, clickTrackXEvent, clickTrackYEvent, pointerdownThumbXEvent, pointermoveThumbXEvent, cleatPointerThumbEvent, pointerdownThumbYEvent, pointermoveThumbYEvent } = useFns$2.useInitVScrollbar($xeTable);
16849
16869
  const eqCellValue = (newRow, oldRow, field) => {
16850
16870
  const val1 = XEUtils.get(newRow, field);
16851
16871
  const val2 = XEUtils.get(oldRow, field);
@@ -20563,6 +20583,11 @@ var VxeTableComponent = defineVxeComponent({
20563
20583
  internalData.inFooterScroll = false;
20564
20584
  reactData.lazScrollLoading = false;
20565
20585
  internalData.scrollRenderType = '';
20586
+ const $xeGanttView = internalData.xeGanttView;
20587
+ if ($xeGanttView) {
20588
+ const ganttInternalData = $xeGanttView.internalData;
20589
+ ganttInternalData.isSyncTableScrollTop = false;
20590
+ }
20566
20591
  let xRest = null;
20567
20592
  let yRest = null;
20568
20593
  if (!isAllOverflow) {
@@ -20638,14 +20663,15 @@ var VxeTableComponent = defineVxeComponent({
20638
20663
  return multiple;
20639
20664
  };
20640
20665
  const syncGanttScrollTop = (scrollTop) => {
20666
+ const { isSyncGanttScrollTop } = internalData;
20667
+ if (isSyncGanttScrollTop) {
20668
+ return;
20669
+ }
20641
20670
  const $xeGanttView = internalData.xeGanttView;
20642
20671
  if ($xeGanttView) {
20643
20672
  const ganttInternalData = $xeGanttView.internalData;
20644
- const { elemStore: ganttElemStore } = ganttInternalData;
20645
- const ganttBodyScrollElem = getRefElem(ganttElemStore['main-body-scroll']);
20646
- if (ganttBodyScrollElem) {
20647
- ganttBodyScrollElem.scrollTop = scrollTop;
20648
- }
20673
+ ganttInternalData.isSyncTableScrollTop = true;
20674
+ $xeGanttView.handleSyncScrollTop({ scrollTop });
20649
20675
  }
20650
20676
  };
20651
20677
  const dispatchEvent = (type, params, evnt) => {
@@ -20924,11 +20950,16 @@ var VxeTableComponent = defineVxeComponent({
20924
20950
  return nextTick();
20925
20951
  };
20926
20952
  };
20927
- tableMethods = {
20953
+ const tableMethods = {
20928
20954
  dispatchEvent,
20929
20955
  getEl() {
20930
20956
  return refElem.value;
20931
20957
  },
20958
+ getScrollViewElem() {
20959
+ const { elemStore } = internalData;
20960
+ const viewEl = getRefElem(elemStore['main-body-scroll']);
20961
+ return viewEl;
20962
+ },
20932
20963
  /**
20933
20964
  * 重置表格的一切数据状态
20934
20965
  */
@@ -25494,7 +25525,13 @@ var VxeTableComponent = defineVxeComponent({
25494
25525
  /**
25495
25526
  * 内部方法
25496
25527
  */
25497
- tablePrivateMethods = {
25528
+ const tablePrivateMethods = {
25529
+ getReactData() {
25530
+ return reactData;
25531
+ },
25532
+ getInternalData() {
25533
+ return internalData;
25534
+ },
25498
25535
  getSetupOptions() {
25499
25536
  return getConfig$2();
25500
25537
  },
@@ -28667,7 +28704,10 @@ var VxeTableComponent = defineVxeComponent({
28667
28704
  isLeft,
28668
28705
  isRight,
28669
28706
  direction }, params);
28670
- updateThumbOffset();
28707
+ const isVScrollbar = computeIsVScrollbar.value;
28708
+ if (isVScrollbar) {
28709
+ updateThumbOffset();
28710
+ }
28671
28711
  updateRowExpandStyle();
28672
28712
  checkLastSyncScroll(isRollX, isRollY);
28673
28713
  if (isRollX) {
@@ -29336,6 +29376,14 @@ var VxeTableComponent = defineVxeComponent({
29336
29376
  $xeTable.updateScrollYSpace();
29337
29377
  });
29338
29378
  },
29379
+ handleSyncScrollTop(params) {
29380
+ const { scrollTop } = params;
29381
+ const { elemStore } = internalData;
29382
+ const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
29383
+ if (bodyScrollElem) {
29384
+ bodyScrollElem.scrollTop = scrollTop;
29385
+ }
29386
+ },
29339
29387
  /**
29340
29388
  * 处理固定列的显示状态
29341
29389
  */
@@ -29501,168 +29549,6 @@ var VxeTableComponent = defineVxeComponent({
29501
29549
  internalData.scrollObserver = scrollObserver;
29502
29550
  }
29503
29551
  };
29504
- const updateThumbSize = () => {
29505
- const { elemStore } = internalData;
29506
- const viewEl = getRefElem(elemStore['main-body-scroll']);
29507
- if (!viewEl) {
29508
- return;
29509
- }
29510
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
29511
- return;
29512
- }
29513
- const trackXEl = refTrackXElem.value;
29514
- const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
29515
- const thumbXElem = refThumbXElem.value;
29516
- if (thumbXElem) {
29517
- thumbXElem.style.width = xThumbWidth + 'px';
29518
- }
29519
- reactData.xThumbWidth = xThumbWidth;
29520
- const trackYEl = refTrackYElem.value;
29521
- const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
29522
- const thumbYElem = refThumbYElem.value;
29523
- if (thumbYElem) {
29524
- thumbYElem.style.height = yThumbHeight + 'px';
29525
- }
29526
- reactData.yThumbHeight = yThumbHeight;
29527
- };
29528
- const updateThumbOffset = () => {
29529
- const { elemStore } = internalData;
29530
- const viewEl = getRefElem(elemStore['main-body-scroll']);
29531
- if (!viewEl) {
29532
- return;
29533
- }
29534
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
29535
- return;
29536
- }
29537
- const { xThumbWidth, yThumbHeight } = reactData;
29538
- const trackXEl = refTrackXElem.value;
29539
- const thumbXElem = refThumbXElem.value;
29540
- const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
29541
- internalData.xThumbLeft = xThumbLeft;
29542
- if (thumbXElem && xThumbWidth) {
29543
- thumbXElem.style.width = xThumbWidth + 'px';
29544
- thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
29545
- }
29546
- const trackYEl = refTrackYElem.value;
29547
- const thumbYElem = refThumbYElem.value;
29548
- const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
29549
- internalData.yThumbTop = yThumbTop;
29550
- if (thumbYElem && yThumbHeight) {
29551
- thumbYElem.style.height = yThumbHeight + 'px';
29552
- thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
29553
- }
29554
- };
29555
- const clickTrackXEvent = (evnt) => {
29556
- const { elemStore } = internalData;
29557
- const trackEl = evnt.currentTarget;
29558
- if (trackEl !== evnt.target) {
29559
- return;
29560
- }
29561
- const viewEl = getRefElem(elemStore['main-body-scroll']);
29562
- if (!viewEl) {
29563
- return;
29564
- }
29565
- const { xThumbWidth } = reactData;
29566
- const trackRect = trackEl.getBoundingClientRect();
29567
- viewEl.scrollTo({
29568
- left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
29569
- behavior: 'auto'
29570
- });
29571
- };
29572
- const clickTrackYEvent = (evnt) => {
29573
- const { elemStore } = internalData;
29574
- const trackEl = evnt.currentTarget;
29575
- if (trackEl !== evnt.target) {
29576
- return;
29577
- }
29578
- const viewEl = getRefElem(elemStore['main-body-scroll']);
29579
- if (!viewEl) {
29580
- return;
29581
- }
29582
- const { yThumbHeight } = reactData;
29583
- const trackRect = trackEl.getBoundingClientRect();
29584
- viewEl.scrollTo({
29585
- top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
29586
- behavior: 'auto'
29587
- });
29588
- };
29589
- const pointerdownThumbXEvent = (evnt) => {
29590
- const { elemStore } = internalData;
29591
- const thumbEl = evnt.currentTarget;
29592
- internalData.isThumbDrag = true;
29593
- thumbEl.setPointerCapture(evnt.pointerId);
29594
- const viewEl = getRefElem(elemStore['main-body-scroll']);
29595
- if (!viewEl) {
29596
- return;
29597
- }
29598
- const { xThumbWidth } = reactData;
29599
- const trackEl = thumbEl.parentElement;
29600
- const trackRect = trackEl.getBoundingClientRect();
29601
- const pointerPosition = evnt.clientX - trackRect.left;
29602
- // 记录 thumb 的偏移
29603
- const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
29604
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
29605
- };
29606
- const pointermoveThumbXEvent = (evnt) => {
29607
- const thumbEl = evnt.currentTarget;
29608
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
29609
- return;
29610
- }
29611
- const { elemStore, isThumbDrag, thumbDragOffset } = internalData;
29612
- if (isThumbDrag) {
29613
- const viewEl = getRefElem(elemStore['main-body-scroll']);
29614
- if (!viewEl) {
29615
- return;
29616
- }
29617
- const { xThumbWidth } = reactData;
29618
- const thumbEl = evnt.currentTarget;
29619
- const trackEl = thumbEl.parentElement;
29620
- const trackRect = trackEl.getBoundingClientRect();
29621
- // 更新偏移
29622
- viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
29623
- }
29624
- };
29625
- const cleatPointerThumbEvent = (evnt) => {
29626
- const thumbEl = evnt.currentTarget;
29627
- thumbEl.releasePointerCapture(evnt.pointerId);
29628
- internalData.isThumbDrag = false;
29629
- };
29630
- const pointerdownThumbYEvent = (evnt) => {
29631
- const { elemStore } = internalData;
29632
- const thumbEl = evnt.currentTarget;
29633
- internalData.isThumbDrag = true;
29634
- thumbEl.setPointerCapture(evnt.pointerId);
29635
- const viewEl = getRefElem(elemStore['main-body-scroll']);
29636
- if (!viewEl) {
29637
- return;
29638
- }
29639
- const { yThumbHeight } = reactData;
29640
- const trackEl = thumbEl.parentElement;
29641
- const trackRect = trackEl.getBoundingClientRect();
29642
- const pointerPosition = evnt.clientY - trackRect.top;
29643
- // 记录 thumb 的偏移
29644
- const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
29645
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
29646
- };
29647
- const pointermoveThumbYEvent = (evnt) => {
29648
- const thumbEl = evnt.currentTarget;
29649
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
29650
- return;
29651
- }
29652
- const { elemStore, isThumbDrag, thumbDragOffset } = internalData;
29653
- if (isThumbDrag) {
29654
- const viewEl = getRefElem(elemStore['main-body-scroll']);
29655
- if (!viewEl) {
29656
- return;
29657
- }
29658
- const { yThumbHeight } = reactData;
29659
- const thumbEl = evnt.currentTarget;
29660
- const trackEl = thumbEl.parentElement;
29661
- const trackRect = trackEl.getBoundingClientRect();
29662
- // 更新偏移
29663
- viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
29664
- }
29665
- };
29666
29552
  // 检测对应模块是否安装
29667
29553
  // 'openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',').forEach(name => {
29668
29554
  // ($xeTable as any)[name] = function () {