vxe-table 4.10.6-beta.6 → 4.10.6-beta.8
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/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/header.js +7 -2
- package/es/table/src/table.js +263 -189
- package/es/table/style.css +119 -38
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +119 -38
- 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 +263 -187
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/header.js +10 -2
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +251 -183
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +119 -38
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- 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 +119 -38
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/table/src/header.ts +7 -2
- package/packages/table/src/table.ts +271 -196
- package/styles/components/table.scss +149 -60
- /package/es/{iconfont.1736779080510.ttf → iconfont.1736840923205.ttf} +0 -0
- /package/es/{iconfont.1736779080510.woff → iconfont.1736840923205.woff} +0 -0
- /package/es/{iconfont.1736779080510.woff2 → iconfont.1736840923205.woff2} +0 -0
- /package/lib/{iconfont.1736779080510.ttf → iconfont.1736840923205.ttf} +0 -0
- /package/lib/{iconfont.1736779080510.woff → iconfont.1736840923205.woff} +0 -0
- /package/lib/{iconfont.1736779080510.woff2 → iconfont.1736840923205.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(V){let Y=(0,_vue.inject)("$xeTable",{}),{xID:
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(V){let Y=(0,_vue.inject)("$xeTable",{}),{xID:f,props:m,reactData:K,internalData:J}=Y,{refElem:r,refLeftContainer:s,refRightContainer:u,refCellResizeBar:c,refCellResizeTip:v}=Y.getRefMaps(),{computeColumnOpts:g,computeColumnDragOpts:x,computeResizableOpts:p,computeScrollbarXToTop:h}=Y.getComputeMaps(),_=(0,_vue.ref)([]),H=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),y=(0,_vue.ref)(),w=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),t=()=>{var e=K.isGroup;_.value=e?(0,_util.convertHeaderColumnToRows)(V.tableGroupColumn):[]},Q=(e,a)=>{var l=a.column;let f=V.fixedType,m=K.scrollbarHeight,{elemStore:t,visibleColumn:i}=J,g=p.value,x=r.value,_=s.value,b=u.value,C=c.value,y=v.value,w=h.value,D=e.clientX,M=H.value;var n=e.target;let T=l,E=(l.children&&l.children.length&&_xeUtils.default.eachTree(l.children,e=>{T=e}),n.parentNode);l=Object.assign(a,{cell:E});let z=0,S=(0,_util.getRefElem)(t["main-body-scroll"]);if(S){var o=(0,_dom.getOffsetPos)(n,M),n=n.clientWidth,d=Math.floor(n/2);let s=(0,_util.getColReMinWidth)(l)-d,u=o.left-E.clientWidth+n+s,c=o.left+d,t=document.onmousemove,r=document.onmouseup,v="left"===f,p="right"===f,h=0;if(v||p){var W=v?"nextElementSibling":"previousElementSibling";let e=E[W];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(h+=e.offsetWidth),e=e[W];p&&b&&(c=b.offsetLeft+h)}l=l=>{l.stopPropagation(),l.preventDefault();var t=x.clientHeight,r=l.clientX-D;let e=c+r;r=f?0:S.scrollLeft,v?e=Math.min(e,(b?b.offsetLeft:S.clientWidth)-h-s):p?(u=(_?_.clientWidth:0)+h+s,e=Math.min(e,c+E.clientWidth-s)):u=Math.max(S.scrollLeft,u),z=Math.max(e,u),r=Math.max(1,z-r);if(C.style.left=r+"px",C.style.top=`${w?m:0}px`,C.style.height=`${w?t-m:t}px`,g.showDragTip&&y){var a=x.clientWidth,i=M.getBoundingClientRect(),n=C.clientWidth,o=y.clientWidth,d=y.clientHeight;let e=-o;r<o+n?e=0:a<r&&(e+=a-r),y.style.left=e+"px",y.style.top=Math.min(t-d,Math.max(0,l.clientY-i.y-d/2))+"px",y.textContent=getI18n("vxe.table.resizeColTip",[T.renderWidth+(p?c-z:z-c)])}};K._isResize=!0,(0,_dom.addClass)(x,"drag--resize"),C.style.display="block",document.onmousemove=l,document.onmouseup=function(e){document.onmousemove=t,document.onmouseup=r;let l=T.renderWidth+(p?c-z:z-c);T.resizeWidth=l,"fixed"===g.dragMode&&i.forEach(e=>{e.id===T.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),C.style.display="none",K._isResize=!1,J._lastResizeTime=Date.now(),Y.analyColumnWidth(),Y.recalculate(!0).then(()=>{Y.saveCustomStore("update:visible"),Y.updateCellAreas(),Y.dispatchEvent("resizable-change",Object.assign(Object.assign({},a),{resizeWidth:l}),e),setTimeout(()=>Y.recalculate(!0),300)}),(0,_dom.removeClass)(x,"drag--resize")},l(e),Y.closeMenu&&Y.closeMenu()}},T=(D,M,T,E)=>{let z=V.fixedType,{resizable:S,border:W,columnKey:H,headerCellClassName:R,headerCellStyle:I,showHeaderOverflow:O,headerAlign:k,align:U,mouseConfig:$}=m,{currentColumn:A,scrollXLoad:F,scrollYLoad:L,overflowX:j}=K,q=J.scrollXStore,X=g.value,G=x.value,{disabledMethod:N,isCrossDrag:P,isPeerDrag:B}=G;return T.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,filters:n,headerClassName:o,editRender:d,cellRender:s}=e,u=e.id,d=d||s,s=d?renderer.get(d.name):null,d=e.children&&e.children.length,c=z?e.fixed!==z&&!d:!!e.fixed&&j,r=_xeUtils.default.eqNull(r)?O:r,a=a||(s?s.tableHeaderCellAlign:"")||k||i||(s?s.tableCellAlign:"")||U;let v="ellipsis"===r;i="title"===r,s=!0===r||"tooltip"===r;let p=i||s||v,h=!1,f=null;n&&(f=n[0],h=n.some(e=>e.checked));var r=Y.getColumnIndex(e),m=Y.getVTColumnIndex(e);let g={$table:Y,$grid:Y.xegrid,$rowIndex:E,column:e,columnIndex:r,$columnIndex:l,_columnIndex:m,firstFilterOption:f,fixed:z,type:renderType,isHidden:c,hasFilter:h};var r={colid:u,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},x={onClick:e=>Y.triggerHeaderCellClickEvent(e,g),onDblclick:e=>Y.triggerHeaderCellDblclickEvent(e,g)},_=(F&&!p&&(v=p=!0),X.drag&&"cell"===G.trigger);let b=!1;_&&(b=!(!N||!N(g))),($||_)&&(x.onMousedown=e=>Y.triggerHeaderCellMousedownEvent(e,g)),X.drag&&(x.onDragstart=Y.handleHeaderCellDragDragstartEvent,x.onDragend=Y.handleHeaderCellDragDragendEvent,x.onDragover=Y.handleHeaderCellDragDragoverEvent,_)&&(x.onMouseup=Y.handleHeaderCellDragMouseupEvent);var _=l===T.length-1,C=_xeUtils.default.isBoolean(e.resizable)?e.resizable:X.resizable||S,y=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let w=!1;return F&&!D&&!e.fixed&&(m<q.visibleStartIndex||m>q.visibleEndIndex)&&(w=!0),(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",u,{["col--"+a]:a,["col--"+t]:t,"col--last":_,"col--fixed":e.fixed,"col--group":d,"col--ellipsis":p,"fixed--width":!y,"fixed--hidden":c,"is--sortable":e.sortable,"col--filter":!!n,"is--filter-active":h,"is--drag-active":!e.fixed&&!b&&(P||B||!e.parentId),"is--drag-disabled":b,"col--current":A===e},o?_xeUtils.default.isFunction(o)?o(g):o:"",R?_xeUtils.default.isFunction(R)?R(g):R:""],style:I?_xeUtils.default.isFunction(I)?I(g):I:null},r),x),{key:H||F||L||X.useKey||X.drag||d?u:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":v}]},w||M&&c?[]:e.renderHeader(g)),!c&&C?(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>Q(e,g),onDblclick:e=>Y.handleResizeDblclickEvent(e,g)}):renderEmptyElement(Y)])})};return(0,_vue.watch)(()=>V.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=V.fixedType,l=Y.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=H,l[e+"scroll"]=b,l[e+"table"]=C,l[e+"colgroup"]=y,l[e+"list"]=w,l[e+"xSpace"]=D,l[e+"repair"]=M,t()})}),(0,_vue.onUnmounted)(()=>{var e=V.fixedType,l=Y.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=V;var{showHeaderOverflow:r,spanMethod:a,footerSpanMethod:i}=m,{isGroup:n,scrollXLoad:o,scrollYLoad:d,dragCol:s}=K,{visibleColumn:u,fullColumnIdData:c}=J;let v=_.value,p=t,h=!1;return n?p=u:(!(o||d||r)||a||i||(h=!0),l&&(p=u,h)&&(p=e||[]),v=[p]),l||n||o&&s&&2<p.length&&(d=c[s.id])&&(r=d._index,a=p[0],i=p[p.length-1],u=c[a.id],o=c[i.id],u)&&o&&(d=u._index,a=o._index,r<d?(p=[s].concat(p),v=[[s].concat(v[0])].concat(v.slice(1))):a<r&&(p=p.concat([s]),v=[v[0].concat([s])].concat(v.slice(1)))),(0,_vue.h)("div",{ref:H,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:f},[(0,_vue.h)("div",{ref:b,class:"vxe-table--header-inner-wrapper",onScroll(e){Y.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(Y):(0,_vue.h)("div",{ref:D,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--header",xid:f,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:y},p.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("thead",{ref:w},((r,a,e)=>{let i=V.fixedType,{headerRowClassName:n,headerRowStyle:o}=m,d=K.isDragColMove,s=g.value,u=x.value;return e.map((e,l)=>{var t={$table:Y,$rowIndex:l,fixed:i,type:renderType};return s.drag&&u.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(t):n:""],style:o?_xeUtils.default.isFunction(o)?o(t):o:null},{default:()=>T(r,a,e,l)}):(0,_vue.h)("tr",{key:l,class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(t):n:""],style:o?_xeUtils.default.isFunction(o)?o(t):o:null},T(r,a,e,l))})})(n,h,v))])]),(0,_vue.h)("div",{ref:M,class:"vxe-table--header-border-line"})])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -393,9 +393,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
393
393
|
const refScrollXVirtualElem = (0, _vue.ref)();
|
|
394
394
|
const refScrollYVirtualElem = (0, _vue.ref)();
|
|
395
395
|
const refScrollXHandleElem = (0, _vue.ref)();
|
|
396
|
+
const refScrollXLeftCornerElem = (0, _vue.ref)();
|
|
396
397
|
const refScrollXRightCornerElem = (0, _vue.ref)();
|
|
397
398
|
const refScrollYHandleElem = (0, _vue.ref)();
|
|
398
399
|
const refScrollYTopCornerElem = (0, _vue.ref)();
|
|
400
|
+
const refScrollXWrapperElem = (0, _vue.ref)();
|
|
401
|
+
const refScrollYWrapperElem = (0, _vue.ref)();
|
|
399
402
|
const refScrollYBottomCornerElem = (0, _vue.ref)();
|
|
400
403
|
const refScrollXSpaceElem = (0, _vue.ref)();
|
|
401
404
|
const refScrollYSpaceElem = (0, _vue.ref)();
|
|
@@ -452,6 +455,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
452
455
|
const computeScrollbarOpts = (0, _vue.computed)(() => {
|
|
453
456
|
return Object.assign({}, getConfig().table.scrollbarConfig, props.scrollbarConfig);
|
|
454
457
|
});
|
|
458
|
+
const computeScrollbarXToTop = (0, _vue.computed)(() => {
|
|
459
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
460
|
+
return !!(scrollbarOpts.x && scrollbarOpts.x.position === 'top');
|
|
461
|
+
});
|
|
462
|
+
const computeScrollbarYToLeft = (0, _vue.computed)(() => {
|
|
463
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
464
|
+
return !!(scrollbarOpts.y && scrollbarOpts.y.position === 'left');
|
|
465
|
+
});
|
|
455
466
|
const computeScrollYThreshold = (0, _vue.computed)(() => {
|
|
456
467
|
const sYOpts = computeSYOpts.value;
|
|
457
468
|
const {
|
|
@@ -756,6 +767,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
756
767
|
computeVirtualXOpts,
|
|
757
768
|
computeVirtualYOpts,
|
|
758
769
|
computeScrollbarOpts,
|
|
770
|
+
computeScrollbarXToTop,
|
|
771
|
+
computeScrollbarYToLeft,
|
|
759
772
|
computeColumnOpts,
|
|
760
773
|
computeScrollXThreshold,
|
|
761
774
|
computeScrollYThreshold,
|
|
@@ -2045,19 +2058,26 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2045
2058
|
}
|
|
2046
2059
|
bodyHeight = Math.max(bodyMinHeight, bodyHeight);
|
|
2047
2060
|
}
|
|
2061
|
+
const xLeftCornerEl = refScrollXLeftCornerElem.value;
|
|
2062
|
+
const xRightCornerEl = refScrollXRightCornerElem.value;
|
|
2063
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
2048
2064
|
const scrollXVirtualEl = refScrollXVirtualElem.value;
|
|
2049
2065
|
if (scrollXVirtualEl) {
|
|
2050
2066
|
scrollXVirtualEl.style.height = `${scrollbarHeight}px`;
|
|
2051
2067
|
scrollXVirtualEl.style.visibility = scrollbarHeight ? 'visible' : 'hidden';
|
|
2052
2068
|
}
|
|
2053
|
-
const
|
|
2054
|
-
if (
|
|
2055
|
-
|
|
2069
|
+
const xWrapperEl = refScrollXWrapperElem.value;
|
|
2070
|
+
if (xWrapperEl) {
|
|
2071
|
+
xWrapperEl.style.left = scrollbarXToTop ? `${scrollbarWidth}px` : '';
|
|
2072
|
+
xWrapperEl.style.width = `${el.clientWidth - scrollbarWidth}px`;
|
|
2073
|
+
}
|
|
2074
|
+
if (xLeftCornerEl) {
|
|
2075
|
+
xLeftCornerEl.style.width = scrollbarXToTop ? `${scrollbarWidth}px` : '';
|
|
2076
|
+
xLeftCornerEl.style.display = scrollbarXToTop ? scrollbarWidth && scrollbarHeight ? 'block' : '' : '';
|
|
2056
2077
|
}
|
|
2057
|
-
const xRightCornerEl = refScrollXRightCornerElem.value;
|
|
2058
2078
|
if (xRightCornerEl) {
|
|
2059
|
-
xRightCornerEl.style.width = `${scrollbarWidth}px`;
|
|
2060
|
-
xRightCornerEl.style.display = scrollbarWidth && scrollbarHeight ? 'block' : '';
|
|
2079
|
+
xRightCornerEl.style.width = scrollbarXToTop ? '' : `${scrollbarWidth}px`;
|
|
2080
|
+
xRightCornerEl.style.display = scrollbarXToTop ? '' : scrollbarWidth && scrollbarHeight ? 'block' : '';
|
|
2061
2081
|
}
|
|
2062
2082
|
const scrollYVirtualEl = refScrollYVirtualElem.value;
|
|
2063
2083
|
if (scrollYVirtualEl) {
|
|
@@ -2070,10 +2090,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2070
2090
|
yTopCornerEl.style.height = `${headerHeight}px`;
|
|
2071
2091
|
yTopCornerEl.style.display = headerHeight ? 'block' : '';
|
|
2072
2092
|
}
|
|
2073
|
-
const
|
|
2074
|
-
if (
|
|
2075
|
-
|
|
2076
|
-
|
|
2093
|
+
const yWrapperEl = refScrollYWrapperElem.value;
|
|
2094
|
+
if (yWrapperEl) {
|
|
2095
|
+
yWrapperEl.style.height = `${bodyHeight}px`;
|
|
2096
|
+
yWrapperEl.style.top = `${headerHeight}px`;
|
|
2077
2097
|
}
|
|
2078
2098
|
const yBottomCornerEl = refScrollYBottomCornerElem.value;
|
|
2079
2099
|
if (yBottomCornerEl) {
|
|
@@ -3651,86 +3671,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3651
3671
|
loadScrollYData();
|
|
3652
3672
|
}, fpsTime);
|
|
3653
3673
|
};
|
|
3654
|
-
const scrollXEvent = evnt => {
|
|
3655
|
-
const {
|
|
3656
|
-
elemStore,
|
|
3657
|
-
inWheelScroll,
|
|
3658
|
-
lastScrollTop,
|
|
3659
|
-
inHeaderScroll,
|
|
3660
|
-
inBodyScroll,
|
|
3661
|
-
inFooterScroll
|
|
3662
|
-
} = internalData;
|
|
3663
|
-
if (inHeaderScroll || inBodyScroll || inFooterScroll) {
|
|
3664
|
-
return;
|
|
3665
|
-
}
|
|
3666
|
-
if (inWheelScroll) {
|
|
3667
|
-
return;
|
|
3668
|
-
}
|
|
3669
|
-
const headerScrollElem = (0, _util.getRefElem)(elemStore['main-header-scroll']);
|
|
3670
|
-
const bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
|
|
3671
|
-
const footerScrollElem = (0, _util.getRefElem)(elemStore['main-footer-scroll']);
|
|
3672
|
-
const yHandleEl = refScrollYHandleElem.value;
|
|
3673
|
-
const wrapperEl = evnt.currentTarget;
|
|
3674
|
-
const {
|
|
3675
|
-
scrollLeft
|
|
3676
|
-
} = wrapperEl;
|
|
3677
|
-
const yBodyEl = yHandleEl || bodyScrollElem;
|
|
3678
|
-
let scrollTop = 0;
|
|
3679
|
-
if (yBodyEl) {
|
|
3680
|
-
scrollTop = yBodyEl.scrollTop;
|
|
3681
|
-
}
|
|
3682
|
-
const isRollX = true;
|
|
3683
|
-
const isRollY = scrollTop !== lastScrollTop;
|
|
3684
|
-
internalData.inVirtualScroll = true;
|
|
3685
|
-
(0, _dom.setScrollLeft)(bodyScrollElem, scrollLeft);
|
|
3686
|
-
(0, _dom.setScrollLeft)(headerScrollElem, scrollLeft);
|
|
3687
|
-
(0, _dom.setScrollLeft)(footerScrollElem, scrollLeft);
|
|
3688
|
-
$xeTable.triggerScrollXEvent(evnt);
|
|
3689
|
-
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
3690
|
-
type: 'table',
|
|
3691
|
-
fixed: ''
|
|
3692
|
-
});
|
|
3693
|
-
};
|
|
3694
|
-
const scrollYEvent = evnt => {
|
|
3695
|
-
const {
|
|
3696
|
-
elemStore,
|
|
3697
|
-
inWheelScroll,
|
|
3698
|
-
lastScrollLeft,
|
|
3699
|
-
inHeaderScroll,
|
|
3700
|
-
inBodyScroll,
|
|
3701
|
-
inFooterScroll
|
|
3702
|
-
} = internalData;
|
|
3703
|
-
if (inHeaderScroll || inBodyScroll || inFooterScroll) {
|
|
3704
|
-
return;
|
|
3705
|
-
}
|
|
3706
|
-
if (inWheelScroll) {
|
|
3707
|
-
return;
|
|
3708
|
-
}
|
|
3709
|
-
const leftScrollElem = (0, _util.getRefElem)(elemStore['left-body-scroll']);
|
|
3710
|
-
const bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
|
|
3711
|
-
const rightScrollElem = (0, _util.getRefElem)(elemStore['right-body-scroll']);
|
|
3712
|
-
const xHandleEl = refScrollXHandleElem.value;
|
|
3713
|
-
const wrapperEl = evnt.currentTarget;
|
|
3714
|
-
const {
|
|
3715
|
-
scrollTop
|
|
3716
|
-
} = wrapperEl;
|
|
3717
|
-
const xBodyEl = xHandleEl || bodyScrollElem;
|
|
3718
|
-
let scrollLeft = 0;
|
|
3719
|
-
if (xBodyEl) {
|
|
3720
|
-
scrollLeft = xBodyEl.scrollLeft;
|
|
3721
|
-
}
|
|
3722
|
-
const isRollX = scrollLeft !== lastScrollLeft;
|
|
3723
|
-
const isRollY = true;
|
|
3724
|
-
internalData.inVirtualScroll = true;
|
|
3725
|
-
(0, _dom.setScrollTop)(bodyScrollElem, scrollTop);
|
|
3726
|
-
(0, _dom.setScrollTop)(leftScrollElem, scrollTop);
|
|
3727
|
-
(0, _dom.setScrollTop)(rightScrollElem, scrollTop);
|
|
3728
|
-
$xeTable.triggerScrollYEvent(evnt);
|
|
3729
|
-
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
3730
|
-
type: 'table',
|
|
3731
|
-
fixed: ''
|
|
3732
|
-
});
|
|
3733
|
-
};
|
|
3734
3674
|
const checkLastSyncScroll = (isRollX, isRollY) => {
|
|
3735
3675
|
const {
|
|
3736
3676
|
scrollXLoad,
|
|
@@ -3782,6 +3722,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3782
3722
|
}
|
|
3783
3723
|
return (0, _vue.nextTick)();
|
|
3784
3724
|
};
|
|
3725
|
+
function handleUupdateResize() {
|
|
3726
|
+
const el = refElem.value;
|
|
3727
|
+
if (el && el.clientWidth && el.clientHeight) {
|
|
3728
|
+
tableMethods.recalculate();
|
|
3729
|
+
}
|
|
3730
|
+
}
|
|
3785
3731
|
tableMethods = {
|
|
3786
3732
|
dispatchEvent,
|
|
3787
3733
|
/**
|
|
@@ -7126,6 +7072,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7126
7072
|
const rdLineEl = refDragRowLineElem.value;
|
|
7127
7073
|
if (rdLineEl) {
|
|
7128
7074
|
if (showLine) {
|
|
7075
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
7129
7076
|
const trRect = trEl.getBoundingClientRect();
|
|
7130
7077
|
let trHeight = trEl.clientHeight;
|
|
7131
7078
|
const offsetTop = Math.max(1, trRect.y - wrapperRect.y);
|
|
@@ -7133,6 +7080,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7133
7080
|
trHeight = tableHeight - offsetTop - scrollbarHeight;
|
|
7134
7081
|
}
|
|
7135
7082
|
rdLineEl.style.display = 'block';
|
|
7083
|
+
rdLineEl.style.left = `${scrollbarYToLeft ? scrollbarWidth : 0}px`;
|
|
7136
7084
|
rdLineEl.style.top = `${offsetTop}px`;
|
|
7137
7085
|
rdLineEl.style.height = `${trHeight}px`;
|
|
7138
7086
|
rdLineEl.style.width = `${tableWidth - scrollbarWidth}px`;
|
|
@@ -7146,6 +7094,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7146
7094
|
const cdLineEl = refDragColLineElem.value;
|
|
7147
7095
|
if (cdLineEl) {
|
|
7148
7096
|
if (showLine) {
|
|
7097
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
7149
7098
|
const leftContainerElem = refLeftContainer.value;
|
|
7150
7099
|
const leftContainerWidth = leftContainerElem ? leftContainerElem.clientWidth : 0;
|
|
7151
7100
|
const rightContainerElem = refRightContainer.value;
|
|
@@ -7170,7 +7119,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7170
7119
|
if (prevDragToChild) {
|
|
7171
7120
|
cdLineEl.style.height = `${thRect.height}px`;
|
|
7172
7121
|
} else {
|
|
7173
|
-
cdLineEl.style.height = `${tableHeight - offsetTop - scrollbarHeight}px`;
|
|
7122
|
+
cdLineEl.style.height = `${tableHeight - offsetTop - (scrollbarXToTop ? 0 : scrollbarHeight)}px`;
|
|
7174
7123
|
}
|
|
7175
7124
|
cdLineEl.setAttribute('drag-pos', dragPos);
|
|
7176
7125
|
cdLineEl.setAttribute('drag-to-child', prevDragToChild ? 'y' : 'n');
|
|
@@ -9635,6 +9584,86 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
9635
9584
|
});
|
|
9636
9585
|
}
|
|
9637
9586
|
},
|
|
9587
|
+
triggerVirtualScrollXEvent(evnt) {
|
|
9588
|
+
const {
|
|
9589
|
+
elemStore,
|
|
9590
|
+
inWheelScroll,
|
|
9591
|
+
lastScrollTop,
|
|
9592
|
+
inHeaderScroll,
|
|
9593
|
+
inBodyScroll,
|
|
9594
|
+
inFooterScroll
|
|
9595
|
+
} = internalData;
|
|
9596
|
+
if (inHeaderScroll || inBodyScroll || inFooterScroll) {
|
|
9597
|
+
return;
|
|
9598
|
+
}
|
|
9599
|
+
if (inWheelScroll) {
|
|
9600
|
+
return;
|
|
9601
|
+
}
|
|
9602
|
+
const headerScrollElem = (0, _util.getRefElem)(elemStore['main-header-scroll']);
|
|
9603
|
+
const bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
|
|
9604
|
+
const footerScrollElem = (0, _util.getRefElem)(elemStore['main-footer-scroll']);
|
|
9605
|
+
const yHandleEl = refScrollYHandleElem.value;
|
|
9606
|
+
const wrapperEl = evnt.currentTarget;
|
|
9607
|
+
const {
|
|
9608
|
+
scrollLeft
|
|
9609
|
+
} = wrapperEl;
|
|
9610
|
+
const yBodyEl = yHandleEl || bodyScrollElem;
|
|
9611
|
+
let scrollTop = 0;
|
|
9612
|
+
if (yBodyEl) {
|
|
9613
|
+
scrollTop = yBodyEl.scrollTop;
|
|
9614
|
+
}
|
|
9615
|
+
const isRollX = true;
|
|
9616
|
+
const isRollY = scrollTop !== lastScrollTop;
|
|
9617
|
+
internalData.inVirtualScroll = true;
|
|
9618
|
+
(0, _dom.setScrollLeft)(bodyScrollElem, scrollLeft);
|
|
9619
|
+
(0, _dom.setScrollLeft)(headerScrollElem, scrollLeft);
|
|
9620
|
+
(0, _dom.setScrollLeft)(footerScrollElem, scrollLeft);
|
|
9621
|
+
$xeTable.triggerScrollXEvent(evnt);
|
|
9622
|
+
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
9623
|
+
type: 'table',
|
|
9624
|
+
fixed: ''
|
|
9625
|
+
});
|
|
9626
|
+
},
|
|
9627
|
+
triggerVirtualScrollYEvent(evnt) {
|
|
9628
|
+
const {
|
|
9629
|
+
elemStore,
|
|
9630
|
+
inWheelScroll,
|
|
9631
|
+
lastScrollLeft,
|
|
9632
|
+
inHeaderScroll,
|
|
9633
|
+
inBodyScroll,
|
|
9634
|
+
inFooterScroll
|
|
9635
|
+
} = internalData;
|
|
9636
|
+
if (inHeaderScroll || inBodyScroll || inFooterScroll) {
|
|
9637
|
+
return;
|
|
9638
|
+
}
|
|
9639
|
+
if (inWheelScroll) {
|
|
9640
|
+
return;
|
|
9641
|
+
}
|
|
9642
|
+
const leftScrollElem = (0, _util.getRefElem)(elemStore['left-body-scroll']);
|
|
9643
|
+
const bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
|
|
9644
|
+
const rightScrollElem = (0, _util.getRefElem)(elemStore['right-body-scroll']);
|
|
9645
|
+
const xHandleEl = refScrollXHandleElem.value;
|
|
9646
|
+
const wrapperEl = evnt.currentTarget;
|
|
9647
|
+
const {
|
|
9648
|
+
scrollTop
|
|
9649
|
+
} = wrapperEl;
|
|
9650
|
+
const xBodyEl = xHandleEl || bodyScrollElem;
|
|
9651
|
+
let scrollLeft = 0;
|
|
9652
|
+
if (xBodyEl) {
|
|
9653
|
+
scrollLeft = xBodyEl.scrollLeft;
|
|
9654
|
+
}
|
|
9655
|
+
const isRollX = scrollLeft !== lastScrollLeft;
|
|
9656
|
+
const isRollY = true;
|
|
9657
|
+
internalData.inVirtualScroll = true;
|
|
9658
|
+
(0, _dom.setScrollTop)(bodyScrollElem, scrollTop);
|
|
9659
|
+
(0, _dom.setScrollTop)(leftScrollElem, scrollTop);
|
|
9660
|
+
(0, _dom.setScrollTop)(rightScrollElem, scrollTop);
|
|
9661
|
+
$xeTable.triggerScrollYEvent(evnt);
|
|
9662
|
+
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
9663
|
+
type: 'table',
|
|
9664
|
+
fixed: ''
|
|
9665
|
+
});
|
|
9666
|
+
},
|
|
9638
9667
|
/**
|
|
9639
9668
|
* 对于树形结构中,可以直接滚动到指定深层节点中
|
|
9640
9669
|
* 对于某些特定的场景可能会用到,比如定位到某一节点
|
|
@@ -10035,12 +10064,108 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10035
10064
|
}
|
|
10036
10065
|
return renderEmptyElement($xeTable);
|
|
10037
10066
|
};
|
|
10038
|
-
|
|
10039
|
-
|
|
10040
|
-
|
|
10041
|
-
|
|
10042
|
-
|
|
10043
|
-
|
|
10067
|
+
const renderScrollX = () => {
|
|
10068
|
+
return (0, _vue.h)('div', {
|
|
10069
|
+
key: 'vsx',
|
|
10070
|
+
ref: refScrollXVirtualElem,
|
|
10071
|
+
class: 'vxe-table--scroll-x-virtual'
|
|
10072
|
+
}, [(0, _vue.h)('div', {
|
|
10073
|
+
ref: refScrollXLeftCornerElem,
|
|
10074
|
+
class: 'vxe-table--scroll-x-left-corner'
|
|
10075
|
+
}), (0, _vue.h)('div', {
|
|
10076
|
+
ref: refScrollXWrapperElem,
|
|
10077
|
+
class: 'vxe-table--scroll-x-wrapper'
|
|
10078
|
+
}, [(0, _vue.h)('div', {
|
|
10079
|
+
ref: refScrollXHandleElem,
|
|
10080
|
+
class: 'vxe-table--scroll-x-handle',
|
|
10081
|
+
onScroll: $xeTable.triggerVirtualScrollXEvent
|
|
10082
|
+
}, [(0, _vue.h)('div', {
|
|
10083
|
+
ref: refScrollXSpaceElem,
|
|
10084
|
+
class: 'vxe-table--scroll-x-space'
|
|
10085
|
+
})])]), (0, _vue.h)('div', {
|
|
10086
|
+
ref: refScrollXRightCornerElem,
|
|
10087
|
+
class: 'vxe-table--scroll-x-right-corner'
|
|
10088
|
+
})]);
|
|
10089
|
+
};
|
|
10090
|
+
const renderScrollY = () => {
|
|
10091
|
+
return (0, _vue.h)('div', {
|
|
10092
|
+
ref: refScrollYVirtualElem,
|
|
10093
|
+
class: 'vxe-table--scroll-y-virtual'
|
|
10094
|
+
}, [(0, _vue.h)('div', {
|
|
10095
|
+
ref: refScrollYTopCornerElem,
|
|
10096
|
+
class: 'vxe-table--scroll-y-top-corner'
|
|
10097
|
+
}), (0, _vue.h)('div', {
|
|
10098
|
+
ref: refScrollYWrapperElem,
|
|
10099
|
+
class: 'vxe-table--scroll-y-wrapper'
|
|
10100
|
+
}, [(0, _vue.h)('div', {
|
|
10101
|
+
ref: refScrollYHandleElem,
|
|
10102
|
+
class: 'vxe-table--scroll-y-handle',
|
|
10103
|
+
onScroll: $xeTable.triggerVirtualScrollYEvent
|
|
10104
|
+
}, [(0, _vue.h)('div', {
|
|
10105
|
+
ref: refScrollYSpaceElem,
|
|
10106
|
+
class: 'vxe-table--scroll-y-space'
|
|
10107
|
+
})])]), (0, _vue.h)('div', {
|
|
10108
|
+
ref: refScrollYBottomCornerElem,
|
|
10109
|
+
class: 'vxe-table--scroll-y-bottom-corner'
|
|
10110
|
+
})]);
|
|
10111
|
+
};
|
|
10112
|
+
const renderViewport = () => {
|
|
10113
|
+
const {
|
|
10114
|
+
showHeader,
|
|
10115
|
+
showFooter
|
|
10116
|
+
} = props;
|
|
10117
|
+
const {
|
|
10118
|
+
overflowX,
|
|
10119
|
+
tableData,
|
|
10120
|
+
tableColumn,
|
|
10121
|
+
tableGroupColumn,
|
|
10122
|
+
footerTableData,
|
|
10123
|
+
columnStore
|
|
10124
|
+
} = reactData;
|
|
10125
|
+
const {
|
|
10126
|
+
leftList,
|
|
10127
|
+
rightList
|
|
10128
|
+
} = columnStore;
|
|
10129
|
+
return (0, _vue.h)('div', {
|
|
10130
|
+
ref: refTableViewportElem,
|
|
10131
|
+
class: 'vxe-table--viewport-wrapper'
|
|
10132
|
+
}, [(0, _vue.h)('div', {
|
|
10133
|
+
class: 'vxe-table--main-wrapper'
|
|
10134
|
+
}, [
|
|
10135
|
+
/**
|
|
10136
|
+
* 表头
|
|
10137
|
+
*/
|
|
10138
|
+
showHeader ? (0, _vue.h)(_header.default, {
|
|
10139
|
+
ref: refTableHeader,
|
|
10140
|
+
tableData,
|
|
10141
|
+
tableColumn,
|
|
10142
|
+
tableGroupColumn
|
|
10143
|
+
}) : renderEmptyElement($xeTable),
|
|
10144
|
+
/**
|
|
10145
|
+
* 表体
|
|
10146
|
+
*/
|
|
10147
|
+
(0, _vue.h)(_body.default, {
|
|
10148
|
+
ref: refTableBody,
|
|
10149
|
+
tableData,
|
|
10150
|
+
tableColumn
|
|
10151
|
+
}),
|
|
10152
|
+
/**
|
|
10153
|
+
* 表尾
|
|
10154
|
+
*/
|
|
10155
|
+
showFooter ? (0, _vue.h)(_footer.default, {
|
|
10156
|
+
ref: refTableFooter,
|
|
10157
|
+
footerTableData,
|
|
10158
|
+
tableColumn
|
|
10159
|
+
}) : renderEmptyElement($xeTable)]), (0, _vue.h)('div', {
|
|
10160
|
+
class: 'vxe-table--fixed-wrapper'
|
|
10161
|
+
}, [leftList && leftList.length && overflowX ? renderFixed('left') : renderEmptyElement($xeTable), rightList && rightList.length && overflowX ? renderFixed('right') : renderEmptyElement($xeTable)])]);
|
|
10162
|
+
};
|
|
10163
|
+
const renderBody = () => {
|
|
10164
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
10165
|
+
return (0, _vue.h)('div', {
|
|
10166
|
+
class: 'vxe-table--layout-wrapper'
|
|
10167
|
+
}, scrollbarYToLeft ? [renderScrollY(), renderViewport()] : [renderViewport(), renderScrollY()]);
|
|
10168
|
+
};
|
|
10044
10169
|
const renderVN = () => {
|
|
10045
10170
|
const {
|
|
10046
10171
|
loading,
|
|
@@ -10063,11 +10188,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10063
10188
|
overflowY,
|
|
10064
10189
|
scrollXLoad,
|
|
10065
10190
|
scrollYLoad,
|
|
10066
|
-
scrollbarHeight,
|
|
10067
10191
|
tableData,
|
|
10068
|
-
tableColumn,
|
|
10069
|
-
tableGroupColumn,
|
|
10070
|
-
footerTableData,
|
|
10071
10192
|
initStore,
|
|
10072
10193
|
columnStore,
|
|
10073
10194
|
filterStore,
|
|
@@ -10095,9 +10216,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10095
10216
|
const resizableOpts = computeResizableOpts.value;
|
|
10096
10217
|
const isArea = mouseConfig && mouseOpts.area;
|
|
10097
10218
|
const columnDragOpts = computeColumnDragOpts.value;
|
|
10219
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
10220
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
10098
10221
|
return (0, _vue.h)('div', {
|
|
10099
10222
|
ref: refElem,
|
|
10100
|
-
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, {
|
|
10223
|
+
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
10101
10224
|
[`size--${vSize}`]: vSize,
|
|
10102
10225
|
[`valid-msg--${validOpts.msgMode}`]: !!editRules,
|
|
10103
10226
|
'vxe-editable': !!editConfig,
|
|
@@ -10140,69 +10263,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10140
10263
|
}, slots.default ? slots.default({}) : []), (0, _vue.h)('div', {
|
|
10141
10264
|
key: 'tw',
|
|
10142
10265
|
class: 'vxe-table--render-wrapper'
|
|
10143
|
-
}, [(
|
|
10144
|
-
ref: refTableViewportElem,
|
|
10145
|
-
class: 'vxe-table--viewport-wrapper'
|
|
10146
|
-
}, [(0, _vue.h)('div', {
|
|
10147
|
-
class: 'vxe-table--main-wrapper'
|
|
10148
|
-
}, [
|
|
10149
|
-
/**
|
|
10150
|
-
* 表头
|
|
10151
|
-
*/
|
|
10152
|
-
showHeader ? (0, _vue.h)(_header.default, {
|
|
10153
|
-
ref: refTableHeader,
|
|
10154
|
-
tableData,
|
|
10155
|
-
tableColumn,
|
|
10156
|
-
tableGroupColumn
|
|
10157
|
-
}) : renderEmptyElement($xeTable),
|
|
10158
|
-
/**
|
|
10159
|
-
* 表体
|
|
10160
|
-
*/
|
|
10161
|
-
(0, _vue.h)(_body.default, {
|
|
10162
|
-
ref: refTableBody,
|
|
10163
|
-
tableData,
|
|
10164
|
-
tableColumn
|
|
10165
|
-
}),
|
|
10166
|
-
/**
|
|
10167
|
-
* 表尾
|
|
10168
|
-
*/
|
|
10169
|
-
showFooter ? (0, _vue.h)(_footer.default, {
|
|
10170
|
-
ref: refTableFooter,
|
|
10171
|
-
footerTableData,
|
|
10172
|
-
tableColumn
|
|
10173
|
-
}) : renderEmptyElement($xeTable)]), (0, _vue.h)('div', {
|
|
10174
|
-
class: 'vxe-table--fixed-wrapper'
|
|
10175
|
-
}, [leftList && leftList.length && overflowX ? renderFixed('left') : renderEmptyElement($xeTable), rightList && rightList.length && overflowX ? renderFixed('right') : renderEmptyElement($xeTable)])]), (0, _vue.h)('div', {
|
|
10176
|
-
ref: refScrollYVirtualElem,
|
|
10177
|
-
class: 'vxe-table--scroll-y-virtual'
|
|
10178
|
-
}, [(0, _vue.h)('div', {
|
|
10179
|
-
ref: refScrollYTopCornerElem,
|
|
10180
|
-
class: 'vxe-table--scroll-y-top-corner'
|
|
10181
|
-
}), (0, _vue.h)('div', {
|
|
10182
|
-
ref: refScrollYHandleElem,
|
|
10183
|
-
class: 'vxe-table--scroll-y-handle',
|
|
10184
|
-
onScroll: scrollYEvent
|
|
10185
|
-
}, [(0, _vue.h)('div', {
|
|
10186
|
-
ref: refScrollYSpaceElem,
|
|
10187
|
-
class: 'vxe-table--scroll-y-space'
|
|
10188
|
-
})]), (0, _vue.h)('div', {
|
|
10189
|
-
ref: refScrollYBottomCornerElem,
|
|
10190
|
-
class: 'vxe-table--scroll-y-bottom-corner'
|
|
10191
|
-
})])]), (0, _vue.h)('div', {
|
|
10192
|
-
key: 'vx',
|
|
10193
|
-
ref: refScrollXVirtualElem,
|
|
10194
|
-
class: 'vxe-table--scroll-x-virtual'
|
|
10195
|
-
}, [(0, _vue.h)('div', {
|
|
10196
|
-
ref: refScrollXHandleElem,
|
|
10197
|
-
class: 'vxe-table--scroll-x-handle',
|
|
10198
|
-
onScroll: scrollXEvent
|
|
10199
|
-
}, [(0, _vue.h)('div', {
|
|
10200
|
-
ref: refScrollXSpaceElem,
|
|
10201
|
-
class: 'vxe-table--scroll-x-space'
|
|
10202
|
-
})]), (0, _vue.h)('div', {
|
|
10203
|
-
ref: refScrollXRightCornerElem,
|
|
10204
|
-
class: 'vxe-table--scroll-x-right-corner'
|
|
10205
|
-
})]),
|
|
10266
|
+
}, scrollbarXToTop ? [renderScrollX(), renderBody()] : [renderBody(), renderScrollX()]),
|
|
10206
10267
|
/**
|
|
10207
10268
|
* 空数据
|
|
10208
10269
|
*/
|
|
@@ -10226,10 +10287,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10226
10287
|
(0, _vue.h)('div', {
|
|
10227
10288
|
key: 'cl',
|
|
10228
10289
|
ref: refCellResizeBar,
|
|
10229
|
-
class: 'vxe-table--resizable-bar'
|
|
10230
|
-
style: overflowX ? {
|
|
10231
|
-
'padding-bottom': `${scrollbarHeight}px`
|
|
10232
|
-
} : null
|
|
10290
|
+
class: 'vxe-table--resizable-bar'
|
|
10233
10291
|
}, resizableOpts.showDragTip ? [(0, _vue.h)('div', {
|
|
10234
10292
|
ref: refCellResizeTip,
|
|
10235
10293
|
class: 'vxe-table--resizable-number-tip'
|
|
@@ -10401,16 +10459,37 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10401
10459
|
tableMethods.refreshColumn();
|
|
10402
10460
|
});
|
|
10403
10461
|
});
|
|
10462
|
+
const reScrollFlag = (0, _vue.ref)(0);
|
|
10463
|
+
(0, _vue.watch)(computeSize, () => {
|
|
10464
|
+
reScrollFlag.value++;
|
|
10465
|
+
});
|
|
10404
10466
|
(0, _vue.watch)(() => props.showHeader, () => {
|
|
10405
|
-
|
|
10406
|
-
tableMethods.recalculate(true).then(() => tableMethods.refreshScroll());
|
|
10407
|
-
});
|
|
10467
|
+
reScrollFlag.value++;
|
|
10408
10468
|
});
|
|
10409
10469
|
(0, _vue.watch)(() => props.showFooter, () => {
|
|
10470
|
+
reScrollFlag.value++;
|
|
10471
|
+
});
|
|
10472
|
+
(0, _vue.watch)(reScrollFlag, () => {
|
|
10410
10473
|
(0, _vue.nextTick)(() => {
|
|
10411
10474
|
tableMethods.recalculate(true).then(() => tableMethods.refreshScroll());
|
|
10412
10475
|
});
|
|
10413
10476
|
});
|
|
10477
|
+
const reLayoutFlag = (0, _vue.ref)(0);
|
|
10478
|
+
(0, _vue.watch)(() => props.height, () => {
|
|
10479
|
+
reLayoutFlag.value++;
|
|
10480
|
+
});
|
|
10481
|
+
(0, _vue.watch)(() => props.maxHeight, () => {
|
|
10482
|
+
reLayoutFlag.value++;
|
|
10483
|
+
});
|
|
10484
|
+
(0, _vue.watch)(computeScrollbarXToTop, () => {
|
|
10485
|
+
reLayoutFlag.value++;
|
|
10486
|
+
});
|
|
10487
|
+
(0, _vue.watch)(computeScrollbarYToLeft, () => {
|
|
10488
|
+
reLayoutFlag.value++;
|
|
10489
|
+
});
|
|
10490
|
+
(0, _vue.watch)(reLayoutFlag, () => {
|
|
10491
|
+
(0, _vue.nextTick)(() => tableMethods.recalculate(true));
|
|
10492
|
+
});
|
|
10414
10493
|
const footFlag = (0, _vue.ref)(0);
|
|
10415
10494
|
(0, _vue.watch)(() => props.footerData ? props.footerData.length : -1, () => {
|
|
10416
10495
|
footFlag.value++;
|
|
@@ -10421,17 +10500,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10421
10500
|
(0, _vue.watch)(footFlag, () => {
|
|
10422
10501
|
tableMethods.updateFooter();
|
|
10423
10502
|
});
|
|
10424
|
-
(0, _vue.watch)(() => props.height, () => {
|
|
10425
|
-
(0, _vue.nextTick)(() => tableMethods.recalculate(true));
|
|
10426
|
-
});
|
|
10427
|
-
(0, _vue.watch)(() => props.maxHeight, () => {
|
|
10428
|
-
(0, _vue.nextTick)(() => tableMethods.recalculate(true));
|
|
10429
|
-
});
|
|
10430
|
-
(0, _vue.watch)(computeSize, () => {
|
|
10431
|
-
(0, _vue.nextTick)(() => {
|
|
10432
|
-
tableMethods.recalculate(true).then(() => tableMethods.refreshScroll());
|
|
10433
|
-
});
|
|
10434
|
-
});
|
|
10435
10503
|
(0, _vue.watch)(() => props.syncResize, value => {
|
|
10436
10504
|
if (value) {
|
|
10437
10505
|
handleUupdateResize();
|