vxe-table 4.12.0-beta.6 → 4.12.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/src/body.js +11 -6
- package/es/table/src/footer.js +7 -2
- package/es/table/src/table.js +29 -27
- package/es/table/src/util.js +23 -3
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +72 -40
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +10 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +7 -2
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/table.js +30 -26
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +26 -5
- package/lib/table/src/util.min.js +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/package.json +2 -2
- package/packages/table/src/body.ts +10 -5
- package/packages/table/src/footer.ts +7 -2
- package/packages/table/src/table.ts +32 -27
- package/packages/table/src/util.ts +26 -3
- /package/es/{iconfont.1741224140308.ttf → iconfont.1741265552139.ttf} +0 -0
- /package/es/{iconfont.1741224140308.woff → iconfont.1741265552139.woff} +0 -0
- /package/es/{iconfont.1741224140308.woff2 → iconfont.1741265552139.woff2} +0 -0
- /package/lib/{iconfont.1741224140308.ttf → iconfont.1741265552139.ttf} +0 -0
- /package/lib/{iconfont.1741224140308.woff → iconfont.1741265552139.woff} +0 -0
- /package/lib/{iconfont.1741224140308.woff2 → iconfont.1741265552139.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 ze=(0,_vue.inject)("$xeTable",{}),{xID:k,props:qe,context:z,reactData:Ae,internalData:$e}=ze,{computeEditOpts:Ue,computeMouseOpts:Le,computeAreaOpts:je,computeDefaultRowHeight:He,computeEmptyOpts:q,computeTooltipOpts:Ne,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Fe,computeCellOpts:Be,computeValidOpts:Pe,computeRowOpts:Ke,computeColumnOpts:Ve,computeRowDragOpts:Xe,computeColumnDragOpts:l,computeResizableOpts:We}=ze.getComputeMaps(),A=(0,_vue.ref)(),$=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)(),F=(0,_vue.ref)(),Ye=()=>{var e=qe.delayHover,{lastScrollTime:l,isDragResize:t}=Ae;return!!(t||l&&Date.now()<l+e)},Ge=(e,l)=>{var{row:t,column:a}=e,o=$e.afterFullData,r=qe.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=$e.fullAllDataRowIdData;if(a&&a.line)return ze.callSlot(a.line,e);a=n[(0,_util.getRowid)(ze,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=ze.eqRow(o[0],t);return r&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(ze):0)+16+"px"}})])]:[]},Q=(e,l,t,$,U,a,L,o,r,i,j,H,s)=>{var n=$e.fullAllDataRowIdData,{columnKey:N,resizable:d,showOverflow:u,border:F,height:c,cellClassName:B,cellStyle:P,align:K,spanMethod:V,mouseConfig:X,editConfig:W,editRules:v,tooltipConfig:p,padding:g}=qe,{tableData:x,dragRow:Y,overflowX:G,currentColumn:J,scrollXLoad:Q,scrollYLoad:h,calcCellHeightFlag:w,resizeHeightFlag:m,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:_}=Ae,{afterFullData:te,scrollXStore:b,scrollYStore:ae}=$e,oe=Be.value,f=Pe.value,re=Fe.value,ie=Ue.value,se=Ne.value,{isAllColumnDrag:ne,isAllRowDrag:de}=We.value,y=Ke.value,C=Xe.value,ue=He.value,w=w?oe.height||y.height:0,{disabledMethod:R,isCrossDrag:ce,isPeerDrag:ve}=C,pe=Ve.value,ge=Le.value,xe=je.value.selectCellToRow,{type:he,cellRender:we,editRender:me,align:_e,showOverflow:be,className:fe,treeNode:ye,rowResize:Ce,padding:D,verticalAlign:E,slots:Re}=i,O=oe.verticalAlign,ee=ee.actived,n=n[l],M=i.id,S=me||we,S=S?renderer.get(S.name):null,De=S?S.tableCellClassName||S.cellClassName:null,Ee=S?S.tableCellStyle||S.cellStyle:"";let Oe=se.showAll;var se=ze.getColumnIndex(i),I=ze.getVTColumnIndex(i),Me=(0,_utils.isEnableConf)(me),m=m?n.resizeHeight:0;let T=t?i.fixed!==t:i.fixed&&G;G=_xeUtils.default.eqNull(D)?null===g?oe.padding:g:D,g=_xeUtils.default.eqNull(be)?u:be,D="ellipsis"===g;let k="title"===g,z=!0===g||"tooltip"===g;u=le||k||z||D,be=_xeUtils.default.isBoolean(i.resizable)?i.resizable:pe.resizable||d,g=!!w,d=0<m;let Se;w={},m=_e||(S?S.tableCellAlign:"")||K,_e=_xeUtils.default.eqNull(E)?O:E,S=_[l+":"+M],K=v&&f.showMessage&&("default"===f.message?c||1<x.length:"inline"===f.message),O={colid:M};let q={$table:ze,$grid:ze.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:L,$rowIndex:o,_rowIndex:r,column:i,columnIndex:se,$columnIndex:j,_columnIndex:I,fixed:t,type:renderType,isHidden:!!T,level:U,visibleData:te,data:x,items:s},A=!1,Ie=!1;if((A=y.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:A)&&(Ie=!(!R||!R(q))),(k||z||Oe||p)&&(w.onMouseenter=e=>{Ye()||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(z||Oe)&&ze.triggerBodyTooltipEvent(e,q),ze.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||Oe||p)&&(w.onMouseleave=e=>{Ye()||((z||Oe)&&ze.handleTargetLeaveEvent(e),ze.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||re.range||X)&&(w.onMousedown=e=>{ze.triggerCellMousedownEvent(e,q)}),A&&(w.onMouseup=ze.triggerCellMouseupEvent),w.onClick=e=>{ze.triggerCellClickEvent(e,q)},w.onDblclick=e=>{ze.triggerCellDblclickEvent(e,q)},Z.length){E=(0,_util.mergeBodyMethod)(Z,r,I);if(E){var{rowspan:_,colspan:v}=E;if(!_||!v)return null;1<_&&(O.rowspan=_),1<v&&(O.colspan=v)}}else if(V){var{rowspan:c=1,colspan:e=1}=V(q)||{};if(!c||!e)return null;1<c&&(O.rowspan=c),1<e&&(O.colspan=e)}!(T=T&&Z&&(1<O.colspan||1<O.rowspan)?!1:T)&&W&&(me||we)&&(ie.showStatus||ie.showUpdateStatus)&&(Se=ze.isUpdateByRow(a,i.field));L=h&&!u,o=n.resizeHeight||oe.height||y.height||n.height||ue,se=j===H.length-1,te=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Te=!1;Y&&(0,_util.getRowid)(ze,Y)===l||(h&&(r<ae.visibleStartIndex-ae.preloadSize||r>ae.visibleEndIndex+ae.preloadSize)||Q&&!i.fixed&&(I<b.visibleStartIndex-b.preloadSize||I>b.visibleEndIndex+b.preloadSize))&&(Te=!0);x={},h||u||g||d?x.height=o+"px":x.minHeight=o+"px",s=[];T&&le?s.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x})):(s.push(...Ge(q,o),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x,title:k?ze.getCellLabel(a,i):null},Te?[]:[(0,_vue.h)("div",{colid:M,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),K&&S&&(C=S.rule,R=Re?Re.valid:null,p=Object.assign(Object.assign(Object.assign({},q),S),{rule:S}),s.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,p)],style:C&&C.maxWidth?{width:C.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[R?ze.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let ke=!1;return X&&ge.area&&xe&&((I||!0!==xe)&&xe!==i.field||(ke=!0)),!T&&be&&ne&&s.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!F||"none"===F}],onMousedown:e=>ze.handleColResizeMousedownEvent(e,t,q),onDblclick:e=>ze.handleColResizeDblclickEvent(e,q)})),(Ce||de)&&y.resizable&&s.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>ze.handleRowResizeMousedownEvent(e,q),onDblclick:e=>ze.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",M,_e?"col--vertical-"+_e:"",m?"col--"+m:"",he?"col--"+he:"",{"col--last":se,"col--tree-node":ye,"col--edit":Me,"col--ellipsis":u,"col--cs-height":g,"col--rs-height":d,"col--to-row":ke,"col--auto-height":L,"fixed--width":!te,"fixed--hidden":T,"is--padding":G,"is--progress":T&&le||Te,"is--drag-cell":A&&(ce||ve||!U),"is--drag-disabled":Ie,"col--dirty":Se,"col--active":W&&Me&&ee.row===a&&(ee.column===i||"row"===ie.mode),"col--valid-error":!!S,"col--current":J===i},(0,_dom.getPropClass)(De,q),(0,_dom.getPropClass)(fe,q),(0,_dom.getPropClass)(B,q)],key:N||Q||h||pe.useKey||y.useKey||pe.drag?M:j},O),{style:Object.assign({},_xeUtils.default.isFunction(Ee)?Ee(q):Ee,_xeUtils.default.isFunction(P)?P(q):P)}),w),$&&T?[]:s)},Z=(h,w,m,_)=>{let{stripe:b,rowKey:f,highlightHoverRow:y,rowClassName:C,rowStyle:R,editConfig:D,treeConfig:E}=qe,{hasFixedColumn:O,treeExpandedMaps:M,isColLoading:S,scrollXLoad:I,scrollYLoad:T,isAllOverflow:k,rowExpandedMaps:z,expandColumn:q,selectRadioRow:A,pendingRowMaps:$,isDragColMove:U,rowExpandHeightFlag:L}=Ae,j=$e.fullAllDataRowIdData,H=Fe.value,N=e.value,F=c.value,B=Ue.value,P=Ke.value,K=Ve.value,V=l.value,{transform:X,seqMode:W}=F,Y=F.children||F.childrenField,G=[];return m.forEach((t,a)=>{var e={};let o,r=(o=ze.getRowIndex(t),(P.isHover||y)&&(e.onMouseenter=e=>{Ye()||ze.triggerHoverEvent(e,{row:t,rowIndex:o})},e.onMouseleave=()=>{Ye()||ze.clearHoverRow()}),(0,_util.getRowid)(ze,t));var l=j[r];let i=0,s=-1,n=0;l&&(i=l.level,s=E&&X&&"increasing"===W?l._index+1:l.seq,n=l._index);var d={$table:ze,seq:s,rowid:r,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},u=q&&!!z[r];let c=!1,v=[],p=!1;D&&(p=ze.isInsertByRow(t)),!E||T||X||(v=t[Y],c=v&&0<v.length&&!!M[r]),!P.drag||E&&!X||(e.onDragstart=ze.handleRowDragDragstartEvent,e.onDragend=ze.handleRowDragDragendEvent,e.onDragover=ze.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":b&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(B.showStatus||B.showInsertStatus),"row--radio":N.highlight&&ze.eqRow(A,t),"row--checked":H.highlight&&ze.isCheckedByCheckboxRow(t),"row--pending":!!$[r]},(0,_dom.getPropClass)(C,d)];let x=_.map((e,l)=>Q(s,r,h,w,i,t,o,a,n,e,l,_,m));G.push(!S&&K.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),x)),u&&({height:g,padding:d,mode:e}=J.value,"fixed"===e?G.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${L?l.expandHeight||g:0}px`}})])):(u={},e=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*F.indent+30+"px"),q).showOverflow,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?k:e,e={$table:ze,seq:s,column:q,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!O,"col--ellipsis":l}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(e)])])])))),c&&G.push(...Z(h,w,v,_))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=$e.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=A,l[e+"scroll"]=$,l[e+"table"]=U,l[e+"colgroup"]=L,l[e+"list"]=j,l[e+"xSpace"]=H,l[e+"ySpace"]=N,l[e+"emptyBlock"]=F})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=$e.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=z.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{spanMethod:o,footerSpanMethod:r,mouseConfig:i}=qe,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,overflowX:c,scrollXLoad:v,scrollYLoad:p,isAllOverflow:g,isDragRowMove:x,expandColumn:h,dragRow:w,dragCol:m}=Ae,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:f}=$e,y=Ke.value,C=q.value,R=Le.value,D=Xe.value,E=J.value;let O=n,M=a,S=!1;!(v||p||g)||h&&"fixed"!==E.mode||o||r||(S=!0),!t&&c||(M=_),t&&S&&(M=l||[]),p&&w&&2<O.length&&(n=b[(0,_util.getRowid)(ze,w)])&&(g=n._index,h=O[0],E=O[O.length-1],o=b[(0,_util.getRowid)(ze,h)],r=b[(0,_util.getRowid)(ze,E)],o)&&r&&(c=o._index,_=r._index,g<c?O=[w].concat(O):_<g&&(O=O.concat([w]))),t||s||v&&m&&2<M.length&&(p=f[m.id])&&(n=p._index,h=M[0],b=M[M.length-1],E=f[h.id],o=f[b.id],E)&&o&&(r=E._index,c=o._index,n<r?M=[m].concat(M):c<n&&(M=M.concat([m])));let I;_=e?e.empty:null,I=_?ze.callSlot(_,{$table:ze,$grid:ze.xegrid}):(w=(g=C.name?renderer.get(C.name):null)?g.renderTableEmpty||g.renderTableEmptyView||g.renderEmpty:null)?(0,_vn.getSlotVNs)(w(C,{$table:ze})):qe.emptyText||getI18n("vxe.table.emptyText"),s={onScroll(e){ze.triggerBodyScrollEvent(e,t)}};return(0,_vue.h)("div",{ref:A,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:$,class:"vxe-table--body-inner-wrapper"},s),[t?renderEmptyElement(ze):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:U,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&y.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:j,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>Z(t,S,O,M)}):(0,_vue.h)("tbody",{ref:j},Z(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){ze.triggerCellAreaExtendMousedownEvent&&ze.triggerCellAreaExtendMousedownEvent(e,{$table:ze,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"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(ze),t?renderEmptyElement(ze):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:F},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
|
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 qe=(0,_vue.inject)("$xeTable",{}),{xID:k,props:Ae,context:z,reactData:$e,internalData:Ue}=qe,{computeEditOpts:Le,computeMouseOpts:je,computeAreaOpts:He,computeDefaultRowHeight:Ne,computeEmptyOpts:q,computeTooltipOpts:Fe,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Be,computeCellOpts:Pe,computeValidOpts:Ke,computeRowOpts:Ve,computeColumnOpts:Xe,computeRowDragOpts:We,computeColumnDragOpts:l,computeResizableOpts:Ye}=qe.getComputeMaps(),A=(0,_vue.ref)(),$=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)(),F=(0,_vue.ref)(),Ge=()=>{var e=Ae.delayHover,{lastScrollTime:l,isDragResize:t}=$e;return!!(t||l&&Date.now()<l+e)},Je=(e,l)=>{var{row:t,column:a}=e,o=Ue.afterFullData,r=Ae.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=Ue.fullAllDataRowIdData;if(a&&a.line)return qe.callSlot(a.line,e);a=n[(0,_util.getRowid)(qe,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=qe.eqRow(o[0],t);return r&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(qe):0)+16+"px"}})])]:[]},Q=(e,l,t,$,U,a,L,o,r,i,j,H,s)=>{var n=Ue.fullAllDataRowIdData,{columnKey:N,resizable:d,showOverflow:u,border:F,height:c,cellClassName:B,cellStyle:P,align:K,spanMethod:V,mouseConfig:X,editConfig:W,editRules:v,tooltipConfig:p,padding:g}=Ae,{tableData:x,dragRow:Y,overflowX:G,currentColumn:J,scrollXLoad:Q,scrollYLoad:h,calcCellHeightFlag:w,resizeHeightFlag:m,mergeList:Z,editStore:ee,isAllOverflow:le,validErrorMaps:_}=$e,{afterFullData:te,scrollXStore:b,scrollYStore:ae}=Ue,oe=Pe.value,f=Ke.value,re=Be.value,ie=Le.value,se=Fe.value,{isAllColumnDrag:ne,isAllRowDrag:de}=Ye.value,y=Ve.value,C=We.value,ue=Ne.value,w=w?oe.height||y.height:0,{disabledMethod:R,isCrossDrag:ce,isPeerDrag:ve}=C,pe=Xe.value,ge=je.value,xe=He.value.selectCellToRow,{type:he,cellRender:we,editRender:me,align:_e,showOverflow:be,className:fe,treeNode:ye,rowResize:Ce,padding:D,verticalAlign:E,slots:Re}=i,O=oe.verticalAlign,ee=ee.actived,n=n[l],M=i.id,S=me||we,S=S?renderer.get(S.name):null,De=S?S.tableCellClassName||S.cellClassName:null,Ee=S?S.tableCellStyle||S.cellStyle:"";let Oe=se.showAll;var se=qe.getColumnIndex(i),I=qe.getVTColumnIndex(i),Me=(0,_utils.isEnableConf)(me),m=m?n.resizeHeight:0;let T=t?i.fixed!==t:i.fixed&&G;G=_xeUtils.default.eqNull(D)?null===g?oe.padding:g:D,g=_xeUtils.default.eqNull(be)?u:be,D="ellipsis"===g;let k="title"===g,z=!0===g||"tooltip"===g;u=le||k||z||D,be=_xeUtils.default.isBoolean(i.resizable)?i.resizable:pe.resizable||d,g=!!w,d=0<m;let Se;w={},m=_e||(S?S.tableCellAlign:"")||K,_e=_xeUtils.default.eqNull(E)?O:E,S=_[l+":"+M],K=v&&f.showMessage&&("default"===f.message?c||1<x.length:"inline"===f.message),O={colid:M};let q={$table:qe,$grid:qe.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:L,$rowIndex:o,_rowIndex:r,column:i,columnIndex:se,$columnIndex:j,_columnIndex:I,fixed:t,type:renderType,isHidden:!!T,level:U,visibleData:te,data:x,items:s},A=!1,Ie=!1,Te=((A=y.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:A)&&(Ie=!(!R||!R(q))),(k||z||Oe||p)&&(w.onMouseenter=e=>{Ge()||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(z||Oe)&&qe.triggerBodyTooltipEvent(e,q),qe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||Oe||p)&&(w.onMouseleave=e=>{Ge()||((z||Oe)&&qe.handleTargetLeaveEvent(e),qe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||re.range||X)&&(w.onMousedown=e=>{qe.triggerCellMousedownEvent(e,q)}),A&&(w.onMouseup=qe.triggerCellMouseupEvent),w.onClick=e=>{qe.triggerCellClickEvent(e,q)},!(w.onDblclick=e=>{qe.triggerCellDblclickEvent(e,q)}));if(Z.length){E=(0,_util.mergeBodyMethod)(Z,r,I);if(E){var{rowspan:_,colspan:v}=E;if(!_||!v)return null;1<_&&(Te=!0,O.rowspan=_),1<v&&(Te=!0,O.colspan=v)}}else if(V){var{rowspan:c=1,colspan:e=1}=V(q)||{};if(!c||!e)return null;1<c&&(O.rowspan=c),1<e&&(O.colspan=e)}!(T=T&&Z&&(1<O.colspan||1<O.rowspan)?!1:T)&&W&&(me||we)&&(ie.showStatus||ie.showUpdateStatus)&&(Se=qe.isUpdateByRow(a,i.field));L=h&&!u,o=n.resizeHeight||oe.height||y.height||n.height||ue,se=j===H.length-1,te=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let ke=!1;Te||Y&&(0,_util.getRowid)(qe,Y)===l||(h&&(r<ae.visibleStartIndex-ae.preloadSize||r>ae.visibleEndIndex+ae.preloadSize)||Q&&!i.fixed&&(I<b.visibleStartIndex-b.preloadSize||I>b.visibleEndIndex+b.preloadSize))&&(ke=!0);x={},h||u||g||d?x.height=o+"px":x.minHeight=o+"px",s=[];T&&le?s.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x})):(s.push(...Je(q,o),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":D}],style:x,title:k?qe.getCellLabel(a,i):null},ke?[]:[(0,_vue.h)("div",{colid:M,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),K&&S&&(C=S.rule,R=Re?Re.valid:null,p=Object.assign(Object.assign(Object.assign({},q),S),{rule:S}),s.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,p)],style:C&&C.maxWidth?{width:C.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[R?qe.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let ze=!1;return X&&ge.area&&xe&&((I||!0!==xe)&&xe!==i.field||(ze=!0)),!T&&be&&ne&&s.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!F||"none"===F}],onMousedown:e=>qe.handleColResizeMousedownEvent(e,t,q),onDblclick:e=>qe.handleColResizeDblclickEvent(e,q)})),(Ce||de)&&y.resizable&&s.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>qe.handleRowResizeMousedownEvent(e,q),onDblclick:e=>qe.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",M,_e?"col--vertical-"+_e:"",m?"col--"+m:"",he?"col--"+he:"",{"col--last":se,"col--tree-node":ye,"col--edit":Me,"col--ellipsis":u,"col--cs-height":g,"col--rs-height":d,"col--to-row":ze,"col--auto-height":L,"fixed--width":!te,"fixed--hidden":T,"is--padding":G,"is--progress":T&&le||ke,"is--drag-cell":A&&(ce||ve||!U),"is--drag-disabled":Ie,"col--dirty":Se,"col--active":W&&Me&&ee.row===a&&(ee.column===i||"row"===ie.mode),"col--valid-error":!!S,"col--current":J===i},(0,_dom.getPropClass)(De,q),(0,_dom.getPropClass)(fe,q),(0,_dom.getPropClass)(B,q)],key:N||Q||h||pe.useKey||y.useKey||pe.drag?M:j},O),{style:Object.assign({},_xeUtils.default.isFunction(Ee)?Ee(q):Ee,_xeUtils.default.isFunction(P)?P(q):P)}),w),$&&T?[]:s)},Z=(h,w,m,_)=>{let{stripe:b,rowKey:f,highlightHoverRow:y,rowClassName:C,rowStyle:R,editConfig:D,treeConfig:E}=Ae,{hasFixedColumn:O,treeExpandedMaps:M,isColLoading:S,scrollXLoad:I,scrollYLoad:T,isAllOverflow:k,rowExpandedMaps:z,expandColumn:q,selectRadioRow:A,pendingRowMaps:$,isDragColMove:U,rowExpandHeightFlag:L}=$e,j=Ue.fullAllDataRowIdData,H=Be.value,N=e.value,F=c.value,B=Le.value,P=Ve.value,K=Xe.value,V=l.value,{transform:X,seqMode:W}=F,Y=F.children||F.childrenField,G=[];return m.forEach((t,a)=>{var e={};let o,r=(o=qe.getRowIndex(t),(P.isHover||y)&&(e.onMouseenter=e=>{Ge()||qe.triggerHoverEvent(e,{row:t,rowIndex:o})},e.onMouseleave=()=>{Ge()||qe.clearHoverRow()}),(0,_util.getRowid)(qe,t));var l=j[r];let i=0,s=-1,n=0;l&&(i=l.level,s=E&&X&&"increasing"===W?l._index+1:l.seq,n=l._index);var d={$table:qe,seq:s,rowid:r,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},u=q&&!!z[r];let c=!1,v=[],p=!1;D&&(p=qe.isInsertByRow(t)),!E||T||X||(v=t[Y],c=v&&0<v.length&&!!M[r]),!P.drag||E&&!X||(e.onDragstart=qe.handleRowDragDragstartEvent,e.onDragend=qe.handleRowDragDragendEvent,e.onDragover=qe.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":b&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(B.showStatus||B.showInsertStatus),"row--radio":N.highlight&&qe.eqRow(A,t),"row--checked":H.highlight&&qe.isCheckedByCheckboxRow(t),"row--pending":!!$[r]},(0,_dom.getPropClass)(C,d)];let x=_.map((e,l)=>Q(s,r,h,w,i,t,o,a,n,e,l,_,m));G.push(!S&&K.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:R?_xeUtils.default.isFunction(R)?R(d):R:null,key:f||I||T||P.useKey||P.drag||K.drag||E?r:a},e),x)),u&&({height:g,padding:d,mode:e}=J.value,"fixed"===e?G.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${L?l.expandHeight||g:0}px`}})])):(u={},e=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*F.indent+30+"px"),q).showOverflow,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?k:e,e={$table:qe,seq:s,column:q,fixed:h,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!O,"col--ellipsis":l}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(e)])])])))),c&&G.push(...Z(h,w,v,_))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ue.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=A,l[e+"scroll"]=$,l[e+"table"]=U,l[e+"colgroup"]=L,l[e+"list"]=j,l[e+"xSpace"]=H,l[e+"ySpace"]=N,l[e+"emptyBlock"]=F})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ue.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=z.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{spanMethod:o,footerSpanMethod:r,mouseConfig:i}=Ae,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,overflowX:c,scrollXLoad:v,scrollYLoad:p,isAllOverflow:g,isDragRowMove:x,expandColumn:h,dragRow:w,dragCol:m}=$e,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:f}=Ue,y=Ve.value,C=q.value,R=je.value,D=We.value,E=J.value;let O=n,M=a,S=!1;!(v||p||g)||h&&"fixed"!==E.mode||o||r||(S=!0),!t&&c||(M=_),t&&S&&(M=l||[]),p&&w&&2<O.length&&(n=b[(0,_util.getRowid)(qe,w)])&&(g=n._index,h=O[0],E=O[O.length-1],o=b[(0,_util.getRowid)(qe,h)],r=b[(0,_util.getRowid)(qe,E)],o)&&r&&(c=o._index,_=r._index,g<c?O=[w].concat(O):_<g&&(O=O.concat([w]))),t||s||v&&m&&2<M.length&&(p=f[m.id])&&(n=p._index,h=M[0],b=M[M.length-1],E=f[h.id],o=f[b.id],E)&&o&&(r=E._index,c=o._index,n<r?M=[m].concat(M):c<n&&(M=M.concat([m])));let I;_=e?e.empty:null,I=_?qe.callSlot(_,{$table:qe,$grid:qe.xegrid}):(w=(g=C.name?renderer.get(C.name):null)?g.renderTableEmpty||g.renderTableEmptyView||g.renderEmpty:null)?(0,_vn.getSlotVNs)(w(C,{$table:qe})):Ae.emptyText||getI18n("vxe.table.emptyText"),s={onScroll(e){qe.triggerBodyScrollEvent(e,t)}};return(0,_vue.h)("div",{ref:A,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:$,class:"vxe-table--body-inner-wrapper"},s),[t?renderEmptyElement(qe):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:U,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&y.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:j,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>Z(t,S,O,M)}):(0,_vue.h)("tbody",{ref:j},Z(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){qe.triggerCellAreaExtendMousedownEvent&&qe.triggerCellAreaExtendMousedownEvent(e,{$table:qe,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"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(qe),t?renderEmptyElement(qe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:F},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
package/lib/table/src/footer.js
CHANGED
|
@@ -195,6 +195,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
195
195
|
cell: evnt.currentTarget
|
|
196
196
|
}, cellParams), evnt);
|
|
197
197
|
};
|
|
198
|
+
let isMergeCell = false;
|
|
198
199
|
// 合并行或列
|
|
199
200
|
if (mergeFooterList.length) {
|
|
200
201
|
const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex);
|
|
@@ -207,9 +208,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
207
208
|
return null;
|
|
208
209
|
}
|
|
209
210
|
if (rowspan > 1) {
|
|
211
|
+
isMergeCell = true;
|
|
210
212
|
attrs.rowspan = rowspan;
|
|
211
213
|
}
|
|
212
214
|
if (colspan > 1) {
|
|
215
|
+
isMergeCell = true;
|
|
213
216
|
attrs.colspan = colspan;
|
|
214
217
|
}
|
|
215
218
|
}
|
|
@@ -232,8 +235,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
232
235
|
const isLastColumn = $columnIndex === tableColumn.length - 1;
|
|
233
236
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
234
237
|
let isVNPreEmptyStatus = false;
|
|
235
|
-
if (
|
|
236
|
-
|
|
238
|
+
if (!isMergeCell) {
|
|
239
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
240
|
+
isVNPreEmptyStatus = true;
|
|
241
|
+
}
|
|
237
242
|
}
|
|
238
243
|
const tcStyle = {};
|
|
239
244
|
if (hasEllipsis) {
|
|
@@ -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"),_util=require("./util");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(x){let
|
|
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"),_util=require("./util");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(x){let W=(0,_vue.inject)("$xeTable",{}),{xID:g,props:m,reactData:_,internalData:h}=W,{computeTooltipOpts:l,computeColumnOpts:b,computeColumnDragOpts:w,computeCellOpts:t,computeFooterCellOpts:o,computeDefaultRowHeight:r,computeResizableOpts:n}=W.getComputeMaps(),y=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(0,_vue.ref)(),O=(0,_vue.ref)(),D=(y,C,T,F,I)=>{let O=x.fixedType,{resizable:D,border:S,footerCellClassName:E,footerCellStyle:M,footerAlign:k,footerSpanMethod:z,align:U,columnKey:R,showFooterOverflow:$}=m,{scrollXLoad:A,scrollYLoad:j,overflowX:q,currentColumn:L,mergeFooterList:X}=_,N=h.scrollXStore,H=l.value;let P=n.value.isAllColumnDrag,V=b.value;var e=r.value;let B=t.value,G=o.value,K=(0,_util.getCellHeight)(G.height||B.height)||e;return y.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,s=l.id,i=i||u,u=i?renderer.get(i.name):null;let d=H.showAll;var i=l.children&&l.children.length,i=O?l.fixed!==O&&!i:l.fixed&&q,c=(_xeUtils.default.isBoolean(G.padding)?G:B).padding,o=_xeUtils.default.eqNull(o)?$:o,r=r||(u?u.tableFooterCellAlign:"")||k||n||(u?u.tableCellAlign:"")||U;let p="ellipsis"===o,f="title"===o,v=!0===o||"tooltip"===o,x=f||v||p;var n=_xeUtils.default.isBoolean(l.resizable)?l.resizable:V.resizable||D,u={colid:s},o={},g=W.getColumnIndex(l),m=W.getVTColumnIndex(l),_=m;let h={$table:W,$grid:W.xegrid,row:T,rowIndex:I,_rowIndex:I,$rowIndex:F,column:l,columnIndex:g,$columnIndex:e,_columnIndex:m,itemIndex:_,items:T,fixed:O,type:renderType,data:C},b=(A&&!x&&(p=x=!0),(f||v||d)&&(o.onMouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(v||d)&&W.triggerFooterTooltipEvent(e,h)}),(v||d)&&(o.onMouseleave=e=>{(v||d)&&W.handleTargetLeaveEvent(e)}),o.onClick=e=>{W.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},h),e)},!(o.onDblclick=e=>{W.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},h),e)}));if(X.length){g=mergeFooterMethod(X,I,m);if(g){var{rowspan:_,colspan:g}=g;if(!_||!g)return null;1<_&&(b=!0,u.rowspan=_),1<g&&(b=!0,u.colspan=g)}}else if(z){var{rowspan:_=1,colspan:g=1}=z(h)||{};if(!_||!g)return null;1<_&&(u.rowspan=_),1<g&&(u.colspan=g)}_=e===y.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let w=!1;b||A&&!l.fixed&&(m<N.visibleStartIndex-N.preloadSize||m>N.visibleEndIndex+N.preloadSize)&&(w=!0);m={};return x?m.height=K+"px":m.minHeight=K+"px",(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":_,"fixed--width":!g,"fixed--hidden":i,"is--padding":c,"col--ellipsis":x,"col--current":L===l},(0,_dom.getPropClass)(a,h),(0,_dom.getPropClass)(E,h)]},u),{style:M?_xeUtils.default.isFunction(M)?M(h):M:null}),o),{key:R||A||j||V.useKey||V.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":v,"c--ellipsis":p}],style:m},w?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},l.renderFooter(h))]),!i&&n&&P?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!S||"none"===S}],onMousedown:e=>W.handleColResizeMousedownEvent(e,O,h),onDblclick:e=>W.handleColResizeDblclickEvent(e,h)}):renderEmptyElement(W)])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=x.fixedType,l=h.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=y,l[e+"scroll"]=C,l[e+"table"]=T,l[e+"colgroup"]=F,l[e+"list"]=I,l[e+"xSpace"]=O})}),(0,_vue.onUnmounted)(()=>{var e=x.fixedType,l=h.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}=x;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=m,{visibleColumn:a,fullColumnIdData:i}=h,{isGroup:u,overflowX:s,scrollXLoad:d,scrollYLoad:c,dragCol:p}=_;let f=t,v=!(d||c||n)||o||r?!1:!0;return!l&&s||(f=a),l&&v&&(f=e||[]),l||u||d&&p&&2<f.length&&(c=i[p.id])&&(n=c._index,o=f[0],r=f[f.length-1],s=i[o.id],a=i[r.id],s)&&a&&(u=s._index,d=a._index,n<u?f=[p].concat(f):d<n&&(f=f.concat([p]))),(0,_vue.h)("div",{ref:y,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:g},[(0,_vue.h)("div",{ref:C,class:"vxe-table--footer-inner-wrapper",onScroll(e){W.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(W):(0,_vue.h)("div",{ref:O,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:T,class:"vxe-table--footer",xid:g,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},f.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tfoot",{ref:I},(r=>{let{fixedType:n,footerTableData:a}=x,{footerRowClassName:i,footerRowStyle:u}=m,{isColLoading:s,isDragColMove:d}=_,c=b.value,p=w.value;return a.map((e,l)=>{let t=l;var o={$table:W,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return!s&&c.drag&&p.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:()=>D(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},D(r,a,e,l,t))})})(f))])])])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -3120,7 +3120,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3120
3120
|
} = treeOpts;
|
|
3121
3121
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
3122
3122
|
let treeData = [];
|
|
3123
|
-
let fullData = (0, _vue.reactive)(datas ? datas.slice(0) : []); //
|
|
3123
|
+
let fullData = (0, _vue.reactive)(datas ? datas.slice(0) : []); // 转为响应式数据
|
|
3124
3124
|
if (treeConfig) {
|
|
3125
3125
|
if (transform) {
|
|
3126
3126
|
// 树结构自动转换
|
|
@@ -7770,30 +7770,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7770
7770
|
const treeOpts = computeTreeOpts.value;
|
|
7771
7771
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
7772
7772
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
7773
|
+
const {
|
|
7774
|
+
lazy
|
|
7775
|
+
} = treeOpts;
|
|
7773
7776
|
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
7777
|
+
const isDeepKey = rowkey.indexOf('.') > -1;
|
|
7774
7778
|
const fullAllDataRowIdMaps = Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
|
|
7775
7779
|
const fullDataRowIdMaps = {};
|
|
7776
7780
|
const treeTempExpandedMaps = Object.assign({}, treeExpandedMaps);
|
|
7777
|
-
const
|
|
7778
|
-
|
|
7779
|
-
|
|
7780
|
-
const level = nodes ? nodes.length - 1 : 0;
|
|
7781
|
-
if ((0, _utils.eqEmptyValue)(rowid)) {
|
|
7782
|
-
rowid = (0, _util.getRowUniqueId)();
|
|
7783
|
-
_xeUtils.default.set(row, rowkey, rowid);
|
|
7784
|
-
}
|
|
7785
|
-
if (treeConfig && treeOpts.lazy) {
|
|
7786
|
-
const treeExpRest = treeExpandedMaps[rowid];
|
|
7787
|
-
if (row[hasChildField] && _xeUtils.default.isUndefined(row[childrenField])) {
|
|
7788
|
-
row[childrenField] = null;
|
|
7789
|
-
}
|
|
7790
|
-
if (treeExpRest) {
|
|
7791
|
-
if (!row[childrenField] || !row[childrenField].length) {
|
|
7792
|
-
delete treeTempExpandedMaps[rowid];
|
|
7793
|
-
}
|
|
7794
|
-
}
|
|
7795
|
-
}
|
|
7796
|
-
let rowRest = fullAllDataRowIdData[rowid];
|
|
7781
|
+
const handleRowId = isDeepKey ? _util.updateDeepRowKey : _util.updateFastRowKey;
|
|
7782
|
+
const handleRowCache = (row, index, items, currIndex, parentRow, rowid, level, seq) => {
|
|
7783
|
+
let rowRest = fullAllDataRowIdMaps[rowid];
|
|
7797
7784
|
if (!rowRest) {
|
|
7798
7785
|
rowRest = {
|
|
7799
7786
|
row,
|
|
@@ -7811,6 +7798,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7811
7798
|
oTop: 0,
|
|
7812
7799
|
expandHeight: 0
|
|
7813
7800
|
};
|
|
7801
|
+
fullDataRowIdMaps[rowid] = rowRest;
|
|
7802
|
+
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
7814
7803
|
}
|
|
7815
7804
|
rowRest.treeLoaded = false;
|
|
7816
7805
|
rowRest.expandLoaded = false;
|
|
@@ -7818,16 +7807,31 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7818
7807
|
rowRest.items = items;
|
|
7819
7808
|
rowRest.parent = parentRow;
|
|
7820
7809
|
rowRest.level = level;
|
|
7821
|
-
rowRest.index =
|
|
7822
|
-
|
|
7823
|
-
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
7810
|
+
rowRest.index = currIndex;
|
|
7811
|
+
rowRest.treeIndex = index;
|
|
7824
7812
|
};
|
|
7825
7813
|
if (treeConfig) {
|
|
7826
|
-
_xeUtils.default.eachTree(tableFullTreeData,
|
|
7814
|
+
_xeUtils.default.eachTree(tableFullTreeData, (row, index, items, path, parentRow, nodes) => {
|
|
7815
|
+
const rowid = handleRowId(row, rowkey);
|
|
7816
|
+
if (treeConfig && lazy) {
|
|
7817
|
+
const treeExpRest = treeTempExpandedMaps[rowid];
|
|
7818
|
+
if (row[hasChildField] && row[childrenField] === undefined) {
|
|
7819
|
+
row[childrenField] = null;
|
|
7820
|
+
}
|
|
7821
|
+
if (treeExpRest) {
|
|
7822
|
+
if (!row[childrenField] || !row[childrenField].length) {
|
|
7823
|
+
delete treeTempExpandedMaps[rowid];
|
|
7824
|
+
}
|
|
7825
|
+
}
|
|
7826
|
+
}
|
|
7827
|
+
handleRowCache(row, index, items, parentRow ? -1 : index, parentRow, rowid, nodes.length - 1, (0, _util.toTreePathSeq)(path));
|
|
7828
|
+
}, {
|
|
7827
7829
|
children: childrenField
|
|
7828
7830
|
});
|
|
7829
7831
|
} else {
|
|
7830
|
-
tableFullData.forEach(
|
|
7832
|
+
tableFullData.forEach((row, index, items) => {
|
|
7833
|
+
handleRowCache(row, index, items, index, null, handleRowId(row, rowkey), 0, index + 1);
|
|
7834
|
+
});
|
|
7831
7835
|
}
|
|
7832
7836
|
internalData.fullDataRowIdData = fullDataRowIdMaps;
|
|
7833
7837
|
internalData.fullAllDataRowIdData = fullAllDataRowIdMaps;
|