vxe-table 3.13.19 → 3.13.20

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.
Files changed (37) hide show
  1. package/es/grid/src/grid.js +4 -0
  2. package/es/style.css +1 -1
  3. package/es/table/src/body.js +11 -6
  4. package/es/table/src/footer.js +7 -2
  5. package/es/table/src/methods.js +182 -53
  6. package/es/table/src/util.js +18 -5
  7. package/es/ui/index.js +1 -1
  8. package/es/ui/src/log.js +1 -1
  9. package/lib/grid/src/grid.js +4 -0
  10. package/lib/grid/src/grid.min.js +1 -1
  11. package/lib/index.umd.js +250 -78
  12. package/lib/index.umd.min.js +1 -1
  13. package/lib/style.css +1 -1
  14. package/lib/table/src/body.js +10 -5
  15. package/lib/table/src/body.min.js +1 -1
  16. package/lib/table/src/footer.js +7 -2
  17. package/lib/table/src/footer.min.js +1 -1
  18. package/lib/table/src/methods.js +209 -64
  19. package/lib/table/src/methods.min.js +1 -1
  20. package/lib/table/src/util.js +21 -5
  21. package/lib/table/src/util.min.js +1 -1
  22. package/lib/ui/index.js +1 -1
  23. package/lib/ui/index.min.js +1 -1
  24. package/lib/ui/src/log.js +1 -1
  25. package/lib/ui/src/log.min.js +1 -1
  26. package/package.json +2 -2
  27. package/packages/grid/src/grid.ts +5 -0
  28. package/packages/table/src/body.ts +10 -5
  29. package/packages/table/src/footer.ts +7 -2
  30. package/packages/table/src/methods.ts +202 -60
  31. package/packages/table/src/util.ts +20 -5
  32. /package/es/{iconfont.1741224103306.ttf → iconfont.1741333380103.ttf} +0 -0
  33. /package/es/{iconfont.1741224103306.woff → iconfont.1741333380103.woff} +0 -0
  34. /package/es/{iconfont.1741224103306.woff2 → iconfont.1741333380103.woff2} +0 -0
  35. /package/lib/{iconfont.1741224103306.ttf → iconfont.1741333380103.ttf} +0 -0
  36. /package/lib/{iconfont.1741224103306.woff → iconfont.1741333380103.woff} +0 -0
  37. /package/lib/{iconfont.1741224103306.woff2 → iconfont.1741333380103.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",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r){var l=l.$parent,{row:o,column:a}=t,s=l.afterFullData,i=l.treeConfig,d=l.computeTreeOpts,{slots:a,treeNode:n}=a,c=l.fullAllDataRowIdData;if(a&&a.line)return l.callSlot(a.line,t,e);a=c[(0,_util.getRowid)(l,o)];let p=0,u=null;a&&(p=a.level,u=a.items[a.treeIndex-1]);c=l.eqRow(s[0],o);return i&&n&&(d.showLine||d.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${c?1:(0,_util.calcTreeLine)(t,u)}px`,bottom:`-${Math.floor(r/2)}px`,left:p*d.indent+(p?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,l,t,r,q,L,o,U,a,s,i,H,N,d){let n=A.$parent;var F=n,c=n,p=n.fullAllDataRowIdData,{columnKey:F,resizable:u,showOverflow:g,border:V,height:x,cellClassName:X,cellStyle:j,align:P,spanMethod:K,mouseConfig:Y,editConfig:W,editRules:v,tooltipConfig:m,padding:w}=F,{tableData:c,dragRow:G,overflowX:J,currentColumn:Q,scrollXLoad:Z,scrollYLoad:h,calcCellHeightFlag:y,resizeHeightFlag:f,mergeList:ee,editStore:le,isAllOverflow:te,validErrorMaps:b}=c,{afterFullData:re,scrollXStore:oe,scrollYStore:ae}=n,se=n.computeCellOpts,C=n.computeValidOpts,ie=n.computeCheckboxOpts,de=n.computeEditOpts,ne=n.computeTooltipOpts,{isAllColumnDrag:ce,isAllRowDrag:pe}=n.resizableOpts,_=n.computeRowOpts,R=n.computeRowDragOpts,ue=n.computeDefaultRowHeight,y=y?se.height||_.height:0,{disabledMethod:E,isCrossDrag:ge,isPeerDrag:xe}=R,ve=n.computeColumnOpts,me=n.computeMouseOpts,we=n.computeAreaOpts.selectCellToRow,{type:he,cellRender:ye,editRender:fe,align:be,showOverflow:Ce,className:_e,treeNode:Re,rowResize:Ee,padding:S,verticalAlign:D,slots:Se}=i,O=se.verticalAlign,le=le.actived,p=p[t],De=i.id,T=fe||ye,T=T?renderer.get(T.name):null,Oe=T?T.tableCellClassName||T.cellClassName:null,Te=T?T.tableCellStyle||T.cellStyle:"";let $e=ne.showAll;var ne=n.getColumnIndex(i),$=n.getVTColumnIndex(i),Ie=(0,_utils.isEnableConf)(fe),f=f?p.resizeHeight:0;let I=r?i.fixed!==r:i.fixed&&J;J=_xeUtils.default.eqNull(S)?null===w?se.padding:w:S,w=_xeUtils.default.eqNull(Ce)?g:Ce,S="ellipsis"===w;let k="title"===w,B=!0===w||"tooltip"===w;g=te||k||B||S,Ce=_xeUtils.default.isBoolean(i.resizable)?i.resizable:ve.resizable||u,w=!!y,u=0<f;let ke;y={},f=be||(T?T.tableCellAlign:"")||P,be=_xeUtils.default.eqNull(D)?O:D,T=b[t+":"+De],P=v&&C.showMessage&&("default"===C.message?x||1<c.length:"inline"===C.message),O={colid:De};let M={$table:n,$grid:n.xegrid,isEdit:!1,seq:l,rowid:t,row:o,rowIndex:U,$rowIndex:a,_rowIndex:s,column:i,columnIndex:ne,$columnIndex:H,_columnIndex:$,fixed:r,type:renderType,isHidden:!!I,level:L,visibleData:re,data:c,items:d},z=!1,Be=!1;if((z=_.drag?"row"===R.trigger||i.dragSort&&"cell"===R.trigger:z)&&(Be=!(!E||!E(M))),(k||B||$e||m)&&(y.mouseenter=e=>{isVMScrollProcess(n)||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(B||$e)&&n.triggerBodyTooltipEvent(e,M),n.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||$e||m)&&(y.mouseleave=e=>{isVMScrollProcess(n)||((B||$e)&&n.handleTargetLeaveEvent(e),n.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||ie.range||Y)&&(y.mousedown=e=>{n.triggerCellMousedownEvent(e,M)}),z&&(y.mouseup=n.triggerCellMouseupEvent),y.click=e=>{n.triggerCellClickEvent(e,M)},y.dblclick=e=>{n.triggerCellDblclickEvent(e,M)},ee.length){D=(0,_util.mergeBodyMethod)(ee,s,$);if(D){var{rowspan:b,colspan:v}=D;if(!b||!v)return null;1<b&&(O.rowspan=b),1<v&&(O.colspan=v)}}else if(K){var{rowspan:x=1,colspan:l=1}=K(M)||{};if(!x||!l)return null;1<x&&(O.rowspan=x),1<l&&(O.colspan=l)}!(I=I&&ee&&(1<O.colspan||1<O.rowspan)?!1:I)&&W&&(fe||ye)&&(de.showStatus||de.showUpdateStatus)&&(ke=n.isUpdateByRow(o,i.field));U=h&&!g,a=p.resizeHeight||se.height||_.height||p.height||ue,ne=H===N.length-1,re=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Me=!1;G&&(0,_util.getRowid)(n,G)===t||(h&&(s<ae.visibleStartIndex-ae.preloadSize||s>ae.visibleEndIndex+ae.preloadSize)||Z&&!i.fixed&&($<oe.visibleStartIndex-oe.preloadSize||$>oe.visibleEndIndex+oe.preloadSize))&&(Me=!0);c={},h||g||w||u?c.height=a+"px":c.minHeight=a+"px",d=[];I&&te?d.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:c})):(d.push(...renderLine(e,A,M,a),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:c,attrs:{title:k?n.getCellLabel(o,i):null}},Me?[]:[e("div",{attrs:{colid:De,rowid:t},class:"vxe-cell--wrapper"},i.renderCell(e,M))])),P&&T&&(R=T.rule,E=Se?Se.valid:null,m=Object.assign(Object.assign(Object.assign({},M),T),{rule:T}),d.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(C.className,T)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(C.theme||"normal")},[E?n.callSlot(E,m,e):[e("span",{class:"vxe-cell--valid-error-msg"},T.content)]])]))));let ze=!1;return Y&&me.area&&we&&(($||!0!==we)&&we!==i.field||(ze=!0)),!I&&Ce&&ce&&d.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!V||"none"===V}],on:{mousedown:e=>n.handleColResizeMousedownEvent(e,r,M),dblclick:e=>n.handleColResizeDblclickEvent(e,M)}})),(Ee||pe)&&_.resizable&&d.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>n.handleRowResizeMousedownEvent(e,M),dblclick:e=>n.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",De,be?"col--vertical-"+be:"",f?"col--"+f:"",he?"col--"+he:"",{"col--last":ne,"col--tree-node":Re,"col--edit":Ie,"col--ellipsis":g,"col--cs-height":w,"col--rs-height":u,"col--to-row":ze,"col--auto-height":U,"fixed--width":!re,"fixed--hidden":I,"is--padding":J,"is--progress":I&&te||Me,"is--drag-cell":z&&(ge||xe||!L),"is--drag-disabled":Be,"col--dirty":ke,"col--active":W&&Ie&&le.row===o&&(le.column===i||"row"===de.mode),"col--valid-error":!!T,"col--current":Q===i},(0,_utils.getClass)(Oe,M),(0,_utils.getClass)(_e,M),(0,_utils.getClass)(X,M)],key:F||Z||h||ve.useKey||_.useKey||ve.drag?i.id:H,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(Te)?Te(M):Te,_xeUtils.default.isFunction(j)?j(M):j),on:y},q&&I?[]:d)}function renderRows(m,w,h,y,f,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:D,editConfig:O,treeConfig:T}=e,{hasFixedColumn:$,treeExpandedMaps:I,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedMaps:A,expandColumn:q,selectRadioRow:L,pendingRowMaps:U,isDragColMove:H,rowExpandHeightFlag:N}=l,F=t.fullAllDataRowIdData,W=C.computeCheckboxOpts,G=C.computeRadioOpts,V=C.computeTreeOpts,X=C.computeEditOpts,j=C.computeRowOpts,P=C.computeColumnOpts,J=C.computeColumnDragOpts,{transform:K,seqMode:Q}=V,Z=V.children||V.childrenField,Y=[];return f.forEach((t,r)=>{var e={};let o,a=(o=C.getRowIndex(t),(j.isHover||E)&&(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=F[a];let s=0,i=-1,d=0;l&&(s=l.level,i=T&&K&&"increasing"===Q?l._index+1:l.seq,d=l._index);var n={$table:C,seq:i,rowid:a,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},c=q&&!!A[a];let p=!1,u=[],g=!1;O&&(g=C.isInsertByRow(t)),!T||M||K||(u=t[Z],p=u&&u.length&&!!I[a]),!j.drag||T&&!K||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var x=["vxe-body--row",T?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":g,"is--expand-row":c,"is--expand-tree":p,"row--new":g&&(X.showStatus||X.showInsertStatus),"row--radio":G.highlight&&L===t,"row--checked":W.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!U[a]},S?_xeUtils.default.isFunction(S)?S(n):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,h,y,s,t,o,r,d,e,l,b,f));Y.push(!k&&P.drag&&J.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(H?"":"-disabled")},class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||j.useKey||j.drag||P.drag||T?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||j.useKey||j.drag||P.drag||T?a:r,on:e},v)),c&&({height:x,padding:n,mode:e}=C.computeExpandOpts,"fixed"===e?Y.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${N?l.expandHeight||x:0}px`}})])):(v={},c=(x&&(v.height=x+"px"),T&&(v.paddingLeft=s*V.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?z:c,l={$table:C,seq:i,column:q,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},Y.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":n}],key:"expand_"+a},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!$,"col--ellipsis":e}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":x}],style:v},[q.renderData(m,l)])])])))),p&&Y.push(...renderRows(m,w,h,y,u,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{spanMethod:c,footerSpanMethod:p,mouseConfig:u}=e,{isGroup:r,tableData:g,isRowLoading:x,isColLoading:v,overflowX:m,scrollXLoad:w,scrollYLoad:h,isAllOverflow:y,isDragRowMove:f,expandColumn:b,dragRow:C,dragCol:_}=r,{visibleColumn:o,fullAllDataRowIdData:R,fullColumnIdData:E}=o,S=l.computeRowOpts,D=l.computeEmptyOpts,O=l.computeMouseOpts,T=l.computeRowDragOpts,$=l.computeExpandOpts;let I=g,k=n,B=!1;!(w||h||y)||b&&"fixed"!==$.mode||c||p||(B=!0),!d&&m||(k=o),d&&B&&(k=i||[]),h&&C&&2<I.length&&(g=R[(0,_util.getRowid)(l,C)])&&(y=g._index,b=I[0],$=I[I.length-1],c=R[(0,_util.getRowid)(l,b)],p=R[(0,_util.getRowid)(l,$)],c)&&p&&(m=c._index,o=p._index,y<m?I=[C].concat(I):o<y&&(I=I.concat([C]))),d||r||w&&_&&2<k.length&&(h=E[_.id])&&(g=h._index,b=k[0],R=k[k.length-1],$=E[b.id],c=E[R.id],$)&&c&&(p=$._index,m=c._index,g<p?k=[_].concat(k):m<g&&(k=k.concat([_])));let M;return M=s.empty?s.empty.call(this,{$table:l,$grid:l.xegrid}):(y=(o=D.name?renderer.get(D.name):null)?o.renderTableEmpty||o.renderTableEmptyView||o.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,D,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),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:{scroll(e){l.triggerBodyScrollEvent(e,d)}}},[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"},k.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),!x&&!v&&S.drag&&T.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(f?"":"-disabled")}},renderRows(t,this,d,B,I,k)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,d,B,I,k))]),t("div",{class:"vxe-table--checkbox-range"}),u&&O.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},O.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"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),d?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},M)])])])}};
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,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r){var l=l.$parent,{row:o,column:a}=t,s=l.afterFullData,i=l.treeConfig,d=l.computeTreeOpts,{slots:a,treeNode:n}=a,c=l.fullAllDataRowIdData;if(a&&a.line)return l.callSlot(a.line,t,e);a=c[(0,_util.getRowid)(l,o)];let p=0,u=null;a&&(p=a.level,u=a.items[a.treeIndex-1]);c=l.eqRow(s[0],o);return i&&n&&(d.showLine||d.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${c?1:(0,_util.calcTreeLine)(t,u)}px`,bottom:`-${Math.floor(r/2)}px`,left:p*d.indent+(p?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,l,t,r,q,L,o,U,a,s,i,H,N,d){let n=A.$parent;var F=n,c=n,p=n.fullAllDataRowIdData,{columnKey:F,resizable:u,showOverflow:g,border:V,height:x,cellClassName:X,cellStyle:j,align:P,spanMethod:K,mouseConfig:Y,editConfig:W,editRules:v,tooltipConfig:m,padding:w}=F,{tableData:c,dragRow:G,overflowX:J,currentColumn:Q,scrollXLoad:Z,scrollYLoad:h,calcCellHeightFlag:y,resizeHeightFlag:f,mergeList:ee,editStore:le,isAllOverflow:te,validErrorMaps:b}=c,{afterFullData:re,scrollXStore:oe,scrollYStore:ae}=n,se=n.computeCellOpts,C=n.computeValidOpts,ie=n.computeCheckboxOpts,de=n.computeEditOpts,ne=n.computeTooltipOpts,{isAllColumnDrag:ce,isAllRowDrag:pe}=n.resizableOpts,_=n.computeRowOpts,R=n.computeRowDragOpts,ue=n.computeDefaultRowHeight,y=y?se.height||_.height:0,{disabledMethod:E,isCrossDrag:ge,isPeerDrag:xe}=R,ve=n.computeColumnOpts,me=n.computeMouseOpts,we=n.computeAreaOpts.selectCellToRow,{type:he,cellRender:ye,editRender:fe,align:be,showOverflow:Ce,className:_e,treeNode:Re,rowResize:Ee,padding:S,verticalAlign:D,slots:Se}=i,O=se.verticalAlign,le=le.actived,p=p[t],De=i.id,T=fe||ye,T=T?renderer.get(T.name):null,Oe=T?T.tableCellClassName||T.cellClassName:null,Te=T?T.tableCellStyle||T.cellStyle:"";let $e=ne.showAll;var ne=n.getColumnIndex(i),$=n.getVTColumnIndex(i),Ie=(0,_utils.isEnableConf)(fe),f=f?p.resizeHeight:0;let I=r?i.fixed!==r:i.fixed&&J;J=_xeUtils.default.eqNull(S)?null===w?se.padding:w:S,w=_xeUtils.default.eqNull(Ce)?g:Ce,S="ellipsis"===w;let k="title"===w,B=!0===w||"tooltip"===w;g=te||k||B||S,Ce=_xeUtils.default.isBoolean(i.resizable)?i.resizable:ve.resizable||u,w=!!y,u=0<f;let ke;y={},f=be||(T?T.tableCellAlign:"")||P,be=_xeUtils.default.eqNull(D)?O:D,T=b[t+":"+De],P=v&&C.showMessage&&("default"===C.message?x||1<c.length:"inline"===C.message),O={colid:De};let M={$table:n,$grid:n.xegrid,isEdit:!1,seq:l,rowid:t,row:o,rowIndex:U,$rowIndex:a,_rowIndex:s,column:i,columnIndex:ne,$columnIndex:H,_columnIndex:$,fixed:r,type:renderType,isHidden:!!I,level:L,visibleData:re,data:c,items:d},z=!1,Be=!1,Me=((z=_.drag?"row"===R.trigger||i.dragSort&&"cell"===R.trigger:z)&&(Be=!(!E||!E(M))),(k||B||$e||m)&&(y.mouseenter=e=>{isVMScrollProcess(n)||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(B||$e)&&n.triggerBodyTooltipEvent(e,M),n.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||$e||m)&&(y.mouseleave=e=>{isVMScrollProcess(n)||((B||$e)&&n.handleTargetLeaveEvent(e),n.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||ie.range||Y)&&(y.mousedown=e=>{n.triggerCellMousedownEvent(e,M)}),z&&(y.mouseup=n.triggerCellMouseupEvent),y.click=e=>{n.triggerCellClickEvent(e,M)},!(y.dblclick=e=>{n.triggerCellDblclickEvent(e,M)}));if(ee.length){D=(0,_util.mergeBodyMethod)(ee,s,$);if(D){var{rowspan:b,colspan:v}=D;if(!b||!v)return null;1<b&&(Me=!0,O.rowspan=b),1<v&&(Me=!0,O.colspan=v)}}else if(K){var{rowspan:x=1,colspan:l=1}=K(M)||{};if(!x||!l)return null;1<x&&(O.rowspan=x),1<l&&(O.colspan=l)}!(I=I&&ee&&(1<O.colspan||1<O.rowspan)?!1:I)&&W&&(fe||ye)&&(de.showStatus||de.showUpdateStatus)&&(ke=n.isUpdateByRow(o,i.field));U=h&&!g,a=p.resizeHeight||se.height||_.height||p.height||ue,ne=H===N.length-1,re=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let ze=!1;Me||G&&(0,_util.getRowid)(n,G)===t||(h&&(s<ae.visibleStartIndex-ae.preloadSize||s>ae.visibleEndIndex+ae.preloadSize)||Z&&!i.fixed&&($<oe.visibleStartIndex-oe.preloadSize||$>oe.visibleEndIndex+oe.preloadSize))&&(ze=!0);c={},h||g||w||u?c.height=a+"px":c.minHeight=a+"px",d=[];I&&te?d.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:c})):(d.push(...renderLine(e,A,M,a),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:c,attrs:{title:k?n.getCellLabel(o,i):null}},ze?[]:[e("div",{attrs:{colid:De,rowid:t},class:"vxe-cell--wrapper"},i.renderCell(e,M))])),P&&T&&(R=T.rule,E=Se?Se.valid:null,m=Object.assign(Object.assign(Object.assign({},M),T),{rule:T}),d.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(C.className,T)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(C.theme||"normal")},[E?n.callSlot(E,m,e):[e("span",{class:"vxe-cell--valid-error-msg"},T.content)]])]))));let Ae=!1;return Y&&me.area&&we&&(($||!0!==we)&&we!==i.field||(Ae=!0)),!I&&Ce&&ce&&d.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!V||"none"===V}],on:{mousedown:e=>n.handleColResizeMousedownEvent(e,r,M),dblclick:e=>n.handleColResizeDblclickEvent(e,M)}})),(Ee||pe)&&_.resizable&&d.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>n.handleRowResizeMousedownEvent(e,M),dblclick:e=>n.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",De,be?"col--vertical-"+be:"",f?"col--"+f:"",he?"col--"+he:"",{"col--last":ne,"col--tree-node":Re,"col--edit":Ie,"col--ellipsis":g,"col--cs-height":w,"col--rs-height":u,"col--to-row":Ae,"col--auto-height":U,"fixed--width":!re,"fixed--hidden":I,"is--padding":J,"is--progress":I&&te||ze,"is--drag-cell":z&&(ge||xe||!L),"is--drag-disabled":Be,"col--dirty":ke,"col--active":W&&Ie&&le.row===o&&(le.column===i||"row"===de.mode),"col--valid-error":!!T,"col--current":Q===i},(0,_utils.getClass)(Oe,M),(0,_utils.getClass)(_e,M),(0,_utils.getClass)(X,M)],key:F||Z||h||ve.useKey||_.useKey||ve.drag?i.id:H,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(Te)?Te(M):Te,_xeUtils.default.isFunction(j)?j(M):j),on:y},q&&I?[]:d)}function renderRows(m,w,h,y,f,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:D,editConfig:O,treeConfig:T}=e,{hasFixedColumn:$,treeExpandedMaps:I,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedMaps:A,expandColumn:q,selectRadioRow:L,pendingRowMaps:U,isDragColMove:H,rowExpandHeightFlag:N}=l,F=t.fullAllDataRowIdData,W=C.computeCheckboxOpts,G=C.computeRadioOpts,V=C.computeTreeOpts,X=C.computeEditOpts,j=C.computeRowOpts,P=C.computeColumnOpts,J=C.computeColumnDragOpts,{transform:K,seqMode:Q}=V,Z=V.children||V.childrenField,Y=[];return f.forEach((t,r)=>{var e={};let o,a=(o=C.getRowIndex(t),(j.isHover||E)&&(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=F[a];let s=0,i=-1,d=0;l&&(s=l.level,i=T&&K&&"increasing"===Q?l._index+1:l.seq,d=l._index);var n={$table:C,seq:i,rowid:a,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},c=q&&!!A[a];let p=!1,u=[],g=!1;O&&(g=C.isInsertByRow(t)),!T||M||K||(u=t[Z],p=u&&u.length&&!!I[a]),!j.drag||T&&!K||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var x=["vxe-body--row",T?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":g,"is--expand-row":c,"is--expand-tree":p,"row--new":g&&(X.showStatus||X.showInsertStatus),"row--radio":G.highlight&&L===t,"row--checked":W.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!U[a]},S?_xeUtils.default.isFunction(S)?S(n):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,h,y,s,t,o,r,d,e,l,b,f));Y.push(!k&&P.drag&&J.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(H?"":"-disabled")},class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||j.useKey||j.drag||P.drag||T?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||j.useKey||j.drag||P.drag||T?a:r,on:e},v)),c&&({height:x,padding:n,mode:e}=C.computeExpandOpts,"fixed"===e?Y.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${N?l.expandHeight||x:0}px`}})])):(v={},c=(x&&(v.height=x+"px"),T&&(v.paddingLeft=s*V.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?z:c,l={$table:C,seq:i,column:q,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},Y.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":n}],key:"expand_"+a},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!$,"col--ellipsis":e}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":x}],style:v},[q.renderData(m,l)])])])))),p&&Y.push(...renderRows(m,w,h,y,u,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{spanMethod:c,footerSpanMethod:p,mouseConfig:u}=e,{isGroup:r,tableData:g,isRowLoading:x,isColLoading:v,overflowX:m,scrollXLoad:w,scrollYLoad:h,isAllOverflow:y,isDragRowMove:f,expandColumn:b,dragRow:C,dragCol:_}=r,{visibleColumn:o,fullAllDataRowIdData:R,fullColumnIdData:E}=o,S=l.computeRowOpts,D=l.computeEmptyOpts,O=l.computeMouseOpts,T=l.computeRowDragOpts,$=l.computeExpandOpts;let I=g,k=n,B=!1;!(w||h||y)||b&&"fixed"!==$.mode||c||p||(B=!0),!d&&m||(k=o),d&&B&&(k=i||[]),h&&C&&2<I.length&&(g=R[(0,_util.getRowid)(l,C)])&&(y=g._index,b=I[0],$=I[I.length-1],c=R[(0,_util.getRowid)(l,b)],p=R[(0,_util.getRowid)(l,$)],c)&&p&&(m=c._index,o=p._index,y<m?I=[C].concat(I):o<y&&(I=I.concat([C]))),d||r||w&&_&&2<k.length&&(h=E[_.id])&&(g=h._index,b=k[0],R=k[k.length-1],$=E[b.id],c=E[R.id],$)&&c&&(p=$._index,m=c._index,g<p?k=[_].concat(k):m<g&&(k=k.concat([_])));let M;return M=s.empty?s.empty.call(this,{$table:l,$grid:l.xegrid}):(y=(o=D.name?renderer.get(D.name):null)?o.renderTableEmpty||o.renderTableEmptyView||o.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,D,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),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:{scroll(e){l.triggerBodyScrollEvent(e,d)}}},[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"},k.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),!x&&!v&&S.drag&&T.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(f?"":"-disabled")}},renderRows(t,this,d,B,I,k)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,d,B,I,k))]),t("div",{class:"vxe-table--checkbox-range"}),u&&O.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},O.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"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),d?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},M)])])])}};
@@ -156,6 +156,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
156
156
  cell: evnt.currentTarget
157
157
  }, cellParams), evnt);
158
158
  };
159
+ let isMergeCell = false;
159
160
  // 合并行或列
160
161
  if (mergeFooterList.length) {
161
162
  const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex);
@@ -168,9 +169,11 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
168
169
  return null;
169
170
  }
170
171
  if (rowspan > 1) {
172
+ isMergeCell = true;
171
173
  attrs.rowspan = rowspan;
172
174
  }
173
175
  if (colspan > 1) {
176
+ isMergeCell = true;
174
177
  attrs.colspan = colspan;
175
178
  }
176
179
  }
@@ -193,8 +196,10 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
193
196
  const isLastColumn = $columnIndex === tableColumn.length - 1;
194
197
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
195
198
  let isVNPreEmptyStatus = false;
196
- if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
197
- isVNPreEmptyStatus = true;
199
+ if (!isMergeCell) {
200
+ if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
201
+ isVNPreEmptyStatus = true;
202
+ }
198
203
  }
199
204
  const tcStyle = {};
200
205
  if (hasEllipsis) {
@@ -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"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(l,r,t){for(let e=0;e<l.length;e++){var{row:o,col:i,rowspan:n,colspan:a}=l[e];if(-1<i&&-1<o&&n&&a){if(o===r&&i===t)return{rowspan:n,colspan:a};if(o<=r&&r<o+n&&i<=t&&t<i+a)return{rowspan:0,colspan:0}}}}function renderRows(y,e,C,_,F,T,$){let S=e.$parent;var l=S,r=S,t=S;let E=e.fixedType,{resizable:I,border:O,footerCellClassName:R,footerCellStyle:z,footerAlign:D,footerSpanMethod:k,align:U,columnKey:A,showFooterOverflow:M}=l,{scrollXLoad:q,scrollYLoad:L,overflowX:X,currentColumn:H,mergeFooterList:N}=r,j=t.scrollXStore,V=S.computeTooltipOpts,B=S.resizableOpts.isAllColumnDrag,K=S.computeColumnOpts;e=S.computeDefaultRowHeight;let W=S.computeCellOpts,Y=S.computeFooterCellOpts,G=(0,_util.getCellHeight)(Y.height||W.height)||e;return C.map((l,e)=>{var{type:r,showFooterOverflow:t,footerAlign:o,align:i,footerClassName:n,editRender:a,cellRender:s}=l,d=l.id,a=a||s,s=a?renderer.get(a.name):null;let u=V.showAll;var a=l.children&&l.children.length,a=E?l.fixed!==E&&!a:l.fixed&&X,c=(_xeUtils.default.isBoolean(Y.padding)?Y:W).padding,t=_xeUtils.default.eqNull(t)?M:t,o=o||(s?s.tableFooterCellAlign:"")||D||i||(s?s.tableCellAlign:"")||U;let p="ellipsis"===t,f="title"===t,x=!0===t||"tooltip"===t,m=f||x||p;var i=_xeUtils.default.isBoolean(l.resizable)?l.resizable:K.resizable||I,s={colid:d},t={},g=S.getColumnIndex(l),v=S.getVTColumnIndex(l),h=v;let w={$table:S,$grid:S.xegrid,row:F,rowIndex:$,_rowIndex:$,$rowIndex:T,column:l,columnIndex:g,$columnIndex:e,_columnIndex:v,itemIndex:h,items:F,fixed:E,type:renderType,data:_};if(q&&!m&&(p=m=!0),(f||x||u)&&(t.mouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(x||u)&&S.triggerFooterTooltipEvent(e,w)}),(x||u)&&(t.mouseleave=e=>{(x||u)&&S.handleTargetLeaveEvent(e)}),t.click=e=>{S.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},w),e)},t.dblclick=e=>{S.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},w),e)},N.length){g=mergeFooterMethod(N,$,v);if(g){var{rowspan:h,colspan:g}=g;if(!h||!g)return null;1<h&&(s.rowspan=h),1<g&&(s.colspan=g)}}else if(k){var{rowspan:h=1,colspan:g=1}=k(w)||{};if(!h||!g)return null;1<h&&(s.rowspan=h),1<g&&(s.colspan=g)}h=e===C.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let b=!1;q&&!l.fixed&&(v<j.visibleStartIndex-j.preloadSize||v>j.visibleEndIndex+j.preloadSize)&&(b=!0);v={};return m?v.height=G+"px":v.minHeight=G+"px",y("td",{class:["vxe-footer--column",l.id,{["col--"+o]:o,["col--"+r]:r,"col--last":h,"fixed--width":!g,"fixed--hidden":a,"is--padding":c,"col--ellipsis":m,"col--current":H===l},(0,_utils.getClass)(n,w),(0,_utils.getClass)(R,w)],attrs:s,style:z?_xeUtils.default.isFunction(z)?z(w):z:void 0,on:t,key:A||q||L||K.useKey||K.drag?l.id:e},[y("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":x,"c--ellipsis":p}],style:v},b?[]:[y("div",{attrs:{colid:d},class:"vxe-cell--wrapper"},l.renderFooter(y,w))]),!a&&i&&B?y("div",{class:["vxe-cell--col-resizable",{"is--line":!O||"none"===O}],on:{mousedown:e=>S.handleColResizeMousedownEvent(e,E,w),dblclick:e=>S.handleColResizeDblclickEvent(e,w)}}):renderEmptyElement(S)])})}function renderHeads(o,i,n){let a=i.$parent;var e=a,l=a;let{fixedType:s,footerTableData:d}=i,{footerRowClassName:u,footerRowStyle:c}=e,{isColLoading:p,isDragColMove:f}=l,x=a.computeColumnOpts,m=a.computeColumnDragOpts;return d.map((e,l)=>{var r=l,t={$table:a,row:e,_rowIndex:r,$rowIndex:l,fixed:s,type:renderType};return!p&&x.drag&&m.animation?o("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(f?"":"-disabled"),class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:c?_xeUtils.default.isFunction(c)?c(t):c:void 0}},renderRows(o,i,n,d,e,l,r)):o("tr",{key:l,class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:c?_xeUtils.default.isFunction(c)?c(t):c:void 0},renderRows(o,i,n,d,e,l,r))})}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,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-footer-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refFooterScroll,r[l+"table"]=e.$refs.refFooterTable,r[l+"colgroup"]=e.$refs.refFooterColgroup,r[l+"list"]=e.$refs.refFooterTFoot,r[l+"xSpace"]=e.$refs.refFooterXSpace},destroyed(){var e=this.fixedType,l=this.$parent.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},render(r){let l=this.$parent;var e=l,t=l,o=l,i=l.xID;let{fixedType:n,fixedColumn:a,tableColumn:s}=this;var{spanMethod:e,footerSpanMethod:d,showFooterOverflow:u}=e,{visibleColumn:o,fullColumnIdData:c}=o,{isGroup:t,overflowX:p,scrollXLoad:f,scrollYLoad:x,dragCol:m}=t;let g=s,v=!(f||x||u)||e||d?!1:!0;return!n&&p||(g=o),n&&v&&(g=a||[]),n||t||f&&m&&2<g.length&&(x=c[m.id])&&(u=x._index,e=g[0],d=g[g.length-1],p=c[e.id],o=c[d.id],p)&&o&&(t=p._index,f=o._index,u<t?g=[m].concat(g):f<u&&(g=g.concat([m]))),r("div",{ref:"refElem",class:["vxe-table--footer-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refFooterScroll",class:"vxe-table--footer-inner-wrapper",on:{scroll(e){l.triggerFooterScrollEvent(e,n)}}},[n?renderEmptyElement(l):r("div",{ref:"refFooterXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refFooterTable",class:"vxe-table--footer",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[r("colgroup",{ref:"refFooterColgroup"},g.map((e,l)=>r("col",{attrs:{name:e.id},key:l}))),r("tfoot",{ref:"refFooterTFoot"},renderHeads(r,this,g))])])])}};
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"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(l,r,t){for(let e=0;e<l.length;e++){var{row:o,col:i,rowspan:n,colspan:a}=l[e];if(-1<i&&-1<o&&n&&a){if(o===r&&i===t)return{rowspan:n,colspan:a};if(o<=r&&r<o+n&&i<=t&&t<i+a)return{rowspan:0,colspan:0}}}}function renderRows(C,e,_,F,T,$,S){let E=e.$parent;var l=E,r=E,t=E;let I=e.fixedType,{resizable:O,border:R,footerCellClassName:z,footerCellStyle:D,footerAlign:k,footerSpanMethod:U,align:A,columnKey:M,showFooterOverflow:q}=l,{scrollXLoad:L,scrollYLoad:X,overflowX:H,currentColumn:N,mergeFooterList:j}=r,V=t.scrollXStore,B=E.computeTooltipOpts,K=E.resizableOpts.isAllColumnDrag,W=E.computeColumnOpts;e=E.computeDefaultRowHeight;let Y=E.computeCellOpts,G=E.computeFooterCellOpts,P=(0,_util.getCellHeight)(G.height||Y.height)||e;return _.map((l,e)=>{var{type:r,showFooterOverflow:t,footerAlign:o,align:i,footerClassName:n,editRender:a,cellRender:s}=l,d=l.id,a=a||s,s=a?renderer.get(a.name):null;let u=B.showAll;var a=l.children&&l.children.length,a=I?l.fixed!==I&&!a:l.fixed&&H,c=(_xeUtils.default.isBoolean(G.padding)?G:Y).padding,t=_xeUtils.default.eqNull(t)?q:t,o=o||(s?s.tableFooterCellAlign:"")||k||i||(s?s.tableCellAlign:"")||A;let p="ellipsis"===t,f="title"===t,x=!0===t||"tooltip"===t,m=f||x||p;var i=_xeUtils.default.isBoolean(l.resizable)?l.resizable:W.resizable||O,s={colid:d},t={},g=E.getColumnIndex(l),v=E.getVTColumnIndex(l),h=v;let w={$table:E,$grid:E.xegrid,row:T,rowIndex:S,_rowIndex:S,$rowIndex:$,column:l,columnIndex:g,$columnIndex:e,_columnIndex:v,itemIndex:h,items:T,fixed:I,type:renderType,data:F},b=(L&&!m&&(p=m=!0),(f||x||u)&&(t.mouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(x||u)&&E.triggerFooterTooltipEvent(e,w)}),(x||u)&&(t.mouseleave=e=>{(x||u)&&E.handleTargetLeaveEvent(e)}),t.click=e=>{E.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},w),e)},!(t.dblclick=e=>{E.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},w),e)}));if(j.length){g=mergeFooterMethod(j,S,v);if(g){var{rowspan:h,colspan:g}=g;if(!h||!g)return null;1<h&&(b=!0,s.rowspan=h),1<g&&(b=!0,s.colspan=g)}}else if(U){var{rowspan:h=1,colspan:g=1}=U(w)||{};if(!h||!g)return null;1<h&&(s.rowspan=h),1<g&&(s.colspan=g)}h=e===_.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let y=!1;b||L&&!l.fixed&&(v<V.visibleStartIndex-V.preloadSize||v>V.visibleEndIndex+V.preloadSize)&&(y=!0);v={};return m?v.height=P+"px":v.minHeight=P+"px",C("td",{class:["vxe-footer--column",l.id,{["col--"+o]:o,["col--"+r]:r,"col--last":h,"fixed--width":!g,"fixed--hidden":a,"is--padding":c,"col--ellipsis":m,"col--current":N===l},(0,_utils.getClass)(n,w),(0,_utils.getClass)(z,w)],attrs:s,style:D?_xeUtils.default.isFunction(D)?D(w):D:void 0,on:t,key:M||L||X||W.useKey||W.drag?l.id:e},[C("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":x,"c--ellipsis":p}],style:v},y?[]:[C("div",{attrs:{colid:d},class:"vxe-cell--wrapper"},l.renderFooter(C,w))]),!a&&i&&K?C("div",{class:["vxe-cell--col-resizable",{"is--line":!R||"none"===R}],on:{mousedown:e=>E.handleColResizeMousedownEvent(e,I,w),dblclick:e=>E.handleColResizeDblclickEvent(e,w)}}):renderEmptyElement(E)])})}function renderHeads(o,i,n){let a=i.$parent;var e=a,l=a;let{fixedType:s,footerTableData:d}=i,{footerRowClassName:u,footerRowStyle:c}=e,{isColLoading:p,isDragColMove:f}=l,x=a.computeColumnOpts,m=a.computeColumnDragOpts;return d.map((e,l)=>{var r=l,t={$table:a,row:e,_rowIndex:r,$rowIndex:l,fixed:s,type:renderType};return!p&&x.drag&&m.animation?o("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(f?"":"-disabled"),class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:c?_xeUtils.default.isFunction(c)?c(t):c:void 0}},renderRows(o,i,n,d,e,l,r)):o("tr",{key:l,class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:c?_xeUtils.default.isFunction(c)?c(t):c:void 0},renderRows(o,i,n,d,e,l,r))})}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,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-footer-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refFooterScroll,r[l+"table"]=e.$refs.refFooterTable,r[l+"colgroup"]=e.$refs.refFooterColgroup,r[l+"list"]=e.$refs.refFooterTFoot,r[l+"xSpace"]=e.$refs.refFooterXSpace},destroyed(){var e=this.fixedType,l=this.$parent.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},render(r){let l=this.$parent;var e=l,t=l,o=l,i=l.xID;let{fixedType:n,fixedColumn:a,tableColumn:s}=this;var{spanMethod:e,footerSpanMethod:d,showFooterOverflow:u}=e,{visibleColumn:o,fullColumnIdData:c}=o,{isGroup:t,overflowX:p,scrollXLoad:f,scrollYLoad:x,dragCol:m}=t;let g=s,v=!(f||x||u)||e||d?!1:!0;return!n&&p||(g=o),n&&v&&(g=a||[]),n||t||f&&m&&2<g.length&&(x=c[m.id])&&(u=x._index,e=g[0],d=g[g.length-1],p=c[e.id],o=c[d.id],p)&&o&&(t=p._index,f=o._index,u<t?g=[m].concat(g):f<u&&(g=g.concat([m]))),r("div",{ref:"refElem",class:["vxe-table--footer-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refFooterScroll",class:"vxe-table--footer-inner-wrapper",on:{scroll(e){l.triggerFooterScrollEvent(e,n)}}},[n?renderEmptyElement(l):r("div",{ref:"refFooterXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refFooterTable",class:"vxe-table--footer",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[r("colgroup",{ref:"refFooterColgroup"},g.map((e,l)=>r("col",{attrs:{name:e.id},key:l}))),r("tfoot",{ref:"refFooterTFoot"},renderHeads(r,this,g))])])])}};
@@ -2546,6 +2546,10 @@ const Methods = {
2546
2546
  }
2547
2547
  return [];
2548
2548
  },
2549
+ getEl() {
2550
+ const $xeTable = this;
2551
+ return $xeTable.$refs.refElem;
2552
+ },
2549
2553
  /**
2550
2554
  * 获取父容器元素
2551
2555
  */
@@ -3644,25 +3648,31 @@ const Methods = {
3644
3648
  },
3645
3649
  /**
3646
3650
  * 检查行或列数据是否发生改变
3647
- * @param {Row} row 行对象
3651
+ * @param {Row} rowOrId 行对象
3648
3652
  * @param {String} field 字段名
3649
3653
  */
3650
- isUpdateByRow(row, field) {
3654
+ isUpdateByRow(rowOrId, field) {
3655
+ const $xeTable = this;
3656
+ const props = $xeTable;
3657
+ const internalData = $xeTable;
3658
+ const {
3659
+ keepSource
3660
+ } = props;
3651
3661
  const {
3652
3662
  tableFullColumn,
3653
- keepSource,
3654
- sourceDataRowIdData,
3655
- fullDataRowIdData
3656
- } = this;
3663
+ fullDataRowIdData,
3664
+ sourceDataRowIdData
3665
+ } = internalData;
3657
3666
  if (keepSource) {
3658
- const rowid = (0, _util.getRowid)(this, row);
3667
+ const rowid = _xeUtils.default.isString(rowOrId) || _xeUtils.default.isNumber(rowOrId) ? rowOrId : (0, _util.getRowid)($xeTable, rowOrId);
3668
+ const rowRest = fullDataRowIdData[rowid];
3659
3669
  // 新增的数据不需要检测
3660
- if (!fullDataRowIdData[rowid]) {
3670
+ if (!rowRest) {
3661
3671
  return false;
3662
3672
  }
3663
- const oldRest = sourceDataRowIdData[rowid];
3664
- if (oldRest) {
3665
- const oRow = oldRest.row;
3673
+ const row = rowRest.row;
3674
+ const oRow = sourceDataRowIdData[rowid];
3675
+ if (oRow) {
3666
3676
  if (arguments.length > 1) {
3667
3677
  return !eqCellValue(oRow, row, field);
3668
3678
  }
@@ -3724,6 +3734,113 @@ const Methods = {
3724
3734
  tableColumn: this.tableColumn.slice(0)
3725
3735
  };
3726
3736
  },
3737
+ /**
3738
+ * 移动列到指定列的位置
3739
+ * @param fieldOrColumn
3740
+ * @param targetFieldOrColumn
3741
+ * @param options
3742
+ */
3743
+ moveColumnTo(fieldOrColumn, targetFieldOrColumn, options) {
3744
+ const $xeTable = this;
3745
+ const internalData = $xeTable;
3746
+ const {
3747
+ fullColumnIdData,
3748
+ visibleColumn
3749
+ } = internalData;
3750
+ const {
3751
+ dragToChild,
3752
+ dragPos,
3753
+ isCrossDrag
3754
+ } = Object.assign({}, options);
3755
+ const dragCol = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
3756
+ let prevDragCol = null;
3757
+ const colRest = dragCol ? fullColumnIdData[dragCol.id] : null;
3758
+ let defPos = 'left';
3759
+ if (_xeUtils.default.isNumber(targetFieldOrColumn)) {
3760
+ if (colRest && targetFieldOrColumn) {
3761
+ let currList = colRest.items;
3762
+ let offsetIndex = colRest._index + targetFieldOrColumn;
3763
+ if (isCrossDrag) {
3764
+ currList = visibleColumn;
3765
+ offsetIndex = colRest._index + targetFieldOrColumn;
3766
+ }
3767
+ if (offsetIndex > 0 && offsetIndex < currList.length - 1) {
3768
+ prevDragCol = currList[offsetIndex];
3769
+ }
3770
+ if (targetFieldOrColumn > 0) {
3771
+ defPos = 'right';
3772
+ }
3773
+ }
3774
+ } else {
3775
+ prevDragCol = (0, _util.handleFieldOrColumn)($xeTable, targetFieldOrColumn);
3776
+ const targetColRest = prevDragCol ? fullColumnIdData[prevDragCol.id] : null;
3777
+ if (colRest && targetColRest) {
3778
+ if (targetColRest._index > colRest._index) {
3779
+ defPos = 'right';
3780
+ }
3781
+ }
3782
+ }
3783
+ return $xeTable.handleColDragSwapEvent(null, true, dragCol, prevDragCol, dragPos || defPos, dragToChild === true);
3784
+ },
3785
+ /**
3786
+ * 移动行到指定行的位置
3787
+ * @param rowidOrRow
3788
+ * @param targetRowidOrRow
3789
+ * @param options
3790
+ */
3791
+ moveRowTo(rowidOrRow, targetRowidOrRow, options) {
3792
+ const $xeTable = this;
3793
+ const props = $xeTable;
3794
+ const internalData = $xeTable;
3795
+ const {
3796
+ treeConfig
3797
+ } = props;
3798
+ const {
3799
+ fullAllDataRowIdData,
3800
+ afterFullData
3801
+ } = internalData;
3802
+ const {
3803
+ dragToChild,
3804
+ dragPos,
3805
+ isCrossDrag
3806
+ } = Object.assign({}, options);
3807
+ const treeOpts = $xeTable.computeTreeOpts;
3808
+ const dragRow = (0, _util.handleRowidOrRow)($xeTable, rowidOrRow);
3809
+ let prevDragRow = null;
3810
+ let defPos = 'top';
3811
+ const rowRest = dragRow ? fullAllDataRowIdData[(0, _util.getRowid)($xeTable, dragRow)] : null;
3812
+ if (_xeUtils.default.isNumber(targetRowidOrRow)) {
3813
+ if (rowRest && targetRowidOrRow) {
3814
+ let currList = afterFullData;
3815
+ let offsetIndex = rowRest._index + targetRowidOrRow;
3816
+ if (treeConfig) {
3817
+ currList = rowRest.items;
3818
+ if (treeOpts.transform) {
3819
+ offsetIndex = rowRest.treeIndex + targetRowidOrRow;
3820
+ if (isCrossDrag) {
3821
+ currList = afterFullData;
3822
+ offsetIndex = rowRest._index + targetRowidOrRow;
3823
+ }
3824
+ }
3825
+ }
3826
+ if (offsetIndex >= 0 && offsetIndex <= currList.length - 1) {
3827
+ prevDragRow = currList[offsetIndex];
3828
+ }
3829
+ if (targetRowidOrRow > 0) {
3830
+ defPos = 'bottom';
3831
+ }
3832
+ }
3833
+ } else {
3834
+ prevDragRow = (0, _util.handleRowidOrRow)($xeTable, targetRowidOrRow);
3835
+ const targetRowRest = prevDragRow ? fullAllDataRowIdData[(0, _util.getRowid)($xeTable, prevDragRow)] : null;
3836
+ if (rowRest && targetRowRest) {
3837
+ if (targetRowRest._index > rowRest._index) {
3838
+ defPos = 'bottom';
3839
+ }
3840
+ }
3841
+ }
3842
+ return $xeTable.handleRowDragSwapEvent(null, true, dragRow, prevDragRow, dragPos || defPos, dragToChild === true);
3843
+ },
3727
3844
  /**
3728
3845
  * 获取表格的全量列
3729
3846
  */
@@ -3746,16 +3863,26 @@ const Methods = {
3746
3863
  * 用于多选行,获取已选中的数据
3747
3864
  */
3748
3865
  getCheckboxRecords(isFull) {
3866
+ const $xeTable = this;
3867
+ const props = $xeTable;
3868
+ const reactData = $xeTable;
3869
+ const internalData = $xeTable;
3870
+ const {
3871
+ treeConfig
3872
+ } = props;
3873
+ const {
3874
+ selectCheckboxMaps
3875
+ } = reactData;
3749
3876
  const {
3750
3877
  tableFullData,
3751
3878
  afterFullData,
3752
- treeConfig,
3753
- treeOpts,
3754
- checkboxOpts,
3755
- tableFullTreeData,
3756
3879
  afterTreeFullData,
3880
+ tableFullTreeData,
3881
+ fullDataRowIdData,
3757
3882
  afterFullRowMaps
3758
- } = this;
3883
+ } = internalData;
3884
+ const treeOpts = $xeTable.computeTreeOpts;
3885
+ const checkboxOpts = $xeTable.computeCheckboxOpts;
3759
3886
  const {
3760
3887
  transform,
3761
3888
  mapChildrenField
@@ -3764,21 +3891,18 @@ const Methods = {
3764
3891
  checkField
3765
3892
  } = checkboxOpts;
3766
3893
  const childrenField = treeOpts.children || treeOpts.childrenField;
3767
- const currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
3768
3894
  let rowList = [];
3769
3895
  if (checkField) {
3770
3896
  if (treeConfig) {
3897
+ const currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
3771
3898
  rowList = _xeUtils.default.filterTree(currTableData, row => _xeUtils.default.get(row, checkField), {
3772
3899
  children: transform ? mapChildrenField : childrenField
3773
3900
  });
3774
3901
  } else {
3902
+ const currTableData = isFull ? tableFullData : afterFullData;
3775
3903
  rowList = currTableData.filter(row => _xeUtils.default.get(row, checkField));
3776
3904
  }
3777
3905
  } else {
3778
- const {
3779
- selectCheckboxMaps,
3780
- fullDataRowIdData
3781
- } = this;
3782
3906
  _xeUtils.default.each(selectCheckboxMaps, (row, rowid) => {
3783
3907
  if (isFull) {
3784
3908
  if (fullDataRowIdData[rowid]) {
@@ -7543,6 +7667,9 @@ const Methods = {
7543
7667
  } = internalData;
7544
7668
  const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
7545
7669
  const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
7670
+ const errRest = {
7671
+ status: false
7672
+ };
7546
7673
  if (prevDragRow && dragRow) {
7547
7674
  // 判断是否有拖动
7548
7675
  if (prevDragRow !== dragRow) {
@@ -7557,7 +7684,7 @@ const Methods = {
7557
7684
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
7558
7685
  return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then(status => {
7559
7686
  if (!status) {
7560
- return;
7687
+ return errRest;
7561
7688
  }
7562
7689
  let oafIndex = -1;
7563
7690
  let nafIndex = -1;
@@ -7588,11 +7715,11 @@ const Methods = {
7588
7715
  if (isPeerDrag && !isCrossDrag) {
7589
7716
  if (oldRest.row[parentField] !== newRest.row[parentField]) {
7590
7717
  // 非同级
7591
- return;
7718
+ return errRest;
7592
7719
  }
7593
7720
  } else {
7594
7721
  if (!isCrossDrag) {
7595
- return;
7722
+ return errRest;
7596
7723
  }
7597
7724
  if (oldAllMaps[newRowid]) {
7598
7725
  isSelfToChildStatus = true;
@@ -7603,19 +7730,19 @@ const Methods = {
7603
7730
  content: getI18n('vxe.error.treeDragChild')
7604
7731
  });
7605
7732
  }
7606
- return;
7733
+ return errRest;
7607
7734
  }
7608
7735
  }
7609
7736
  }
7610
7737
  } else if (oldLevel) {
7611
7738
  // 子到根
7612
7739
  if (!isCrossDrag) {
7613
- return;
7740
+ return errRest;
7614
7741
  }
7615
7742
  } else if (newLevel) {
7616
7743
  // 根到子
7617
7744
  if (!isCrossDrag) {
7618
- return;
7745
+ return errRest;
7619
7746
  }
7620
7747
  if (oldAllMaps[newRowid]) {
7621
7748
  isSelfToChildStatus = true;
@@ -7626,7 +7753,7 @@ const Methods = {
7626
7753
  content: getI18n('vxe.error.treeDragChild')
7627
7754
  });
7628
7755
  }
7629
- return;
7756
+ return errRest;
7630
7757
  }
7631
7758
  }
7632
7759
  } else {
@@ -7684,26 +7811,34 @@ const Methods = {
7684
7811
  if (reactData.scrollYLoad) {
7685
7812
  $xeTable.updateScrollYSpace();
7686
7813
  }
7687
- $xeTable.$nextTick().then(() => {
7814
+ if (evnt) {
7815
+ $xeTable.dispatchEvent('row-dragend', {
7816
+ oldRow: dragRow,
7817
+ newRow: prevDragRow,
7818
+ dragRow,
7819
+ dragPos: prevDragPos,
7820
+ dragToChild: isDragToChildFlag,
7821
+ offsetIndex: dragOffsetIndex,
7822
+ _index: {
7823
+ newIndex: nafIndex,
7824
+ oldIndex: oafIndex
7825
+ }
7826
+ }, evnt);
7827
+ }
7828
+ return $xeTable.$nextTick().then(() => {
7688
7829
  $xeTable.updateCellAreas();
7689
7830
  $xeTable.recalculate();
7831
+ }).then(() => {
7832
+ return {
7833
+ status: true
7834
+ };
7690
7835
  });
7691
- $xeTable.dispatchEvent('row-dragend', {
7692
- oldRow: dragRow,
7693
- newRow: prevDragRow,
7694
- dragRow,
7695
- dragPos: prevDragPos,
7696
- dragToChild: isDragToChildFlag,
7697
- offsetIndex: dragOffsetIndex,
7698
- _index: {
7699
- newIndex: nafIndex,
7700
- oldIndex: oafIndex
7701
- }
7702
- }, evnt);
7703
- }).catch(() => {});
7836
+ }).catch(() => {
7837
+ return errRest;
7838
+ });
7704
7839
  }
7705
7840
  }
7706
- return Promise.resolve();
7841
+ return Promise.resolve(errRest);
7707
7842
  },
7708
7843
  handleRowDragDragendEvent(evnt) {
7709
7844
  const $xeTable = this;
@@ -7890,6 +8025,9 @@ const Methods = {
7890
8025
  collectColumn
7891
8026
  } = internalData;
7892
8027
  const dragOffsetIndex = prevDragPos === 'right' ? 1 : 0;
8028
+ const errRest = {
8029
+ status: false
8030
+ };
7893
8031
  if (prevDragCol && dragCol) {
7894
8032
  // 判断是否有拖动
7895
8033
  if (prevDragCol !== dragCol) {
@@ -7906,7 +8044,7 @@ const Methods = {
7906
8044
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
7907
8045
  return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then(status => {
7908
8046
  if (!status) {
7909
- return;
8047
+ return errRest;
7910
8048
  }
7911
8049
  let oafIndex = -1;
7912
8050
  let nafIndex = -1;
@@ -7920,11 +8058,11 @@ const Methods = {
7920
8058
  if (isPeerDrag && !isCrossDrag) {
7921
8059
  if (dragColumn.parentId !== newColumn.parentId) {
7922
8060
  // 非同级
7923
- return;
8061
+ return errRest;
7924
8062
  }
7925
8063
  } else {
7926
8064
  if (!isCrossDrag) {
7927
- return;
8065
+ return errRest;
7928
8066
  }
7929
8067
  if (oldAllMaps[newColumn.id]) {
7930
8068
  isSelfToChildStatus = true;
@@ -7935,19 +8073,19 @@ const Methods = {
7935
8073
  content: getI18n('vxe.error.treeDragChild')
7936
8074
  });
7937
8075
  }
7938
- return;
8076
+ return errRest;
7939
8077
  }
7940
8078
  }
7941
8079
  }
7942
8080
  } else if (dragColumn.parentId) {
7943
8081
  // 子到根
7944
8082
  if (!isCrossDrag) {
7945
- return;
8083
+ return errRest;
7946
8084
  }
7947
8085
  } else if (newColumn.parentId) {
7948
8086
  // 根到子
7949
8087
  if (!isCrossDrag) {
7950
- return;
8088
+ return errRest;
7951
8089
  }
7952
8090
  if (oldAllMaps[newColumn.id]) {
7953
8091
  isSelfToChildStatus = true;
@@ -7958,7 +8096,7 @@ const Methods = {
7958
8096
  content: getI18n('vxe.error.treeDragChild')
7959
8097
  });
7960
8098
  }
7961
- return;
8099
+ return errRest;
7962
8100
  }
7963
8101
  }
7964
8102
  } else {
@@ -8027,25 +8165,32 @@ const Methods = {
8027
8165
  $xeTable.clearCopyCellArea();
8028
8166
  }
8029
8167
  }
8030
- $xeTable.dispatchEvent('column-dragend', {
8031
- oldColumn: dragColumn,
8032
- newColumn,
8033
- dragColumn,
8034
- dragPos: prevDragPos,
8035
- dragToChild: isDragToChildFlag,
8036
- offsetIndex: dragOffsetIndex,
8037
- _index: {
8038
- newIndex: nafIndex,
8039
- oldIndex: oafIndex
8040
- }
8041
- }, evnt);
8168
+ if (evnt) {
8169
+ $xeTable.dispatchEvent('column-dragend', {
8170
+ oldColumn: dragColumn,
8171
+ newColumn,
8172
+ dragColumn,
8173
+ dragPos: prevDragPos,
8174
+ dragToChild: isDragToChildFlag,
8175
+ offsetIndex: dragOffsetIndex,
8176
+ _index: {
8177
+ newIndex: nafIndex,
8178
+ oldIndex: oafIndex
8179
+ }
8180
+ }, evnt);
8181
+ }
8042
8182
  if (isSyncColumn) {
8043
8183
  $xeTable.handleColDragSwapColumn();
8044
8184
  }
8045
- }).catch(() => {});
8185
+ return {
8186
+ status: true
8187
+ };
8188
+ }).catch(() => {
8189
+ return errRest;
8190
+ });
8046
8191
  }
8047
8192
  }
8048
- return Promise.resolve();
8193
+ return Promise.resolve(errRest);
8049
8194
  },
8050
8195
  handleHeaderCellDragDragendEvent(evnt) {
8051
8196
  const $xeTable = this;