vxe-table 3.12.8 → 3.12.10-beta.0
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/grid/src/grid.js +6 -1
- 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/module/export/mixin.js +3 -3
- package/es/table/module/filter/mixin.js +3 -3
- package/es/table/module/keyboard/mixin.js +4 -4
- package/es/table/module/menu/mixin.js +2 -2
- package/es/table/module/validator/mixin.js +2 -2
- package/es/table/src/body.js +262 -363
- package/es/table/src/footer.js +135 -154
- package/es/table/src/header.js +120 -100
- package/es/table/src/methods.js +1175 -816
- package/es/table/src/props.js +9 -3
- package/es/table/src/table.js +187 -103
- package/es/table/src/util.js +35 -21
- package/es/table/style.css +146 -63
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +14 -4
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +146 -63
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +4 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +1920 -1599
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/export/mixin.js +3 -3
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/filter/mixin.js +4 -4
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +5 -5
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +2 -2
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +2 -2
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/body.js +205 -381
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +124 -151
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +97 -74
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +1261 -875
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +9 -3
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +171 -90
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +38 -22
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +146 -63
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +14 -4
- 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 +146 -63
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +6 -1
- package/packages/table/module/export/mixin.ts +3 -3
- package/packages/table/module/filter/mixin.ts +3 -3
- package/packages/table/module/keyboard/mixin.ts +4 -4
- package/packages/table/module/menu/mixin.ts +2 -2
- package/packages/table/module/validator/mixin.ts +2 -2
- package/packages/table/src/body.ts +296 -436
- package/packages/table/src/footer.ts +148 -164
- package/packages/table/src/header.ts +135 -111
- package/packages/table/src/methods.ts +1249 -873
- package/packages/table/src/props.ts +9 -3
- package/packages/table/src/table.ts +195 -146
- package/packages/table/src/util.ts +40 -23
- package/packages/ui/index.ts +13 -3
- package/styles/components/table.scss +164 -74
- /package/es/{iconfont.1736406699090.ttf → iconfont.1736688976404.ttf} +0 -0
- /package/es/{iconfont.1736406699090.woff → iconfont.1736688976404.woff} +0 -0
- /package/es/{iconfont.1736406699090.woff2 → iconfont.1736688976404.woff2} +0 -0
- /package/lib/{iconfont.1736406699090.ttf → iconfont.1736688976404.ttf} +0 -0
- /package/lib/{iconfont.1736406699090.woff → iconfont.1736688976404.woff} +0 -0
- /package/lib/{iconfont.1736406699090.woff2 → iconfont.1736688976404.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,B,s,a,i,U,n,d,q,c){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:g,height:h,columnKey:F,overflowX:m,sYOpts:v,scrollXLoad:N,scrollYLoad:W,isCalcCellHeight:V,highlightCurrentRow:P,showOverflow:X,isAllOverflow:z,align:j,currentColumn:K,cellClassName:G,cellStyle:J,mergeList:Q,spanMethod:Z,radioOpts:ee,checkboxOpts:le,expandOpts:te,treeOpts:re,tooltipOpts:w,mouseConfig:oe,editConfig:x,editOpts:y,editRules:se,validOpts:f,editStore:ae,tooltipConfig:ie,rowOpts:b,columnOpts:ne,mouseOpts:de,areaOpts:S,validErrorMaps:T}=l,_=l.computeRowDragOpts,{disabledMethod:ce,isCrossDrag:pe,isPeerDrag:ue}=_,S=S.selectCellToRow,{type:ge,cellRender:he,editRender:C,align:me,showOverflow:$,className:ve,treeNode:we,slots:xe}=n,ye=l.computeCellOpts.verticalAlign,ae=ae.actived,v=v.rHeight,E=b.height,O=C||he,O=O?renderer.get(O.name):null,fe=O?O.tableCellClassName||O.cellClassName:"",be=O?O.tableCellStyle||O.cellStyle:"";let R=w.showAll||w.enabled;var w=l.getColumnIndex(n),Se=l.getVTColumnIndex(n),Te=(0,_utils.isEnableConf)(C);let D=o?n.fixed!==o:n.fixed&&m;m=_xeUtils.default.isUndefined($)||_xeUtils.default.isNull($)?X:$,$="ellipsis"===m;let I="title"===m,M=!0===m||"tooltip"===m;m=X||I||M||$;let _e;var L={},A=A[r],me=me||(O?O.tableCellAlign:"")||j,O=T[r+":"+n.id],j=se&&f.showMessage&&("default"===f.message?h||1<g.length:"inline"===f.message),T={colid:n.id};let Ce=p["cell-mouseenter"],$e=p["cell-mouseleave"];se=C&&x&&"dblclick"===y.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:s,rowIndex:a,$rowIndex:i,_rowIndex:U,column:n,columnIndex:w,$columnIndex:d,_columnIndex:Se,fixed:o,type:renderType,isHidden:D,level:B,visibleData:u,data:g,items:c},k=!1,Ee=!1;if((k=b.drag?"row"===_.trigger||n.dragSort&&"cell"===_.trigger:k)&&(Ee=!(!ce||!ce(Y))),(I||M||R||Ce||ie)&&(L.mouseenter=e=>{isVMScrollProcess(l)||(I?(0,_dom.updateCellTitle)(e.currentTarget,n):(M||R)&&l.triggerBodyTooltipEvent(e,Y),Ce&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(M||R||$e||ie)&&(L.mouseleave=e=>{isVMScrollProcess(l)||((M||R)&&l.handleTargetLeaveEvent(e),$e&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(k||le.range||oe)&&(L.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),k&&(L.mouseup=l.triggerCellMouseupEvent),(b.isCurrent||P||p["cell-click"]||C&&x||"row"===te.trigger||"cell"===te.trigger||"row"===ee.trigger||"radio"===n.type&&"cell"===ee.trigger||"row"===le.trigger||"checkbox"===n.type&&"cell"===le.trigger||"row"===re.trigger||n.treeNode&&"cell"===re.trigger)&&(L.click=e=>{l.triggerCellClickEvent(e,Y)}),(se||p["cell-dblclick"])&&(L.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),Q.length){h=(0,_util.mergeBodyMethod)(Q,U,Se);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(T.rowspan=t),1<r&&(T.colspan=r)}}else if(Z){var{rowspan:a=1,colspan:i=1}=Z(Y)||{};if(!a||!i)return null;1<a&&(T.rowspan=a),1<i&&(T.colspan=i)}!(D=D&&Q&&(1<T.colspan||1<T.rowspan)?!1:D)&&x&&(C||he)&&(y.showStatus||y.showUpdateStatus)&&(_e=l.isUpdateByRow(s,n.field));w=[];D&&X&&z?w.push(e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""}})):(w.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""},attrs:{title:I?l.getCellLabel(s,n):null}},n.renderCell(e,Y))),j&&O&&(o=O.rule,u=xe?xe.valid:null,g=Object.assign(Object.assign(Object.assign({},Y),O),{rule:O}),w.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(f.className,O)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[u?l.callSlot(u,g,e):[e("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let Oe="";c=V?A.height:0,m?v||E?Oe=`${v||E}px`:z||(Oe=`${c||E||18}px`):Oe=`${c||E||18}px`,oe&&de.area&&S&&((d||!0!==S)&&S!==n.field||w.push(e("div",{class:"vxe-cell--area-status"}))),_=!n.resizeWidth&&("auto"===n.minWidth||"auto"===n.width);return e("td",{class:["vxe-body--column",n.id,{["col--"+me]:me,["col--vertical-"+ye]:ye,["col--"+ge]:ge,"col--last":d===q.length-1,"col--tree-node":we,"col--edit":Te,"col--ellipsis":m,"fixed--width":!_,"fixed--hidden":D,"is--drag-cell":k&&(pe||ue||!B),"is--drag-disabled":Ee,"col--dirty":_e,"col--active":x&&Te&&ae.row===s&&(ae.column===n||"row"===y.mode),"col--valid-error":!!O,"col--current":K===n},(0,_utils.getClass)(fe,Y),(0,_utils.getClass)(ve,Y),(0,_utils.getClass)(G,Y)],key:F||N||W||ne.useKey||b.useKey||ne.drag?n.id:d,attrs:T,style:Object.assign({height:Oe},_xeUtils.default.isFunction(be)?be(Y):be,_xeUtils.default.isFunction(J)?J(Y):J),on:L},w)}function renderRows(v,w,x,y,f,b){let S=x.computeColumnOpts,T=x.computeColumnDragOpts,{stripe:_,rowKey:C,highlightHoverRow:$,rowClassName:E,rowStyle:O,editConfig:R,showOverflow:D,treeConfig:I,treeOpts:M,expandOpts:L,editOpts:Y,treeExpandedMaps:k,scrollXLoad:H,scrollYLoad:B,rowExpandedMaps:U,radioOpts:q,checkboxOpts:A,expandColumn:F,hasFixedColumn:N,fullAllDataRowIdData:W,rowOpts:V,pendingRowMaps:P,isDragColMove:X}=x,{transform:z,seqMode:j}=M,K=M.children||M.childrenField,G=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(V.isHover||$)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=W[s];let a=0,i=-1,n=0;l&&(a=l.level,i=I&&z&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=F&&!!U[s];let c=!1,p=[],u=!1;R&&(u=x.isInsertByRow(t)),!I||B||z||(p=t[K],c=p&&p.length&&!!k[s]),!V.drag||I&&!z||(e.dragstart=x.handleRowDragDragstartEvent,e.dragend=x.handleRowDragDragendEvent,e.dragover=x.handleRowDragDragoverEvent);var g,h=["vxe-body--row",I?"row--level-"+a:"",{"row--stripe":_&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(Y.showStatus||Y.showInsertStatus),"row--radio":q.highlight&&x.selectRadioRow===t,"row--checked":A.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":!!P[s]},E?_xeUtils.default.isFunction(E)?E(l):E:""],m=b.map((e,l)=>renderColumn(v,w,x,i,s,y,a,t,o,r,n,e,l,b,f));G.push(S.drag&&T.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(X?"":"-disabled")},class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,nativeOn:e},m):v("tr",{class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,on:e},m)),d&&({height:h,padding:l}=L,m={},d=(h&&(m.height=h+"px"),I&&(m.paddingLeft=a*M.indent+30+"px"),F).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?D:d,g={$table:x,seq:i,column:F,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},G.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:O?_xeUtils.default.isFunction(O)?O(g):O:null,on:e},[v("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!N,"col--ellipsis":d},attrs:{colspan:b.length}},[v("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:m},[F.renderData(v,g)])])]))),c&&G.push(...renderRows(v,w,x,y,p,b))}),G}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{tId:s,$scopedSlots:a}=l;let{fixedColumn:i,fixedType:n,tableColumn:d}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:h,scrollXLoad:m,scrollYLoad:v,isAllOverflow:w,isDragRowMove:x,expandColumn:y,dragRow:f,dragCol:b}=r,{visibleColumn:o,fullAllDataRowIdData:S,fullColumnIdData:T}=o,_=l.computeRowOpts,C=l.computeSYOpts,$=l.computeEmptyOpts,E=l.computeMouseOpts,O=l.computeRowDragOpts;let R=h,D=d;n&&(D=!(m||v||c&&w)||y||p||u?o:i||[]),v&&f&&2<R.length&&(h=S[(0,_util.getRowid)(l,f)])&&(c=h._index,w=R[0],y=R[R.length-1],p=S[(0,_util.getRowid)(l,w)],u=S[(0,_util.getRowid)(l,y)],p)&&u&&(o=p._index,v=u._index,c<o?R=[f].concat(R):v<c&&(R=R.concat([f]))),n||r||m&&b&&2<D.length&&(h=T[b.id])&&(w=h._index,S=D[0],y=D[D.length-1],p=T[S.id],u=T[y.id],p)&&u&&(o=p._index,v=u._index,w<o?D=[b].concat(D):v<w&&(D=D.concat([b])));let I;I=a.empty?a.empty.call(this,{$table:l,$grid:l.xegrid},t):(f=(c=$.name?renderer.get($.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(f.call(this,t,$,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");r={scroll:this.scrollEvent};return"wheel"===C.mode&&(r.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s},on:r},[n?renderEmptyElement(l):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},D.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag&&O.animation?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(x?"":"-disabled")}},renderRows(t,this,l,n,R,D)):t("tbody",{ref:"tbody"},renderRows(t,this,l,n,R,D))]),t("div",{class:"vxe-table--checkbox-range"}),g&&E.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},E.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},I)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let m=(r&&s?s:u).clientHeight,v=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:m,bodyWidth:v,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,_isResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t){var l=l.$parent,{row:r,column:o}=t,a=l.afterFullData,s=l.treeConfig,i=l.computeTreeOpts,{slots:o,treeNode:d}=o,n=l.fullAllDataRowIdData;if(o&&o.line)return l.callSlot(o.line,t,e);o=n[(0,_util.getRowid)(l,r)];let c=0,p=null;o&&(c=o.level,p=o.items[o._index-1]);n=l.eqRow(a[0],r);return s&&d&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(t,p)}px`,left:c*i.indent+(c?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,l,t,r,L,q,o,a,s,i,d,n,F,N){let c=A.$parent;var V=c,p=c,H=c.fullAllDataRowIdData,{columnKey:V,height:u,showOverflow:g,cellClassName:j,cellStyle:x,align:P,spanMethod:W,mouseConfig:X,editConfig:K,editRules:v,tooltipConfig:Y}=V,{tableData:p,overflowX:m,currentColumn:z,scrollXLoad:G,scrollYLoad:J,isCalcCellHeight:Q,mergeList:w,editStore:Z,isAllOverflow:ee,validErrorMaps:f}=p,{afterFullData:y,scrollXStore:le,scrollYStore:te}=c,re=c.computeCellOpts,h=c.computeValidOpts,oe=c.computeCheckboxOpts,ae=c.computeEditOpts,b=c.computeTooltipOpts,se=c.computeRowOpts,ie=c.computeRowDragOpts,C=c.computeDefaultRowHeight,{disabledMethod:de,isCrossDrag:ne,isPeerDrag:ce}=ie,pe=c.computeColumnOpts,ue=c.computeMouseOpts,ge=c.computeAreaOpts.selectCellToRow,{type:xe,cellRender:ve,editRender:me,align:we,showOverflow:_,className:fe,treeNode:ye,slots:he}=d,re=re.verticalAlign,Z=Z.actived,E=se.height,R=d.id,S=me||ve,S=S?renderer.get(S.name):null,be=S?S.tableCellClassName||S.cellClassName:null,Ce=S?S.tableCellStyle||S.cellStyle:"";let O=b.showAll;var b=c.getColumnIndex(d),D=c.getVTColumnIndex(d),_e=(0,_utils.isEnableConf)(me);let $=r?d.fixed!==r:d.fixed&&m;m=_xeUtils.default.isUndefined(_)||_xeUtils.default.isNull(_)?g:_,_="ellipsis"===m;let T="title"===m,I=!0===m||"tooltip"===m;m=g||T||I||_;let Ee;var B={},H=H[t],we=we||(S?S.tableCellAlign:"")||P,S=f[t+":"+R],P=v&&h.showMessage&&("default"===h.message?u||1<p.length:"inline"===h.message),f={colid:R};let M={$table:c,$grid:c.xegrid,isEdit:!1,seq:l,rowid:t,row:o,rowIndex:a,$rowIndex:s,_rowIndex:i,column:d,columnIndex:b,$columnIndex:n,_columnIndex:D,fixed:r,type:renderType,isHidden:!!$,level:q,visibleData:y,data:p,items:N},k=!1,Re=!1;if((k=se.drag?"row"===ie.trigger||d.dragSort&&"cell"===ie.trigger:k)&&(Re=!(!de||!de(M))),(T||I||O||Y)&&(B.mouseenter=e=>{isVMScrollProcess(c)||(T?(0,_dom.updateCellTitle)(e.currentTarget,d):(I||O)&&c.triggerBodyTooltipEvent(e,M),c.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(I||O||Y)&&(B.mouseleave=e=>{isVMScrollProcess(c)||((I||O)&&c.handleTargetLeaveEvent(e),c.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(k||oe.range||X)&&(B.mousedown=e=>{c.triggerCellMousedownEvent(e,M)}),k&&(B.mouseup=c.triggerCellMouseupEvent),B.click=e=>{c.triggerCellClickEvent(e,M)},B.dblclick=e=>{c.triggerCellDblclickEvent(e,M)},w.length){v=(0,_util.mergeBodyMethod)(w,i,D);if(v){var{rowspan:u,colspan:R}=v;if(!u||!R)return null;1<u&&(f.rowspan=u),1<R&&(f.colspan=R)}}else if(W){var{rowspan:l=1,colspan:t=1}=W(M)||{};if(!l||!t)return null;1<l&&(f.rowspan=l),1<t&&(f.colspan=t)}!($=$&&w&&(1<f.colspan||1<f.rowspan)?!1:$)&&K&&(me||ve)&&(ae.showStatus||ae.showUpdateStatus)&&(Ee=c.isUpdateByRow(o,d.field));a=[];$&&g&&ee?a.push(e("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":I,"c--ellipsis":_}],style:{maxHeight:m&&(E||C)?`${E||C}px`:""}})):(a.push(...renderLine(e,A,M),e("div",{class:["vxe-cell",{"c--title":T,"c--tooltip":I,"c--ellipsis":_}],style:{maxHeight:m&&(E||C)?`${E||C}px`:""},attrs:{title:T?c.getCellLabel(o,d):null}},d.renderCell(e,M))),P&&S&&(s=S.rule,b=he?he.valid:null,r=Object.assign(Object.assign(Object.assign({},M),S),{rule:S}),a.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(h.className,S)],style:s&&s.maxWidth?{width:s.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(h.theme||"normal")},[b?c.callSlot(b,r,e):[e("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let U="";y=Q?H.height:0,m?E?U=E+"px":ee||(U=`${y||C||18}px`):U=`${y||C||18}px`,X&&ue.area&&ge&&((n||!0!==ge)&&ge!==d.field||a.push(e("div",{class:"vxe-cell--area-status"}))),p=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);let Se=!1;return(J&&(i<te.visibleStartIndex||i>te.visibleEndIndex)||G&&!d.fixed&&(D<le.visibleStartIndex||D>le.visibleEndIndex))&&(Se=!0),e("td",{class:["vxe-body--column",d.id,{["col--"+we]:we,["col--vertical-"+re]:re,["col--"+xe]:xe,"col--last":n===F.length-1,"col--tree-node":ye,"col--edit":_e,"col--ellipsis":m,"fixed--width":!p,"fixed--hidden":$,"is--drag-cell":k&&(ne||ce||!q),"is--drag-disabled":Re,"col--dirty":Ee,"col--active":K&&_e&&Z.row===o&&(Z.column===d||"row"===ae.mode),"col--valid-error":!!S,"col--current":z===d},(0,_utils.getClass)(be,M),(0,_utils.getClass)(fe,M),(0,_utils.getClass)(j,M)],key:V||G||J||pe.useKey||se.useKey||pe.drag?d.id:n,attrs:f,style:Object.assign({height:U},_xeUtils.default.isFunction(Ce)?Ce(M):Ce,_xeUtils.default.isFunction(x)?x(M):x),on:B},Se||L&&$?[]:a)}function renderRows(m,w,f,y,h,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:E,highlightHoverRow:R,rowClassName:S,rowStyle:O,showOverflow:D,editConfig:$,treeConfig:T}=e,{hasFixedColumn:I,treeExpandedMaps:B,scrollXLoad:M,scrollYLoad:k,rowExpandedMaps:U,expandColumn:A,selectRadioRow:L,pendingRowMaps:q,isDragColMove:F}=l,N=t.fullAllDataRowIdData,V=C.computeCheckboxOpts,H=C.computeRadioOpts,j=C.computeTreeOpts,P=C.computeEditOpts,W=C.computeRowOpts,X=C.computeColumnOpts,z=C.computeColumnDragOpts,{transform:K,seqMode:G}=j,J=j.children||j.childrenField,Y=[];return h.forEach((t,r)=>{var e={};let o,a=(o=C.getRowIndex(t),(W.isHover||R)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),(0,_util.getRowid)(C,t));var l=N[a];let s=0,i=-1,d=0;l&&(s=l.level,i=T&&K&&"increasing"===G?l._index+1:l.seq,d=l._index);var l={$table:C,seq:i,rowid:a,fixed:f,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},n=A&&!!U[a];let c=!1,p=[],u=!1;$&&(u=C.isInsertByRow(t)),!T||k||K||(p=t[J],c=p&&p.length&&!!B[a]),!W.drag||T&&!K||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var g,x=["vxe-body--row",T?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":u,"is--expand-row":n,"is--expand-tree":c,"row--new":u&&(P.showStatus||P.showInsertStatus),"row--radio":H.highlight&&L===t,"row--checked":V.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!q[a]},S?_xeUtils.default.isFunction(S)?S(l):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,f,y,s,t,o,r,d,e,l,b,h));Y.push(X.drag&&z.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(F?"":"-disabled")},class:x,attrs:{rowid:a},style:O?_xeUtils.default.isFunction(O)?O(l):O:void 0,key:E||M||k||W.useKey||W.drag||X.drag||T?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:O?_xeUtils.default.isFunction(O)?O(l):O:void 0,key:E||M||k||W.useKey||W.drag||X.drag||T?a:r,on:e},v)),n&&({height:x,padding:l}=C.computeExpandOpts,v={},n=(x&&(v.height=x+"px"),T&&(v.paddingLeft=s*j.indent+30+"px"),A).showOverflow,n=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?D:n,g={$table:C,seq:i,column:A,fixed:f,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},Y.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":f&&!I,"col--ellipsis":n},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":x},style:v},[A.renderData(m,g)])])]))),c&&Y.push(...renderRows(m,w,f,y,p,b))}),Y}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.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},render(t){let l=this.$parent;var e=l,r=l,o=l,{xID:a,$scopedSlots:s}=l;let{fixedColumn:i,fixedType:d,tableColumn:n}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:x,scrollXLoad:v,scrollYLoad:m,isAllOverflow:w,isDragRowMove:f,expandColumn:y,dragRow:h,dragCol:b}=r,{visibleColumn:o,fullAllDataRowIdData:C,fullColumnIdData:_}=o,E=l.computeRowOpts,R=l.computeEmptyOpts,S=l.computeMouseOpts,O=l.computeRowDragOpts,D=l.computeLeftFixedWidth,$=l.computeRightFixedWidth;let T=x,I=n,B=!(v||m||c&&w)||y||p||u?!1:!0;d&&(I=o,B)&&(I=i||[]),m&&h&&2<T.length&&(x=C[(0,_util.getRowid)(l,h)])&&(c=x._index,w=T[0],y=T[T.length-1],p=C[(0,_util.getRowid)(l,w)],u=C[(0,_util.getRowid)(l,y)],p)&&u&&(o=p._index,x=u._index,c<o?T=[h].concat(T):x<c&&(T=T.concat([h]))),d||r||v&&b&&2<I.length&&(w=_[b.id])&&(C=w._index,y=I[0],p=I[I.length-1],u=_[y.id],o=_[p.id],u)&&o&&(x=u._index,c=o._index,C<x?I=[b].concat(I):c<C&&(I=I.concat([b])));let M;M=s.empty?s.empty.call(this,{$table:l,$grid:l.xegrid}):(r=(h=R.name?renderer.get(R.name):null)?h.renderTableEmpty||h.renderTableEmptyView||h.renderEmpty:null)?(0,_vn.getSlotVNs)(r.call(this,t,R,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");v={scroll(e){l.triggerBodyScrollEvent(e,d)}};return(m||D||$)&&(v.wheel=l.triggerBodyWheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:a}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:v},[d?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:a,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},I.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),E.drag&&O.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(f?"":"-disabled")}},renderRows(t,this,d,B,T,I)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,d,B,T,I))]),t("div",{class:"vxe-table--checkbox-range"}),g&&S.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},S.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:d,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(l),d?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},M)])])])}};
|
package/lib/table/src/footer.js
CHANGED
|
@@ -39,28 +39,35 @@ function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIndex) {
|
|
42
|
+
const props = _vm;
|
|
43
|
+
const $xeTable = _vm.$parent;
|
|
44
|
+
const tableProps = $xeTable;
|
|
45
|
+
const tableReactData = $xeTable;
|
|
46
|
+
const tableInternalData = $xeTable;
|
|
42
47
|
const {
|
|
43
|
-
$parent: $xetable,
|
|
44
48
|
fixedType
|
|
45
|
-
} =
|
|
49
|
+
} = props;
|
|
46
50
|
const {
|
|
47
|
-
$listeners: tableListeners,
|
|
48
51
|
footerCellClassName,
|
|
49
52
|
footerCellStyle,
|
|
50
53
|
footerAlign: allFooterAlign,
|
|
51
|
-
mergeFooterList,
|
|
52
54
|
footerSpanMethod,
|
|
53
55
|
align: allAlign,
|
|
54
|
-
scrollXLoad,
|
|
55
56
|
columnKey,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
showFooterOverflow: allColumnFooterOverflow
|
|
58
|
+
} = tableProps;
|
|
59
|
+
const {
|
|
60
|
+
scrollXLoad,
|
|
60
61
|
scrollYLoad,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
overflowX,
|
|
63
|
+
currentColumn,
|
|
64
|
+
mergeFooterList
|
|
65
|
+
} = tableReactData;
|
|
66
|
+
const {
|
|
67
|
+
scrollXStore
|
|
68
|
+
} = tableInternalData;
|
|
69
|
+
const tooltipOpts = $xeTable.computeTooltipOpts;
|
|
70
|
+
const columnOpts = $xeTable.computeColumnOpts;
|
|
64
71
|
return tableColumn.map((column, $columnIndex) => {
|
|
65
72
|
const {
|
|
66
73
|
type,
|
|
@@ -73,10 +80,10 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
73
80
|
} = column;
|
|
74
81
|
const renderOpts = editRender || cellRender;
|
|
75
82
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
76
|
-
const showAllTip = tooltipOpts.showAll
|
|
83
|
+
const showAllTip = tooltipOpts.showAll;
|
|
77
84
|
const isColGroup = column.children && column.children.length;
|
|
78
85
|
const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX;
|
|
79
|
-
const footOverflow = _xeUtils.default.
|
|
86
|
+
const footOverflow = _xeUtils.default.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
|
|
80
87
|
const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
81
88
|
let showEllipsis = footOverflow === 'ellipsis';
|
|
82
89
|
const showTitle = footOverflow === 'title';
|
|
@@ -86,13 +93,14 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
86
93
|
colid: column.id
|
|
87
94
|
};
|
|
88
95
|
const tfOns = {};
|
|
89
|
-
const columnIndex = $
|
|
90
|
-
const _columnIndex = $
|
|
96
|
+
const columnIndex = $xeTable.getColumnIndex(column);
|
|
97
|
+
const _columnIndex = $xeTable.getVTColumnIndex(column);
|
|
91
98
|
const itemIndex = _columnIndex;
|
|
92
99
|
const cellParams = {
|
|
93
|
-
$table: $
|
|
94
|
-
$grid: $
|
|
100
|
+
$table: $xeTable,
|
|
101
|
+
$grid: $xeTable.xegrid,
|
|
95
102
|
row,
|
|
103
|
+
rowIndex: _rowIndex,
|
|
96
104
|
_rowIndex,
|
|
97
105
|
$rowIndex,
|
|
98
106
|
column,
|
|
@@ -105,7 +113,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
105
113
|
type: renderType,
|
|
106
114
|
data: footerTableData
|
|
107
115
|
};
|
|
108
|
-
//
|
|
116
|
+
// 纵向虚拟滚动不支持动态行高
|
|
109
117
|
if (scrollXLoad && !hasEllipsis) {
|
|
110
118
|
showEllipsis = hasEllipsis = true;
|
|
111
119
|
}
|
|
@@ -114,31 +122,27 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
114
122
|
if (showTitle) {
|
|
115
123
|
(0, _dom.updateCellTitle)(evnt.currentTarget, column);
|
|
116
124
|
} else if (showTooltip || showAllTip) {
|
|
117
|
-
$
|
|
125
|
+
$xeTable.triggerFooterTooltipEvent(evnt, cellParams);
|
|
118
126
|
}
|
|
119
127
|
};
|
|
120
128
|
}
|
|
121
129
|
if (showTooltip || showAllTip) {
|
|
122
130
|
tfOns.mouseleave = evnt => {
|
|
123
131
|
if (showTooltip || showAllTip) {
|
|
124
|
-
$
|
|
132
|
+
$xeTable.handleTargetLeaveEvent(evnt);
|
|
125
133
|
}
|
|
126
134
|
};
|
|
127
135
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
cell: evnt.currentTarget
|
|
139
|
-
}, cellParams), evnt);
|
|
140
|
-
};
|
|
141
|
-
}
|
|
136
|
+
tfOns.click = evnt => {
|
|
137
|
+
$xeTable.dispatchEvent('footer-cell-click', Object.assign({
|
|
138
|
+
cell: evnt.currentTarget
|
|
139
|
+
}, cellParams), evnt);
|
|
140
|
+
};
|
|
141
|
+
tfOns.dblclick = evnt => {
|
|
142
|
+
$xeTable.dispatchEvent('footer-cell-dblclick', Object.assign({
|
|
143
|
+
cell: evnt.currentTarget
|
|
144
|
+
}, cellParams), evnt);
|
|
145
|
+
};
|
|
142
146
|
// 合并行或列
|
|
143
147
|
if (mergeFooterList.length) {
|
|
144
148
|
const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex);
|
|
@@ -174,6 +178,10 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
174
178
|
}
|
|
175
179
|
}
|
|
176
180
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
181
|
+
let isPreLoadStatus = false;
|
|
182
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
|
|
183
|
+
isPreLoadStatus = true;
|
|
184
|
+
}
|
|
177
185
|
return h('td', {
|
|
178
186
|
class: ['vxe-footer--column', column.id, {
|
|
179
187
|
[`col--${footAlign}`]: footAlign,
|
|
@@ -185,7 +193,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
185
193
|
'col--current': currentColumn === column
|
|
186
194
|
}, (0, _utils.getClass)(footerClassName, cellParams), (0, _utils.getClass)(footerCellClassName, cellParams)],
|
|
187
195
|
attrs,
|
|
188
|
-
style: footerCellStyle ? _xeUtils.default.isFunction(footerCellStyle) ? footerCellStyle(cellParams) : footerCellStyle :
|
|
196
|
+
style: footerCellStyle ? _xeUtils.default.isFunction(footerCellStyle) ? footerCellStyle(cellParams) : footerCellStyle : undefined,
|
|
189
197
|
on: tfOns,
|
|
190
198
|
key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag ? column.id : $columnIndex
|
|
191
199
|
}, [h('div', {
|
|
@@ -194,26 +202,27 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
194
202
|
'c--tooltip': showTooltip,
|
|
195
203
|
'c--ellipsis': showEllipsis
|
|
196
204
|
}]
|
|
197
|
-
}, column.renderFooter(h, cellParams))]);
|
|
198
|
-
})
|
|
199
|
-
key: `gr${$rowIndex}`,
|
|
200
|
-
class: 'vxe-footer--gutter col--gutter'
|
|
201
|
-
})] : []);
|
|
205
|
+
}, isPreLoadStatus ? [] : column.renderFooter(h, cellParams))]);
|
|
206
|
+
});
|
|
202
207
|
}
|
|
203
208
|
function renderHeads(h, _vm, renderColumnList) {
|
|
204
|
-
const $xeTable = _vm.$parent;
|
|
205
209
|
const props = _vm;
|
|
206
|
-
const
|
|
207
|
-
const
|
|
210
|
+
const $xeTable = _vm.$parent;
|
|
211
|
+
const tableProps = $xeTable;
|
|
212
|
+
const tableReactData = $xeTable;
|
|
208
213
|
const {
|
|
209
214
|
fixedType,
|
|
210
215
|
footerTableData
|
|
211
216
|
} = props;
|
|
212
217
|
const {
|
|
213
218
|
footerRowClassName,
|
|
214
|
-
footerRowStyle
|
|
219
|
+
footerRowStyle
|
|
220
|
+
} = tableProps;
|
|
221
|
+
const {
|
|
215
222
|
isDragColMove
|
|
216
|
-
} =
|
|
223
|
+
} = tableReactData;
|
|
224
|
+
const columnOpts = $xeTable.computeColumnOpts;
|
|
225
|
+
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
217
226
|
return footerTableData.map((row, $rowIndex) => {
|
|
218
227
|
const _rowIndex = $rowIndex;
|
|
219
228
|
const rowParams = {
|
|
@@ -231,53 +240,69 @@ function renderHeads(h, _vm, renderColumnList) {
|
|
|
231
240
|
tag: 'tr',
|
|
232
241
|
name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
|
|
233
242
|
class: ['vxe-footer--row', footerRowClassName ? _xeUtils.default.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
|
|
234
|
-
style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle :
|
|
243
|
+
style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : undefined
|
|
235
244
|
}
|
|
236
245
|
}, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
|
|
237
246
|
}
|
|
238
247
|
return h('tr', {
|
|
239
248
|
key: $rowIndex,
|
|
240
249
|
class: ['vxe-footer--row', footerRowClassName ? _xeUtils.default.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
|
|
241
|
-
style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle :
|
|
250
|
+
style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : undefined
|
|
242
251
|
}, renderRows(h, _vm, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
|
|
243
252
|
});
|
|
244
253
|
}
|
|
245
254
|
var _default = exports.default = {
|
|
246
255
|
name: 'VxeTableFooter',
|
|
247
256
|
props: {
|
|
248
|
-
footerTableData:
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
257
|
+
footerTableData: {
|
|
258
|
+
type: Array,
|
|
259
|
+
default: () => []
|
|
260
|
+
},
|
|
261
|
+
tableColumn: {
|
|
262
|
+
type: Array,
|
|
263
|
+
default: () => []
|
|
264
|
+
},
|
|
265
|
+
fixedColumn: {
|
|
266
|
+
type: Array,
|
|
267
|
+
default: () => []
|
|
268
|
+
},
|
|
269
|
+
fixedType: {
|
|
270
|
+
type: String,
|
|
271
|
+
default: null
|
|
272
|
+
}
|
|
253
273
|
},
|
|
254
274
|
mounted() {
|
|
275
|
+
const _vm = this;
|
|
276
|
+
const props = _vm;
|
|
277
|
+
const $xeTable = _vm.$parent;
|
|
278
|
+
const tableInternalData = $xeTable;
|
|
255
279
|
const {
|
|
256
|
-
$parent: $xetable,
|
|
257
|
-
$el,
|
|
258
|
-
$refs,
|
|
259
280
|
fixedType
|
|
260
|
-
} =
|
|
281
|
+
} = props;
|
|
261
282
|
const {
|
|
262
283
|
elemStore
|
|
263
|
-
} =
|
|
284
|
+
} = tableInternalData;
|
|
264
285
|
const prefix = `${fixedType || 'main'}-footer-`;
|
|
265
|
-
elemStore[`${prefix}wrapper`] =
|
|
266
|
-
elemStore[`${prefix}
|
|
267
|
-
elemStore[`${prefix}
|
|
268
|
-
elemStore[`${prefix}
|
|
269
|
-
elemStore[`${prefix}
|
|
286
|
+
elemStore[`${prefix}wrapper`] = _vm.$refs.refElem;
|
|
287
|
+
elemStore[`${prefix}scroll`] = _vm.$refs.refFooterScroll;
|
|
288
|
+
elemStore[`${prefix}table`] = _vm.$refs.refFooterTable;
|
|
289
|
+
elemStore[`${prefix}colgroup`] = _vm.$refs.refFooterColgroup;
|
|
290
|
+
elemStore[`${prefix}list`] = _vm.$refs.refFooterTFoot;
|
|
291
|
+
elemStore[`${prefix}xSpace`] = _vm.$refs.refFooterXSpace;
|
|
270
292
|
},
|
|
271
293
|
destroyed() {
|
|
294
|
+
const props = this;
|
|
295
|
+
const $xeTable = this.$parent;
|
|
296
|
+
const tableInternalData = $xeTable;
|
|
272
297
|
const {
|
|
273
|
-
$parent: $xetable,
|
|
274
298
|
fixedType
|
|
275
|
-
} =
|
|
299
|
+
} = props;
|
|
276
300
|
const {
|
|
277
301
|
elemStore
|
|
278
|
-
} =
|
|
302
|
+
} = tableInternalData;
|
|
279
303
|
const prefix = `${fixedType || 'main'}-footer-`;
|
|
280
304
|
elemStore[`${prefix}wrapper`] = null;
|
|
305
|
+
elemStore[`${prefix}scroll`] = null;
|
|
281
306
|
elemStore[`${prefix}table`] = null;
|
|
282
307
|
elemStore[`${prefix}colgroup`] = null;
|
|
283
308
|
elemStore[`${prefix}list`] = null;
|
|
@@ -290,7 +315,7 @@ var _default = exports.default = {
|
|
|
290
315
|
const tableReactData = $xeTable;
|
|
291
316
|
const tableInternalData = $xeTable;
|
|
292
317
|
const {
|
|
293
|
-
|
|
318
|
+
xID
|
|
294
319
|
} = $xeTable;
|
|
295
320
|
const {
|
|
296
321
|
fixedType,
|
|
@@ -310,22 +335,22 @@ var _default = exports.default = {
|
|
|
310
335
|
isGroup,
|
|
311
336
|
scrollXLoad,
|
|
312
337
|
scrollYLoad,
|
|
313
|
-
scrollbarWidth,
|
|
314
338
|
dragCol
|
|
315
339
|
} = tableReactData;
|
|
316
340
|
let renderColumnList = tableColumn;
|
|
341
|
+
let isOptimizeMode = false;
|
|
317
342
|
// 如果是使用优化模式
|
|
318
|
-
if (
|
|
319
|
-
|
|
320
|
-
if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
|
|
343
|
+
if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
|
|
344
|
+
if (spanMethod || footerSpanMethod) {
|
|
321
345
|
// 如果不支持优化模式
|
|
322
|
-
if (spanMethod || footerSpanMethod) {
|
|
323
|
-
renderColumnList = visibleColumn;
|
|
324
|
-
} else {
|
|
325
|
-
renderColumnList = fixedColumn || [];
|
|
326
|
-
}
|
|
327
346
|
} else {
|
|
328
|
-
|
|
347
|
+
isOptimizeMode = true;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
if (fixedType) {
|
|
351
|
+
renderColumnList = visibleColumn;
|
|
352
|
+
if (isOptimizeMode) {
|
|
353
|
+
renderColumnList = fixedColumn || [];
|
|
329
354
|
}
|
|
330
355
|
}
|
|
331
356
|
if (!fixedType && !isGroup) {
|
|
@@ -352,34 +377,38 @@ var _default = exports.default = {
|
|
|
352
377
|
}
|
|
353
378
|
}
|
|
354
379
|
}
|
|
355
|
-
const ons = {};
|
|
356
|
-
if (!fixedType) {
|
|
357
|
-
ons.scroll = this.scrollEvent;
|
|
358
|
-
}
|
|
359
380
|
return h('div', {
|
|
381
|
+
ref: 'refElem',
|
|
360
382
|
class: ['vxe-table--footer-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
|
|
361
383
|
attrs: {
|
|
362
|
-
xid:
|
|
363
|
-
}
|
|
364
|
-
|
|
384
|
+
xid: xID
|
|
385
|
+
}
|
|
386
|
+
}, [h('div', {
|
|
387
|
+
ref: 'refFooterScroll',
|
|
388
|
+
class: 'vxe-table--footer-inner-wrapper',
|
|
389
|
+
on: {
|
|
390
|
+
scroll(evnt) {
|
|
391
|
+
$xeTable.triggerFooterScrollEvent(evnt, fixedType);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
365
394
|
}, [fixedType ? renderEmptyElement($xeTable) : h('div', {
|
|
366
|
-
|
|
367
|
-
|
|
395
|
+
ref: 'refFooterXSpace',
|
|
396
|
+
class: 'vxe-body--x-space'
|
|
368
397
|
}), h('table', {
|
|
398
|
+
ref: 'refFooterTable',
|
|
369
399
|
class: 'vxe-table--footer',
|
|
370
400
|
attrs: {
|
|
371
|
-
xid:
|
|
401
|
+
xid: xID,
|
|
372
402
|
cellspacing: 0,
|
|
373
403
|
cellpadding: 0,
|
|
374
404
|
border: 0
|
|
375
|
-
}
|
|
376
|
-
ref: 'table'
|
|
405
|
+
}
|
|
377
406
|
}, [
|
|
378
407
|
/**
|
|
379
408
|
* 列宽
|
|
380
409
|
*/
|
|
381
410
|
h('colgroup', {
|
|
382
|
-
ref: '
|
|
411
|
+
ref: 'refFooterColgroup'
|
|
383
412
|
}, renderColumnList.map((column, $columnIndex) => {
|
|
384
413
|
return h('col', {
|
|
385
414
|
attrs: {
|
|
@@ -387,68 +416,12 @@ var _default = exports.default = {
|
|
|
387
416
|
},
|
|
388
417
|
key: $columnIndex
|
|
389
418
|
});
|
|
390
|
-
})
|
|
391
|
-
attrs: {
|
|
392
|
-
name: 'col_gutter'
|
|
393
|
-
}
|
|
394
|
-
})] : [])),
|
|
419
|
+
})),
|
|
395
420
|
/**
|
|
396
|
-
|
|
397
|
-
|
|
421
|
+
* 底部
|
|
422
|
+
*/
|
|
398
423
|
h('tfoot', {
|
|
399
|
-
ref: '
|
|
400
|
-
}, renderHeads(h, this, renderColumnList))])]);
|
|
401
|
-
},
|
|
402
|
-
methods: {
|
|
403
|
-
/**
|
|
404
|
-
* 滚动处理
|
|
405
|
-
* 如果存在列固定左侧,同步更新滚动状态
|
|
406
|
-
* 如果存在列固定右侧,同步更新滚动状态
|
|
407
|
-
*/
|
|
408
|
-
scrollEvent(evnt) {
|
|
409
|
-
const $xeTable = this.$parent;
|
|
410
|
-
const tableInternalData = $xeTable;
|
|
411
|
-
const {
|
|
412
|
-
inVirtualScroll,
|
|
413
|
-
inBodyScroll
|
|
414
|
-
} = tableInternalData;
|
|
415
|
-
if (inVirtualScroll) {
|
|
416
|
-
return;
|
|
417
|
-
}
|
|
418
|
-
if (inBodyScroll) {
|
|
419
|
-
return;
|
|
420
|
-
}
|
|
421
|
-
const {
|
|
422
|
-
fixedType
|
|
423
|
-
} = this;
|
|
424
|
-
const {
|
|
425
|
-
tableHeader,
|
|
426
|
-
tableBody,
|
|
427
|
-
tableFooter
|
|
428
|
-
} = $xeTable.$refs;
|
|
429
|
-
const headerElem = tableHeader ? tableHeader.$el : null;
|
|
430
|
-
const footerElem = tableFooter ? tableFooter.$el : null;
|
|
431
|
-
if (!footerElem) {
|
|
432
|
-
return;
|
|
433
|
-
}
|
|
434
|
-
const bodyElem = tableBody ? tableBody.$el : null;
|
|
435
|
-
if (!bodyElem) {
|
|
436
|
-
return;
|
|
437
|
-
}
|
|
438
|
-
const xHandleEl = $xeTable.$refs.refScrollXHandleElem;
|
|
439
|
-
const scrollLeft = footerElem.scrollLeft;
|
|
440
|
-
const isRollX = true;
|
|
441
|
-
const isRollY = false;
|
|
442
|
-
const scrollTop = bodyElem.scrollTop;
|
|
443
|
-
tableInternalData.inFooterScroll = true;
|
|
444
|
-
(0, _dom.setScrollLeft)(xHandleEl, scrollLeft);
|
|
445
|
-
(0, _dom.setScrollLeft)(headerElem, scrollLeft);
|
|
446
|
-
(0, _dom.setScrollLeft)(bodyElem, scrollLeft);
|
|
447
|
-
$xeTable.triggerScrollXEvent(evnt);
|
|
448
|
-
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
449
|
-
type: renderType,
|
|
450
|
-
fixed: fixedType
|
|
451
|
-
});
|
|
452
|
-
}
|
|
424
|
+
ref: 'refFooterTFoot'
|
|
425
|
+
}, renderHeads(h, this, renderColumnList))])])]);
|
|
453
426
|
}
|
|
454
427
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(r,t,o){for(let e=0;e<r.length;e++){var{row:l,col:n,rowspan:a,colspan:i}=r[e];if(-1<n&&-1<l&&a&&i){if(l===t&&n===o)return{rowspan:a,colspan:i};if(l<=t&&t<l+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}function renderRows(w,e,y,h,b,F,_){let C=e.$parent;var r=C,t=C,o=C;let T=e.fixedType,{footerCellClassName:$,footerCellStyle:I,footerAlign:S,footerSpanMethod:E,align:O,columnKey:R,showFooterOverflow:k}=r,{scrollXLoad:A,scrollYLoad:D,overflowX:M,currentColumn:U,mergeFooterList:q}=t,L=o.scrollXStore,X=C.computeTooltipOpts,N=C.computeColumnOpts;return y.map((r,e)=>{var{type:t,showFooterOverflow:o,footerAlign:l,align:n,footerClassName:a,editRender:i,cellRender:s}=r,i=i||s,s=i?renderer.get(i.name):null;let d=X.showAll;i=r.children&&r.children.length,i=T?r.fixed!==T&&!i:r.fixed&&M,o=_xeUtils.default.eqNull(o)?k:o,l=l||(s?s.tableFooterCellAlign:"")||S||n||(s?s.tableCellAlign:"")||O;let u="ellipsis"===o,c="title"===o,f=!0===o||"tooltip"===o,p=c||f||u;var n={colid:r.id},s={},o=C.getColumnIndex(r),x=C.getVTColumnIndex(r),m=x;let g={$table:C,$grid:C.xegrid,row:b,rowIndex:_,_rowIndex:_,$rowIndex:F,column:r,columnIndex:o,$columnIndex:e,_columnIndex:x,itemIndex:m,items:b,fixed:T,type:renderType,data:h};if(A&&!p&&(u=p=!0),(c||f||d)&&(s.mouseenter=e=>{c?(0,_dom.updateCellTitle)(e.currentTarget,r):(f||d)&&C.triggerFooterTooltipEvent(e,g)}),(f||d)&&(s.mouseleave=e=>{(f||d)&&C.handleTargetLeaveEvent(e)}),s.click=e=>{C.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},g),e)},s.dblclick=e=>{C.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},g),e)},q.length){o=mergeFooterMethod(q,_,x);if(o){var{rowspan:m,colspan:o}=o;if(!m||!o)return null;1<m&&(n.rowspan=m),1<o&&(n.colspan=o)}}else if(E){var{rowspan:m=1,colspan:o=1}=E(g)||{};if(!m||!o)return null;1<m&&(n.rowspan=m),1<o&&(n.colspan=o)}m=!r.resizeWidth&&("auto"===r.minWidth||"auto"===r.width);let v=!1;return A&&!r.fixed&&(x<L.visibleStartIndex||x>L.visibleEndIndex)&&(v=!0),w("td",{class:["vxe-footer--column",r.id,{["col--"+l]:l,["col--"+t]:t,"col--last":e===y.length-1,"fixed--width":!m,"fixed--hidden":i,"col--ellipsis":p,"col--current":U===r},(0,_utils.getClass)(a,g),(0,_utils.getClass)($,g)],attrs:n,style:I?_xeUtils.default.isFunction(I)?I(g):I:void 0,on:s,key:R||A||D||N.useKey||N.drag?r.id:e},[w("div",{class:["vxe-cell",{"c--title":c,"c--tooltip":f,"c--ellipsis":u}]},v?[]:r.renderFooter(w,g))])})}function renderHeads(l,n,a){let i=n.$parent;var e=i,r=i;let{fixedType:s,footerTableData:d}=n,{footerRowClassName:u,footerRowStyle:c}=e,f=r.isDragColMove,p=i.computeColumnOpts,x=i.computeColumnDragOpts;return d.map((e,r)=>{var t=r,o={$table:i,row:e,_rowIndex:t,$rowIndex:r,fixed:s,type:renderType};return p.drag&&x.animation?l("transition-group",{key:r,props:{tag:"tr",name:"vxe-header--col-list"+(f?"":"-disabled"),class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(o):u:""],style:c?_xeUtils.default.isFunction(c)?c(o):c:void 0}},renderRows(l,n,a,d,e,r,t)):l("tr",{key:r,class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(o):u:""],style:c?_xeUtils.default.isFunction(c)?c(o):c:void 0},renderRows(l,n,a,d,e,r,t))})}var _default=exports.default={name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},mounted(){var e=this,r=e.fixedType,t=e.$parent.elemStore,r=`${r||"main"}-footer-`;t[r+"wrapper"]=e.$refs.refElem,t[r+"scroll"]=e.$refs.refFooterScroll,t[r+"table"]=e.$refs.refFooterTable,t[r+"colgroup"]=e.$refs.refFooterColgroup,t[r+"list"]=e.$refs.refFooterTFoot,t[r+"xSpace"]=e.$refs.refFooterXSpace},destroyed(){var e=this.fixedType,r=this.$parent.elemStore,e=`${e||"main"}-footer-`;r[e+"wrapper"]=null,r[e+"scroll"]=null,r[e+"table"]=null,r[e+"colgroup"]=null,r[e+"list"]=null,r[e+"xSpace"]=null},render(t){let r=this.$parent;var e=r,o=r,l=r,n=r.xID;let{fixedType:a,fixedColumn:i,tableColumn:s}=this;var{spanMethod:e,footerSpanMethod:d,showFooterOverflow:u}=e,{visibleColumn:l,fullColumnIdData:c}=l,{isGroup:o,scrollXLoad:f,scrollYLoad:p,dragCol:x}=o;let m=s,g=!(f||p||u)||e||d?!1:!0;return a&&(m=l,g)&&(m=i||[]),a||o||f&&x&&2<m.length&&(p=c[x.id])&&(u=p._index,e=m[0],d=m[m.length-1],l=c[e.id],o=c[d.id],l)&&o&&(f=l._index,p=o._index,u<f?m=[x].concat(m):p<u&&(m=m.concat([x]))),t("div",{ref:"refElem",class:["vxe-table--footer-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],attrs:{xid:n}},[t("div",{ref:"refFooterScroll",class:"vxe-table--footer-inner-wrapper",on:{scroll(e){r.triggerFooterScrollEvent(e,a)}}},[a?renderEmptyElement(r):t("div",{ref:"refFooterXSpace",class:"vxe-body--x-space"}),t("table",{ref:"refFooterTable",class:"vxe-table--footer",attrs:{xid:n,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refFooterColgroup"},m.map((e,r)=>t("col",{attrs:{name:e.id},key:r}))),t("tfoot",{ref:"refFooterTFoot"},renderHeads(t,this,m))])])])}};
|