vxe-table 3.12.8 → 3.12.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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";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,a=t.afterFullData,i=t.treeConfig,n=t.computeTreeOpts,{slots:s,treeNode:d}=s,c=t.fullAllDataRowIdData;if(s&&s.line)return t.callSlot(s.line,r,e);s=c[(0,_util.getRowid)(t,o)];let p=0,u=null;s&&(p=s.level,u=s.items[s._index-1]);c=t.eqRow(a[0],o);return i&&d&&(n.showLine||n.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${c?1:(0,_util.calcTreeLine)(r,u)}px`,left:p*n.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))}}};
@@ -2651,47 +2651,6 @@ const Methods = {
2651
2651
  this.afterTreeFullData = tableTree;
2652
2652
  this.updateAfterDataIndex();
2653
2653
  },
2654
- updateTreeDataIndex() {
2655
- const $xeTable = this;
2656
- const props = $xeTable;
2657
- const internalData = $xeTable;
2658
- const {
2659
- treeConfig
2660
- } = props;
2661
- const {
2662
- afterFullData,
2663
- fullDataRowIdData,
2664
- fullAllDataRowIdData
2665
- } = internalData;
2666
- const treeOpts = $xeTable.computeTreeOpts;
2667
- if (treeConfig) {
2668
- if (treeOpts.transform) {
2669
- afterFullData.forEach((row, index) => {
2670
- const rowid = (0, _util.getRowid)($xeTable, row);
2671
- const rowRest = fullAllDataRowIdData[rowid];
2672
- if (rowRest) {
2673
- rowRest._index = index;
2674
- } else {
2675
- const rest = {
2676
- row,
2677
- rowid,
2678
- seq: '-1',
2679
- index: -1,
2680
- $index: -1,
2681
- _index: index,
2682
- items: [],
2683
- parent: null,
2684
- level: 0,
2685
- height: 0,
2686
- oTop: 0
2687
- };
2688
- fullAllDataRowIdData[rowid] = rest;
2689
- fullDataRowIdData[rowid] = rest;
2690
- }
2691
- });
2692
- }
2693
- }
2694
- },
2695
2654
  /**
2696
2655
  * 预编译
2697
2656
  * 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
@@ -2741,7 +2700,6 @@ const Methods = {
2741
2700
  }, {
2742
2701
  children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField
2743
2702
  });
2744
- $xeTable.updateTreeDataIndex();
2745
2703
  } else {
2746
2704
  afterFullData.forEach((row, index) => {
2747
2705
  const rowid = (0, _util.getRowid)($xeTable, row);
@@ -7925,7 +7883,7 @@ const Methods = {
7925
7883
  return this.$nextTick().then(() => {
7926
7884
  if (transform) {
7927
7885
  this.handleTableData();
7928
- this.updateTreeDataIndex();
7886
+ this.updateAfterDataIndex();
7929
7887
  return this.$nextTick();
7930
7888
  }
7931
7889
  });
@@ -8067,7 +8025,7 @@ const Methods = {
8067
8025
  return this.handleBaseTreeExpand(rows, expanded).then(() => {
8068
8026
  handleVirtualTreeToList($xeTable);
8069
8027
  this.handleTableData();
8070
- this.updateTreeDataIndex();
8028
+ this.updateAfterDataIndex();
8071
8029
  }).then(() => {
8072
8030
  return this.recalculate();
8073
8031
  }).then(() => {