vxe-table 3.15.13 → 3.15.15
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/es/style.css +1 -1
- package/es/table/src/footer.js +1 -1
- package/es/table/src/header.js +1 -1
- package/es/table/src/methods.js +110 -67
- package/es/table/src/table.js +5 -7
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +127 -78
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/footer.js +1 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +1 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +118 -67
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +4 -6
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +1 -1
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/src/footer.ts +1 -1
- package/packages/table/src/header.ts +1 -1
- package/packages/table/src/methods.ts +114 -71
- package/packages/table/src/table.ts +5 -7
- package/packages/ui/src/dom.ts +1 -1
- /package/es/{iconfont.1745800652359.ttf → iconfont.1745889617363.ttf} +0 -0
- /package/es/{iconfont.1745800652359.woff → iconfont.1745889617363.woff} +0 -0
- /package/es/{iconfont.1745800652359.woff2 → iconfont.1745889617363.woff2} +0 -0
- /package/lib/{iconfont.1745800652359.ttf → iconfont.1745889617363.ttf} +0 -0
- /package/lib/{iconfont.1745800652359.woff → iconfont.1745889617363.woff} +0 -0
- /package/lib/{iconfont.1745800652359.woff2 → iconfont.1745889617363.woff2} +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -1031,7 +1031,7 @@ function updateStyle($xeTable) {
|
|
|
1031
1031
|
if (tableElem) {
|
|
1032
1032
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
1033
1033
|
// 兼容性处理
|
|
1034
|
-
tableElem.style.paddingRight = osbWidth && fixedType && (browseObj
|
|
1034
|
+
tableElem.style.paddingRight = osbWidth && fixedType && (browseObj.firefox || browseObj.safari) ? `${osbWidth}px` : '';
|
|
1035
1035
|
}
|
|
1036
1036
|
const emptyBlockElem = getRefElem(elemStore[`${name}-${layout}-emptyBlock`]);
|
|
1037
1037
|
if (emptyBlockElem) {
|
|
@@ -3049,42 +3049,42 @@ const createGetColumnCacheProp = (prop) => {
|
|
|
3049
3049
|
return -1;
|
|
3050
3050
|
};
|
|
3051
3051
|
};
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
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
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
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
|
-
|
|
9039
|
-
|
|
9040
|
-
|
|
9041
|
-
|
|
9042
|
-
|
|
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
|
-
|
|
9267
|
-
const currLeftNum =
|
|
9268
|
+
if (browseObj.firefox || 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
|
-
|
|
9284
|
-
const currTopNum =
|
|
9285
|
-
internalData.inWheelScroll = true;
|
|
9301
|
+
if (browseObj.firefox || 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
|
-
|
|
9431
|
-
|
|
9432
|
-
marginLeft = `${xSpaceLeft}px`;
|
|
9465
|
+
if (!(scrollXLoad && overflowX)) {
|
|
9466
|
+
xSpaceLeft = 0;
|
|
9433
9467
|
}
|
|
9434
9468
|
if (headerTableElem) {
|
|
9435
|
-
headerTableElem.style.
|
|
9469
|
+
headerTableElem.style.transform = headerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
9436
9470
|
}
|
|
9437
9471
|
if (bodyTableElem) {
|
|
9438
|
-
bodyTableElem.style.
|
|
9472
|
+
bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`;
|
|
9439
9473
|
}
|
|
9440
9474
|
if (footerTableElem) {
|
|
9441
|
-
footerTableElem.style.
|
|
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/table/src/table.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils';
|
|
2
2
|
import { getFuncText, isEnableConf } from '../../ui/src/utils';
|
|
3
3
|
import { initTpImg } from '../../ui/src/dom';
|
|
4
|
-
import { createHandleGetRowId } from './util';
|
|
4
|
+
import { createHandleGetRowId, getCellHeight } from './util';
|
|
5
5
|
import { VxeUI } from '../../ui';
|
|
6
6
|
import methods from './methods';
|
|
7
7
|
import TableBodyComponent from './body';
|
|
@@ -791,18 +791,16 @@ export default {
|
|
|
791
791
|
const $xeTable = this;
|
|
792
792
|
const props = $xeTable;
|
|
793
793
|
const headerCellOpts = Object.assign({}, getConfig().table.headerCellConfig, props.headerCellConfig);
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
}
|
|
794
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
795
|
+
headerCellOpts.height = XEUtils.toNumber(getCellHeight(headerCellOpts.height || cellOpts.height));
|
|
797
796
|
return headerCellOpts;
|
|
798
797
|
},
|
|
799
798
|
computeFooterCellOpts() {
|
|
800
799
|
const $xeTable = this;
|
|
801
800
|
const props = $xeTable;
|
|
802
801
|
const footerCellOpts = Object.assign({}, getConfig().table.footerCellConfig, props.footerCellConfig);
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
}
|
|
802
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
803
|
+
footerCellOpts.height = XEUtils.toNumber(getCellHeight(footerCellOpts.height || cellOpts.height));
|
|
806
804
|
return footerCellOpts;
|
|
807
805
|
},
|
|
808
806
|
rowOpts() {
|
package/es/ui/index.js
CHANGED
package/es/ui/src/dom.js
CHANGED
|
@@ -45,7 +45,7 @@ export function isScale(val) {
|
|
|
45
45
|
return val && /^\d+%$/.test(val);
|
|
46
46
|
}
|
|
47
47
|
export function hasClass(elem, cls) {
|
|
48
|
-
return elem && elem.className && elem.className.match && elem.className.match(getClsRE(cls));
|
|
48
|
+
return !!(elem && elem.className && elem.className.match && elem.className.match(getClsRE(cls)));
|
|
49
49
|
}
|
|
50
50
|
export function removeClass(elem, cls) {
|
|
51
51
|
if (elem && hasClass(elem, cls)) {
|
package/es/ui/src/log.js
CHANGED
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.
|
|
2223
|
+
const version = "3.15.15";
|
|
2224
2224
|
core_.VxeUI.version = version;
|
|
2225
2225
|
core_.VxeUI.tableVersion = version;
|
|
2226
2226
|
core_.VxeUI.setConfig({
|
|
@@ -2718,7 +2718,7 @@ function isScale(val) {
|
|
|
2718
2718
|
return val && /^\d+%$/.test(val);
|
|
2719
2719
|
}
|
|
2720
2720
|
function hasClass(elem, cls) {
|
|
2721
|
-
return elem && elem.className && elem.className.match && elem.className.match(getClsRE(cls));
|
|
2721
|
+
return !!(elem && elem.className && elem.className.match && elem.className.match(getClsRE(cls)));
|
|
2722
2722
|
}
|
|
2723
2723
|
function removeClass(elem, cls) {
|
|
2724
2724
|
if (elem && hasClass(elem, cls)) {
|
|
@@ -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.
|
|
2861
|
+
const log_version = `table v${"3.15.15"}`;
|
|
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
|
|
@@ -6568,7 +6568,7 @@ function updateStyle($xeTable) {
|
|
|
6568
6568
|
if (tableElem) {
|
|
6569
6569
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
6570
6570
|
// 兼容性处理
|
|
6571
|
-
tableElem.style.paddingRight = osbWidth && fixedType && (browseObj
|
|
6571
|
+
tableElem.style.paddingRight = osbWidth && fixedType && (browseObj.firefox || browseObj.safari) ? `${osbWidth}px` : '';
|
|
6572
6572
|
}
|
|
6573
6573
|
const emptyBlockElem = getRefElem(elemStore[`${name}-${layout}-emptyBlock`]);
|
|
6574
6574
|
if (emptyBlockElem) {
|
|
@@ -8888,42 +8888,54 @@ const createGetColumnCacheProp = prop => {
|
|
|
8888
8888
|
return -1;
|
|
8889
8889
|
};
|
|
8890
8890
|
};
|
|
8891
|
-
|
|
8892
|
-
|
|
8893
|
-
|
|
8894
|
-
|
|
8895
|
-
|
|
8896
|
-
|
|
8897
|
-
|
|
8898
|
-
|
|
8899
|
-
|
|
8900
|
-
|
|
8901
|
-
|
|
8902
|
-
|
|
8903
|
-
|
|
8904
|
-
|
|
8905
|
-
|
|
8906
|
-
|
|
8907
|
-
|
|
8908
|
-
|
|
8909
|
-
|
|
8910
|
-
|
|
8911
|
-
|
|
8912
|
-
|
|
8913
|
-
|
|
8914
|
-
|
|
8915
|
-
|
|
8916
|
-
|
|
8917
|
-
|
|
8918
|
-
|
|
8919
|
-
|
|
8920
|
-
|
|
8921
|
-
|
|
8922
|
-
|
|
8923
|
-
|
|
8924
|
-
|
|
8925
|
-
|
|
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
|
-
|
|
15835
|
-
|
|
15836
|
-
|
|
15837
|
-
|
|
15838
|
-
|
|
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
|
-
|
|
15847
|
-
|
|
15848
|
-
|
|
15849
|
-
|
|
15850
|
-
|
|
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
|
-
|
|
16118
|
-
const currLeftNum =
|
|
16129
|
+
if (browseObj.firefox || 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
|
-
|
|
16135
|
-
const currTopNum =
|
|
16136
|
-
internalData.inWheelScroll = true;
|
|
16161
|
+
if (browseObj.firefox || 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
|
-
|
|
16314
|
-
|
|
16315
|
-
marginLeft = `${xSpaceLeft}px`;
|
|
16356
|
+
if (!(scrollXLoad && overflowX)) {
|
|
16357
|
+
xSpaceLeft = 0;
|
|
16316
16358
|
}
|
|
16317
16359
|
if (headerTableElem) {
|
|
16318
|
-
headerTableElem.style.
|
|
16360
|
+
headerTableElem.style.transform = headerTableElem.getAttribute('xvm') ? `translate(${xSpaceLeft}px, 0px)` : '';
|
|
16319
16361
|
}
|
|
16320
16362
|
if (bodyTableElem) {
|
|
16321
|
-
bodyTableElem.style.
|
|
16363
|
+
bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`;
|
|
16322
16364
|
}
|
|
16323
16365
|
if (footerTableElem) {
|
|
16324
|
-
footerTableElem.style.
|
|
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) {
|
|
@@ -17938,7 +17989,7 @@ const header_renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) =>
|
|
|
17938
17989
|
const cellOpts = $xeTable.computeCellOpts;
|
|
17939
17990
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
17940
17991
|
const headerCellOpts = $xeTable.computeHeaderCellOpts;
|
|
17941
|
-
const currCellHeight = getCellHeight(headerCellOpts.height
|
|
17992
|
+
const currCellHeight = getCellHeight(headerCellOpts.height) || defaultRowHeight;
|
|
17942
17993
|
const {
|
|
17943
17994
|
disabledMethod: dragDisabledMethod,
|
|
17944
17995
|
isCrossDrag,
|
|
@@ -18404,7 +18455,7 @@ function footer_renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData,
|
|
|
18404
18455
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
18405
18456
|
const cellOpts = $xeTable.computeCellOpts;
|
|
18406
18457
|
const footerCellOpts = $xeTable.computeFooterCellOpts;
|
|
18407
|
-
const currCellHeight = getCellHeight(footerCellOpts.height
|
|
18458
|
+
const currCellHeight = getCellHeight(footerCellOpts.height) || defaultRowHeight;
|
|
18408
18459
|
return tableColumn.map((column, $columnIndex) => {
|
|
18409
18460
|
const {
|
|
18410
18461
|
type,
|
|
@@ -27686,18 +27737,16 @@ function renderBody(h, $xeTable) {
|
|
|
27686
27737
|
const $xeTable = this;
|
|
27687
27738
|
const props = $xeTable;
|
|
27688
27739
|
const headerCellOpts = Object.assign({}, table_getConfig().table.headerCellConfig, props.headerCellConfig);
|
|
27689
|
-
|
|
27690
|
-
|
|
27691
|
-
}
|
|
27740
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
27741
|
+
headerCellOpts.height = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getCellHeight(headerCellOpts.height || cellOpts.height));
|
|
27692
27742
|
return headerCellOpts;
|
|
27693
27743
|
},
|
|
27694
27744
|
computeFooterCellOpts() {
|
|
27695
27745
|
const $xeTable = this;
|
|
27696
27746
|
const props = $xeTable;
|
|
27697
27747
|
const footerCellOpts = Object.assign({}, table_getConfig().table.footerCellConfig, props.footerCellConfig);
|
|
27698
|
-
|
|
27699
|
-
|
|
27700
|
-
}
|
|
27748
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
27749
|
+
footerCellOpts.height = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getCellHeight(footerCellOpts.height || cellOpts.height));
|
|
27701
27750
|
return footerCellOpts;
|
|
27702
27751
|
},
|
|
27703
27752
|
rowOpts() {
|