vxe-table 4.10.6-beta.7 → 4.10.6-beta.9
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/body.js +40 -27
- package/es/table/src/footer.js +4 -4
- package/es/table/src/header.js +11 -6
- package/es/table/src/table.js +298 -226
- package/es/table/style.css +128 -38
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +7 -5
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +128 -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 +347 -270
- 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/body.js +33 -25
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +4 -4
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +14 -6
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +288 -229
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +128 -38
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +7 -5
- 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 +128 -38
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/table/src/body.ts +40 -25
- package/packages/table/src/footer.ts +4 -4
- package/packages/table/src/header.ts +11 -6
- package/packages/table/src/table.ts +309 -236
- package/packages/ui/index.ts +6 -4
- package/styles/components/table.scss +158 -60
- /package/es/{iconfont.1736820154664.ttf → iconfont.1736854674495.ttf} +0 -0
- /package/es/{iconfont.1736820154664.woff → iconfont.1736854674495.woff} +0 -0
- /package/es/{iconfont.1736820154664.woff2 → iconfont.1736854674495.woff2} +0 -0
- /package/lib/{iconfont.1736820154664.ttf → iconfont.1736854674495.ttf} +0 -0
- /package/lib/{iconfont.1736820154664.woff → iconfont.1736854674495.woff} +0 -0
- /package/lib/{iconfont.1736820154664.woff2 → iconfont.1736854674495.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"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let De=(0,_vue.inject)("$xeTable",{}),{xID:M,props:Ee,context:$,reactData:Oe,internalData:Re}=De,{computeEditOpts:Ie,computeMouseOpts:Se,computeAreaOpts:Te,computeDefaultRowHeight:Me,computeEmptyOpts:k,computeTooltipOpts:$e,computeRadioOpts:e,computeExpandOpts:G,computeTreeOpts:u,computeCheckboxOpts:ke,computeCellOpts:qe,computeValidOpts:Ue,computeRowOpts:je,computeColumnOpts:Ae,computeRowDragOpts:Le,computeColumnDragOpts:l,computeLeftFixedWidth:q,computeRightFixedWidth:U}=De.getComputeMaps(),j=(0,_vue.ref)(),A=(0,_vue.ref)(),L=(0,_vue.ref)(),F=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),H=(0,_vue.ref)(),W=(0,_vue.ref)(),Fe=()=>{var e=Ee.delayHover,{lastScrollTime:l,_isResize:t}=Oe;return!!(t||l&&Date.now()<l+e)},Ne=e=>{var{row:l,column:t}=e,a=Re.afterFullData,r=Ee.treeConfig,o=u.value,{slots:t,treeNode:i}=t,s=Re.fullAllDataRowIdData;if(t&&t.line)return De.callSlot(t.line,e);t=s[(0,_util.getRowid)(De,l)];let n=0,d=null;t&&(n=t.level,d=t.items[t.treeIndex-1]);s=De.eqRow(a[0],l);return r&&i&&(o.showLine||o.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${s?1:(0,_util.calcTreeLine)(e,d)}px`,left:n*o.indent+(n?2-(0,_util.getOffsetSize)(De):0)+16+"px"}})])]:[]},Q=(e,l,t,j,A,a,r,o,i,s,n,L,d)=>{var F=Re.fullAllDataRowIdData,{columnKey:N,height:u,showOverflow:c,cellClassName:B,cellStyle:v,align:H,spanMethod:W,mouseConfig:P,editConfig:K,editRules:p,tooltipConfig:V}=Ee,{tableData:g,overflowX:x,currentColumn:X,scrollXLoad:Y,scrollYLoad:z,isCalcCellHeight:G,mergeList:h,editStore:J,isAllOverflow:Q,validErrorMaps:m}=Oe,{afterFullData:w,scrollXStore:Z,scrollYStore:ee}=Re,le=qe.value,_=Ue.value,te=ke.value,ae=Ie.value,f=$e.value,re=je.value,y=Le.value,b=Me.value,{disabledMethod:oe,isCrossDrag:ie,isPeerDrag:se}=y,ne=Ae.value,de=Se.value,ue=Te.value.selectCellToRow,{type:ce,cellRender:ve,editRender:pe,align:ge,showOverflow:C,className:xe,treeNode:he,slots:me}=s,le=le.verticalAlign,J=J.actived,D=re.height,E=s.id,O=pe||ve,O=O?renderer.get(O.name):null,we=O?O.tableCellClassName||O.cellClassName:null,_e=O?O.tableCellStyle||O.cellStyle:"";let R=f.showAll;var f=De.getColumnIndex(s),I=De.getVTColumnIndex(s),fe=(0,_utils.isEnableConf)(pe);let S=t?s.fixed!==t:s.fixed&&x;x=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?c:C,C="ellipsis"===x;let T="title"===x,M=!0===x||"tooltip"===x;x=c||T||M||C;let ye;var $={},F=F[l],ge=ge||(O?O.tableCellAlign:"")||H,O=m[l+":"+E],H=p&&_.showMessage&&("default"===_.message?u||1<g.length:"inline"===_.message),m={colid:E};let k={$table:De,$grid:De.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:o,_rowIndex:i,column:s,columnIndex:f,$columnIndex:n,_columnIndex:I,fixed:t,type:renderType,isHidden:!!S,level:A,visibleData:w,data:g,items:d},q=!1,be=!1;if((q=re.drag?"row"===y.trigger||s.dragSort&&"cell"===y.trigger:q)&&(be=!(!oe||!oe(k))),(T||M||R||V)&&($.onMouseenter=e=>{Fe()||(T?(0,_dom.updateCellTitle)(e.currentTarget,s):(M||R)&&De.triggerBodyTooltipEvent(e,k),De.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},k),e))}),(M||R||V)&&($.onMouseleave=e=>{Fe()||((M||R)&&De.handleTargetLeaveEvent(e),De.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},k),e))}),(q||te.range||P)&&($.onMousedown=e=>{De.triggerCellMousedownEvent(e,k)}),q&&($.onMouseup=De.triggerCellMouseupEvent),$.onClick=e=>{De.triggerCellClickEvent(e,k)},$.onDblclick=e=>{De.triggerCellDblclickEvent(e,k)},h.length){p=(0,_util.mergeBodyMethod)(h,i,I);if(p){var{rowspan:u,colspan:e}=p;if(!u||!e)return null;1<u&&(m.rowspan=u),1<e&&(m.colspan=e)}}else if(W){var{rowspan:l=1,colspan:r=1}=W(k)||{};if(!l||!r)return null;1<l&&(m.rowspan=l),1<r&&(m.colspan=r)}!(S=S&&h&&(1<m.colspan||1<m.rowspan)?!1:S)&&K&&(pe||ve)&&(ae.showStatus||ae.showUpdateStatus)&&(ye=De.isUpdateByRow(a,s.field));o=[];S&&c&&Q?o.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":M,"c--ellipsis":C}],style:{maxHeight:x&&(D||b)?`${D||b}px`:""}})):(o.push(...Ne(k),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":M,"c--ellipsis":C}],style:{maxHeight:x&&(D||b)?`${D||b}px`:""},title:T?De.getCellLabel(a,s):null},s.renderCell(k))),H&&O&&(f=O.rule,t=me?me.valid:null,w=Object.assign(Object.assign(Object.assign({},k),O),{rule:O}),o.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(_.className,w)],style:f&&f.maxWidth?{width:f.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(_.theme||"normal")},[t?De.callSlot(t,w):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let U="";g=G?F.height:0,x?D?U=D+"px":Q||(U=`${g||b||18}px`):U=`${g||b||18}px`,P&&de.area&&ue&&((n||!0!==ue)&&ue!==s.field||o.push((0,_vue.h)("div",{class:"vxe-cell--area-status"}))),d=n===L.length-1,y=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let Ce=!1;return(z&&(i<ee.visibleStartIndex||i>ee.visibleEndIndex)||Y&&!s.fixed&&(I<Z.visibleStartIndex||I>Z.visibleEndIndex))&&(Ce=!0),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",E,{["col--"+ge]:ge,["col--vertical-"+le]:le,["col--"+ce]:ce,"col--last":d,"col--tree-node":he,"col--edit":fe,"col--ellipsis":x,"fixed--width":!y,"fixed--hidden":S,"is--drag-cell":q&&(ie||se||!A),"is--drag-disabled":be,"col--dirty":ye,"col--active":K&&fe&&J.row===a&&(J.column===s||"row"===ae.mode),"col--valid-error":!!O,"col--current":X===s},(0,_dom.getPropClass)(we,k),(0,_dom.getPropClass)(xe,k),(0,_dom.getPropClass)(B,k)],key:N||Y||z||ne.useKey||re.useKey||ne.drag?E:n},m),{style:Object.assign({height:U},_xeUtils.default.isFunction(_e)?_e(k):_e,_xeUtils.default.isFunction(v)?v(k):v)}),$),Ce||j&&S?[]:o)},J=(m,w,_,f)=>{let{stripe:y,rowKey:b,highlightHoverRow:C,rowClassName:D,rowStyle:E,showOverflow:O,editConfig:R,treeConfig:I}=Ee,{hasFixedColumn:S,treeExpandedMaps:T,scrollXLoad:M,scrollYLoad:$,rowExpandedMaps:k,expandColumn:q,selectRadioRow:U,pendingRowMaps:j,isDragColMove:A}=Oe,L=Re.fullAllDataRowIdData,F=ke.value,N=e.value,B=u.value,H=Ie.value,W=je.value,P=Ae.value,K=l.value,{transform:V,seqMode:X}=B,Y=B.children||B.childrenField,z=[];return _.forEach((t,a)=>{var e={};let r,o=(r=De.getRowIndex(t),(W.isHover||C)&&(e.onMouseenter=e=>{Fe()||De.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Fe()||De.clearHoverRow()}),(0,_util.getRowid)(De,t));var l=L[o];let i=0,s=-1,n=0;l&&(i=l.level,s=I&&V&&"increasing"===X?l._index+1:l.seq,n=l._index);var l={$table:De,seq:s,rowid:o,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},d=q&&!!k[o];let u=!1,c=[],v=!1;R&&(v=De.isInsertByRow(t)),!I||$||V||(c=t[Y],u=c&&0<c.length&&!!T[o]),!W.drag||I&&!V||(e.onDragstart=De.handleRowDragDragstartEvent,e.onDragend=De.handleRowDragDragendEvent,e.onDragover=De.handleRowDragDragoverEvent);var p,g,x=["vxe-body--row",I?"row--level-"+i:"",{"row--stripe":y&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(H.showStatus||H.showInsertStatus),"row--radio":N.highlight&&De.eqRow(U,t),"row--checked":F.highlight&&De.isCheckedByCheckboxRow(t),"row--pending":!!j[o]},(0,_dom.getPropClass)(D,l)];let h=f.map((e,l)=>Q(s,o,m,w,i,t,r,a,n,e,l,f,_));z.push(P.drag&&K.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(A?"":"-disabled"),tag:"tr",class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||M||$||W.useKey||W.drag||P.drag||I?o:a},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||M||$||W.useKey||W.drag||P.drag||I?o:a},e),h)),d&&({height:x,padding:l}=G.value,d={},p=(x&&(d.height=x+"px"),I&&(d.paddingLeft=i*B.indent+30+"px"),q).showOverflow,p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?O:p,g={$table:De,seq:s,column:q,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},z.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+o,style:E?_xeUtils.default.isFunction(E)?E(g):E:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":m&&!S,"col--ellipsis":p},colspan:f.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":x},style:d},[q.renderData(g)])])]))),u&&z.push(...J(m,w,c,f))}),z};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Re.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=j,l[e+"scroll"]=A,l[e+"table"]=L,l[e+"colgroup"]=F,l[e+"list"]=N,l[e+"xSpace"]=B,l[e+"ySpace"]=H,l[e+"emptyBlock"]=W})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Re.elemStore,e=`${e||"main"}-body-`;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+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=$.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{showOverflow:r,spanMethod:o,footerSpanMethod:i,mouseConfig:s}=Ee,{isGroup:n,tableData:d,scrollXLoad:u,scrollYLoad:c,isAllOverflow:v,isDragRowMove:p,expandColumn:g,dragRow:x,dragCol:h}=Oe,{visibleColumn:m,fullAllDataRowIdData:w,fullColumnIdData:_}=Re,f=je.value,y=k.value,b=Se.value,C=Le.value,D=q.value,E=U.value;let O=d,R=a,I=!(u||c||r&&v)||g||o||i?!1:!0;t&&(R=m,I)&&(R=l||[]),c&&x&&2<O.length&&(d=w[(0,_util.getRowid)(De,x)])&&(r=d._index,v=O[0],g=O[O.length-1],o=w[(0,_util.getRowid)(De,v)],i=w[(0,_util.getRowid)(De,g)],o)&&i&&(m=o._index,d=i._index,r<m?O=[x].concat(O):d<r&&(O=O.concat([x]))),t||n||u&&h&&2<R.length&&(v=_[h.id])&&(w=v._index,g=R[0],o=R[R.length-1],i=_[g.id],m=_[o.id],i)&&m&&(d=i._index,r=m._index,w<d?R=[h].concat(R):r<w&&(R=R.concat([h])));let S;x=e?e.empty:null,S=x?De.callSlot(x,{$table:De,$grid:De.xegrid}):(u=(n=y.name?renderer.get(y.name):null)?n.renderTableEmpty||n.renderTableEmptyView||n.renderEmpty:null)?(0,_vn.getSlotVNs)(u(y,{$table:De})):Ee.emptyText||getI18n("vxe.table.emptyText"),v={onScroll(e){De.triggerBodyScrollEvent(e,t)}};return(c||D||E)&&(v.onWheel=De.triggerBodyWheelEvent),(0,_vue.h)("div",{ref:j,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:M},[(0,_vue.h)("div",Object.assign({ref:A,class:"vxe-table--body-inner-wrapper"},v),[t?renderEmptyElement(De):(0,_vue.h)("div",{ref:B,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:H,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:L,class:"vxe-table--body",xid:M,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},R.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),f.drag&&C.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:N,name:"vxe-body--row-list"+(p?"":"-disabled"),tag:"tbody"},{default:()=>J(t,I,O,R)}):(0,_vue.h)("tbody",{ref:N},J(t,I,O,R))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&b.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},b.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){De.triggerCellAreaExtendMousedownEvent&&De.triggerCellAreaExtendMousedownEvent(e,{$table:De,fixed:t,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(De),t?renderEmptyElement(De):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:W},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},S)])])])}}});
|
|
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"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let De=(0,_vue.inject)("$xeTable",{}),{xID:M,props:Ee,context:k,reactData:Oe,internalData:Re}=De,{computeEditOpts:Se,computeMouseOpts:Ie,computeAreaOpts:Te,computeDefaultRowHeight:Me,computeEmptyOpts:$,computeTooltipOpts:ke,computeRadioOpts:e,computeExpandOpts:G,computeTreeOpts:u,computeCheckboxOpts:$e,computeCellOpts:qe,computeValidOpts:Ue,computeRowOpts:je,computeColumnOpts:Ae,computeRowDragOpts:Le,computeColumnDragOpts:l,computeLeftFixedWidth:q,computeRightFixedWidth:U}=De.getComputeMaps(),j=(0,_vue.ref)(),A=(0,_vue.ref)(),L=(0,_vue.ref)(),F=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),H=(0,_vue.ref)(),W=(0,_vue.ref)(),Fe=()=>{var e=Ee.delayHover,{lastScrollTime:l,_isResize:t}=Oe;return!!(t||l&&Date.now()<l+e)},Ne=e=>{var{row:l,column:t}=e,a=Re.afterFullData,r=Ee.treeConfig,o=u.value,{slots:t,treeNode:i}=t,s=Re.fullAllDataRowIdData;if(t&&t.line)return De.callSlot(t.line,e);t=s[(0,_util.getRowid)(De,l)];let n=0,d=null;t&&(n=t.level,d=t.items[t.treeIndex-1]);s=De.eqRow(a[0],l);return r&&i&&(o.showLine||o.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${s?1:(0,_util.calcTreeLine)(e,d)}px`,left:n*o.indent+(n?2-(0,_util.getOffsetSize)(De):0)+16+"px"}})])]:[]},Q=(e,l,t,j,A,a,r,o,i,s,n,L,d)=>{var F=Re.fullAllDataRowIdData,{columnKey:N,height:u,showOverflow:c,cellClassName:B,cellStyle:H,align:W,spanMethod:z,mouseConfig:P,editConfig:K,editRules:v,tooltipConfig:p}=Ee,{tableData:g,overflowX:x,currentColumn:V,scrollXLoad:X,scrollYLoad:Y,isCalcCellHeight:G,mergeList:J,editStore:Q,isAllOverflow:Z,validErrorMaps:h}=Oe,{afterFullData:m,scrollXStore:w,scrollYStore:_}=Re,ee=qe.value,f=Ue.value,le=$e.value,te=Se.value,y=ke.value,ae=je.value,b=Le.value,re=Me.value,{disabledMethod:C,isCrossDrag:oe,isPeerDrag:ie}=b,se=Ae.value,ne=Ie.value,de=Te.value.selectCellToRow,{type:ue,cellRender:ce,editRender:ve,align:pe,showOverflow:D,className:ge,treeNode:xe,slots:he}=s,ee=ee.verticalAlign,Q=Q.actived,me=ae.height,E=s.id,O=ve||ce,O=O?renderer.get(O.name):null,we=O?O.tableCellClassName||O.cellClassName:null,_e=O?O.tableCellStyle||O.cellStyle:"";let R=y.showAll;var y=De.getColumnIndex(s),S=De.getVTColumnIndex(s),fe=(0,_utils.isEnableConf)(ve);let I=t?s.fixed!==t:s.fixed&&x;x=_xeUtils.default.isUndefined(D)||_xeUtils.default.isNull(D)?c:D,D="ellipsis"===x;let T="title"===x,M=!0===x||"tooltip"===x;x=c||T||M||D;let ye;var k={},F=F[l],pe=pe||(O?O.tableCellAlign:"")||W,O=h[l+":"+E],W=v&&f.showMessage&&("default"===f.message?u||1<g.length:"inline"===f.message),h={colid:E};let $={$table:De,$grid:De.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:o,_rowIndex:i,column:s,columnIndex:y,$columnIndex:n,_columnIndex:S,fixed:t,type:renderType,isHidden:!!I,level:A,visibleData:m,data:g,items:d},q=!1,be=!1;if((q=ae.drag?"row"===b.trigger||s.dragSort&&"cell"===b.trigger:q)&&(be=!(!C||!C($))),(T||M||R||p)&&(k.onMouseenter=e=>{Fe()||(T?(0,_dom.updateCellTitle)(e.currentTarget,s):(M||R)&&De.triggerBodyTooltipEvent(e,$),De.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e))}),(M||R||p)&&(k.onMouseleave=e=>{Fe()||((M||R)&&De.handleTargetLeaveEvent(e),De.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e))}),(q||le.range||P)&&(k.onMousedown=e=>{De.triggerCellMousedownEvent(e,$)}),q&&(k.onMouseup=De.triggerCellMouseupEvent),k.onClick=e=>{De.triggerCellClickEvent(e,$)},k.onDblclick=e=>{De.triggerCellDblclickEvent(e,$)},J.length){v=(0,_util.mergeBodyMethod)(J,i,S);if(v){var{rowspan:u,colspan:e}=v;if(!u||!e)return null;1<u&&(h.rowspan=u),1<e&&(h.colspan=e)}}else if(z){var{rowspan:l=1,colspan:r=1}=z($)||{};if(!l||!r)return null;1<l&&(h.rowspan=l),1<r&&(h.colspan=r)}!(I=I&&J&&(1<h.colspan||1<h.rowspan)?!1:I)&&K&&(ve||ce)&&(te.showStatus||te.showUpdateStatus)&&(ye=De.isUpdateByRow(a,s.field));o=Y&&!x;let U=0;y=G?F.height:0,x?me?U=me:Z||(U=y||re||18):U=y||re||18,t={},U&&(x?t.maxHeight=U+"px":o&&(t.height=U+"px")),m=[],I&&c&&Z?m.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":M,"c--ellipsis":D}],style:t})):(m.push(...Ne($),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":M,"c--ellipsis":D}],style:t,title:T?De.getCellLabel(a,s):null},o?[(0,_vue.h)("div",{class:"vxe-cell--auto-wrapper"},s.renderCell($))]:s.renderCell($))),W&&O&&(g=O.rule,d=he?he.valid:null,b=Object.assign(Object.assign(Object.assign({},$),O),{rule:O}),m.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,b)],style:g&&g.maxWidth?{width:g.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[d?De.callSlot(d,b):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},O.content)]])])))),P&&ne.area&&de&&((n||!0!==de)&&de!==s.field||m.push((0,_vue.h)("div",{class:"vxe-cell--area-status"}))),C=n===L.length-1,p=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let Ce=!1;return(Y&&(i<_.visibleStartIndex-_.preloadSize||i>_.visibleEndIndex+_.preloadSize)||X&&!s.fixed&&(S<w.visibleStartIndex-w.preloadSize||S>w.visibleEndIndex+w.preloadSize))&&(Ce=!0),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",E,{["col--"+pe]:pe,["col--vertical-"+ee]:ee,["col--"+ue]:ue,"col--last":C,"col--tree-node":xe,"col--edit":fe,"col--ellipsis":x,"col--auto-height":o,"fixed--width":!p,"fixed--hidden":I,"is--drag-cell":q&&(oe||ie||!A),"is--drag-disabled":be,"col--dirty":ye,"col--active":K&&fe&&Q.row===a&&(Q.column===s||"row"===te.mode),"col--valid-error":!!O,"col--current":V===s},(0,_dom.getPropClass)(we,$),(0,_dom.getPropClass)(ge,$),(0,_dom.getPropClass)(B,$)],key:N||X||Y||se.useKey||ae.useKey||se.drag?E:n},h),{style:Object.assign({height:U?U+"px":""},_xeUtils.default.isFunction(_e)?_e($):_e,_xeUtils.default.isFunction(H)?H($):H)}),k),Ce||j&&I?[]:m)},J=(m,w,_,f)=>{let{stripe:y,rowKey:b,highlightHoverRow:C,rowClassName:D,rowStyle:E,showOverflow:O,editConfig:R,treeConfig:S}=Ee,{hasFixedColumn:I,treeExpandedMaps:T,scrollXLoad:M,scrollYLoad:k,rowExpandedMaps:$,expandColumn:q,selectRadioRow:U,pendingRowMaps:j,isDragColMove:A}=Oe,L=Re.fullAllDataRowIdData,F=$e.value,N=e.value,B=u.value,H=Se.value,W=je.value,z=Ae.value,P=l.value,{transform:K,seqMode:V}=B,X=B.children||B.childrenField,Y=[];return _.forEach((t,a)=>{var e={};let r,o=(r=De.getRowIndex(t),(W.isHover||C)&&(e.onMouseenter=e=>{Fe()||De.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Fe()||De.clearHoverRow()}),(0,_util.getRowid)(De,t));var l=L[o];let i=0,s=-1,n=0;l&&(i=l.level,s=S&&K&&"increasing"===V?l._index+1:l.seq,n=l._index);var l={$table:De,seq:s,rowid:o,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},d=q&&!!$[o];let u=!1,c=[],v=!1;R&&(v=De.isInsertByRow(t)),!S||k||K||(c=t[X],u=c&&0<c.length&&!!T[o]),!W.drag||S&&!K||(e.onDragstart=De.handleRowDragDragstartEvent,e.onDragend=De.handleRowDragDragendEvent,e.onDragover=De.handleRowDragDragoverEvent);var p,g,x=["vxe-body--row",S?"row--level-"+i:"",{"row--stripe":y&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(H.showStatus||H.showInsertStatus),"row--radio":N.highlight&&De.eqRow(U,t),"row--checked":F.highlight&&De.isCheckedByCheckboxRow(t),"row--pending":!!j[o]},(0,_dom.getPropClass)(D,l)];let h=f.map((e,l)=>Q(s,o,m,w,i,t,r,a,n,e,l,f,_));Y.push(z.drag&&P.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(A?"":"-disabled"),tag:"tr",class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||M||k||W.useKey||W.drag||z.drag||S?o:a},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:x,rowid:o,style:E?_xeUtils.default.isFunction(E)?E(l):E:null,key:b||M||k||W.useKey||W.drag||z.drag||S?o:a},e),h)),d&&({height:x,padding:l}=G.value,d={},p=(x&&(d.height=x+"px"),S&&(d.paddingLeft=i*B.indent+30+"px"),q).showOverflow,p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?O:p,g={$table:De,seq:s,column:q,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},Y.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+o,style:E?_xeUtils.default.isFunction(E)?E(g):E:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":m&&!I,"col--ellipsis":p},colspan:f.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":x},style:d},[q.renderData(g)])])]))),u&&Y.push(...J(m,w,c,f))}),Y};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Re.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=j,l[e+"scroll"]=A,l[e+"table"]=L,l[e+"colgroup"]=F,l[e+"list"]=N,l[e+"xSpace"]=B,l[e+"ySpace"]=H,l[e+"emptyBlock"]=W})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Re.elemStore,e=`${e||"main"}-body-`;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+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=k.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{showOverflow:r,spanMethod:o,footerSpanMethod:i,mouseConfig:s}=Ee,{isGroup:n,tableData:d,scrollXLoad:u,scrollYLoad:c,isAllOverflow:v,isDragRowMove:p,expandColumn:g,dragRow:x,dragCol:h}=Oe,{visibleColumn:m,fullAllDataRowIdData:w,fullColumnIdData:_}=Re,f=je.value,y=$.value,b=Ie.value,C=Le.value,D=q.value,E=U.value;let O=d,R=a,S=!(u||c||r&&v)||g||o||i?!1:!0;t&&(R=m,S)&&(R=l||[]),c&&x&&2<O.length&&(d=w[(0,_util.getRowid)(De,x)])&&(r=d._index,v=O[0],g=O[O.length-1],o=w[(0,_util.getRowid)(De,v)],i=w[(0,_util.getRowid)(De,g)],o)&&i&&(m=o._index,d=i._index,r<m?O=[x].concat(O):d<r&&(O=O.concat([x]))),t||n||u&&h&&2<R.length&&(v=_[h.id])&&(w=v._index,g=R[0],o=R[R.length-1],i=_[g.id],m=_[o.id],i)&&m&&(d=i._index,r=m._index,w<d?R=[h].concat(R):r<w&&(R=R.concat([h])));let I;x=e?e.empty:null,I=x?De.callSlot(x,{$table:De,$grid:De.xegrid}):(u=(n=y.name?renderer.get(y.name):null)?n.renderTableEmpty||n.renderTableEmptyView||n.renderEmpty:null)?(0,_vn.getSlotVNs)(u(y,{$table:De})):Ee.emptyText||getI18n("vxe.table.emptyText"),v={onScroll(e){De.triggerBodyScrollEvent(e,t)}};return(c||D||E)&&(v.onWheel=De.triggerBodyWheelEvent),(0,_vue.h)("div",{ref:j,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:M},[(0,_vue.h)("div",Object.assign({ref:A,class:"vxe-table--body-inner-wrapper"},v),[t?renderEmptyElement(De):(0,_vue.h)("div",{ref:B,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:H,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:L,class:"vxe-table--body",xid:M,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},R.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),f.drag&&C.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:N,name:"vxe-body--row-list"+(p?"":"-disabled"),tag:"tbody"},{default:()=>J(t,S,O,R)}):(0,_vue.h)("tbody",{ref:N},J(t,S,O,R))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&b.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},b.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){De.triggerCellAreaExtendMousedownEvent&&De.triggerCellAreaExtendMousedownEvent(e,{$table:De,fixed:t,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(De),t?renderEmptyElement(De):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:W},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
package/lib/table/src/footer.js
CHANGED
|
@@ -213,9 +213,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
213
213
|
}
|
|
214
214
|
const isLastColumn = $columnIndex === tableColumn.length - 1;
|
|
215
215
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
216
|
-
let
|
|
217
|
-
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
|
|
218
|
-
|
|
216
|
+
let isVNPreEmptyStatus = false;
|
|
217
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
218
|
+
isVNPreEmptyStatus = true;
|
|
219
219
|
}
|
|
220
220
|
return (0, _vue.h)('td', Object.assign(Object.assign(Object.assign(Object.assign({
|
|
221
221
|
class: ['vxe-footer--column', column.id, {
|
|
@@ -237,7 +237,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
237
237
|
'c--tooltip': showTooltip,
|
|
238
238
|
'c--ellipsis': showEllipsis
|
|
239
239
|
}]
|
|
240
|
-
},
|
|
240
|
+
}, isVNPreEmptyStatus ? [] : column.renderFooter(cellParams))]);
|
|
241
241
|
});
|
|
242
242
|
};
|
|
243
243
|
const renderHeads = renderColumnList => {
|
|
@@ -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"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(v){let R=(0,_vue.inject)("$xeTable",{}),{xID:x,props:m,reactData:_,internalData:N}=R,{computeTooltipOpts:e,computeColumnOpts:X,computeColumnDragOpts:g}=R.getComputeMaps(),h=(0,_vue.ref)(),w=(0,_vue.ref)(),y=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(g,h,w,y,b)=>{let C=v.fixedType,{footerCellClassName:T,footerCellStyle:F,footerAlign:I,footerSpanMethod:
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(v){let R=(0,_vue.inject)("$xeTable",{}),{xID:x,props:m,reactData:_,internalData:N}=R,{computeTooltipOpts:e,computeColumnOpts:X,computeColumnDragOpts:g}=R.getComputeMaps(),h=(0,_vue.ref)(),w=(0,_vue.ref)(),y=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(g,h,w,y,b)=>{let C=v.fixedType,{footerCellClassName:T,footerCellStyle:F,footerAlign:I,footerSpanMethod:S,align:O,columnKey:M,showFooterOverflow:D}=m,{scrollXLoad:E,scrollYLoad:$,overflowX:k,currentColumn:U,mergeFooterList:j}=_,A=N.scrollXStore,q=e.value,L=X.value;return g.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,i=i||u,u=i?renderer.get(i.name):null;let d=q.showAll;i=l.children&&l.children.length,i=C?l.fixed!==C&&!i:l.fixed&&k,o=_xeUtils.default.eqNull(o)?D:o,r=r||(u?u.tableFooterCellAlign:"")||I||n||(u?u.tableCellAlign:"")||O;let s="ellipsis"===o,c="title"===o,p=!0===o||"tooltip"===o,f=c||p||s;var n={colid:l.id},u={},o=R.getColumnIndex(l),v=R.getVTColumnIndex(l),x=v;let m={$table:R,$grid:R.xegrid,row:w,rowIndex:b,_rowIndex:b,$rowIndex:y,column:l,columnIndex:o,$columnIndex:e,_columnIndex:v,itemIndex:x,items:w,fixed:C,type:renderType,data:h};if(E&&!f&&(s=f=!0),(c||p||d)&&(u.onMouseenter=e=>{c?(0,_dom.updateCellTitle)(e.currentTarget,l):(p||d)&&R.triggerFooterTooltipEvent(e,m)}),(p||d)&&(u.onMouseleave=e=>{(p||d)&&R.handleTargetLeaveEvent(e)}),u.onClick=e=>{R.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},m),e)},u.onDblclick=e=>{R.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},m),e)},j.length){o=mergeFooterMethod(j,b,v);if(o){var{rowspan:x,colspan:o}=o;if(!x||!o)return null;1<x&&(n.rowspan=x),1<o&&(n.colspan=o)}}else if(S){var{rowspan:x=1,colspan:o=1}=S(m)||{};if(!x||!o)return null;1<x&&(n.rowspan=x),1<o&&(n.colspan=o)}x=e===g.length-1,o=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let _=!1;return E&&!l.fixed&&(v<A.visibleStartIndex-A.preloadSize||v>A.visibleEndIndex+A.preloadSize)&&(_=!0),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":x,"fixed--width":!o,"fixed--hidden":i,"col--ellipsis":f,"col--current":U===l},(0,_dom.getPropClass)(a,m),(0,_dom.getPropClass)(T,m)]},n),{style:F?_xeUtils.default.isFunction(F)?F(m):F:null}),u),{key:M||E||$||L.useKey||L.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":c,"c--tooltip":p,"c--ellipsis":s}]},_?[]:l.renderFooter(m))])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=v.fixedType,l=N.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=h,l[e+"scroll"]=w,l[e+"table"]=y,l[e+"colgroup"]=b,l[e+"list"]=C,l[e+"xSpace"]=T})}),(0,_vue.onUnmounted)(()=>{var e=v.fixedType,l=N.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=v;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=m,{visibleColumn:a,fullColumnIdData:i}=N,{isGroup:u,scrollXLoad:d,scrollYLoad:s,dragCol:c}=_;let p=t,f=!(d||s||n)||o||r?!1:!0;return l&&(p=a,f)&&(p=e||[]),l||u||d&&c&&2<p.length&&(s=i[c.id])&&(n=s._index,o=p[0],r=p[p.length-1],a=i[o.id],u=i[r.id],a)&&u&&(d=a._index,s=u._index,n<d?p=[c].concat(p):s<n&&(p=p.concat([c]))),(0,_vue.h)("div",{ref:h,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:x},[(0,_vue.h)("div",{ref:w,class:"vxe-table--footer-inner-wrapper",onScroll(e){R.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(R):(0,_vue.h)("div",{ref:T,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:y,class:"vxe-table--footer",xid:x,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:b},p.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tfoot",{ref:C},(r=>{let{fixedType:n,footerTableData:a}=v,{footerRowClassName:i,footerRowStyle:u}=m,d=_.isDragColMove,s=X.value,c=g.value;return a.map((e,l)=>{let t=l;var o={$table:R,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return s.drag&&c.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>F(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},F(r,a,e,l,t))})})(p))])])])}}});
|
package/lib/table/src/header.js
CHANGED
|
@@ -46,7 +46,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
46
46
|
const {
|
|
47
47
|
computeColumnOpts,
|
|
48
48
|
computeColumnDragOpts,
|
|
49
|
-
computeResizableOpts
|
|
49
|
+
computeResizableOpts,
|
|
50
|
+
computeScrollbarXToTop
|
|
50
51
|
} = $xeTable.getComputeMaps();
|
|
51
52
|
const headerColumn = (0, _vue.ref)([]);
|
|
52
53
|
const refElem = (0, _vue.ref)();
|
|
@@ -69,6 +70,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
69
70
|
const {
|
|
70
71
|
fixedType
|
|
71
72
|
} = props;
|
|
73
|
+
const {
|
|
74
|
+
scrollbarHeight
|
|
75
|
+
} = tableReactData;
|
|
72
76
|
const {
|
|
73
77
|
elemStore,
|
|
74
78
|
visibleColumn
|
|
@@ -79,6 +83,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
79
83
|
const rightContainerElem = refRightContainer.value;
|
|
80
84
|
const resizeBarElem = refCellResizeBar.value;
|
|
81
85
|
const resizeTipElem = refCellResizeTip.value;
|
|
86
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
82
87
|
const {
|
|
83
88
|
clientX: dragClientX
|
|
84
89
|
} = evnt;
|
|
@@ -130,6 +135,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
130
135
|
const updateEvent = evnt => {
|
|
131
136
|
evnt.stopPropagation();
|
|
132
137
|
evnt.preventDefault();
|
|
138
|
+
const tableHeight = tableEl.clientHeight;
|
|
133
139
|
const offsetX = evnt.clientX - dragClientX;
|
|
134
140
|
let left = dragPosLeft + offsetX;
|
|
135
141
|
const scrollLeft = fixedType ? 0 : bodyScrollElem.scrollLeft;
|
|
@@ -147,6 +153,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
147
153
|
dragLeft = Math.max(left, dragMinLeft);
|
|
148
154
|
const resizeBarLeft = Math.max(1, dragLeft - scrollLeft);
|
|
149
155
|
resizeBarElem.style.left = `${resizeBarLeft}px`;
|
|
156
|
+
resizeBarElem.style.top = `${scrollbarXToTop ? scrollbarHeight : 0}px`;
|
|
157
|
+
resizeBarElem.style.height = `${scrollbarXToTop ? tableHeight - scrollbarHeight : tableHeight}px`;
|
|
150
158
|
if (resizableOpts.showDragTip && resizeTipElem) {
|
|
151
159
|
const tableWidth = tableEl.clientWidth;
|
|
152
160
|
const wrapperRect = wrapperElem.getBoundingClientRect();
|
|
@@ -160,7 +168,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
160
168
|
resizeTipLeft += tableWidth - resizeBarLeft;
|
|
161
169
|
}
|
|
162
170
|
resizeTipElem.style.left = `${resizeTipLeft}px`;
|
|
163
|
-
resizeTipElem.style.top = `${Math.min(
|
|
171
|
+
resizeTipElem.style.top = `${Math.min(tableHeight - resizeTipHeight, Math.max(0, evnt.clientY - wrapperRect.y - resizeTipHeight / 2))}px`;
|
|
164
172
|
resizeTipElem.textContent = getI18n('vxe.table.resizeColTip', [resizeColumn.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft)]);
|
|
165
173
|
}
|
|
166
174
|
};
|
|
@@ -310,9 +318,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
310
318
|
const isLastColumn = $columnIndex === cols.length - 1;
|
|
311
319
|
const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
|
|
312
320
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
313
|
-
let
|
|
314
|
-
if (scrollXLoad && !
|
|
315
|
-
|
|
321
|
+
let isVNPreEmptyStatus = false;
|
|
322
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
323
|
+
isVNPreEmptyStatus = true;
|
|
316
324
|
}
|
|
317
325
|
return (0, _vue.h)('th', Object.assign(Object.assign(Object.assign({
|
|
318
326
|
class: ['vxe-header--column', colid, {
|
|
@@ -340,7 +348,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
340
348
|
'c--tooltip': showTooltip,
|
|
341
349
|
'c--ellipsis': showEllipsis
|
|
342
350
|
}]
|
|
343
|
-
},
|
|
351
|
+
}, isVNPreEmptyStatus || isOptimizeMode && fixedHiddenColumn ? [] : column.renderHeader(params)),
|
|
344
352
|
/**
|
|
345
353
|
* 列宽拖动
|
|
346
354
|
*/
|
|
@@ -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(
|
|
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(B){let V=(0,_vue.inject)("$xeTable",{}),{xID:f,props:m,reactData:Y,internalData:K}=V,{refElem:r,refLeftContainer:s,refRightContainer:u,refCellResizeBar:c,refCellResizeTip:p}=V.getRefMaps(),{computeColumnOpts:g,computeColumnDragOpts:x,computeResizableOpts:v,computeScrollbarXToTop:h}=V.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=Y.isGroup;_.value=e?(0,_util.convertHeaderColumnToRows)(B.tableGroupColumn):[]},J=(e,a)=>{var l=a.column;let f=B.fixedType,m=Y.scrollbarHeight,{elemStore:t,visibleColumn:i}=K,g=v.value,x=r.value,_=s.value,b=u.value,C=c.value,y=p.value,w=h.value,D=e.clientX,M=H.value;var n=e.target;let T=l,z=(l.children&&l.children.length&&_xeUtils.default.eachTree(l.children,e=>{T=e}),n.parentNode);l=Object.assign(a,{cell:z});let S=0,E=(0,_util.getRefElem)(t["main-body-scroll"]);if(E){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-z.clientWidth+n+s,c=o.left+d,t=document.onmousemove,r=document.onmouseup,p="left"===f,v="right"===f,h=0;if(p||v){var W=p?"nextElementSibling":"previousElementSibling";let e=z[W];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(h+=e.offsetWidth),e=e[W];v&&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:E.scrollLeft,p?e=Math.min(e,(b?b.offsetLeft:E.clientWidth)-h-s):v?(u=(_?_.clientWidth:0)+h+s,e=Math.min(e,c+z.clientWidth-s)):u=Math.max(E.scrollLeft,u),S=Math.max(e,u),r=Math.max(1,S-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+(v?c-S:S-c)])}};Y._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+(v?c-S:S-c);T.resizeWidth=l,"fixed"===g.dragMode&&i.forEach(e=>{e.id===T.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),C.style.display="none",Y._isResize=!1,K._lastResizeTime=Date.now(),V.analyColumnWidth(),V.recalculate(!0).then(()=>{V.saveCustomStore("update:visible"),V.updateCellAreas(),V.dispatchEvent("resizable-change",Object.assign(Object.assign({},a),{resizeWidth:l}),e),setTimeout(()=>V.recalculate(!0),300)}),(0,_dom.removeClass)(x,"drag--resize")},l(e),V.closeMenu&&V.closeMenu()}},T=(e,D,M,T)=>{let z=B.fixedType,{resizable:S,border:E,columnKey:W,headerCellClassName:H,headerCellStyle:R,showHeaderOverflow:I,headerAlign:O,align:k,mouseConfig:U}=m,{currentColumn:$,scrollXLoad:A,scrollYLoad:F,overflowX:L}=Y,j=K.scrollXStore,q=g.value,X=x.value,{disabledMethod:G,isCrossDrag:N,isPeerDrag:P}=X;return M.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&&L,r=_xeUtils.default.eqNull(r)?I:r,a=a||(s?s.tableHeaderCellAlign:"")||O||i||(s?s.tableCellAlign:"")||k;let p="ellipsis"===r;i="title"===r,s=!0===r||"tooltip"===r;let v=i||s||p,h=!1,f=null;n&&(f=n[0],h=n.some(e=>e.checked));var r=V.getColumnIndex(e),m=V.getVTColumnIndex(e);let g={$table:V,$grid:V.xegrid,$rowIndex:T,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=>V.triggerHeaderCellClickEvent(e,g),onDblclick:e=>V.triggerHeaderCellDblclickEvent(e,g)},_=(A&&!v&&(p=v=!0),q.drag&&"cell"===X.trigger);let b=!1;_&&(b=!(!G||!G(g))),(U||_)&&(x.onMousedown=e=>V.triggerHeaderCellMousedownEvent(e,g)),q.drag&&(x.onDragstart=V.handleHeaderCellDragDragstartEvent,x.onDragend=V.handleHeaderCellDragDragendEvent,x.onDragover=V.handleHeaderCellDragDragoverEvent,_)&&(x.onMouseup=V.handleHeaderCellDragMouseupEvent);var _=l===M.length-1,C=_xeUtils.default.isBoolean(e.resizable)?e.resizable:q.resizable||S,y=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let w=!1;return A&&!e.fixed&&(m<j.visibleStartIndex-j.preloadSize||m>j.visibleEndIndex+j.preloadSize)&&(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":v,"fixed--width":!y,"fixed--hidden":c,"is--sortable":e.sortable,"col--filter":!!n,"is--filter-active":h,"is--drag-active":!e.fixed&&!b&&(N||P||!e.parentId),"is--drag-disabled":b,"col--current":$===e},o?_xeUtils.default.isFunction(o)?o(g):o:"",H?_xeUtils.default.isFunction(H)?H(g):H:""],style:R?_xeUtils.default.isFunction(R)?R(g):R:null},r),x),{key:W||A||F||q.useKey||q.drag||d?u:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":p}]},w||D&&c?[]:e.renderHeader(g)),!c&&C?(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!E||"none"===E}],onMousedown:e=>J(e,g),onDblclick:e=>V.handleResizeDblclickEvent(e,g)}):renderEmptyElement(V)])})};return(0,_vue.watch)(()=>B.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=B.fixedType,l=V.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=B.fixedType,l=V.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}=B;var{showHeaderOverflow:r,spanMethod:a,footerSpanMethod:i}=m,{isGroup:n,scrollXLoad:o,scrollYLoad:d,dragCol:s}=Y,{visibleColumn:u,fullColumnIdData:c}=K;let p=_.value,v=t,h=!1;return n?v=u:(!(o||d||r)||a||i||(h=!0),l&&(v=u,h)&&(v=e||[]),p=[v]),l||n||o&&s&&2<v.length&&(d=c[s.id])&&(r=d._index,a=v[0],i=v[v.length-1],u=c[a.id],o=c[i.id],u)&&o&&(d=u._index,a=o._index,r<d?(v=[s].concat(v),p=[[s].concat(p[0])].concat(p.slice(1))):a<r&&(v=v.concat([s]),p=[p[0].concat([s])].concat(p.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){V.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(V):(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},v.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("thead",{ref:w},((r,a,e)=>{let i=B.fixedType,{headerRowClassName:n,headerRowStyle:o}=m,d=Y.isDragColMove,s=g.value,u=x.value;return e.map((e,l)=>{var t={$table:V,$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,p))])]),(0,_vue.h)("div",{ref:M,class:"vxe-table--header-border-line"})])}}});
|