vxe-table 3.15.13 → 3.15.14

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.
@@ -3049,42 +3049,42 @@ const createGetColumnCacheProp = (prop) => {
3049
3049
  return -1;
3050
3050
  };
3051
3051
  };
3052
- // function lazyScrollXData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
3053
- // const internalData = $xeTable as unknown as TableInternalData
3054
- // const { lxTimeout, lxRunTime, scrollXStore } = internalData
3055
- // const { visibleSize } = scrollXStore
3056
- // const fpsTime = Math.max(5, Math.min(10, Math.floor(visibleSize / 3)))
3057
- // if (lxTimeout) {
3058
- // clearTimeout(lxTimeout)
3059
- // }
3060
- // if (!lxRunTime || lxRunTime + fpsTime < Date.now()) {
3061
- // internalData.lxRunTime = Date.now()
3062
- // loadScrollXData($xeTable)
3063
- // }
3064
- // internalData.lxTimeout = setTimeout(() => {
3065
- // internalData.lxTimeout = undefined
3066
- // internalData.lxRunTime = undefined
3067
- // loadScrollXData($xeTable)
3068
- // }, fpsTime)
3069
- // }
3070
- // function lazyScrollYData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
3071
- // const internalData = $xeTable as unknown as TableInternalData
3072
- // const { lyTimeout, lyRunTime, scrollYStore } = internalData
3073
- // const { visibleSize } = scrollYStore
3074
- // const fpsTime = Math.floor(Math.max(4, Math.min(10, visibleSize / 3)))
3075
- // if (lyTimeout) {
3076
- // clearTimeout(lyTimeout)
3077
- // }
3078
- // if (!lyRunTime || lyRunTime + fpsTime < Date.now()) {
3079
- // internalData.lyRunTime = Date.now()
3080
- // loadScrollYData($xeTable)
3081
- // }
3082
- // internalData.lyTimeout = setTimeout(() => {
3083
- // internalData.lyTimeout = undefined
3084
- // internalData.lyRunTime = undefined
3085
- // loadScrollYData($xeTable)
3086
- // }, fpsTime)
3087
- // }
3052
+ function lazyScrollXData($xeTable) {
3053
+ const internalData = $xeTable;
3054
+ const { lxTimeout, lxRunTime, scrollXStore } = internalData;
3055
+ const { visibleSize } = scrollXStore;
3056
+ const fpsTime = visibleSize > 26 ? 26 : (visibleSize > 16 ? 14 : 6);
3057
+ if (lxTimeout) {
3058
+ clearTimeout(lxTimeout);
3059
+ }
3060
+ if (!lxRunTime || lxRunTime + fpsTime < Date.now()) {
3061
+ internalData.lxRunTime = Date.now();
3062
+ loadScrollXData($xeTable);
3063
+ }
3064
+ internalData.lxTimeout = setTimeout(() => {
3065
+ internalData.lxTimeout = undefined;
3066
+ internalData.lxRunTime = undefined;
3067
+ loadScrollXData($xeTable);
3068
+ }, fpsTime);
3069
+ }
3070
+ function lazyScrollYData($xeTable) {
3071
+ const internalData = $xeTable;
3072
+ const { lyTimeout, lyRunTime, scrollYStore } = internalData;
3073
+ const { visibleSize } = scrollYStore;
3074
+ const fpsTime = visibleSize > 30 ? 32 : (visibleSize > 20 ? 18 : 8);
3075
+ if (lyTimeout) {
3076
+ clearTimeout(lyTimeout);
3077
+ }
3078
+ if (!lyRunTime || lyRunTime + fpsTime < Date.now()) {
3079
+ internalData.lyRunTime = Date.now();
3080
+ loadScrollYData($xeTable);
3081
+ }
3082
+ internalData.lyTimeout = setTimeout(() => {
3083
+ internalData.lyTimeout = undefined;
3084
+ internalData.lyRunTime = undefined;
3085
+ loadScrollYData($xeTable);
3086
+ }, fpsTime);
3087
+ }
3088
3088
  function checkLastSyncScroll($xeTable, isRollX, isRollY) {
3089
3089
  const reactData = $xeTable;
3090
3090
  const internalData = $xeTable;
@@ -9023,24 +9023,26 @@ const Methods = {
9023
9023
  */
9024
9024
  triggerScrollXEvent() {
9025
9025
  const $xeTable = this;
9026
- // const virtualXOpts = $xeTable.computeVirtualXOpts
9027
- // if (virtualXOpts.immediate) {
9028
- loadScrollXData($xeTable);
9029
- // } else {
9030
- // lazyScrollXData($xeTable)
9031
- // }
9026
+ const virtualXOpts = $xeTable.computeVirtualXOpts;
9027
+ if (virtualXOpts.immediate) {
9028
+ loadScrollXData($xeTable);
9029
+ }
9030
+ else {
9031
+ lazyScrollXData($xeTable);
9032
+ }
9032
9033
  },
9033
9034
  /**
9034
9035
  * 纵向 Y 可视渲染事件处理
9035
9036
  */
9036
9037
  triggerScrollYEvent() {
9037
9038
  const $xeTable = this;
9038
- // const virtualYOpts = $xeTable.computeVirtualYOpts
9039
- // if (virtualYOpts.immediate) {
9040
- loadScrollYData($xeTable);
9041
- // } else {
9042
- // lazyScrollYData($xeTable)
9043
- // }
9039
+ const virtualYOpts = $xeTable.computeVirtualYOpts;
9040
+ if (virtualYOpts.immediate) {
9041
+ loadScrollYData($xeTable);
9042
+ }
9043
+ else {
9044
+ lazyScrollYData($xeTable);
9045
+ }
9044
9046
  },
9045
9047
  triggerBodyScrollEvent(evnt, fixedType) {
9046
9048
  const $xeTable = this;
@@ -9263,8 +9265,8 @@ const Methods = {
9263
9265
  if (isRollX) {
9264
9266
  evnt.preventDefault();
9265
9267
  internalData.inWheelScroll = true;
9266
- wheelScrollLeftTo(scrollLeft, (offsetLeft) => {
9267
- const currLeftNum = offsetLeft;
9268
+ if (browseObj['-moz'] || browseObj.safari) {
9269
+ const currLeftNum = scrollLeft;
9268
9270
  setScrollLeft(xHandleEl, currLeftNum);
9269
9271
  setScrollLeft(bodyScrollElem, currLeftNum);
9270
9272
  setScrollLeft(headerScrollElem, currLeftNum);
@@ -9276,13 +9278,28 @@ const Methods = {
9276
9278
  type: 'table',
9277
9279
  fixed: ''
9278
9280
  });
9279
- });
9281
+ }
9282
+ else {
9283
+ wheelScrollLeftTo(scrollLeft, (offsetLeft) => {
9284
+ const currLeftNum = offsetLeft;
9285
+ setScrollLeft(xHandleEl, currLeftNum);
9286
+ setScrollLeft(bodyScrollElem, currLeftNum);
9287
+ setScrollLeft(headerScrollElem, currLeftNum);
9288
+ setScrollLeft(footerScrollElem, currLeftNum);
9289
+ if (scrollXLoad) {
9290
+ $xeTable.triggerScrollXEvent(evnt);
9291
+ }
9292
+ $xeTable.handleScrollEvent(evnt, isRollY, isRollX, bodyScrollElem.scrollTop, currLeftNum, {
9293
+ type: 'table',
9294
+ fixed: ''
9295
+ });
9296
+ });
9297
+ }
9280
9298
  }
9281
9299
  if (isRollY) {
9282
9300
  evnt.preventDefault();
9283
- wheelScrollTopTo(scrollTop - currScrollTop, (offsetTop) => {
9284
- const currTopNum = bodyScrollElem.scrollTop + offsetTop;
9285
- internalData.inWheelScroll = true;
9301
+ if (browseObj['-moz'] || browseObj.safari) {
9302
+ const currTopNum = scrollTop;
9286
9303
  setScrollTop(yHandleEl, currTopNum);
9287
9304
  setScrollTop(bodyScrollElem, currTopNum);
9288
9305
  setScrollTop(leftScrollElem, currTopNum);
@@ -9295,7 +9312,25 @@ const Methods = {
9295
9312
  type: 'table',
9296
9313
  fixed: ''
9297
9314
  });
9298
- });
9315
+ }
9316
+ else {
9317
+ wheelScrollTopTo(scrollTop - currScrollTop, (offsetTop) => {
9318
+ const currTopNum = bodyScrollElem.scrollTop + offsetTop;
9319
+ internalData.inWheelScroll = true;
9320
+ setScrollTop(yHandleEl, currTopNum);
9321
+ setScrollTop(bodyScrollElem, currTopNum);
9322
+ setScrollTop(leftScrollElem, currTopNum);
9323
+ setScrollTop(rightScrollElem, currTopNum);
9324
+ setScrollTop(rowExpandEl, currTopNum);
9325
+ if (scrollYLoad) {
9326
+ $xeTable.triggerScrollYEvent(evnt);
9327
+ }
9328
+ $xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, bodyScrollElem.scrollLeft, {
9329
+ type: 'table',
9330
+ fixed: ''
9331
+ });
9332
+ });
9333
+ }
9299
9334
  }
9300
9335
  },
9301
9336
  triggerVirtualScrollXEvent(evnt) {
@@ -9427,20 +9462,18 @@ const Methods = {
9427
9462
  ySpaceWidth = maxXWidth;
9428
9463
  isScrollXBig = true;
9429
9464
  }
9430
- let marginLeft = '';
9431
- if (scrollXLoad && overflowX) {
9432
- marginLeft = `${xSpaceLeft}px`;
9465
+ if (!(scrollXLoad && overflowX)) {
9466
+ xSpaceLeft = 0;
9433
9467
  }
9434
9468
  if (headerTableElem) {
9435
- headerTableElem.style.marginLeft = headerTableElem.getAttribute('xvm') ? marginLeft : '';
9469
+ headerTableElem.style.transform = headerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
9436
9470
  }
9437
9471
  if (bodyTableElem) {
9438
- bodyTableElem.style.marginLeft = marginLeft;
9472
+ bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`;
9439
9473
  }
9440
9474
  if (footerTableElem) {
9441
- footerTableElem.style.marginLeft = footerTableElem.getAttribute('xvm') ? marginLeft : '';
9475
+ footerTableElem.style.transform = footerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
9442
9476
  }
9443
- reactData.isScrollXBig = isScrollXBig;
9444
9477
  const containerList = ['main'];
9445
9478
  containerList.forEach(name => {
9446
9479
  const layoutList = ['header', 'body', 'footer'];
@@ -9451,6 +9484,9 @@ const Methods = {
9451
9484
  }
9452
9485
  });
9453
9486
  });
9487
+ reactData.scrollXLeft = xSpaceLeft;
9488
+ reactData.scrollXWidth = ySpaceWidth;
9489
+ reactData.isScrollXBig = isScrollXBig;
9454
9490
  const scrollXSpaceEl = $xeTable.$refs.refScrollXSpaceElem;
9455
9491
  if (scrollXSpaceEl) {
9456
9492
  scrollXSpaceEl.style.width = `${ySpaceWidth}px`;
@@ -9488,6 +9524,8 @@ const Methods = {
9488
9524
  const defaultRowHeight = $xeTable.computeDefaultRowHeight;
9489
9525
  const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
9490
9526
  const bodyTableElem = getRefElem(elemStore['main-body-table']);
9527
+ const leftBodyTableElem = getRefElem(elemStore['left-body-table']);
9528
+ const rightbodyTableElem = getRefElem(elemStore['right-body-table']);
9491
9529
  const containerList = ['main', 'left', 'right'];
9492
9530
  let ySpaceTop = 0;
9493
9531
  let scrollYHeight = 0;
@@ -9541,12 +9579,17 @@ const Methods = {
9541
9579
  }
9542
9580
  ySpaceHeight = maxYHeight;
9543
9581
  }
9582
+ if (leftBodyTableElem) {
9583
+ leftBodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
9584
+ }
9585
+ if (bodyTableElem) {
9586
+ bodyTableElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
9587
+ }
9588
+ if (rightbodyTableElem) {
9589
+ rightbodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
9590
+ }
9544
9591
  containerList.forEach(name => {
9545
9592
  const layoutList = ['header', 'body', 'footer'];
9546
- const tableElem = getRefElem(elemStore[`${name}-body-table`]);
9547
- if (tableElem) {
9548
- tableElem.style.marginTop = scrollYTop ? `${scrollYTop}px` : '';
9549
- }
9550
9593
  layoutList.forEach(layout => {
9551
9594
  const ySpaceElem = getRefElem(elemStore[`${name}-${layout}-ySpace`]);
9552
9595
  if (ySpaceElem) {
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.13";
3
+ export const version = "3.15.14";
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.13"}`;
3
+ const version = `table v${"3.15.14"}`;
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.13";
2223
+ const version = "3.15.14";
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.13"}`;
2861
+ const log_version = `table v${"3.15.14"}`;
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
@@ -8888,42 +8888,54 @@ const createGetColumnCacheProp = prop => {
8888
8888
  return -1;
8889
8889
  };
8890
8890
  };
8891
- // function lazyScrollXData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
8892
- // const internalData = $xeTable as unknown as TableInternalData
8893
- // const { lxTimeout, lxRunTime, scrollXStore } = internalData
8894
- // const { visibleSize } = scrollXStore
8895
- // const fpsTime = Math.max(5, Math.min(10, Math.floor(visibleSize / 3)))
8896
- // if (lxTimeout) {
8897
- // clearTimeout(lxTimeout)
8898
- // }
8899
- // if (!lxRunTime || lxRunTime + fpsTime < Date.now()) {
8900
- // internalData.lxRunTime = Date.now()
8901
- // loadScrollXData($xeTable)
8902
- // }
8903
- // internalData.lxTimeout = setTimeout(() => {
8904
- // internalData.lxTimeout = undefined
8905
- // internalData.lxRunTime = undefined
8906
- // loadScrollXData($xeTable)
8907
- // }, fpsTime)
8908
- // }
8909
- // function lazyScrollYData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
8910
- // const internalData = $xeTable as unknown as TableInternalData
8911
- // const { lyTimeout, lyRunTime, scrollYStore } = internalData
8912
- // const { visibleSize } = scrollYStore
8913
- // const fpsTime = Math.floor(Math.max(4, Math.min(10, visibleSize / 3)))
8914
- // if (lyTimeout) {
8915
- // clearTimeout(lyTimeout)
8916
- // }
8917
- // if (!lyRunTime || lyRunTime + fpsTime < Date.now()) {
8918
- // internalData.lyRunTime = Date.now()
8919
- // loadScrollYData($xeTable)
8920
- // }
8921
- // internalData.lyTimeout = setTimeout(() => {
8922
- // internalData.lyTimeout = undefined
8923
- // internalData.lyRunTime = undefined
8924
- // loadScrollYData($xeTable)
8925
- // }, fpsTime)
8926
- // }
8891
+ function lazyScrollXData($xeTable) {
8892
+ const internalData = $xeTable;
8893
+ const {
8894
+ lxTimeout,
8895
+ lxRunTime,
8896
+ scrollXStore
8897
+ } = internalData;
8898
+ const {
8899
+ visibleSize
8900
+ } = scrollXStore;
8901
+ const fpsTime = visibleSize > 26 ? 26 : visibleSize > 16 ? 14 : 6;
8902
+ if (lxTimeout) {
8903
+ clearTimeout(lxTimeout);
8904
+ }
8905
+ if (!lxRunTime || lxRunTime + fpsTime < Date.now()) {
8906
+ internalData.lxRunTime = Date.now();
8907
+ loadScrollXData($xeTable);
8908
+ }
8909
+ internalData.lxTimeout = setTimeout(() => {
8910
+ internalData.lxTimeout = undefined;
8911
+ internalData.lxRunTime = undefined;
8912
+ loadScrollXData($xeTable);
8913
+ }, fpsTime);
8914
+ }
8915
+ function lazyScrollYData($xeTable) {
8916
+ const internalData = $xeTable;
8917
+ const {
8918
+ lyTimeout,
8919
+ lyRunTime,
8920
+ scrollYStore
8921
+ } = internalData;
8922
+ const {
8923
+ visibleSize
8924
+ } = scrollYStore;
8925
+ const fpsTime = visibleSize > 30 ? 32 : visibleSize > 20 ? 18 : 8;
8926
+ if (lyTimeout) {
8927
+ clearTimeout(lyTimeout);
8928
+ }
8929
+ if (!lyRunTime || lyRunTime + fpsTime < Date.now()) {
8930
+ internalData.lyRunTime = Date.now();
8931
+ loadScrollYData($xeTable);
8932
+ }
8933
+ internalData.lyTimeout = setTimeout(() => {
8934
+ internalData.lyTimeout = undefined;
8935
+ internalData.lyRunTime = undefined;
8936
+ loadScrollYData($xeTable);
8937
+ }, fpsTime);
8938
+ }
8927
8939
  function checkLastSyncScroll($xeTable, isRollX, isRollY) {
8928
8940
  const reactData = $xeTable;
8929
8941
  const internalData = $xeTable;
@@ -15831,24 +15843,24 @@ const Methods = {
15831
15843
  */
15832
15844
  triggerScrollXEvent() {
15833
15845
  const $xeTable = this;
15834
- // const virtualXOpts = $xeTable.computeVirtualXOpts
15835
- // if (virtualXOpts.immediate) {
15836
- loadScrollXData($xeTable);
15837
- // } else {
15838
- // lazyScrollXData($xeTable)
15839
- // }
15846
+ const virtualXOpts = $xeTable.computeVirtualXOpts;
15847
+ if (virtualXOpts.immediate) {
15848
+ loadScrollXData($xeTable);
15849
+ } else {
15850
+ lazyScrollXData($xeTable);
15851
+ }
15840
15852
  },
15841
15853
  /**
15842
15854
  * 纵向 Y 可视渲染事件处理
15843
15855
  */
15844
15856
  triggerScrollYEvent() {
15845
15857
  const $xeTable = this;
15846
- // const virtualYOpts = $xeTable.computeVirtualYOpts
15847
- // if (virtualYOpts.immediate) {
15848
- loadScrollYData($xeTable);
15849
- // } else {
15850
- // lazyScrollYData($xeTable)
15851
- // }
15858
+ const virtualYOpts = $xeTable.computeVirtualYOpts;
15859
+ if (virtualYOpts.immediate) {
15860
+ loadScrollYData($xeTable);
15861
+ } else {
15862
+ lazyScrollYData($xeTable);
15863
+ }
15852
15864
  },
15853
15865
  triggerBodyScrollEvent(evnt, fixedType) {
15854
15866
  const $xeTable = this;
@@ -16114,8 +16126,8 @@ const Methods = {
16114
16126
  if (isRollX) {
16115
16127
  evnt.preventDefault();
16116
16128
  internalData.inWheelScroll = true;
16117
- wheelScrollLeftTo(scrollLeft, offsetLeft => {
16118
- const currLeftNum = offsetLeft;
16129
+ if (browseObj['-moz'] || browseObj.safari) {
16130
+ const currLeftNum = scrollLeft;
16119
16131
  setScrollLeft(xHandleEl, currLeftNum);
16120
16132
  setScrollLeft(bodyScrollElem, currLeftNum);
16121
16133
  setScrollLeft(headerScrollElem, currLeftNum);
@@ -16127,13 +16139,27 @@ const Methods = {
16127
16139
  type: 'table',
16128
16140
  fixed: ''
16129
16141
  });
16130
- });
16142
+ } else {
16143
+ wheelScrollLeftTo(scrollLeft, offsetLeft => {
16144
+ const currLeftNum = offsetLeft;
16145
+ setScrollLeft(xHandleEl, currLeftNum);
16146
+ setScrollLeft(bodyScrollElem, currLeftNum);
16147
+ setScrollLeft(headerScrollElem, currLeftNum);
16148
+ setScrollLeft(footerScrollElem, currLeftNum);
16149
+ if (scrollXLoad) {
16150
+ $xeTable.triggerScrollXEvent(evnt);
16151
+ }
16152
+ $xeTable.handleScrollEvent(evnt, isRollY, isRollX, bodyScrollElem.scrollTop, currLeftNum, {
16153
+ type: 'table',
16154
+ fixed: ''
16155
+ });
16156
+ });
16157
+ }
16131
16158
  }
16132
16159
  if (isRollY) {
16133
16160
  evnt.preventDefault();
16134
- wheelScrollTopTo(scrollTop - currScrollTop, offsetTop => {
16135
- const currTopNum = bodyScrollElem.scrollTop + offsetTop;
16136
- internalData.inWheelScroll = true;
16161
+ if (browseObj['-moz'] || browseObj.safari) {
16162
+ const currTopNum = scrollTop;
16137
16163
  setScrollTop(yHandleEl, currTopNum);
16138
16164
  setScrollTop(bodyScrollElem, currTopNum);
16139
16165
  setScrollTop(leftScrollElem, currTopNum);
@@ -16146,7 +16172,24 @@ const Methods = {
16146
16172
  type: 'table',
16147
16173
  fixed: ''
16148
16174
  });
16149
- });
16175
+ } else {
16176
+ wheelScrollTopTo(scrollTop - currScrollTop, offsetTop => {
16177
+ const currTopNum = bodyScrollElem.scrollTop + offsetTop;
16178
+ internalData.inWheelScroll = true;
16179
+ setScrollTop(yHandleEl, currTopNum);
16180
+ setScrollTop(bodyScrollElem, currTopNum);
16181
+ setScrollTop(leftScrollElem, currTopNum);
16182
+ setScrollTop(rightScrollElem, currTopNum);
16183
+ setScrollTop(rowExpandEl, currTopNum);
16184
+ if (scrollYLoad) {
16185
+ $xeTable.triggerScrollYEvent(evnt);
16186
+ }
16187
+ $xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, bodyScrollElem.scrollLeft, {
16188
+ type: 'table',
16189
+ fixed: ''
16190
+ });
16191
+ });
16192
+ }
16150
16193
  }
16151
16194
  },
16152
16195
  triggerVirtualScrollXEvent(evnt) {
@@ -16310,20 +16353,18 @@ const Methods = {
16310
16353
  ySpaceWidth = maxXWidth;
16311
16354
  isScrollXBig = true;
16312
16355
  }
16313
- let marginLeft = '';
16314
- if (scrollXLoad && overflowX) {
16315
- marginLeft = `${xSpaceLeft}px`;
16356
+ if (!(scrollXLoad && overflowX)) {
16357
+ xSpaceLeft = 0;
16316
16358
  }
16317
16359
  if (headerTableElem) {
16318
- headerTableElem.style.marginLeft = headerTableElem.getAttribute('xvm') ? marginLeft : '';
16360
+ headerTableElem.style.transform = headerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
16319
16361
  }
16320
16362
  if (bodyTableElem) {
16321
- bodyTableElem.style.marginLeft = marginLeft;
16363
+ bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`;
16322
16364
  }
16323
16365
  if (footerTableElem) {
16324
- footerTableElem.style.marginLeft = footerTableElem.getAttribute('xvm') ? marginLeft : '';
16366
+ footerTableElem.style.transform = footerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
16325
16367
  }
16326
- reactData.isScrollXBig = isScrollXBig;
16327
16368
  const containerList = ['main'];
16328
16369
  containerList.forEach(name => {
16329
16370
  const layoutList = ['header', 'body', 'footer'];
@@ -16334,6 +16375,9 @@ const Methods = {
16334
16375
  }
16335
16376
  });
16336
16377
  });
16378
+ reactData.scrollXLeft = xSpaceLeft;
16379
+ reactData.scrollXWidth = ySpaceWidth;
16380
+ reactData.isScrollXBig = isScrollXBig;
16337
16381
  const scrollXSpaceEl = $xeTable.$refs.refScrollXSpaceElem;
16338
16382
  if (scrollXSpaceEl) {
16339
16383
  scrollXSpaceEl.style.width = `${ySpaceWidth}px`;
@@ -16384,6 +16428,8 @@ const Methods = {
16384
16428
  const defaultRowHeight = $xeTable.computeDefaultRowHeight;
16385
16429
  const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
16386
16430
  const bodyTableElem = getRefElem(elemStore['main-body-table']);
16431
+ const leftBodyTableElem = getRefElem(elemStore['left-body-table']);
16432
+ const rightbodyTableElem = getRefElem(elemStore['right-body-table']);
16387
16433
  const containerList = ['main', 'left', 'right'];
16388
16434
  let ySpaceTop = 0;
16389
16435
  let scrollYHeight = 0;
@@ -16434,12 +16480,17 @@ const Methods = {
16434
16480
  }
16435
16481
  ySpaceHeight = maxYHeight;
16436
16482
  }
16483
+ if (leftBodyTableElem) {
16484
+ leftBodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
16485
+ }
16486
+ if (bodyTableElem) {
16487
+ bodyTableElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
16488
+ }
16489
+ if (rightbodyTableElem) {
16490
+ rightbodyTableElem.style.transform = `translate(0px, ${scrollYTop}px)`;
16491
+ }
16437
16492
  containerList.forEach(name => {
16438
16493
  const layoutList = ['header', 'body', 'footer'];
16439
- const tableElem = getRefElem(elemStore[`${name}-body-table`]);
16440
- if (tableElem) {
16441
- tableElem.style.marginTop = scrollYTop ? `${scrollYTop}px` : '';
16442
- }
16443
16494
  layoutList.forEach(layout => {
16444
16495
  const ySpaceElem = getRefElem(elemStore[`${name}-${layout}-ySpace`]);
16445
16496
  if (ySpaceElem) {