vxe-table 3.13.19 → 3.13.21
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 +17 -8
- package/es/style.css +1 -1
- package/es/table/src/body.js +11 -6
- package/es/table/src/footer.js +7 -2
- package/es/table/src/methods.js +197 -62
- package/es/table/src/util.js +18 -5
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +17 -8
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +284 -97
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +10 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +7 -2
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/methods.js +228 -75
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +21 -5
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +18 -8
- package/packages/table/src/body.ts +10 -5
- package/packages/table/src/footer.ts +7 -2
- package/packages/table/src/methods.ts +218 -69
- package/packages/table/src/util.ts +20 -5
- /package/es/{iconfont.1741224103306.ttf → iconfont.1741336846919.ttf} +0 -0
- /package/es/{iconfont.1741224103306.woff → iconfont.1741336846919.woff} +0 -0
- /package/es/{iconfont.1741224103306.woff2 → iconfont.1741336846919.woff2} +0 -0
- /package/lib/{iconfont.1741224103306.ttf → iconfont.1741336846919.ttf} +0 -0
- /package/lib/{iconfont.1741224103306.woff → iconfont.1741336846919.woff} +0 -0
- /package/lib/{iconfont.1741224103306.woff2 → iconfont.1741336846919.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)])])])}};
|
package/lib/table/src/footer.js
CHANGED
|
@@ -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 (
|
|
197
|
-
|
|
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(
|
|
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))])])])}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -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
|
*/
|
|
@@ -3007,24 +3011,26 @@ const Methods = {
|
|
|
3007
3011
|
reactData.treeExpandedMaps = treeTempExpandedMaps;
|
|
3008
3012
|
},
|
|
3009
3013
|
cacheSourceMap(fullData) {
|
|
3014
|
+
const $xeTable = this;
|
|
3015
|
+
const props = $xeTable;
|
|
3016
|
+
const internalData = $xeTable;
|
|
3017
|
+
const {
|
|
3018
|
+
treeConfig
|
|
3019
|
+
} = props;
|
|
3020
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
3010
3021
|
let {
|
|
3011
|
-
treeConfig,
|
|
3012
|
-
treeOpts,
|
|
3013
3022
|
sourceDataRowIdData
|
|
3014
|
-
} =
|
|
3023
|
+
} = internalData;
|
|
3015
3024
|
const sourceData = _xeUtils.default.clone(fullData, true);
|
|
3016
|
-
const rowkey = (0, _util.getRowkey)(
|
|
3017
|
-
sourceDataRowIdData =
|
|
3025
|
+
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
3026
|
+
sourceDataRowIdData = internalData.sourceDataRowIdData = {};
|
|
3018
3027
|
const handleSourceRow = row => {
|
|
3019
|
-
let rowid = (0, _util.getRowid)(
|
|
3028
|
+
let rowid = (0, _util.getRowid)($xeTable, row);
|
|
3020
3029
|
if ((0, _utils.eqEmptyValue)(rowid)) {
|
|
3021
3030
|
rowid = (0, _util.getRowUniqueId)();
|
|
3022
3031
|
_xeUtils.default.set(row, rowkey, rowid);
|
|
3023
3032
|
}
|
|
3024
|
-
sourceDataRowIdData[rowid] =
|
|
3025
|
-
row,
|
|
3026
|
-
rowid
|
|
3027
|
-
};
|
|
3033
|
+
sourceDataRowIdData[rowid] = row;
|
|
3028
3034
|
};
|
|
3029
3035
|
// 源数据缓存
|
|
3030
3036
|
if (treeConfig) {
|
|
@@ -3035,7 +3041,7 @@ const Methods = {
|
|
|
3035
3041
|
} else {
|
|
3036
3042
|
sourceData.forEach(handleSourceRow);
|
|
3037
3043
|
}
|
|
3038
|
-
|
|
3044
|
+
internalData.tableSourceData = sourceData;
|
|
3039
3045
|
},
|
|
3040
3046
|
getParams() {
|
|
3041
3047
|
return this.params;
|
|
@@ -3413,6 +3419,9 @@ const Methods = {
|
|
|
3413
3419
|
keepSource,
|
|
3414
3420
|
treeConfig
|
|
3415
3421
|
} = props;
|
|
3422
|
+
const {
|
|
3423
|
+
editStore
|
|
3424
|
+
} = reactData;
|
|
3416
3425
|
const {
|
|
3417
3426
|
fullAllDataRowIdData,
|
|
3418
3427
|
fullDataRowIdData,
|
|
@@ -3421,6 +3430,7 @@ const Methods = {
|
|
|
3421
3430
|
tableFullData,
|
|
3422
3431
|
afterFullData
|
|
3423
3432
|
} = internalData;
|
|
3433
|
+
const removeTempMaps = Object.assign({}, editStore.removeMaps);
|
|
3424
3434
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
3425
3435
|
const {
|
|
3426
3436
|
transform
|
|
@@ -3455,6 +3465,7 @@ const Methods = {
|
|
|
3455
3465
|
_xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));
|
|
3456
3466
|
}
|
|
3457
3467
|
if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
|
|
3468
|
+
delete removeTempMaps[rowid];
|
|
3458
3469
|
tableFullData.unshift(row);
|
|
3459
3470
|
afterFullData.unshift(row);
|
|
3460
3471
|
reDelFlag = true;
|
|
@@ -3466,6 +3477,7 @@ const Methods = {
|
|
|
3466
3477
|
}
|
|
3467
3478
|
if (rows) {
|
|
3468
3479
|
if (reDelFlag) {
|
|
3480
|
+
editStore.removeMaps = removeTempMaps;
|
|
3469
3481
|
$xeTable.updateFooter();
|
|
3470
3482
|
$xeTable.cacheRowMap(false);
|
|
3471
3483
|
$xeTable.handleTableData(treeConfig && transform);
|
|
@@ -3644,25 +3656,31 @@ const Methods = {
|
|
|
3644
3656
|
},
|
|
3645
3657
|
/**
|
|
3646
3658
|
* 检查行或列数据是否发生改变
|
|
3647
|
-
* @param {Row}
|
|
3659
|
+
* @param {Row} rowOrId 行对象
|
|
3648
3660
|
* @param {String} field 字段名
|
|
3649
3661
|
*/
|
|
3650
|
-
isUpdateByRow(
|
|
3662
|
+
isUpdateByRow(rowOrId, field) {
|
|
3663
|
+
const $xeTable = this;
|
|
3664
|
+
const props = $xeTable;
|
|
3665
|
+
const internalData = $xeTable;
|
|
3666
|
+
const {
|
|
3667
|
+
keepSource
|
|
3668
|
+
} = props;
|
|
3651
3669
|
const {
|
|
3652
3670
|
tableFullColumn,
|
|
3653
|
-
|
|
3654
|
-
sourceDataRowIdData
|
|
3655
|
-
|
|
3656
|
-
} = this;
|
|
3671
|
+
fullDataRowIdData,
|
|
3672
|
+
sourceDataRowIdData
|
|
3673
|
+
} = internalData;
|
|
3657
3674
|
if (keepSource) {
|
|
3658
|
-
const rowid = (0, _util.getRowid)(
|
|
3675
|
+
const rowid = _xeUtils.default.isString(rowOrId) || _xeUtils.default.isNumber(rowOrId) ? rowOrId : (0, _util.getRowid)($xeTable, rowOrId);
|
|
3676
|
+
const rowRest = fullDataRowIdData[rowid];
|
|
3659
3677
|
// 新增的数据不需要检测
|
|
3660
|
-
if (!
|
|
3678
|
+
if (!rowRest) {
|
|
3661
3679
|
return false;
|
|
3662
3680
|
}
|
|
3663
|
-
const
|
|
3664
|
-
|
|
3665
|
-
|
|
3681
|
+
const row = rowRest.row;
|
|
3682
|
+
const oRow = sourceDataRowIdData[rowid];
|
|
3683
|
+
if (oRow) {
|
|
3666
3684
|
if (arguments.length > 1) {
|
|
3667
3685
|
return !eqCellValue(oRow, row, field);
|
|
3668
3686
|
}
|
|
@@ -3724,6 +3742,113 @@ const Methods = {
|
|
|
3724
3742
|
tableColumn: this.tableColumn.slice(0)
|
|
3725
3743
|
};
|
|
3726
3744
|
},
|
|
3745
|
+
/**
|
|
3746
|
+
* 移动列到指定列的位置
|
|
3747
|
+
* @param fieldOrColumn
|
|
3748
|
+
* @param targetFieldOrColumn
|
|
3749
|
+
* @param options
|
|
3750
|
+
*/
|
|
3751
|
+
moveColumnTo(fieldOrColumn, targetFieldOrColumn, options) {
|
|
3752
|
+
const $xeTable = this;
|
|
3753
|
+
const internalData = $xeTable;
|
|
3754
|
+
const {
|
|
3755
|
+
fullColumnIdData,
|
|
3756
|
+
visibleColumn
|
|
3757
|
+
} = internalData;
|
|
3758
|
+
const {
|
|
3759
|
+
dragToChild,
|
|
3760
|
+
dragPos,
|
|
3761
|
+
isCrossDrag
|
|
3762
|
+
} = Object.assign({}, options);
|
|
3763
|
+
const dragCol = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
3764
|
+
let prevDragCol = null;
|
|
3765
|
+
const colRest = dragCol ? fullColumnIdData[dragCol.id] : null;
|
|
3766
|
+
let defPos = 'left';
|
|
3767
|
+
if (_xeUtils.default.isNumber(targetFieldOrColumn)) {
|
|
3768
|
+
if (colRest && targetFieldOrColumn) {
|
|
3769
|
+
let currList = colRest.items;
|
|
3770
|
+
let offsetIndex = colRest._index + targetFieldOrColumn;
|
|
3771
|
+
if (isCrossDrag) {
|
|
3772
|
+
currList = visibleColumn;
|
|
3773
|
+
offsetIndex = colRest._index + targetFieldOrColumn;
|
|
3774
|
+
}
|
|
3775
|
+
if (offsetIndex > 0 && offsetIndex < currList.length - 1) {
|
|
3776
|
+
prevDragCol = currList[offsetIndex];
|
|
3777
|
+
}
|
|
3778
|
+
if (targetFieldOrColumn > 0) {
|
|
3779
|
+
defPos = 'right';
|
|
3780
|
+
}
|
|
3781
|
+
}
|
|
3782
|
+
} else {
|
|
3783
|
+
prevDragCol = (0, _util.handleFieldOrColumn)($xeTable, targetFieldOrColumn);
|
|
3784
|
+
const targetColRest = prevDragCol ? fullColumnIdData[prevDragCol.id] : null;
|
|
3785
|
+
if (colRest && targetColRest) {
|
|
3786
|
+
if (targetColRest._index > colRest._index) {
|
|
3787
|
+
defPos = 'right';
|
|
3788
|
+
}
|
|
3789
|
+
}
|
|
3790
|
+
}
|
|
3791
|
+
return $xeTable.handleColDragSwapEvent(null, true, dragCol, prevDragCol, dragPos || defPos, dragToChild === true);
|
|
3792
|
+
},
|
|
3793
|
+
/**
|
|
3794
|
+
* 移动行到指定行的位置
|
|
3795
|
+
* @param rowidOrRow
|
|
3796
|
+
* @param targetRowidOrRow
|
|
3797
|
+
* @param options
|
|
3798
|
+
*/
|
|
3799
|
+
moveRowTo(rowidOrRow, targetRowidOrRow, options) {
|
|
3800
|
+
const $xeTable = this;
|
|
3801
|
+
const props = $xeTable;
|
|
3802
|
+
const internalData = $xeTable;
|
|
3803
|
+
const {
|
|
3804
|
+
treeConfig
|
|
3805
|
+
} = props;
|
|
3806
|
+
const {
|
|
3807
|
+
fullAllDataRowIdData,
|
|
3808
|
+
afterFullData
|
|
3809
|
+
} = internalData;
|
|
3810
|
+
const {
|
|
3811
|
+
dragToChild,
|
|
3812
|
+
dragPos,
|
|
3813
|
+
isCrossDrag
|
|
3814
|
+
} = Object.assign({}, options);
|
|
3815
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
3816
|
+
const dragRow = (0, _util.handleRowidOrRow)($xeTable, rowidOrRow);
|
|
3817
|
+
let prevDragRow = null;
|
|
3818
|
+
let defPos = 'top';
|
|
3819
|
+
const rowRest = dragRow ? fullAllDataRowIdData[(0, _util.getRowid)($xeTable, dragRow)] : null;
|
|
3820
|
+
if (_xeUtils.default.isNumber(targetRowidOrRow)) {
|
|
3821
|
+
if (rowRest && targetRowidOrRow) {
|
|
3822
|
+
let currList = afterFullData;
|
|
3823
|
+
let offsetIndex = rowRest._index + targetRowidOrRow;
|
|
3824
|
+
if (treeConfig) {
|
|
3825
|
+
currList = rowRest.items;
|
|
3826
|
+
if (treeOpts.transform) {
|
|
3827
|
+
offsetIndex = rowRest.treeIndex + targetRowidOrRow;
|
|
3828
|
+
if (isCrossDrag) {
|
|
3829
|
+
currList = afterFullData;
|
|
3830
|
+
offsetIndex = rowRest._index + targetRowidOrRow;
|
|
3831
|
+
}
|
|
3832
|
+
}
|
|
3833
|
+
}
|
|
3834
|
+
if (offsetIndex >= 0 && offsetIndex <= currList.length - 1) {
|
|
3835
|
+
prevDragRow = currList[offsetIndex];
|
|
3836
|
+
}
|
|
3837
|
+
if (targetRowidOrRow > 0) {
|
|
3838
|
+
defPos = 'bottom';
|
|
3839
|
+
}
|
|
3840
|
+
}
|
|
3841
|
+
} else {
|
|
3842
|
+
prevDragRow = (0, _util.handleRowidOrRow)($xeTable, targetRowidOrRow);
|
|
3843
|
+
const targetRowRest = prevDragRow ? fullAllDataRowIdData[(0, _util.getRowid)($xeTable, prevDragRow)] : null;
|
|
3844
|
+
if (rowRest && targetRowRest) {
|
|
3845
|
+
if (targetRowRest._index > rowRest._index) {
|
|
3846
|
+
defPos = 'bottom';
|
|
3847
|
+
}
|
|
3848
|
+
}
|
|
3849
|
+
}
|
|
3850
|
+
return $xeTable.handleRowDragSwapEvent(null, true, dragRow, prevDragRow, dragPos || defPos, dragToChild === true);
|
|
3851
|
+
},
|
|
3727
3852
|
/**
|
|
3728
3853
|
* 获取表格的全量列
|
|
3729
3854
|
*/
|
|
@@ -3746,16 +3871,26 @@ const Methods = {
|
|
|
3746
3871
|
* 用于多选行,获取已选中的数据
|
|
3747
3872
|
*/
|
|
3748
3873
|
getCheckboxRecords(isFull) {
|
|
3874
|
+
const $xeTable = this;
|
|
3875
|
+
const props = $xeTable;
|
|
3876
|
+
const reactData = $xeTable;
|
|
3877
|
+
const internalData = $xeTable;
|
|
3878
|
+
const {
|
|
3879
|
+
treeConfig
|
|
3880
|
+
} = props;
|
|
3881
|
+
const {
|
|
3882
|
+
selectCheckboxMaps
|
|
3883
|
+
} = reactData;
|
|
3749
3884
|
const {
|
|
3750
3885
|
tableFullData,
|
|
3751
3886
|
afterFullData,
|
|
3752
|
-
treeConfig,
|
|
3753
|
-
treeOpts,
|
|
3754
|
-
checkboxOpts,
|
|
3755
|
-
tableFullTreeData,
|
|
3756
3887
|
afterTreeFullData,
|
|
3888
|
+
tableFullTreeData,
|
|
3889
|
+
fullDataRowIdData,
|
|
3757
3890
|
afterFullRowMaps
|
|
3758
|
-
} =
|
|
3891
|
+
} = internalData;
|
|
3892
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
3893
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
3759
3894
|
const {
|
|
3760
3895
|
transform,
|
|
3761
3896
|
mapChildrenField
|
|
@@ -3764,21 +3899,18 @@ const Methods = {
|
|
|
3764
3899
|
checkField
|
|
3765
3900
|
} = checkboxOpts;
|
|
3766
3901
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
3767
|
-
const currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
|
|
3768
3902
|
let rowList = [];
|
|
3769
3903
|
if (checkField) {
|
|
3770
3904
|
if (treeConfig) {
|
|
3905
|
+
const currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
|
|
3771
3906
|
rowList = _xeUtils.default.filterTree(currTableData, row => _xeUtils.default.get(row, checkField), {
|
|
3772
3907
|
children: transform ? mapChildrenField : childrenField
|
|
3773
3908
|
});
|
|
3774
3909
|
} else {
|
|
3910
|
+
const currTableData = isFull ? tableFullData : afterFullData;
|
|
3775
3911
|
rowList = currTableData.filter(row => _xeUtils.default.get(row, checkField));
|
|
3776
3912
|
}
|
|
3777
3913
|
} else {
|
|
3778
|
-
const {
|
|
3779
|
-
selectCheckboxMaps,
|
|
3780
|
-
fullDataRowIdData
|
|
3781
|
-
} = this;
|
|
3782
3914
|
_xeUtils.default.each(selectCheckboxMaps, (row, rowid) => {
|
|
3783
3915
|
if (isFull) {
|
|
3784
3916
|
if (fullDataRowIdData[rowid]) {
|
|
@@ -7543,6 +7675,9 @@ const Methods = {
|
|
|
7543
7675
|
} = internalData;
|
|
7544
7676
|
const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
|
|
7545
7677
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
7678
|
+
const errRest = {
|
|
7679
|
+
status: false
|
|
7680
|
+
};
|
|
7546
7681
|
if (prevDragRow && dragRow) {
|
|
7547
7682
|
// 判断是否有拖动
|
|
7548
7683
|
if (prevDragRow !== dragRow) {
|
|
@@ -7557,7 +7692,7 @@ const Methods = {
|
|
|
7557
7692
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
7558
7693
|
return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then(status => {
|
|
7559
7694
|
if (!status) {
|
|
7560
|
-
return;
|
|
7695
|
+
return errRest;
|
|
7561
7696
|
}
|
|
7562
7697
|
let oafIndex = -1;
|
|
7563
7698
|
let nafIndex = -1;
|
|
@@ -7588,11 +7723,11 @@ const Methods = {
|
|
|
7588
7723
|
if (isPeerDrag && !isCrossDrag) {
|
|
7589
7724
|
if (oldRest.row[parentField] !== newRest.row[parentField]) {
|
|
7590
7725
|
// 非同级
|
|
7591
|
-
return;
|
|
7726
|
+
return errRest;
|
|
7592
7727
|
}
|
|
7593
7728
|
} else {
|
|
7594
7729
|
if (!isCrossDrag) {
|
|
7595
|
-
return;
|
|
7730
|
+
return errRest;
|
|
7596
7731
|
}
|
|
7597
7732
|
if (oldAllMaps[newRowid]) {
|
|
7598
7733
|
isSelfToChildStatus = true;
|
|
@@ -7603,19 +7738,19 @@ const Methods = {
|
|
|
7603
7738
|
content: getI18n('vxe.error.treeDragChild')
|
|
7604
7739
|
});
|
|
7605
7740
|
}
|
|
7606
|
-
return;
|
|
7741
|
+
return errRest;
|
|
7607
7742
|
}
|
|
7608
7743
|
}
|
|
7609
7744
|
}
|
|
7610
7745
|
} else if (oldLevel) {
|
|
7611
7746
|
// 子到根
|
|
7612
7747
|
if (!isCrossDrag) {
|
|
7613
|
-
return;
|
|
7748
|
+
return errRest;
|
|
7614
7749
|
}
|
|
7615
7750
|
} else if (newLevel) {
|
|
7616
7751
|
// 根到子
|
|
7617
7752
|
if (!isCrossDrag) {
|
|
7618
|
-
return;
|
|
7753
|
+
return errRest;
|
|
7619
7754
|
}
|
|
7620
7755
|
if (oldAllMaps[newRowid]) {
|
|
7621
7756
|
isSelfToChildStatus = true;
|
|
@@ -7626,7 +7761,7 @@ const Methods = {
|
|
|
7626
7761
|
content: getI18n('vxe.error.treeDragChild')
|
|
7627
7762
|
});
|
|
7628
7763
|
}
|
|
7629
|
-
return;
|
|
7764
|
+
return errRest;
|
|
7630
7765
|
}
|
|
7631
7766
|
}
|
|
7632
7767
|
} else {
|
|
@@ -7684,26 +7819,34 @@ const Methods = {
|
|
|
7684
7819
|
if (reactData.scrollYLoad) {
|
|
7685
7820
|
$xeTable.updateScrollYSpace();
|
|
7686
7821
|
}
|
|
7687
|
-
|
|
7822
|
+
if (evnt) {
|
|
7823
|
+
$xeTable.dispatchEvent('row-dragend', {
|
|
7824
|
+
oldRow: dragRow,
|
|
7825
|
+
newRow: prevDragRow,
|
|
7826
|
+
dragRow,
|
|
7827
|
+
dragPos: prevDragPos,
|
|
7828
|
+
dragToChild: isDragToChildFlag,
|
|
7829
|
+
offsetIndex: dragOffsetIndex,
|
|
7830
|
+
_index: {
|
|
7831
|
+
newIndex: nafIndex,
|
|
7832
|
+
oldIndex: oafIndex
|
|
7833
|
+
}
|
|
7834
|
+
}, evnt);
|
|
7835
|
+
}
|
|
7836
|
+
return $xeTable.$nextTick().then(() => {
|
|
7688
7837
|
$xeTable.updateCellAreas();
|
|
7689
7838
|
$xeTable.recalculate();
|
|
7839
|
+
}).then(() => {
|
|
7840
|
+
return {
|
|
7841
|
+
status: true
|
|
7842
|
+
};
|
|
7690
7843
|
});
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
dragRow,
|
|
7695
|
-
dragPos: prevDragPos,
|
|
7696
|
-
dragToChild: isDragToChildFlag,
|
|
7697
|
-
offsetIndex: dragOffsetIndex,
|
|
7698
|
-
_index: {
|
|
7699
|
-
newIndex: nafIndex,
|
|
7700
|
-
oldIndex: oafIndex
|
|
7701
|
-
}
|
|
7702
|
-
}, evnt);
|
|
7703
|
-
}).catch(() => {});
|
|
7844
|
+
}).catch(() => {
|
|
7845
|
+
return errRest;
|
|
7846
|
+
});
|
|
7704
7847
|
}
|
|
7705
7848
|
}
|
|
7706
|
-
return Promise.resolve();
|
|
7849
|
+
return Promise.resolve(errRest);
|
|
7707
7850
|
},
|
|
7708
7851
|
handleRowDragDragendEvent(evnt) {
|
|
7709
7852
|
const $xeTable = this;
|
|
@@ -7890,6 +8033,9 @@ const Methods = {
|
|
|
7890
8033
|
collectColumn
|
|
7891
8034
|
} = internalData;
|
|
7892
8035
|
const dragOffsetIndex = prevDragPos === 'right' ? 1 : 0;
|
|
8036
|
+
const errRest = {
|
|
8037
|
+
status: false
|
|
8038
|
+
};
|
|
7893
8039
|
if (prevDragCol && dragCol) {
|
|
7894
8040
|
// 判断是否有拖动
|
|
7895
8041
|
if (prevDragCol !== dragCol) {
|
|
@@ -7906,7 +8052,7 @@ const Methods = {
|
|
|
7906
8052
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
7907
8053
|
return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then(status => {
|
|
7908
8054
|
if (!status) {
|
|
7909
|
-
return;
|
|
8055
|
+
return errRest;
|
|
7910
8056
|
}
|
|
7911
8057
|
let oafIndex = -1;
|
|
7912
8058
|
let nafIndex = -1;
|
|
@@ -7920,11 +8066,11 @@ const Methods = {
|
|
|
7920
8066
|
if (isPeerDrag && !isCrossDrag) {
|
|
7921
8067
|
if (dragColumn.parentId !== newColumn.parentId) {
|
|
7922
8068
|
// 非同级
|
|
7923
|
-
return;
|
|
8069
|
+
return errRest;
|
|
7924
8070
|
}
|
|
7925
8071
|
} else {
|
|
7926
8072
|
if (!isCrossDrag) {
|
|
7927
|
-
return;
|
|
8073
|
+
return errRest;
|
|
7928
8074
|
}
|
|
7929
8075
|
if (oldAllMaps[newColumn.id]) {
|
|
7930
8076
|
isSelfToChildStatus = true;
|
|
@@ -7935,19 +8081,19 @@ const Methods = {
|
|
|
7935
8081
|
content: getI18n('vxe.error.treeDragChild')
|
|
7936
8082
|
});
|
|
7937
8083
|
}
|
|
7938
|
-
return;
|
|
8084
|
+
return errRest;
|
|
7939
8085
|
}
|
|
7940
8086
|
}
|
|
7941
8087
|
}
|
|
7942
8088
|
} else if (dragColumn.parentId) {
|
|
7943
8089
|
// 子到根
|
|
7944
8090
|
if (!isCrossDrag) {
|
|
7945
|
-
return;
|
|
8091
|
+
return errRest;
|
|
7946
8092
|
}
|
|
7947
8093
|
} else if (newColumn.parentId) {
|
|
7948
8094
|
// 根到子
|
|
7949
8095
|
if (!isCrossDrag) {
|
|
7950
|
-
return;
|
|
8096
|
+
return errRest;
|
|
7951
8097
|
}
|
|
7952
8098
|
if (oldAllMaps[newColumn.id]) {
|
|
7953
8099
|
isSelfToChildStatus = true;
|
|
@@ -7958,7 +8104,7 @@ const Methods = {
|
|
|
7958
8104
|
content: getI18n('vxe.error.treeDragChild')
|
|
7959
8105
|
});
|
|
7960
8106
|
}
|
|
7961
|
-
return;
|
|
8107
|
+
return errRest;
|
|
7962
8108
|
}
|
|
7963
8109
|
}
|
|
7964
8110
|
} else {
|
|
@@ -8027,25 +8173,32 @@ const Methods = {
|
|
|
8027
8173
|
$xeTable.clearCopyCellArea();
|
|
8028
8174
|
}
|
|
8029
8175
|
}
|
|
8030
|
-
|
|
8031
|
-
|
|
8032
|
-
|
|
8033
|
-
|
|
8034
|
-
|
|
8035
|
-
|
|
8036
|
-
|
|
8037
|
-
|
|
8038
|
-
|
|
8039
|
-
|
|
8040
|
-
|
|
8041
|
-
|
|
8176
|
+
if (evnt) {
|
|
8177
|
+
$xeTable.dispatchEvent('column-dragend', {
|
|
8178
|
+
oldColumn: dragColumn,
|
|
8179
|
+
newColumn,
|
|
8180
|
+
dragColumn,
|
|
8181
|
+
dragPos: prevDragPos,
|
|
8182
|
+
dragToChild: isDragToChildFlag,
|
|
8183
|
+
offsetIndex: dragOffsetIndex,
|
|
8184
|
+
_index: {
|
|
8185
|
+
newIndex: nafIndex,
|
|
8186
|
+
oldIndex: oafIndex
|
|
8187
|
+
}
|
|
8188
|
+
}, evnt);
|
|
8189
|
+
}
|
|
8042
8190
|
if (isSyncColumn) {
|
|
8043
8191
|
$xeTable.handleColDragSwapColumn();
|
|
8044
8192
|
}
|
|
8045
|
-
|
|
8193
|
+
return {
|
|
8194
|
+
status: true
|
|
8195
|
+
};
|
|
8196
|
+
}).catch(() => {
|
|
8197
|
+
return errRest;
|
|
8198
|
+
});
|
|
8046
8199
|
}
|
|
8047
8200
|
}
|
|
8048
|
-
return Promise.resolve();
|
|
8201
|
+
return Promise.resolve(errRest);
|
|
8049
8202
|
},
|
|
8050
8203
|
handleHeaderCellDragDragendEvent(evnt) {
|
|
8051
8204
|
const $xeTable = this;
|