vxe-table 3.25.0-beta.0 → 3.25.0-beta.2
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/fr-FR.js +29 -29
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/methods.js +248 -40
- package/es/table/src/props.js +5 -0
- package/es/table/src/scrollbar.js +54 -0
- package/es/table/src/table.js +292 -73
- package/es/table/src/util.js +11 -2
- package/es/table/style.css +30 -0
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +9 -11
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +30 -0
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +366 -84
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/fr-FR.js +29 -29
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +29 -29
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/methods.js +21 -11
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +5 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/scrollbar.js +63 -0
- package/lib/table/src/scrollbar.min.js +1 -0
- package/lib/table/src/table.js +265 -62
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +11 -2
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +30 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +9 -11
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +30 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/fr-FR.ts +903 -903
- package/packages/table/src/methods.ts +260 -40
- package/packages/table/src/props.ts +5 -0
- package/packages/table/src/scrollbar.ts +57 -0
- package/packages/table/src/table.ts +329 -75
- package/packages/table/src/util.ts +15 -2
- package/packages/ui/index.ts +8 -10
- package/styles/components/table.scss +65 -0
- /package/es/{iconfont.1791880417274.ttf → iconfont.1792035018941.ttf} +0 -0
- /package/es/{iconfont.1791880417274.woff → iconfont.1792035018941.woff} +0 -0
- /package/es/{iconfont.1791880417274.woff2 → iconfont.1792035018941.woff2} +0 -0
- /package/lib/{iconfont.1791880417274.ttf → iconfont.1792035018941.ttf} +0 -0
- /package/lib/{iconfont.1791880417274.woff → iconfont.1792035018941.woff} +0 -0
- /package/lib/{iconfont.1791880417274.woff2 → iconfont.1792035018941.woff2} +0 -0
package/lib/table/src/props.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.tableProps = void 0;
|
|
7
7
|
var _ui = require("../../ui");
|
|
8
|
+
var _utils = require("../../ui/src/utils");
|
|
8
9
|
const {
|
|
9
10
|
getConfig
|
|
10
11
|
} = _ui.VxeUI;
|
|
@@ -312,6 +313,10 @@ const tableProps = exports.tableProps = {
|
|
|
312
313
|
virtualXConfig: Object,
|
|
313
314
|
// 纵向虚拟滚动配置项
|
|
314
315
|
virtualYConfig: Object,
|
|
316
|
+
useScrollbar: {
|
|
317
|
+
type: Boolean,
|
|
318
|
+
default: () => (0, _utils.getDefaultConfig)(getConfig().table.useScrollbar, getConfig().useScrollbar)
|
|
319
|
+
},
|
|
315
320
|
// 滚动条配置项
|
|
316
321
|
scrollbarConfig: Object,
|
|
317
322
|
// 撤销/恢复历史配置项
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableProps=void 0;var _ui=require("../../ui");let getConfig=_ui.VxeUI.getConfig,tableProps=exports.tableProps={id:[String,Function],data:Array,height:[Number,String],minHeight:{type:[Number,String],default:()=>null},maxHeight:[Number,String],resizable:{type:Boolean,default:()=>getConfig().table.resizable},stripe:{type:Boolean,default:()=>getConfig().table.stripe},border:{type:[Boolean,String],default:()=>getConfig().table.border},padding:{type:Boolean,default:null},round:{type:Boolean,default:()=>getConfig().table.round},size:{type:String,default:()=>getConfig().table.size||getConfig().size},fit:{type:Boolean,default:()=>getConfig().table.fit},loading:Boolean,align:{type:String,default:()=>getConfig().table.align},headerAlign:{type:String,default:()=>getConfig().table.headerAlign},footerAlign:{type:String,default:()=>getConfig().table.footerAlign},showHeader:{type:Boolean,default:()=>getConfig().table.showHeader},highlightCurrentRow:{type:Boolean,default:()=>getConfig().table.highlightCurrentRow},highlightHoverRow:{type:Boolean,default:()=>getConfig().table.highlightHoverRow},highlightCurrentColumn:{type:Boolean,default:()=>getConfig().table.highlightCurrentColumn},highlightHoverColumn:{type:Boolean,default:()=>getConfig().table.highlightHoverColumn},highlightCell:Boolean,showFooter:Boolean,footerData:Array,footerMethod:Function,rowClassName:[String,Function],cellClassName:[String,Function],headerRowClassName:[String,Function],headerCellClassName:[String,Function],footerRowClassName:[String,Function],footerCellClassName:[String,Function],cellStyle:[Object,Function],headerCellStyle:[Object,Function],footerCellStyle:[Object,Function],rowStyle:[Object,Function],headerRowStyle:[Object,Function],footerRowStyle:[Object,Function],showCustomHeader:{type:Boolean,default:()=>getConfig().table.showCustomHeader},mergeHeaderCells:Array,mergeCells:Array,mergeFooterCells:Array,mergeFooterItems:Array,spanMethod:Function,footerSpanMethod:Function,showOverflow:{type:[Boolean,String],default:()=>getConfig().table.showOverflow},showHeaderOverflow:{type:[Boolean,String],default:()=>getConfig().table.showHeaderOverflow},showFooterOverflow:{type:[Boolean,String],default:()=>getConfig().table.showFooterOverflow},columnKey:Boolean,rowKey:Boolean,rowId:{type:String,default:()=>getConfig().table.rowId},zIndex:Number,emptyText:{type:String,default:()=>getConfig().table.emptyText},keepSource:{type:Boolean,default:()=>getConfig().table.keepSource},autoResize:{type:Boolean,default:()=>getConfig().table.autoResize},syncResize:[Boolean,String,Number],resizeConfig:Object,columnConfig:Object,currentColumnConfig:Object,cellConfig:Object,headerCellConfig:Object,footerCellConfig:Object,rowConfig:Object,aggregateConfig:Object,aggregateAccuracyConfig:Object,rowGroupConfig:Object,currentRowConfig:Object,dragConfig:Object,rowDragConfig:Object,columnDragConfig:Object,resizableConfig:Object,seqConfig:Object,sortConfig:Object,filterConfig:Object,floatingFilterConfig:Object,radioConfig:Object,checkboxConfig:Object,tooltipConfig:Object,headerTooltipConfig:Object,footerTooltipConfig:Object,exportConfig:[Boolean,Object],importConfig:[Boolean,Object],printConfig:Object,expandConfig:Object,treeConfig:[Boolean,Object],menuConfig:[Boolean,Object],contextMenu:[Boolean,Object],mouseConfig:Object,areaConfig:Object,keyboardConfig:Object,clipConfig:Object,fnrConfig:Object,editConfig:[Boolean,Object],editDirtyConfig:Object,validConfig:Object,editRules:Object,loadingConfig:Object,emptyRender:[Boolean,Object],customConfig:Object,scrollX:Object,scrollY:Object,virtualXConfig:Object,virtualYConfig:Object,scrollbarConfig:Object,undoRedoHistoryConfig:Object,animat:{type:Boolean,default:()=>getConfig().table.animat},delayHover:{type:Number,default:()=>getConfig().table.delayHover},rendererConfig:Object,params:Object};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableProps=void 0;var _ui=require("../../ui"),_utils=require("../../ui/src/utils");let getConfig=_ui.VxeUI.getConfig,tableProps=exports.tableProps={id:[String,Function],data:Array,height:[Number,String],minHeight:{type:[Number,String],default:()=>null},maxHeight:[Number,String],resizable:{type:Boolean,default:()=>getConfig().table.resizable},stripe:{type:Boolean,default:()=>getConfig().table.stripe},border:{type:[Boolean,String],default:()=>getConfig().table.border},padding:{type:Boolean,default:null},round:{type:Boolean,default:()=>getConfig().table.round},size:{type:String,default:()=>getConfig().table.size||getConfig().size},fit:{type:Boolean,default:()=>getConfig().table.fit},loading:Boolean,align:{type:String,default:()=>getConfig().table.align},headerAlign:{type:String,default:()=>getConfig().table.headerAlign},footerAlign:{type:String,default:()=>getConfig().table.footerAlign},showHeader:{type:Boolean,default:()=>getConfig().table.showHeader},highlightCurrentRow:{type:Boolean,default:()=>getConfig().table.highlightCurrentRow},highlightHoverRow:{type:Boolean,default:()=>getConfig().table.highlightHoverRow},highlightCurrentColumn:{type:Boolean,default:()=>getConfig().table.highlightCurrentColumn},highlightHoverColumn:{type:Boolean,default:()=>getConfig().table.highlightHoverColumn},highlightCell:Boolean,showFooter:Boolean,footerData:Array,footerMethod:Function,rowClassName:[String,Function],cellClassName:[String,Function],headerRowClassName:[String,Function],headerCellClassName:[String,Function],footerRowClassName:[String,Function],footerCellClassName:[String,Function],cellStyle:[Object,Function],headerCellStyle:[Object,Function],footerCellStyle:[Object,Function],rowStyle:[Object,Function],headerRowStyle:[Object,Function],footerRowStyle:[Object,Function],showCustomHeader:{type:Boolean,default:()=>getConfig().table.showCustomHeader},mergeHeaderCells:Array,mergeCells:Array,mergeFooterCells:Array,mergeFooterItems:Array,spanMethod:Function,footerSpanMethod:Function,showOverflow:{type:[Boolean,String],default:()=>getConfig().table.showOverflow},showHeaderOverflow:{type:[Boolean,String],default:()=>getConfig().table.showHeaderOverflow},showFooterOverflow:{type:[Boolean,String],default:()=>getConfig().table.showFooterOverflow},columnKey:Boolean,rowKey:Boolean,rowId:{type:String,default:()=>getConfig().table.rowId},zIndex:Number,emptyText:{type:String,default:()=>getConfig().table.emptyText},keepSource:{type:Boolean,default:()=>getConfig().table.keepSource},autoResize:{type:Boolean,default:()=>getConfig().table.autoResize},syncResize:[Boolean,String,Number],resizeConfig:Object,columnConfig:Object,currentColumnConfig:Object,cellConfig:Object,headerCellConfig:Object,footerCellConfig:Object,rowConfig:Object,aggregateConfig:Object,aggregateAccuracyConfig:Object,rowGroupConfig:Object,currentRowConfig:Object,dragConfig:Object,rowDragConfig:Object,columnDragConfig:Object,resizableConfig:Object,seqConfig:Object,sortConfig:Object,filterConfig:Object,floatingFilterConfig:Object,radioConfig:Object,checkboxConfig:Object,tooltipConfig:Object,headerTooltipConfig:Object,footerTooltipConfig:Object,exportConfig:[Boolean,Object],importConfig:[Boolean,Object],printConfig:Object,expandConfig:Object,treeConfig:[Boolean,Object],menuConfig:[Boolean,Object],contextMenu:[Boolean,Object],mouseConfig:Object,areaConfig:Object,keyboardConfig:Object,clipConfig:Object,fnrConfig:Object,editConfig:[Boolean,Object],editDirtyConfig:Object,validConfig:Object,editRules:Object,loadingConfig:Object,emptyRender:[Boolean,Object],customConfig:Object,scrollX:Object,scrollY:Object,virtualXConfig:Object,virtualYConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().table.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object,undoRedoHistoryConfig:Object,animat:{type:Boolean,default:()=>getConfig().table.animat},delayHover:{type:Number,default:()=>getConfig().table.delayHover},rendererConfig:Object,params:Object};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getScrollFromClick = getScrollFromClick;
|
|
7
|
+
exports.getScrollFromDrag = getScrollFromDrag;
|
|
8
|
+
exports.getThumbOffsetSize = getThumbOffsetSize;
|
|
9
|
+
exports.getThumbSize = getThumbSize;
|
|
10
|
+
/**
|
|
11
|
+
* 计算滚动条滑块的长度
|
|
12
|
+
*/
|
|
13
|
+
function getThumbSize(viewportSize, contentSize, trackSize) {
|
|
14
|
+
if (contentSize <= viewportSize) {
|
|
15
|
+
return 0;
|
|
16
|
+
}
|
|
17
|
+
const ratio = viewportSize / contentSize;
|
|
18
|
+
const ideal = trackSize * ratio;
|
|
19
|
+
return Math.max(20, Math.min(ideal, trackSize));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 计算滚动条滑块的偏移位置
|
|
23
|
+
*/
|
|
24
|
+
function getThumbOffsetSize(offsetSize, viewportSize, contentSize, trackSize, thumbSize) {
|
|
25
|
+
const maxScroll = contentSize - viewportSize;
|
|
26
|
+
if (maxScroll <= 0) {
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
29
|
+
const maxThumbOffset = trackSize - thumbSize;
|
|
30
|
+
if (maxThumbOffset <= 0) {
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
const clamped = Math.min(Math.max(offsetSize, 0), maxScroll);
|
|
34
|
+
const ratio = clamped / maxScroll;
|
|
35
|
+
return ratio * maxThumbOffset;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 根据点击轨道的位置,计算滑块的偏移位置
|
|
39
|
+
*/
|
|
40
|
+
function getScrollFromClick(clickPosition, viewportSize, contentSize, trackSize, thumbSize) {
|
|
41
|
+
const maxThumbOffset = trackSize - thumbSize;
|
|
42
|
+
const maxScroll = contentSize - viewportSize;
|
|
43
|
+
if (maxScroll <= 0 || maxThumbOffset <= 0) {
|
|
44
|
+
return 0;
|
|
45
|
+
}
|
|
46
|
+
let thumbOffset = clickPosition - thumbSize / 2;
|
|
47
|
+
thumbOffset = Math.min(Math.max(thumbOffset, 0), maxThumbOffset);
|
|
48
|
+
const scrollOffset = thumbOffset / maxThumbOffset * maxScroll;
|
|
49
|
+
return scrollOffset;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 拖拽 thumb 时,根据鼠标位置计算滑块的偏移位置
|
|
53
|
+
*/
|
|
54
|
+
function getScrollFromDrag(pointerPosition, dragOffset, viewportSize, contentSize, trackSize, thumbSize) {
|
|
55
|
+
const maxScroll = contentSize - viewportSize;
|
|
56
|
+
const maxThumbOffset = trackSize - thumbSize;
|
|
57
|
+
if (maxScroll <= 0 || maxThumbOffset <= 0) {
|
|
58
|
+
return 0;
|
|
59
|
+
}
|
|
60
|
+
let thumbOffset = pointerPosition - dragOffset;
|
|
61
|
+
thumbOffset = Math.min(Math.max(thumbOffset, 0), maxThumbOffset);
|
|
62
|
+
return thumbOffset / maxThumbOffset * maxScroll;
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function getThumbSize(t,e,r){return e<=t?0:Math.max(20,Math.min(r*(t/e),r))}function getThumbOffsetSize(t,e,r,o,m){r-=e;return r<=0||(e=o-m)<=0?0:Math.min(Math.max(t,0),r)/r*e}function getScrollFromClick(t,e,r,o,m){o-=m,r-=e;return r<=0||o<=0?0:(e=t-m/2,(e=Math.min(Math.max(e,0),o))/o*r)}function getScrollFromDrag(t,e,r,o,m,i){o-=r,r=m-i;return o<=0||r<=0?0:(m=t-e,(m=Math.min(Math.max(m,0),r))/r*o)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getScrollFromClick=getScrollFromClick,exports.getScrollFromDrag=getScrollFromDrag,exports.getThumbOffsetSize=getThumbOffsetSize,exports.getThumbSize=getThumbSize;
|
package/lib/table/src/table.js
CHANGED
|
@@ -41,6 +41,7 @@ const {
|
|
|
41
41
|
renderer,
|
|
42
42
|
globalResize,
|
|
43
43
|
globalEvents,
|
|
44
|
+
domUtils,
|
|
44
45
|
globalMixins,
|
|
45
46
|
renderEmptyElement
|
|
46
47
|
} = _ui.VxeUI;
|
|
@@ -130,6 +131,8 @@ function renderViewFixed(h, $xeTable, fixedType) {
|
|
|
130
131
|
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
131
132
|
const scrollbarXOpts = $xeTable.computeScrollbarXOpts;
|
|
132
133
|
const scrollbarYOpts = $xeTable.computeScrollbarYOpts;
|
|
134
|
+
const scrollXVisible = $xeTable.computeScrollXVisible;
|
|
135
|
+
const scrollYVisible = $xeTable.computeScrollYVisible;
|
|
133
136
|
const {
|
|
134
137
|
overscrollBehavior: overscrollXBehavior
|
|
135
138
|
} = scrollbarXOpts;
|
|
@@ -142,7 +145,7 @@ function renderViewFixed(h, $xeTable, fixedType) {
|
|
|
142
145
|
const osYBehavior = _xeUtils.default.eqNull(overscrollYBehavior) ? scrollbarOpts.overscrollBehavior : overscrollYBehavior;
|
|
143
146
|
return h('div', {
|
|
144
147
|
ref: isFixedLeft ? 'refLeftContainer' : 'refRightContainer',
|
|
145
|
-
class: [`vxe-table--fixed-${fixedType}-wrapper`, `sx--${
|
|
148
|
+
class: [`vxe-table--fixed-${fixedType}-wrapper`, `sx--${scrollXVisible === false || scrollXVisible === 'hidden' ? 'hidden' : 'visible'}`, `sy--${scrollYVisible === false || scrollYVisible === 'hidden' ? 'hidden' : 'visible'}`, {
|
|
146
149
|
[`x-ob--${osXBehavior}`]: osXBehavior,
|
|
147
150
|
[`y-ob--${osYBehavior}`]: osYBehavior
|
|
148
151
|
}]
|
|
@@ -434,6 +437,7 @@ function renderScrollX(h, $xeTable) {
|
|
|
434
437
|
}
|
|
435
438
|
function renderScrollY(h, $xeTable) {
|
|
436
439
|
return h('div', {
|
|
440
|
+
key: 'vsy',
|
|
437
441
|
ref: 'refScrollYVirtualElem',
|
|
438
442
|
class: 'vxe-table--scroll-y-virtual'
|
|
439
443
|
}, [h('div', {
|
|
@@ -474,6 +478,8 @@ function renderViewport(h, $xeTable) {
|
|
|
474
478
|
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
475
479
|
const scrollbarXOpts = $xeTable.computeScrollbarXOpts;
|
|
476
480
|
const scrollbarYOpts = $xeTable.computeScrollbarYOpts;
|
|
481
|
+
const scrollXVisible = $xeTable.computeScrollXVisible;
|
|
482
|
+
const scrollYVisible = $xeTable.computeScrollYVisible;
|
|
477
483
|
const {
|
|
478
484
|
overscrollBehavior: overscrollXBehavior
|
|
479
485
|
} = scrollbarXOpts;
|
|
@@ -487,13 +493,14 @@ function renderViewport(h, $xeTable) {
|
|
|
487
493
|
const osXBehavior = _xeUtils.default.eqNull(overscrollXBehavior) ? scrollbarOpts.overscrollBehavior : overscrollXBehavior;
|
|
488
494
|
const osYBehavior = _xeUtils.default.eqNull(overscrollYBehavior) ? scrollbarOpts.overscrollBehavior : overscrollYBehavior;
|
|
489
495
|
return h('div', {
|
|
496
|
+
key: 'tvw',
|
|
490
497
|
ref: 'refTableViewportElem',
|
|
491
498
|
class: ['vxe-table--viewport-wrapper', {
|
|
492
499
|
[`x-ob--${osXBehavior}`]: osXBehavior,
|
|
493
500
|
[`y-ob--${osYBehavior}`]: osYBehavior
|
|
494
501
|
}]
|
|
495
502
|
}, [h('div', {
|
|
496
|
-
class: ['vxe-table--main-wrapper', `sx--${
|
|
503
|
+
class: ['vxe-table--main-wrapper', `sx--${scrollXVisible === false || scrollXVisible === 'hidden' ? 'hidden' : 'visible'}`, `sy--${scrollYVisible === false || scrollYVisible === 'hidden' ? 'hidden' : 'visible'}`]
|
|
497
504
|
}, [
|
|
498
505
|
/**
|
|
499
506
|
* 表头
|
|
@@ -529,12 +536,82 @@ function renderViewport(h, $xeTable) {
|
|
|
529
536
|
class: 'vxe-table--fixed-wrapper'
|
|
530
537
|
}, [leftList && leftList.length && overflowX ? renderViewFixed(h, $xeTable, 'left') : renderEmptyElement($xeTable), rightList && rightList.length && overflowX ? renderViewFixed(h, $xeTable, 'right') : renderEmptyElement($xeTable)]), renderRowExpandedVNs(h, $xeTable)]);
|
|
531
538
|
}
|
|
532
|
-
function
|
|
539
|
+
function renderNativeBody(h, $xeTable) {
|
|
533
540
|
const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft;
|
|
534
541
|
return h('div', {
|
|
542
|
+
key: 'lnb',
|
|
535
543
|
class: 'vxe-table--layout-wrapper'
|
|
536
544
|
}, scrollbarYToLeft ? [renderScrollY(h, $xeTable), renderViewport(h, $xeTable)] : [renderViewport(h, $xeTable), renderScrollY(h, $xeTable)]);
|
|
537
545
|
}
|
|
546
|
+
function renderVirtualBody(h, $xeTable) {
|
|
547
|
+
const props = $xeTable;
|
|
548
|
+
const reactData = $xeTable;
|
|
549
|
+
const internalData = $xeTable;
|
|
550
|
+
const $xeGantt = $xeTable.$xeGantt;
|
|
551
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
552
|
+
const {
|
|
553
|
+
useScrollbar
|
|
554
|
+
} = props;
|
|
555
|
+
const {
|
|
556
|
+
xThumbWidth,
|
|
557
|
+
yThumbHeight
|
|
558
|
+
} = reactData;
|
|
559
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
560
|
+
const scrollXAutoHide = $xeTable.computeScrollXAutoHide;
|
|
561
|
+
const scrollYAutoHide = $xeTable.computeScrollYAutoHide;
|
|
562
|
+
const scrollXVisible = $xeTable.computeScrollXVisible;
|
|
563
|
+
const scrollYVisible = $xeTable.computeScrollYVisible;
|
|
564
|
+
const scrollbarXToTop = $xeTable.computeScrollbarXToTop;
|
|
565
|
+
const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft;
|
|
566
|
+
const scrollbarWrapperClss = $xeTable.computeScrollbarWrapperClss;
|
|
567
|
+
const hideXScroll = scrollXVisible === false || scrollXVisible === 'hidden';
|
|
568
|
+
const hideYScroll = scrollYVisible === false || scrollYVisible === 'hidden';
|
|
569
|
+
return h('div', {
|
|
570
|
+
key: 'lvb',
|
|
571
|
+
class: ['vxe-table--layout-wrapper', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
572
|
+
'is--virtual-scrollbar': useScrollbar,
|
|
573
|
+
'ov-padding': useScrollbar && scrollbarOpts.padding,
|
|
574
|
+
'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
|
|
575
|
+
'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
|
|
576
|
+
'overflow-y': yThumbHeight,
|
|
577
|
+
'overflow-x': xThumbWidth
|
|
578
|
+
}]
|
|
579
|
+
}, [renderViewport(h, $xeTable), h('div', {
|
|
580
|
+
class: scrollbarWrapperClss
|
|
581
|
+
}, [hideXScroll ? renderEmptyElement($xeTable) : h('div', {
|
|
582
|
+
ref: 'refTrackXElem',
|
|
583
|
+
class: 'vxe-scrollbar--track-x',
|
|
584
|
+
on: {
|
|
585
|
+
click: $xeTable.clickTrackXEvent
|
|
586
|
+
}
|
|
587
|
+
}, [h('div', {
|
|
588
|
+
ref: 'refThumbXElem',
|
|
589
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
590
|
+
on: {
|
|
591
|
+
pointerdown: $xeTable.pointerdownThumbXEvent,
|
|
592
|
+
pointermove: $xeTable.pointermoveThumbXEvent,
|
|
593
|
+
pointerup: $xeTable.cleatPointerThumbEvent,
|
|
594
|
+
pointercancel: $xeTable.cleatPointerThumbEvent,
|
|
595
|
+
lostpointercapture: $xeTable.cleatPointerThumbEvent
|
|
596
|
+
}
|
|
597
|
+
})]), hideYScroll || $xeGantt && $xeGanttView && $xeGantt.reactData.showRightView && !scrollbarYToLeft ? renderEmptyElement($xeTable) : h('div', {
|
|
598
|
+
ref: 'refTrackYElem',
|
|
599
|
+
class: 'vxe-scrollbar--track-y',
|
|
600
|
+
on: {
|
|
601
|
+
click: $xeTable.clickTrackYEvent
|
|
602
|
+
}
|
|
603
|
+
}, [h('div', {
|
|
604
|
+
ref: 'refThumbYElem',
|
|
605
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
606
|
+
on: {
|
|
607
|
+
pointerdown: $xeTable.pointerdownThumbYEvent,
|
|
608
|
+
pointermove: $xeTable.pointermoveThumbYEvent,
|
|
609
|
+
pointerup: $xeTable.cleatPointerThumbEvent,
|
|
610
|
+
pointercancel: $xeTable.cleatPointerThumbEvent,
|
|
611
|
+
lostpointercapture: $xeTable.cleatPointerThumbEvent
|
|
612
|
+
}
|
|
613
|
+
})])])]);
|
|
614
|
+
}
|
|
538
615
|
var _default = exports.default = {
|
|
539
616
|
name: 'VxeTable',
|
|
540
617
|
mixins: [globalMixins.sizeMixin, _mixin.default, _mixin2.default, _mixin3.default, _mixin4.default, _mixin5.default, _mixin6.default, _mixin7.default],
|
|
@@ -577,7 +654,8 @@ var _default = exports.default = {
|
|
|
577
654
|
kfFlag: 0,
|
|
578
655
|
layoutReFlag: 0,
|
|
579
656
|
mergeFooteCellFlag: 0,
|
|
580
|
-
crossTableDragRowInfo: _store.crossTableDragRowGlobal
|
|
657
|
+
crossTableDragRowInfo: _store.crossTableDragRowGlobal,
|
|
658
|
+
scrollDefaultConf: Object.assign({}, getConfig().scrollbar)
|
|
581
659
|
});
|
|
582
660
|
},
|
|
583
661
|
computed: Object.assign(Object.assign({}, {}), {
|
|
@@ -696,18 +774,54 @@ var _default = exports.default = {
|
|
|
696
774
|
return Object.assign({}, getConfig().table.scrollbarConfig, props.scrollbarConfig);
|
|
697
775
|
},
|
|
698
776
|
computeScrollbarXOpts() {
|
|
699
|
-
var _a;
|
|
700
777
|
const $xeTable = this;
|
|
701
|
-
const props = $xeTable;
|
|
702
778
|
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
703
|
-
return Object.assign({}, scrollbarOpts.x,
|
|
779
|
+
return scrollbarOpts.x ? Object.assign({}, scrollbarOpts.x, scrollbarOpts.xConfig) : scrollbarOpts.xConfig || {};
|
|
704
780
|
},
|
|
705
781
|
computeScrollbarYOpts() {
|
|
706
|
-
var _a;
|
|
707
782
|
const $xeTable = this;
|
|
708
|
-
const props = $xeTable;
|
|
709
783
|
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
710
|
-
return Object.assign({}, scrollbarOpts.y,
|
|
784
|
+
return scrollbarOpts.y ? Object.assign({}, scrollbarOpts.y, scrollbarOpts.yConfig) : scrollbarOpts.yConfig || {};
|
|
785
|
+
},
|
|
786
|
+
computeScrollXHeight() {
|
|
787
|
+
const $xeTable = this;
|
|
788
|
+
const scrollDefaultConf = $xeTable.scrollDefaultConf;
|
|
789
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
790
|
+
const scrollbarXOpts = $xeTable.computeScrollbarXOpts;
|
|
791
|
+
return _xeUtils.default.toNumber((0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.height, scrollbarOpts.height), scrollDefaultConf.height));
|
|
792
|
+
},
|
|
793
|
+
computeScrollYWidth() {
|
|
794
|
+
const $xeTable = this;
|
|
795
|
+
const scrollDefaultConf = $xeTable.scrollDefaultConf;
|
|
796
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
797
|
+
const scrollbarYOpts = $xeTable.computeScrollbarYOpts;
|
|
798
|
+
return _xeUtils.default.toNumber((0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.width, scrollbarOpts.width), scrollDefaultConf.width));
|
|
799
|
+
},
|
|
800
|
+
computeScrollXVisible() {
|
|
801
|
+
const $xeTable = this;
|
|
802
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
803
|
+
const scrollbarXOpts = $xeTable.computeScrollbarXOpts;
|
|
804
|
+
return (0, _utils.getDefaultConfig)(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
805
|
+
},
|
|
806
|
+
computeScrollYVisible() {
|
|
807
|
+
const $xeTable = this;
|
|
808
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
809
|
+
const scrollbarYOpts = $xeTable.computeScrollbarYOpts;
|
|
810
|
+
return (0, _utils.getDefaultConfig)(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
811
|
+
},
|
|
812
|
+
computeScrollXAutoHide() {
|
|
813
|
+
const $xeTable = this;
|
|
814
|
+
const scrollDefaultConf = $xeTable.scrollDefaultConf;
|
|
815
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
816
|
+
const scrollbarXOpts = $xeTable.computeScrollbarXOpts;
|
|
817
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), scrollDefaultConf.autoHide);
|
|
818
|
+
},
|
|
819
|
+
computeScrollYAutoHide() {
|
|
820
|
+
const $xeTable = this;
|
|
821
|
+
const scrollDefaultConf = $xeTable.scrollDefaultConf;
|
|
822
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
823
|
+
const scrollbarYOpts = $xeTable.computeScrollbarYOpts;
|
|
824
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), scrollDefaultConf.autoHide);
|
|
711
825
|
},
|
|
712
826
|
computeScrollbarXToTop() {
|
|
713
827
|
const $xeTable = this;
|
|
@@ -719,6 +833,22 @@ var _default = exports.default = {
|
|
|
719
833
|
const scrollbarYOpts = $xeTable.computeScrollbarYOpts;
|
|
720
834
|
return scrollbarYOpts.position === 'left';
|
|
721
835
|
},
|
|
836
|
+
computeScrollbarWrapperClss() {
|
|
837
|
+
const $xeTable = this;
|
|
838
|
+
const reactData = $xeTable;
|
|
839
|
+
const {
|
|
840
|
+
yThumbHeight,
|
|
841
|
+
xThumbWidth
|
|
842
|
+
} = reactData;
|
|
843
|
+
const scrollbarXToTop = $xeTable.computeScrollbarXToTop;
|
|
844
|
+
const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft;
|
|
845
|
+
const scrollXVisible = $xeTable.computeScrollXVisible;
|
|
846
|
+
const scrollYVisible = $xeTable.computeScrollYVisible;
|
|
847
|
+
return domUtils.buildClass(['vxe-scrollbar is--virtual', `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`, `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`], {
|
|
848
|
+
'overflow-y': yThumbHeight,
|
|
849
|
+
'overflow-x': xThumbWidth
|
|
850
|
+
});
|
|
851
|
+
},
|
|
722
852
|
computeScrollYThreshold() {
|
|
723
853
|
const $xeTable = this;
|
|
724
854
|
const virtualYOpts = $xeTable.computeVirtualYOpts;
|
|
@@ -766,6 +896,11 @@ var _default = exports.default = {
|
|
|
766
896
|
}
|
|
767
897
|
return cellOpts;
|
|
768
898
|
},
|
|
899
|
+
computeCellHeitht() {
|
|
900
|
+
const $xeTable = this;
|
|
901
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
902
|
+
return cellOpts.height;
|
|
903
|
+
},
|
|
769
904
|
computeHeaderCellOpts() {
|
|
770
905
|
const $xeTable = this;
|
|
771
906
|
const $xeGantt = $xeTable.$xeGantt;
|
|
@@ -1286,19 +1421,16 @@ var _default = exports.default = {
|
|
|
1286
1421
|
},
|
|
1287
1422
|
computeTableStyle() {
|
|
1288
1423
|
const $xeTable = this;
|
|
1289
|
-
const
|
|
1290
|
-
const
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
}
|
|
1298
|
-
if (height) {
|
|
1299
|
-
tStys['--vxe-ui-table-view-scrollbar-height'] = (0, _dom.toCssUnit)(height);
|
|
1424
|
+
const barWidth = $xeTable.computeScrollYWidth;
|
|
1425
|
+
const barHeight = $xeTable.computeScrollXHeight;
|
|
1426
|
+
const stys = {};
|
|
1427
|
+
if (barWidth || barHeight) {
|
|
1428
|
+
stys['--vxe-ui-table-view-scrollbar-width'] = (0, _dom.toCssUnit)(barWidth || barHeight);
|
|
1429
|
+
stys['--vxe-ui-scrollbar-y-width'] = (0, _dom.toCssUnit)(barWidth || barHeight);
|
|
1430
|
+
stys['--vxe-ui-table-view-scrollbar-height'] = (0, _dom.toCssUnit)(barHeight || barWidth);
|
|
1431
|
+
stys['--vxe-ui-scrollbar-x-height'] = (0, _dom.toCssUnit)(barHeight || barWidth);
|
|
1300
1432
|
}
|
|
1301
|
-
return
|
|
1433
|
+
return stys;
|
|
1302
1434
|
},
|
|
1303
1435
|
computeTableRowExpandedList() {
|
|
1304
1436
|
const $xeTable = this;
|
|
@@ -1556,17 +1688,6 @@ var _default = exports.default = {
|
|
|
1556
1688
|
},
|
|
1557
1689
|
computeVxeLanguage() {
|
|
1558
1690
|
return _ui.VxeUI.getLanguage();
|
|
1559
|
-
},
|
|
1560
|
-
computeScrollbarVisible() {
|
|
1561
|
-
const $xeTable = this;
|
|
1562
|
-
const scrollbarXOpts = $xeTable.computeScrollbarXOpts;
|
|
1563
|
-
const scrollbarYOpts = $xeTable.computeScrollbarYOpts;
|
|
1564
|
-
return `${scrollbarXOpts.visible}${scrollbarYOpts.visible}`;
|
|
1565
|
-
},
|
|
1566
|
-
computeCellConfHeitht() {
|
|
1567
|
-
const $xeTable = this;
|
|
1568
|
-
const cellOpts = $xeTable.computeCellOpts;
|
|
1569
|
-
return cellOpts.height;
|
|
1570
1691
|
}
|
|
1571
1692
|
}),
|
|
1572
1693
|
watch: {
|
|
@@ -1614,55 +1735,98 @@ var _default = exports.default = {
|
|
|
1614
1735
|
this.$nextTick().then(() => this.refreshColumn());
|
|
1615
1736
|
},
|
|
1616
1737
|
computeSize() {
|
|
1617
|
-
this
|
|
1738
|
+
const $xeTable = this;
|
|
1739
|
+
$xeTable.reLayoutFlag++;
|
|
1618
1740
|
},
|
|
1619
1741
|
showHeader() {
|
|
1620
|
-
this
|
|
1742
|
+
const $xeTable = this;
|
|
1743
|
+
$xeTable.reLayoutFlag++;
|
|
1621
1744
|
},
|
|
1622
1745
|
showFooter() {
|
|
1623
|
-
this
|
|
1746
|
+
const $xeTable = this;
|
|
1747
|
+
$xeTable.reLayoutFlag++;
|
|
1624
1748
|
},
|
|
1625
1749
|
showHeaderOverflow() {
|
|
1626
|
-
this
|
|
1750
|
+
const $xeTable = this;
|
|
1751
|
+
$xeTable.reLayoutFlag++;
|
|
1627
1752
|
},
|
|
1628
1753
|
showOverflow() {
|
|
1629
1754
|
const $xeTable = this;
|
|
1630
1755
|
updateColumnAllOverflow($xeTable);
|
|
1631
|
-
|
|
1756
|
+
$xeTable.reLayoutFlag++;
|
|
1632
1757
|
},
|
|
1633
1758
|
showFooterOverflow() {
|
|
1634
|
-
this
|
|
1759
|
+
const $xeTable = this;
|
|
1760
|
+
$xeTable.reLayoutFlag++;
|
|
1635
1761
|
},
|
|
1636
1762
|
overflowX() {
|
|
1637
|
-
this
|
|
1763
|
+
const $xeTable = this;
|
|
1764
|
+
$xeTable.reLayoutFlag++;
|
|
1638
1765
|
},
|
|
1639
1766
|
overflowY() {
|
|
1640
|
-
this
|
|
1767
|
+
const $xeTable = this;
|
|
1768
|
+
$xeTable.reLayoutFlag++;
|
|
1641
1769
|
},
|
|
1642
1770
|
height() {
|
|
1643
|
-
this
|
|
1771
|
+
const $xeTable = this;
|
|
1772
|
+
$xeTable.reLayoutFlag++;
|
|
1644
1773
|
},
|
|
1645
1774
|
maxHeight() {
|
|
1646
|
-
this
|
|
1775
|
+
const $xeTable = this;
|
|
1776
|
+
$xeTable.reLayoutFlag++;
|
|
1777
|
+
},
|
|
1778
|
+
computeVxeLanguage() {
|
|
1779
|
+
const $xeTable = this;
|
|
1780
|
+
$xeTable.reLayoutFlag++;
|
|
1647
1781
|
},
|
|
1648
1782
|
computeScrollbarXToTop() {
|
|
1649
|
-
this
|
|
1783
|
+
const $xeTable = this;
|
|
1784
|
+
$xeTable.reScrollFlag++;
|
|
1785
|
+
$xeTable.reLayoutFlag++;
|
|
1650
1786
|
},
|
|
1651
1787
|
computeScrollbarYToLeft() {
|
|
1652
|
-
this
|
|
1788
|
+
const $xeTable = this;
|
|
1789
|
+
$xeTable.reScrollFlag++;
|
|
1790
|
+
$xeTable.reLayoutFlag++;
|
|
1653
1791
|
},
|
|
1654
|
-
|
|
1655
|
-
this
|
|
1792
|
+
computeScrollXVisible() {
|
|
1793
|
+
const $xeTable = this;
|
|
1794
|
+
$xeTable.reScrollFlag++;
|
|
1795
|
+
$xeTable.reLayoutFlag++;
|
|
1796
|
+
},
|
|
1797
|
+
computeScrollYVisible() {
|
|
1798
|
+
const $xeTable = this;
|
|
1799
|
+
$xeTable.reScrollFlag++;
|
|
1800
|
+
$xeTable.reLayoutFlag++;
|
|
1656
1801
|
},
|
|
1657
|
-
|
|
1658
|
-
this
|
|
1802
|
+
computeScrollXHeight() {
|
|
1803
|
+
const $xeTable = this;
|
|
1804
|
+
$xeTable.reScrollFlag++;
|
|
1805
|
+
$xeTable.reLayoutFlag++;
|
|
1806
|
+
},
|
|
1807
|
+
computeScrollYWidth() {
|
|
1808
|
+
const $xeTable = this;
|
|
1809
|
+
$xeTable.reScrollFlag++;
|
|
1810
|
+
$xeTable.reLayoutFlag++;
|
|
1659
1811
|
},
|
|
1660
|
-
|
|
1661
|
-
this
|
|
1812
|
+
computeCellHeitht() {
|
|
1813
|
+
const $xeTable = this;
|
|
1814
|
+
$xeTable.reLayoutFlag++;
|
|
1662
1815
|
},
|
|
1663
1816
|
reLayoutFlag() {
|
|
1664
1817
|
const $xeTable = this;
|
|
1665
|
-
$xeTable.$nextTick(() =>
|
|
1818
|
+
$xeTable.$nextTick(() => {
|
|
1819
|
+
$xeTable.recalculate(true);
|
|
1820
|
+
});
|
|
1821
|
+
},
|
|
1822
|
+
reScrollFlag() {
|
|
1823
|
+
const $xeTable = this;
|
|
1824
|
+
$xeTable.$nextTick(() => {
|
|
1825
|
+
$xeTable.updateScrollbar();
|
|
1826
|
+
$xeTable.$nextTick(() => {
|
|
1827
|
+
$xeTable.updateScrollbar();
|
|
1828
|
+
});
|
|
1829
|
+
});
|
|
1666
1830
|
},
|
|
1667
1831
|
footerData() {
|
|
1668
1832
|
this.footFlag++;
|
|
@@ -1800,6 +1964,7 @@ var _default = exports.default = {
|
|
|
1800
1964
|
const areaOpts = $xeTable.computeAreaOpts;
|
|
1801
1965
|
const sortOpts = $xeTable.computeSortOpts;
|
|
1802
1966
|
const filterOpts = $xeTable.computeFilterOpts;
|
|
1967
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts;
|
|
1803
1968
|
const {
|
|
1804
1969
|
groupFields
|
|
1805
1970
|
} = aggregateOpts;
|
|
@@ -2050,6 +2215,12 @@ var _default = exports.default = {
|
|
|
2050
2215
|
// if ((hasEnableConf(printConfig, printOpts) || hasEnableConf(importConfig, importOpts) || hasEnableConf(exportConfig, exportOpts)) && !$xeTable.exportData) {
|
|
2051
2216
|
// errLog('vxe.error.reqModule', ['Export'])
|
|
2052
2217
|
// }
|
|
2218
|
+
if (scrollbarOpts.x) {
|
|
2219
|
+
warnLog('vxe.error.delProp', ['scrollbar-config.x', 'scrollbar-config.xConfig']);
|
|
2220
|
+
}
|
|
2221
|
+
if (scrollbarOpts.y) {
|
|
2222
|
+
warnLog('vxe.error.delProp', ['scrollbar-config.y', 'scrollbar-config.yConfig']);
|
|
2223
|
+
}
|
|
2053
2224
|
Object.assign(scrollYStore, {
|
|
2054
2225
|
startIndex: 0,
|
|
2055
2226
|
endIndex: 1,
|
|
@@ -2118,6 +2289,13 @@ var _default = exports.default = {
|
|
|
2118
2289
|
warnLog('vxe.error.reqProp', ['tooltip-config']);
|
|
2119
2290
|
}
|
|
2120
2291
|
$xeTable.$nextTick(() => {
|
|
2292
|
+
const {
|
|
2293
|
+
useScrollbar,
|
|
2294
|
+
autoResize
|
|
2295
|
+
} = props;
|
|
2296
|
+
const {
|
|
2297
|
+
elemStore
|
|
2298
|
+
} = internalData;
|
|
2121
2299
|
// 使用已安装的组件,如果未安装则不渲染
|
|
2122
2300
|
const VxeUILoadingComponent = _ui.VxeUI.getComponent('VxeLoading');
|
|
2123
2301
|
const VxeUITooltipComponent = _ui.VxeUI.getComponent('VxeTooltip');
|
|
@@ -2165,15 +2343,34 @@ var _default = exports.default = {
|
|
|
2165
2343
|
errLog('vxe.error.reqComp', ['vxe-tooltip']);
|
|
2166
2344
|
}
|
|
2167
2345
|
}
|
|
2168
|
-
|
|
2346
|
+
const el = $xeTable.$refs.refElem;
|
|
2347
|
+
if (useScrollbar) {
|
|
2348
|
+
const viewInnerEl = (0, _util.getRefElem)(elemStore['main-body-table']);
|
|
2349
|
+
const scrollObserver = globalResize.create(() => {
|
|
2350
|
+
$xeTable.reScrollFlag++;
|
|
2351
|
+
});
|
|
2352
|
+
if (el) {
|
|
2353
|
+
scrollObserver.observe(el);
|
|
2354
|
+
}
|
|
2355
|
+
if (viewInnerEl) {
|
|
2356
|
+
scrollObserver.observe(viewInnerEl);
|
|
2357
|
+
}
|
|
2358
|
+
internalData.scrollObserver = scrollObserver;
|
|
2359
|
+
}
|
|
2360
|
+
if (autoResize) {
|
|
2361
|
+
const parentEl = $xeTable.getParentElem();
|
|
2169
2362
|
const resizeObserver = globalResize.create(() => {
|
|
2170
|
-
if (
|
|
2171
|
-
|
|
2363
|
+
if (props.autoResize) {
|
|
2364
|
+
$xeTable.handleResizeEvent();
|
|
2172
2365
|
}
|
|
2173
2366
|
});
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2367
|
+
if (el) {
|
|
2368
|
+
resizeObserver.observe(el);
|
|
2369
|
+
}
|
|
2370
|
+
if (parentEl) {
|
|
2371
|
+
resizeObserver.observe(parentEl);
|
|
2372
|
+
}
|
|
2373
|
+
internalData.resizeObserver = resizeObserver;
|
|
2177
2374
|
}
|
|
2178
2375
|
});
|
|
2179
2376
|
if (virtualYOpts.mode !== 'scroll') {
|
|
@@ -2209,6 +2406,8 @@ var _default = exports.default = {
|
|
|
2209
2406
|
const reactData = $xeTable;
|
|
2210
2407
|
const internalData = $xeTable;
|
|
2211
2408
|
const {
|
|
2409
|
+
scrollObserver,
|
|
2410
|
+
resizeObserver,
|
|
2212
2411
|
_sToTime
|
|
2213
2412
|
} = internalData;
|
|
2214
2413
|
if (_sToTime) {
|
|
@@ -2230,8 +2429,11 @@ var _default = exports.default = {
|
|
|
2230
2429
|
if (tableViewportEl) {
|
|
2231
2430
|
tableViewportEl.removeEventListener('wheel', $xeTable.triggerBodyWheelEvent);
|
|
2232
2431
|
}
|
|
2233
|
-
if (
|
|
2234
|
-
|
|
2432
|
+
if (scrollObserver) {
|
|
2433
|
+
scrollObserver.disconnect();
|
|
2434
|
+
}
|
|
2435
|
+
if (resizeObserver) {
|
|
2436
|
+
resizeObserver.disconnect();
|
|
2235
2437
|
}
|
|
2236
2438
|
$xeTable.closeTooltip();
|
|
2237
2439
|
$xeTable.closeFilter();
|
|
@@ -2270,6 +2472,7 @@ var _default = exports.default = {
|
|
|
2270
2472
|
const {
|
|
2271
2473
|
loading,
|
|
2272
2474
|
stripe,
|
|
2475
|
+
useScrollbar,
|
|
2273
2476
|
showHeader,
|
|
2274
2477
|
height,
|
|
2275
2478
|
treeConfig,
|
|
@@ -2345,7 +2548,7 @@ var _default = exports.default = {
|
|
|
2345
2548
|
}
|
|
2346
2549
|
return h('div', {
|
|
2347
2550
|
ref: 'refElem',
|
|
2348
|
-
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
2551
|
+
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, useScrollbar ? 'is--virtual-scrollbar' : 'is--native-scrollbar', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
2349
2552
|
[`size--${vSize}`]: vSize,
|
|
2350
2553
|
[`valid-msg--${validOpts.msgMode}`]: !!editRules,
|
|
2351
2554
|
'vxe-editable': !!editConfig,
|
|
@@ -2406,7 +2609,7 @@ var _default = exports.default = {
|
|
|
2406
2609
|
})]), h('div', {
|
|
2407
2610
|
key: 'tw',
|
|
2408
2611
|
class: 'vxe-table--render-wrapper'
|
|
2409
|
-
}, scrollbarXToTop ? [renderScrollX(h, $xeTable),
|
|
2612
|
+
}, useScrollbar ? [renderVirtualBody(h, $xeTable)] : scrollbarXToTop ? [renderScrollX(h, $xeTable), renderNativeBody(h, $xeTable)] : [renderNativeBody(h, $xeTable), renderScrollX(h, $xeTable)]),
|
|
2410
2613
|
/**
|
|
2411
2614
|
* 空数据
|
|
2412
2615
|
*/
|