vxe-table 3.23.0 → 3.23.2
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +12 -4
- package/es/table/src/footer.js +12 -4
- package/es/table/src/header.js +12 -4
- package/es/table/src/methods.js +5 -5
- package/es/table/src/table.js +8 -0
- package/es/table/src/util.js +2 -2
- package/es/table/style.css +38 -61
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +38 -61
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +49 -17
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +11 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +11 -3
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +11 -3
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +4 -4
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +8 -0
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +2 -2
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +38 -61
- package/lib/table/style/style.min.css +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/lib/vxe-table/style/style.css +38 -61
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/src/body.ts +13 -4
- package/packages/table/src/footer.ts +14 -4
- package/packages/table/src/header.ts +14 -4
- package/packages/table/src/methods.ts +5 -5
- package/packages/table/src/table.ts +9 -0
- package/packages/table/src/util.ts +2 -2
- package/packages/ui/src/utils.ts +1 -1
- package/styles/components/table.scss +40 -76
- /package/es/{iconfont.1787473155426.ttf → iconfont.1787677388170.ttf} +0 -0
- /package/es/{iconfont.1787473155426.woff → iconfont.1787677388170.woff} +0 -0
- /package/es/{iconfont.1787473155426.woff2 → iconfont.1787677388170.woff2} +0 -0
- /package/lib/{iconfont.1787473155426.ttf → iconfont.1787677388170.ttf} +0 -0
- /package/lib/{iconfont.1787473155426.woff → iconfont.1787677388170.woff} +0 -0
- /package/lib/{iconfont.1787473155426.woff2 → iconfont.1787677388170.woff2} +0 -0
package/lib/table/src/body.js
CHANGED
|
@@ -209,8 +209,13 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
209
209
|
const isEdit = (0, _utils.isEnableConf)(editRender);
|
|
210
210
|
const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
|
|
211
211
|
let fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
|
|
212
|
-
const
|
|
213
|
-
const
|
|
212
|
+
const cellPadding = (0, _utils.getDefaultConfig)(padding, allPadding === null ? cellOpts.padding : allPadding);
|
|
213
|
+
const isAllCellPadding = cellPadding === true;
|
|
214
|
+
const isCellPaddingTop = cellPadding ? isAllCellPadding || cellPadding.top !== false : false;
|
|
215
|
+
const isCellPaddingBottom = cellPadding ? isAllCellPadding || cellPadding.bottom !== false : false;
|
|
216
|
+
const isCellPaddingLeft = cellPadding ? isAllCellPadding || cellPadding.left !== false : false;
|
|
217
|
+
const isCellPaddingRight = cellPadding ? isAllCellPadding || cellPadding.right !== false : false;
|
|
218
|
+
const cellOverflow = (0, _utils.getDefaultConfig)(showOverflow, allShowOverflow);
|
|
214
219
|
const showEllipsis = cellOverflow === 'ellipsis';
|
|
215
220
|
const showTitle = cellOverflow === 'title';
|
|
216
221
|
const showTooltip = cellOverflow === true ? tooltipOpts.mode === 'tooltip' : cellOverflow === 'tooltip';
|
|
@@ -504,7 +509,10 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
504
509
|
'col--max-height': maxHeight,
|
|
505
510
|
'fixed--width': !isAutoCellWidth,
|
|
506
511
|
'fixed--hidden': fixedHiddenColumn,
|
|
507
|
-
'is--
|
|
512
|
+
'is--pg-top': isCellPaddingTop,
|
|
513
|
+
'is--pg-bottom': isCellPaddingBottom,
|
|
514
|
+
'is--pg-left': isCellPaddingLeft,
|
|
515
|
+
'is--pg-right': isCellPaddingRight,
|
|
508
516
|
'is--progress': fixedHiddenColumn && isAllOverflow || isVNPreEmptyStatus,
|
|
509
517
|
'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
|
|
510
518
|
'is--drag-disabled': isDisabledDrag,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_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,sourceType="table",renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,t=e.isDragResize,e=e.lastSTime;return!!(t||e&&Date.now()<e+l)};function renderLine(o,a,i,s,d){var n=s.column,c=a.treeConfig,p=a.computeCellOpts,u=a.computeRowOpts,g=a.computeDefaultRowHeight,x=a.computeTreeOpts,{slots:n,treeNode:m}=n,v=a.fullAllDataRowIdData;if(c&&m&&(x.showLine||x.line)){if(n&&n.line)return a.callSlot(n.line,s,o);c=v[i];let e=0,l=null,t=null,r="";return(c&&(e=c.level,l=c.items[c.treeIndex-1],t=c.parent),e||x.showRootLine)?(l?(m=v[(0,_util.getRowid)(a,l)]||{},r=`${m.lineHeight||0}px`):e&&t&&(n=v[(0,_util.getRowid)(a,t)]||{},r=`calc(-1em + ${Math.floor(d/2+(0,_util.getCellRestHeight)(n,p,u,g)/2)}px)`),[o("div",{key:"tl",class:"vxe-tree--line-wrapper"},[o("div",{class:"vxe-tree--line",style:{height:r,bottom:`-${Math.floor(d/2)}px`,left:`calc(${e*x.indent}px + 1em)`}})])]):[]}return[]}function renderTdColumn(e,l,z,t,r,A,q,o,F,L,a,i,U,N,s){var d=l.$xeGrid,V=l.$xeGantt,{columnKey:G,resizable:n,showOverflow:c,border:W,height:p,treeConfig:X,cellClassName:Y,cellStyle:j,align:P,spanMethod:K,mouseConfig:J,editConfig:Q,editRules:u,tooltipConfig:g,padding:Z}=l,{tableData:ee,tableColumn:le,dragRow:te,overflowX:re,overflowY:oe,currentColumn:ae,scrollXLoad:ie,scrollYLoad:se,mergeBodyFlag:de,calcCellHeightFlag:x,resizeHeightFlag:m,resizeWidthFlag:ne,editStore:ce,isAllOverflow:pe,validErrorMaps:v}=l,{fullAllDataRowIdData:ue,fullColumnIdData:w,mergeBodyCellMaps:ge,visibleColumn:xe,afterFullData:me,mergeBodyList:ve,scrollXStore:we,scrollYStore:he,keepUpdateFieldMaps:fe}=l,h=l.computeCellOpts,f=l.computeValidOpts,y=l.computeCheckboxOpts,ye=l.computeEditOpts,be=l.computeTooltipOpts,Ce=l.computeVirtualXOpts,_e=l.computeVirtualYOpts,{isAllColumnDrag:Re,isAllRowDrag:Ee}=l.resizableOpts,b=l.computeRowOpts,C=l.computeRowDragOpts,Se=l.computeDefaultRowHeight,x=x?h.height||b.height:0,{disabledMethod:_,isCrossDrag:$e,isPeerDrag:De}=C,Oe=l.computeColumnOpts,Ie=l.computeMouseOpts,Te=l.computeCellOffsetWidth,ke=l.computeAreaOpts.selectCellToRow,{field:Be,type:Me,cellRender:R,editRender:He,align:ze,showOverflow:E,className:Ae,treeNode:qe,rowResize:Fe,padding:S,verticalAlign:$,slots:Le}=i,{verticalAlign:D,minHeight:Ue,maxHeight:Ne}=h,ce=ce.actived,Ve=ue[t]||{},O=i.id,w=w[O]||{},R=He||R,R=R?renderer.get(R.name):null,Ge=R?R.tableCellClassName||R.cellClassName:null,We=R?R.tableCellStyle||R.cellStyle:"";let Xe=be.showAll;var Ye=w.index,w=w._index,He=(0,_utils.isEnableConf)(He),m=m?Ve.resizeHeight:0;let I=re&&(r?i.fixed!==r:!!i.fixed);Z=_xeUtils.default.eqNull(S)?null===Z?h.padding:Z:S,S=_xeUtils.default.eqNull(E)?c:E,c="ellipsis"===S;let T="title"===S,k=!0===S?"tooltip"===be.mode:"tooltip"===S;E=pe||T||k||c,be=_xeUtils.default.isBoolean(i.resizable)?i.resizable:Oe.resizable||n,S=!!x,n=0<m;let je;x={},m=ze||(R?R.tableCellAlign:"")||P,ze=_xeUtils.default.eqNull($)?D:$,R=v[t+":"+O],P=u&&f.showErrorMessage&&("default"===f.message?p||1<ee.length:"inline"===f.message),D={colid:O};let B={$table:l,$grid:d,$gantt:V,isEdit:!1,seq:z,rowid:t,row:o,rowIndex:F,$rowIndex:L,_rowIndex:a,column:i,columnIndex:Ye,$columnIndex:U,_columnIndex:w,fixed:r,source:sourceType,type:renderType,isHidden:!!I,level:q,visibleData:me,data:ee,items:s},M=!1,Pe=!1,H=((M=b.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:M)&&(Pe=!(!_||!_(B))),(T||k||Xe||g)&&(x.mouseover=e=>{isVMScrollProcess(l)||(T?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||Xe)&&l.triggerBodyTooltipEvent(e,B)),l.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},B),e)}),(k||Xe||g)&&(x.mouseleave=e=>{isVMScrollProcess(l)||(k||Xe)&&l.handleTargetLeaveEvent(e),l.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},B),e)}),(M||y.range||J)&&(x.mousedown=e=>{l.triggerCellMousedownEvent(e,B)}),M&&(x.mouseup=l.triggerCellMouseupEvent),x.click=e=>{l.triggerCellClickEvent(e,B)},!(x.dblclick=e=>{l.triggerCellDblclickEvent(e,B)})),Ke=1,Je=1;if(de&&ve.length){$=ge[a+":"+w];if($){var{rowspan:v,colspan:u}=$;if(!v||!u)return renderEmptyElement(l);1<v&&(H=!0,Je=v,D.rowspan=v),1<u&&(H=!0,Ke=u,D.colspan=u)}}else if(K){var{rowspan:p=1,colspan:d=1}=K(B)||{};if(!p||!d)return renderEmptyElement(l);1<p&&(H=!0,Je=p,D.rowspan=p),1<d&&(H=!0,Ke=d,D.colspan=d)}!(I=I&&H&&(1<D.colspan||1<D.rowspan)?!1:I)&&Q&&(ye.showStatus||ye.showUpdateStatus)&&fe[Be]&&(je=l.isUpdateByRow(o,Be));V=!E&&(se||ie);let Qe=(0,_util.getCellRestHeight)(Ve,h,b,Se);z=U===N.length-1,F=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Ze=!1;H||te&&(0,_util.getRowid)(l,te)===t||(oe&&se&&!X&&16<ee.length&&!_e.immediate&&(a<he.visibleStartIndex-he.preloadSize||a>he.visibleEndIndex+he.preloadSize)||re&&ie&&10<le.length&&!Ce.immediate&&!i.fixed&&(w<we.visibleStartIndex-we.preloadSize||w>we.visibleEndIndex+we.preloadSize))&&(Ze=!0),1<Je&&(L=me[a+Je-1])&&(s=ue[(0,_util.getRowid)(l,L)])&&(Qe+=s.oTop+(0,_util.getCellRestHeight)(s,h,b,Se)-Ve.oTop-(0,_util.getCellRestHeight)(Ve,h,b,Se));C={};if(Ne&&(C.maxHeight=Ne+"px"),E&&ne){let l=0;if(1<Ke)for(let e=1;e<Ke;e++){var el=xe[Ye+e];el&&(l+=el.renderWidth)}C.width=i.renderWidth+l-Te+"px"}se||ie||E||S||n?C.height=Qe+"px":C.minHeight=Qe+"px",Ue&&(C.minHeight=Ue+"px");_=[];I&&pe?_.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:C})):(X&&_.push(...renderLine(e,l,t,B,Qe)),g=[],Ze||g.push(e("div",{attrs:{colid:O,rowid:t},class:"vxe-cell--wrapper vxe-body-cell--wrapper"},i.renderCell(e,B))),_.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:C,attrs:{title:T?l.getCellLabel(o,i):null}},g)),P&&R&&(y=R.rule,de=Le?Le.valid:null,ve=Object.assign(Object.assign(Object.assign({},B),R),{rule:R}),_.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(f.className,R)],style:y&&y.maxWidth?{width:y.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[de?l.callSlot(de,ve,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let ll=!1;return J&&Ie.area&&!w&&ke&&(ll=!0),!I&&be&&Re&&_.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>l.handleColResizeMousedownEvent(e,r,B),dblclick:e=>l.handleColResizeDblclickEvent(e,B)}})),(Fe||Ee)&&b.resizable&&_.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>l.handleRowResizeMousedownEvent(e,B),dblclick:e=>l.handleRowResizeDblclickEvent(e,B)}})),e("td",{class:["vxe-table--column vxe-body--column",O,ze?"col--vertical-"+ze:"",m?"col--"+m:"",Me?"col--"+Me:"",{"col--last":z,"col--tree-node":qe,"col--edit":He,"col--ellipsis":E,"col--cs-height":S,"col--rs-height":n,"col--to-row":ll,"col--auto-height":V,"col--max-height":Ne,"fixed--width":!F,"fixed--hidden":I,"is--padding":Z,"is--progress":I&&pe||Ze,"is--drag-cell":M&&($e||De||!q),"is--drag-disabled":Pe,"col--dirty":je,"col--active":Q&&He&&ce.row===o&&(ce.column===i||"row"===ye.mode),"col--valid-error":!!R,"show--valid-bg":R&&f.showErrorBackground,"col--current":ae===i},(0,_utils.getClass)(Ge,B),(0,_utils.getClass)(Ae,B),(0,_utils.getClass)(Y,B)],key:G||ie||se||Oe.useKey||b.useKey||Oe.drag?i.id:U,attrs:D,style:Object.assign({},_xeUtils.default.isFunction(We)?We(B):We,_xeUtils.default.isFunction(j)?j(B):j),on:x},A&&I?[]:_)}function renderRows(v,w,h,f,y,b){let C=w.$parent;var e=C,l=C,t=C;let _=C.$xeGrid,R=C.$xeGantt,{stripe:E,rowKey:S,highlightHoverRow:$,rowClassName:D,rowStyle:O,editConfig:I,treeConfig:T}=e,{hasFixedColumn:k,treeExpandedFlag:B,scrollYLoad:M,isAllOverflow:H,rowExpandedFlag:z,expandColumn:A,selectRadioRow:q,pendingRowFlag:F,rowExpandHeightFlag:L,isRowGroupStatus:U}=l,{fullAllDataRowIdData:P,fullColumnIdData:K,treeExpandedMaps:J,pendingRowMaps:Q,rowExpandedMaps:Z,currentRow:N}=t,ee=C.computeCheckboxOpts,le=C.computeRadioOpts,V=C.computeTreeOpts,G=C.computeEditOpts,W=C.computeRowOpts,te=C.computeColumnOpts,{transform:X,seqMode:Y}=V,re=V.children||V.childrenField,j=[],oe=(0,_util.createHandleGetRowId)(C).handleGetRowId,ae=T||U;return y.forEach((r,o)=>{var a={};let i=oe(r);var s=P[i]||{};let d=o,n=0,c=-1,p=-1;var u=U&&r.isAggregate,g=((W.isHover||$)&&(a.mouseover=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:r,rowIndex:d})},a.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),s&&(d=s.index,p=s._index,n=s.level,c=s.seq,u||T&&X&&"increasing"===Y?c=s._index+1:T&&"fixed"===Y&&(c=s._tIndex+1)),{$table:C,seq:c,rowid:i,fixed:h,type:renderType,level:n,row:r,rowIndex:d,$rowIndex:o,_rowIndex:p}),x=A&&!!z&&!!Z[i];let e=!1,l=[],t=!1;I&&(t=C.isInsertByRow(r)),!T||M||X||(l=r[re],e=!!B&&l&&0<l.length&&!!J[i]),!W.drag||U||T&&!X||(a.dragstart=C.handleRowDragDragstartEvent,a.dragend=C.handleRowDragDragendEvent,a.dragover=C.handleRowDragDragoverEvent);var u=["vxe-body--row",ae?"row--level-"+n:"",{"row--stripe":E&&(p+1)%2==0,"is--new":t,"is--expand-row":x,"is--expand-tree":e,"row--new":t&&(G.showStatus||G.showInsertStatus),"row--radio":le.highlight&&q===r,"row--checked":ee.highlight&&C.isCheckedByCheckboxRow(r),"row--pending":!!F&&!!Q[i],"row--group":u,"row--current":N&&i===(0,_util.getRowid)(C,N)},D?_xeUtils.default.isFunction(D)?D(g):D:""],m=b.map((e,l)=>renderTdColumn(v,C,c,i,h,f,n,r,d,o,p,e,l,b,y));if(j.push(v("tr",{class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:S||W.useKey||W.drag||te.drag||U||T?i:o,on:a},m)),x){var{height:u,padding:g,mode:a}=C.computeExpandOpts;if("fixed"===a){m=s.expandHeight;let e=0;L&&(m||u)&&(e=(m||u||0)+1),j.push(v("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+i,attrs:{rowid:i}},[v("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:e+"px"}})]))}else{x={},a=(u&&(x.height=u+"px"),T&&(x.paddingLeft=n*V.indent+30+"px"),A||{}).showOverflow,s=A.id,m=K[s]||{},s=_xeUtils.default.eqNull(a)?H:a;let e=-1,l=-1,t=-1;m&&(e=m.index,l=m.$index,t=m._index);a={$grid:_,$table:C,$gantt:R,seq:c,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,source:sourceType,type:renderType,level:n,row:r,rowid:i,rowIndex:d,$rowIndex:o,_rowIndex:p,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};j.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":g}],key:"expand_"+i},[v("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!k,"col--ellipsis":s}],attrs:{colspan:b.length}},[v("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":u}],style:x},[A.renderData(v,a)])])]))}}e&&j.push(...renderRows(v,w,h,f,l,b))}),j}var _default=exports.default=(0,_comp.defineVxeComponent)({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,a=l.$xeGrid,i=l.$xeGantt,s=l.$scopedSlots,d=l.xID;let{fixedColumn:n,fixedType:c,tableColumn:p}=this;var u=e.mouseConfig,{isGroup:r,tableData:g,isColLoading:x,overflowX:m,scrollXLoad:v,scrollYLoad:w,dragRow:h,dragCol:f}=r,{visibleColumn:o,fullAllDataRowIdData:y,fullColumnIdData:b}=o,C=l.computeEmptyOpts,_=l.computeMouseOpts;let R=g,E=p;g=l.computeIsBodyRenderOptimize;x||!c&&m||(E=o),c&&g&&(E=n||[]),w&&h&&2<R.length&&(x=y[(0,_util.getRowid)(l,h)])&&(m=x._index,o=R[0],w=R[R.length-1],x=y[(0,_util.getRowid)(l,o)],o=y[(0,_util.getRowid)(l,w)],x)&&o&&(y=x._index,w=o._index,m<y?R=[h].concat(R):w<m&&(R=R.concat([h]))),c||r||v&&f&&2<E.length&&(x=b[f.id])&&(o=x._index,y=E[0],w=E[E.length-1],m=b[y.id],h=b[w.id],m)&&h&&(r=m._index,v=h._index,o<r?E=[f].concat(E):v<o&&(E=E.concat([f])));let S;x=s?s.empty:null,y={$table:l,$grid:a,$gantt:i};return S=x?x.call(l,y):(w=(b=C.name?renderer.get(C.name):null)?b.renderTableEmpty||b.renderTableEmptyView||b.renderEmpty:null)?(0,_vn.getSlotVNs)(w.call(l,t,C,y)):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",c?`fixed-${c}--wrapper`:"body--wrapper"],attrs:{xid:d}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,c)}}},[c?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:d,cellspacing:0,cellpadding:0,border:0,xvm:g?"1":null}},[t("colgroup",{ref:"refBodyColgroup"},E.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),t("tbody",{ref:"refBodyTBody"},renderRows(t,this,c,g,R,E))]),t("div",{class:"vxe-table--checkbox-range"}),u&&_.area?t("div",{class:"vxe-table--cell-area",attrs:{xid:d}},[t("span",{class:"vxe-table--cell-main-area"},_.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:c,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-clip-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),c?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},S)])])])}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_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,sourceType="table",renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,t=e.isDragResize,e=e.lastSTime;return!!(t||e&&Date.now()<e+l)};function renderLine(o,i,a,s,d){var n=s.column,c=i.treeConfig,p=i.computeCellOpts,u=i.computeRowOpts,g=i.computeDefaultRowHeight,x=i.computeTreeOpts,{slots:n,treeNode:m}=n,v=i.fullAllDataRowIdData;if(c&&m&&(x.showLine||x.line)){if(n&&n.line)return i.callSlot(n.line,s,o);c=v[a];let e=0,l=null,t=null,r="";return(c&&(e=c.level,l=c.items[c.treeIndex-1],t=c.parent),e||x.showRootLine)?(l?(m=v[(0,_util.getRowid)(i,l)]||{},r=`${m.lineHeight||0}px`):e&&t&&(n=v[(0,_util.getRowid)(i,t)]||{},r=`calc(-1em + ${Math.floor(d/2+(0,_util.getCellRestHeight)(n,p,u,g)/2)}px)`),[o("div",{key:"tl",class:"vxe-tree--line-wrapper"},[o("div",{class:"vxe-tree--line",style:{height:r,bottom:`-${Math.floor(d/2)}px`,left:`calc(${e*x.indent}px + 1em)`}})])]):[]}return[]}function renderTdColumn(e,l,z,t,r,A,q,o,F,L,i,a,V,U,s){var d=l.$xeGrid,N=l.$xeGantt,{columnKey:G,resizable:n,showOverflow:c,border:W,height:p,treeConfig:X,cellClassName:Y,cellStyle:j,align:P,spanMethod:K,mouseConfig:J,editConfig:Q,editRules:u,tooltipConfig:g,padding:x}=l,{tableData:Z,tableColumn:ee,dragRow:le,overflowX:te,overflowY:re,currentColumn:oe,scrollXLoad:ie,scrollYLoad:ae,mergeBodyFlag:se,calcCellHeightFlag:m,resizeHeightFlag:v,resizeWidthFlag:de,editStore:ne,isAllOverflow:ce,validErrorMaps:w}=l,{fullAllDataRowIdData:pe,fullColumnIdData:h,mergeBodyCellMaps:ue,visibleColumn:ge,afterFullData:xe,mergeBodyList:me,scrollXStore:ve,scrollYStore:we,keepUpdateFieldMaps:he}=l,f=l.computeCellOpts,y=l.computeValidOpts,b=l.computeCheckboxOpts,fe=l.computeEditOpts,ye=l.computeTooltipOpts,be=l.computeVirtualXOpts,Ce=l.computeVirtualYOpts,{isAllColumnDrag:_e,isAllRowDrag:Re}=l.resizableOpts,C=l.computeRowOpts,_=l.computeRowDragOpts,Ee=l.computeDefaultRowHeight,m=m?f.height||C.height:0,{disabledMethod:R,isCrossDrag:Se,isPeerDrag:$e}=_,De=l.computeColumnOpts,Oe=l.computeMouseOpts,Ie=l.computeCellOffsetWidth,Te=l.computeAreaOpts.selectCellToRow,{field:ke,type:Be,cellRender:E,editRender:Me,align:He,showOverflow:ze,className:Ae,treeNode:qe,rowResize:Fe,padding:S,verticalAlign:$,slots:Le}=a,{verticalAlign:D,minHeight:Ve,maxHeight:Ue}=f,ne=ne.actived,Ne=pe[t]||{},O=a.id,h=h[O]||{},E=Me||E,E=E?renderer.get(E.name):null,Ge=E?E.tableCellClassName||E.cellClassName:null,We=E?E.tableCellStyle||E.cellStyle:"";let Xe=ye.showAll;var Ye=h.index,h=h._index,Me=(0,_utils.isEnableConf)(Me),v=v?Ne.resizeHeight:0;let I=te&&(r?a.fixed!==r:!!a.fixed);var S=(0,_utils.getDefaultConfig)(S,null===x?f.padding:x),x=!0===S,je=!!S&&(x||!1!==S.top),Pe=!!S&&(x||!1!==S.bottom),Ke=!!S&&(x||!1!==S.left),x=!!S&&(x||!1!==S.right),S=(0,_utils.getDefaultConfig)(ze,c),ze="ellipsis"===S;let T="title"===S,k=!0===S?"tooltip"===ye.mode:"tooltip"===S;c=ce||T||k||ze,ye=_xeUtils.default.isBoolean(a.resizable)?a.resizable:De.resizable||n,S=!!m,n=0<v;let Je;m={},v=He||(E?E.tableCellAlign:"")||P,He=_xeUtils.default.eqNull($)?D:$,E=w[t+":"+O],P=u&&y.showErrorMessage&&("default"===y.message?p||1<Z.length:"inline"===y.message),D={colid:O};let B={$table:l,$grid:d,$gantt:N,isEdit:!1,seq:z,rowid:t,row:o,rowIndex:F,$rowIndex:L,_rowIndex:i,column:a,columnIndex:Ye,$columnIndex:V,_columnIndex:h,fixed:r,source:sourceType,type:renderType,isHidden:!!I,level:q,visibleData:xe,data:Z,items:s},M=!1,Qe=!1,H=((M=C.drag?"row"===_.trigger||a.dragSort&&"cell"===_.trigger:M)&&(Qe=!(!R||!R(B))),(T||k||Xe||g)&&(m.mouseover=e=>{isVMScrollProcess(l)||(T?(0,_dom.updateCellTitle)(e.currentTarget,a):(k||Xe)&&l.triggerBodyTooltipEvent(e,B)),l.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},B),e)}),(k||Xe||g)&&(m.mouseleave=e=>{isVMScrollProcess(l)||(k||Xe)&&l.handleTargetLeaveEvent(e),l.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},B),e)}),(M||b.range||J)&&(m.mousedown=e=>{l.triggerCellMousedownEvent(e,B)}),M&&(m.mouseup=l.triggerCellMouseupEvent),m.click=e=>{l.triggerCellClickEvent(e,B)},!(m.dblclick=e=>{l.triggerCellDblclickEvent(e,B)})),Ze=1,el=1;if(se&&me.length){$=ue[i+":"+h];if($){var{rowspan:w,colspan:u}=$;if(!w||!u)return renderEmptyElement(l);1<w&&(H=!0,el=w,D.rowspan=w),1<u&&(H=!0,Ze=u,D.colspan=u)}}else if(K){var{rowspan:p=1,colspan:d=1}=K(B)||{};if(!p||!d)return renderEmptyElement(l);1<p&&(H=!0,el=p,D.rowspan=p),1<d&&(H=!0,Ze=d,D.colspan=d)}!(I=I&&H&&(1<D.colspan||1<D.rowspan)?!1:I)&&Q&&(fe.showStatus||fe.showUpdateStatus)&&he[ke]&&(Je=l.isUpdateByRow(o,ke));N=!c&&(ae||ie);let ll=(0,_util.getCellRestHeight)(Ne,f,C,Ee);z=V===U.length-1,F=!a.resizeWidth&&("auto"===a.minWidth||"auto"===a.width);let tl=!1;H||le&&(0,_util.getRowid)(l,le)===t||(re&&ae&&!X&&16<Z.length&&!Ce.immediate&&(i<we.visibleStartIndex-we.preloadSize||i>we.visibleEndIndex+we.preloadSize)||te&&ie&&10<ee.length&&!be.immediate&&!a.fixed&&(h<ve.visibleStartIndex-ve.preloadSize||h>ve.visibleEndIndex+ve.preloadSize))&&(tl=!0),1<el&&(L=xe[i+el-1])&&(s=pe[(0,_util.getRowid)(l,L)])&&(ll+=s.oTop+(0,_util.getCellRestHeight)(s,f,C,Ee)-Ne.oTop-(0,_util.getCellRestHeight)(Ne,f,C,Ee));_={};if(Ue&&(_.maxHeight=Ue+"px"),c&&de){let l=0;if(1<Ze)for(let e=1;e<Ze;e++){var rl=ge[Ye+e];rl&&(l+=rl.renderWidth)}_.width=a.renderWidth+l-Ie+"px"}ae||ie||c||S||n?_.height=ll+"px":_.minHeight=ll+"px",Ve&&(_.minHeight=Ve+"px");R=[];I&&ce?R.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":ze}],style:_})):(X&&R.push(...renderLine(e,l,t,B,ll)),g=[],tl||g.push(e("div",{attrs:{colid:O,rowid:t},class:"vxe-cell--wrapper vxe-body-cell--wrapper"},a.renderCell(e,B))),R.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":ze}],style:_,attrs:{title:T?l.getCellLabel(o,a):null}},g)),P&&E&&(b=E.rule,se=Le?Le.valid:null,me=Object.assign(Object.assign(Object.assign({},B),E),{rule:E}),R.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(y.className,E)],style:b&&b.maxWidth?{width:b.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(y.theme||"normal")},[se?l.callSlot(se,me,e):[e("span",{class:"vxe-cell--valid-error-msg"},E.content)]])]))));let ol=!1;return J&&Oe.area&&!h&&Te&&(ol=!0),!I&&ye&&_e&&R.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>l.handleColResizeMousedownEvent(e,r,B),dblclick:e=>l.handleColResizeDblclickEvent(e,B)}})),(Fe||Re)&&C.resizable&&R.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>l.handleRowResizeMousedownEvent(e,B),dblclick:e=>l.handleRowResizeDblclickEvent(e,B)}})),e("td",{class:["vxe-table--column vxe-body--column",O,He?"col--vertical-"+He:"",v?"col--"+v:"",Be?"col--"+Be:"",{"col--last":z,"col--tree-node":qe,"col--edit":Me,"col--ellipsis":c,"col--cs-height":S,"col--rs-height":n,"col--to-row":ol,"col--auto-height":N,"col--max-height":Ue,"fixed--width":!F,"fixed--hidden":I,"is--pg-top":je,"is--pg-bottom":Pe,"is--pg-left":Ke,"is--pg-right":x,"is--progress":I&&ce||tl,"is--drag-cell":M&&(Se||$e||!q),"is--drag-disabled":Qe,"col--dirty":Je,"col--active":Q&&Me&&ne.row===o&&(ne.column===a||"row"===fe.mode),"col--valid-error":!!E,"show--valid-bg":E&&y.showErrorBackground,"col--current":oe===a},(0,_utils.getClass)(Ge,B),(0,_utils.getClass)(Ae,B),(0,_utils.getClass)(Y,B)],key:G||ie||ae||De.useKey||C.useKey||De.drag?a.id:V,attrs:D,style:Object.assign({},_xeUtils.default.isFunction(We)?We(B):We,_xeUtils.default.isFunction(j)?j(B):j),on:m},A&&I?[]:R)}function renderRows(v,w,h,f,y,b){let C=w.$parent;var e=C,l=C,t=C;let _=C.$xeGrid,R=C.$xeGantt,{stripe:E,rowKey:S,highlightHoverRow:$,rowClassName:D,rowStyle:O,editConfig:I,treeConfig:T}=e,{hasFixedColumn:k,treeExpandedFlag:B,scrollYLoad:M,isAllOverflow:H,rowExpandedFlag:z,expandColumn:A,selectRadioRow:q,pendingRowFlag:F,rowExpandHeightFlag:L,isRowGroupStatus:V}=l,{fullAllDataRowIdData:P,fullColumnIdData:K,treeExpandedMaps:J,pendingRowMaps:Q,rowExpandedMaps:Z,currentRow:U}=t,ee=C.computeCheckboxOpts,le=C.computeRadioOpts,N=C.computeTreeOpts,G=C.computeEditOpts,W=C.computeRowOpts,te=C.computeColumnOpts,{transform:X,seqMode:Y}=N,re=N.children||N.childrenField,j=[],oe=(0,_util.createHandleGetRowId)(C).handleGetRowId,ie=T||V;return y.forEach((r,o)=>{var i={};let a=oe(r);var s=P[a]||{};let d=o,n=0,c=-1,p=-1;var u=V&&r.isAggregate,g=((W.isHover||$)&&(i.mouseover=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:r,rowIndex:d})},i.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),s&&(d=s.index,p=s._index,n=s.level,c=s.seq,u||T&&X&&"increasing"===Y?c=s._index+1:T&&"fixed"===Y&&(c=s._tIndex+1)),{$table:C,seq:c,rowid:a,fixed:h,type:renderType,level:n,row:r,rowIndex:d,$rowIndex:o,_rowIndex:p}),x=A&&!!z&&!!Z[a];let e=!1,l=[],t=!1;I&&(t=C.isInsertByRow(r)),!T||M||X||(l=r[re],e=!!B&&l&&0<l.length&&!!J[a]),!W.drag||V||T&&!X||(i.dragstart=C.handleRowDragDragstartEvent,i.dragend=C.handleRowDragDragendEvent,i.dragover=C.handleRowDragDragoverEvent);var u=["vxe-body--row",ie?"row--level-"+n:"",{"row--stripe":E&&(p+1)%2==0,"is--new":t,"is--expand-row":x,"is--expand-tree":e,"row--new":t&&(G.showStatus||G.showInsertStatus),"row--radio":le.highlight&&q===r,"row--checked":ee.highlight&&C.isCheckedByCheckboxRow(r),"row--pending":!!F&&!!Q[a],"row--group":u,"row--current":U&&a===(0,_util.getRowid)(C,U)},D?_xeUtils.default.isFunction(D)?D(g):D:""],m=b.map((e,l)=>renderTdColumn(v,C,c,a,h,f,n,r,d,o,p,e,l,b,y));if(j.push(v("tr",{class:u,attrs:{rowid:a},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:S||W.useKey||W.drag||te.drag||V||T?a:o,on:i},m)),x){var{height:u,padding:g,mode:i}=C.computeExpandOpts;if("fixed"===i){m=s.expandHeight;let e=0;L&&(m||u)&&(e=(m||u||0)+1),j.push(v("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[v("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:e+"px"}})]))}else{x={},i=(u&&(x.height=u+"px"),T&&(x.paddingLeft=n*N.indent+30+"px"),A||{}).showOverflow,s=A.id,m=K[s]||{},s=_xeUtils.default.eqNull(i)?H:i;let e=-1,l=-1,t=-1;m&&(e=m.index,l=m.$index,t=m._index);i={$grid:_,$table:C,$gantt:R,seq:c,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,source:sourceType,type:renderType,level:n,row:r,rowid:a,rowIndex:d,$rowIndex:o,_rowIndex:p,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};j.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":g}],key:"expand_"+a},[v("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!k,"col--ellipsis":s}],attrs:{colspan:b.length}},[v("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":u}],style:x},[A.renderData(v,i)])])]))}}e&&j.push(...renderRows(v,w,h,f,l,b))}),j}var _default=exports.default=(0,_comp.defineVxeComponent)({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,i=l.$xeGrid,a=l.$xeGantt,s=l.$scopedSlots,d=l.xID;let{fixedColumn:n,fixedType:c,tableColumn:p}=this;var u=e.mouseConfig,{isGroup:r,tableData:g,isColLoading:x,overflowX:m,scrollXLoad:v,scrollYLoad:w,dragRow:h,dragCol:f}=r,{visibleColumn:o,fullAllDataRowIdData:y,fullColumnIdData:b}=o,C=l.computeEmptyOpts,_=l.computeMouseOpts;let R=g,E=p;g=l.computeIsBodyRenderOptimize;x||!c&&m||(E=o),c&&g&&(E=n||[]),w&&h&&2<R.length&&(x=y[(0,_util.getRowid)(l,h)])&&(m=x._index,o=R[0],w=R[R.length-1],x=y[(0,_util.getRowid)(l,o)],o=y[(0,_util.getRowid)(l,w)],x)&&o&&(y=x._index,w=o._index,m<y?R=[h].concat(R):w<m&&(R=R.concat([h]))),c||r||v&&f&&2<E.length&&(x=b[f.id])&&(o=x._index,y=E[0],w=E[E.length-1],m=b[y.id],h=b[w.id],m)&&h&&(r=m._index,v=h._index,o<r?E=[f].concat(E):v<o&&(E=E.concat([f])));let S;x=s?s.empty:null,y={$table:l,$grid:i,$gantt:a};return S=x?x.call(l,y):(w=(b=C.name?renderer.get(C.name):null)?b.renderTableEmpty||b.renderTableEmptyView||b.renderEmpty:null)?(0,_vn.getSlotVNs)(w.call(l,t,C,y)):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",c?`fixed-${c}--wrapper`:"body--wrapper"],attrs:{xid:d}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,c)}}},[c?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:d,cellspacing:0,cellpadding:0,border:0,xvm:g?"1":null}},[t("colgroup",{ref:"refBodyColgroup"},E.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),t("tbody",{ref:"refBodyTBody"},renderRows(t,this,c,g,R,E))]),t("div",{class:"vxe-table--checkbox-range"}),u&&_.area?t("div",{class:"vxe-table--cell-area",attrs:{xid:d}},[t("span",{class:"vxe-table--cell-main-area"},_.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:c,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-clip-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),c?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},S)])])])}});
|
package/lib/table/src/footer.js
CHANGED
|
@@ -79,8 +79,13 @@ function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $
|
|
|
79
79
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
80
80
|
const showAllTip = footerTooltipOpts.showAll;
|
|
81
81
|
const fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
|
|
82
|
-
const
|
|
83
|
-
const
|
|
82
|
+
const cellPadding = (0, _utils.getDefaultConfig)(footerCellOpts.padding, cellOpts.padding);
|
|
83
|
+
const isAllCellPadding = cellPadding === true;
|
|
84
|
+
const isCellPaddingTop = cellPadding ? isAllCellPadding || cellPadding.top !== false : false;
|
|
85
|
+
const isCellPaddingBottom = cellPadding ? isAllCellPadding || cellPadding.bottom !== false : false;
|
|
86
|
+
const isCellPaddingLeft = cellPadding ? isAllCellPadding || cellPadding.left !== false : false;
|
|
87
|
+
const isCellPaddingRight = cellPadding ? isAllCellPadding || cellPadding.right !== false : false;
|
|
88
|
+
const footOverflow = (0, _utils.getDefaultConfig)(showFooterOverflow, allColumnFooterOverflow);
|
|
84
89
|
const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
85
90
|
const showEllipsis = (footOverflow === true ? footerTooltipOpts.mode : footOverflow) === 'ellipsis';
|
|
86
91
|
const showTitle = (footOverflow === true ? footerTooltipOpts.mode : footOverflow) === 'title';
|
|
@@ -193,7 +198,10 @@ function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $
|
|
|
193
198
|
'col--last': isLastColumn,
|
|
194
199
|
'fixed--width': !isAutoCellWidth,
|
|
195
200
|
'fixed--hidden': fixedHiddenColumn,
|
|
196
|
-
'is--
|
|
201
|
+
'is--pg-top': isCellPaddingTop,
|
|
202
|
+
'is--pg-bottom': isCellPaddingBottom,
|
|
203
|
+
'is--pg-left': isCellPaddingLeft,
|
|
204
|
+
'is--pg-right': isCellPaddingRight,
|
|
197
205
|
'col--ellipsis': hasEllipsis,
|
|
198
206
|
'col--current': currentColumn === column
|
|
199
207
|
}, (0, _utils.getClass)(footerClassName, cellParams), (0, _utils.getClass)(footerCellClassName, cellParams)],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let sourceType="table",renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function renderRows(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let sourceType="table",renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function renderRows(T,e,$,I,S,E,D,z){let R=e.$parent;var l=R,t=R,r=R;let O=R.$xeGrid,k=R.$xeGantt,A=e.fixedType,{resizable:q,border:X,footerCellClassName:L,footerCellStyle:U,footerAlign:H,footerSpanMethod:M,align:V,columnKey:G,showFooterOverflow:N}=l,{scrollXLoad:W,scrollYLoad:K,overflowX:j,currentColumn:B,mergeFootFlag:P}=t,{fullColumnIdData:Y,mergeFooterList:J,mergeFooterCellMaps:re,scrollXStore:Q}=r,oe=R.computeVirtualXOpts,Z=R.computeFooterTooltipOpts,ie=R.resizableOpts.isAllColumnDrag,ee=R.computeColumnOpts;e=R.computeDefaultRowHeight;let ae=R.computeCellOpts,le=R.computeFooterCellOpts,te=(0,_util.getCalcHeight)(le.height)||e;return I.map((l,e)=>{var{type:t,showFooterOverflow:r,footerAlign:o,align:i,footerClassName:a,editRender:n,cellRender:s}=l,d=l.id,u=Y[d]||{},n=n||s,s=n?renderer.get(n.name):null;let p=Z.showAll;var n=j&&(A?l.fixed!==A:!!l.fixed),c=(0,_utils.getDefaultConfig)(le.padding,ae.padding),f=!0===c,m=!!c&&(f||!1!==c.top),x=!!c&&(f||!1!==c.bottom),g=!!c&&(f||!1!==c.left),f=!!c&&(f||!1!==c.right),c=(0,_utils.getDefaultConfig)(r,N),r=o||(s?s.tableFooterCellAlign:"")||H||i||(s?s.tableCellAlign:"")||V,o="ellipsis"===(!0===c?Z.mode:c);let v="title"===(!0===c?Z.mode:c),b="tooltip"===(!0===c?Z.mode:c);var i=v||b||o,s=_xeUtils.default.isBoolean(l.resizable)?l.resizable:ee.resizable||q,c={colid:d},y={},w=u.index,u=u._index,C=u;let h={source:sourceType,$table:R,$grid:O,$gantt:k,row:E,rowIndex:z,_rowIndex:z,$rowIndex:D,column:l,columnIndex:w,$columnIndex:e,_columnIndex:u,itemIndex:C,items:E,fixed:A,type:renderType,data:S},_=((v||b||p)&&(y.mouseenter=e=>{v?(0,_dom.updateCellTitle)(e.currentTarget,l):(b||p)&&R.triggerFooterTooltipEvent(e,h)}),(b||p)&&(y.mouseleave=e=>{(b||p)&&R.handleTargetLeaveEvent(e)}),y.click=e=>{R.triggerFooterCellClickEvent(e,h)},!(y.dblclick=e=>{R.triggerFooterCellDblclickEvent(e,h)}));if(P&&J.length){w=re[z+":"+u];if(w){var{rowspan:C,colspan:w}=w;if(!C||!w)return null;1<C&&(_=!0,c.rowspan=C),1<w&&(_=!0,c.colspan=w)}}else if(M){var{rowspan:C=1,colspan:w=1}=M(h)||{};if(!C||!w)return null;1<C&&(c.rowspan=C),1<w&&(c.colspan=w)}C=e===I.length-1,w=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let F=!1;$&&j&&!_&&W&&10<I.length&&!l.fixed&&!oe.immediate&&(u<Q.visibleStartIndex-Q.preloadSize||u>Q.visibleEndIndex+Q.preloadSize)&&(F=!0);u={};return i?u.height=te+"px":u.minHeight=te+"px",T("td",{class:["vxe-table--column vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":C,"fixed--width":!w,"fixed--hidden":n,"is--pg-top":m,"is--pg-bottom":x,"is--pg-left":g,"is--pg-right":f,"col--ellipsis":i,"col--current":B===l},(0,_utils.getClass)(a,h),(0,_utils.getClass)(L,h)],attrs:c,style:U?_xeUtils.default.isFunction(U)?U(h):U:void 0,on:y,key:G||W||K||ee.useKey||ee.drag?l.id:e},[T("div",{class:["vxe-cell",{"c--title":v,"c--tooltip":b,"c--ellipsis":o}],style:u},F?[]:[T("div",{attrs:{colid:d},class:"vxe-cell--wrapper vxe-footer-cell--wrapper"},l.renderFooter(T,h))]),!n&&s&&ie?T("div",{class:["vxe-cell--col-resizable",{"is--line":!X||"none"===X}],on:{mousedown:e=>R.handleColResizeMousedownEvent(e,A,h),dblclick:e=>R.handleColResizeDblclickEvent(e,h)}}):renderEmptyElement(R)])})}function renderHeads(r,o,i,a){let n=o.$parent;var e=n;let{fixedType:s,footerTableData:d}=o,{footerRowClassName:u,footerRowStyle:p}=e;return d.map((e,l)=>{var t=l,t={$table:n,row:e,rowIndex:l,_rowIndex:l,$rowIndex:t,fixed:s,type:renderType};return r("tr",{key:l,class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:p?_xeUtils.default.isFunction(p)?p(t):p:void 0},renderRows(r,o,i,a,d,e,l,l))})}var _default=exports.default=(0,_comp.defineVxeComponent)({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,t=e.$parent.elemStore,l=`${l||"main"}-footer-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refFooterScroll,t[l+"table"]=e.$refs.refFooterTable,t[l+"colgroup"]=e.$refs.refFooterColgroup,t[l+"list"]=e.$refs.refFooterTFoot,t[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(t){let l=this.$parent;var e=l,r=l,o=l.xID;let{fixedType:i,fixedColumn:a,tableColumn:n}=this;var{visibleColumn:r,fullColumnIdData:s}=r,{isGroup:e,isColLoading:d,overflowX:u,scrollXLoad:p,dragCol:c}=e;let f=n;var m=l.computeIsFooterRenderOptimize;return m&&(d||!i&&u)||(f=r),i&&m&&(f=a||[]),i||e||p&&c&&2<f.length&&(d=s[c.id])&&(u=d._index,r=f[0],e=f[f.length-1],p=s[r.id],d=s[e.id],p)&&d&&(r=p._index,s=d._index,u<r?f=[c].concat(f):s<u&&(f=f.concat([c]))),t("div",{ref:"refElem",class:["vxe-table--footer-wrapper",i?`fixed-${i}--wrapper`:"body--wrapper"],attrs:{xid:o}},[t("div",{ref:"refFooterScroll",class:"vxe-table--footer-inner-wrapper",on:{scroll(e){l.triggerFooterScrollEvent(e,i)}}},[i?renderEmptyElement(l):t("div",{ref:"refFooterXSpace",class:"vxe-body--x-space"}),t("table",{ref:"refFooterTable",class:"vxe-table--footer",attrs:{xid:o,cellspacing:0,cellpadding:0,border:0,xvm:m?"1":null}},[t("colgroup",{ref:"refFooterColgroup"},f.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),t("tfoot",{ref:"refFooterTFoot"},renderHeads(t,this,m,f))])])])}});
|
package/lib/table/src/header.js
CHANGED
|
@@ -86,8 +86,13 @@ function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIndex, co
|
|
|
86
86
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
87
87
|
const isColGroup = column.children && column.children.length;
|
|
88
88
|
const fixedHiddenColumn = overflowX && !isColGroup && (fixedType ? column.fixed !== fixedType : !!column.fixed);
|
|
89
|
-
const
|
|
90
|
-
const
|
|
89
|
+
const cellPadding = (0, _utils.getDefaultConfig)(headerCellOpts.padding, cellOpts.padding);
|
|
90
|
+
const isAllCellPadding = cellPadding === true;
|
|
91
|
+
const isCellPaddingTop = cellPadding ? isAllCellPadding || cellPadding.top !== false : false;
|
|
92
|
+
const isCellPaddingBottom = cellPadding ? isAllCellPadding || cellPadding.bottom !== false : false;
|
|
93
|
+
const isCellPaddingLeft = cellPadding ? isAllCellPadding || cellPadding.left !== false : false;
|
|
94
|
+
const isCellPaddingRight = cellPadding ? isAllCellPadding || cellPadding.right !== false : false;
|
|
95
|
+
const headOverflow = (0, _utils.getDefaultConfig)(showHeaderOverflow, allColumnHeaderOverflow);
|
|
91
96
|
const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
92
97
|
const showEllipsis = headOverflow === 'ellipsis';
|
|
93
98
|
const showTitle = headOverflow === 'title';
|
|
@@ -207,7 +212,10 @@ function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIndex, co
|
|
|
207
212
|
'col--group': isColGroup,
|
|
208
213
|
'col--ellipsis': hasEllipsis,
|
|
209
214
|
'fixed--width': !isAutoCellWidth,
|
|
210
|
-
'is--
|
|
215
|
+
'is--pg-top': isCellPaddingTop,
|
|
216
|
+
'is--pg-bottom': isCellPaddingBottom,
|
|
217
|
+
'is--pg-left': isCellPaddingLeft,
|
|
218
|
+
'is--pg-right': isCellPaddingRight,
|
|
211
219
|
'is--sortable': column.sortable,
|
|
212
220
|
'col--filter': !!filters,
|
|
213
221
|
'is--filter-active': hasFilter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_utils=require("../../ui/src/utils"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";function renderRows(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_comp=require("../../ui/src/comp"),_utils=require("../../ui/src/utils"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";function renderRows(S,e,I,R,l,O,F){let k=e.$parent,z=k.$xeGrid,A=k.$xeGantt;var r=k,t=k,a=k;let q=e.fixedType,{resizable:G,columnKey:U,showCustomHeader:X,headerCellClassName:M,headerCellStyle:N,showHeaderOverflow:W,headerAlign:L,align:V,mouseConfig:B}=r,{currentColumn:K,dragCol:P,scrollXLoad:j,scrollYLoad:Y,overflowX:J,mergeHeadFlag:Q,tableColumn:de}=t,{fullColumnIdData:oe,scrollXStore:Z,mergeHeaderList:ne,mergeHeaderCellMaps:se}=a,ce=k.computeVirtualXOpts,ee=k.computeColumnOpts,le=k.computeColumnDragOpts,ue=k.computeHeaderTooltipOpts,pe=k.computeCellOpts;e=k.computeDefaultRowHeight;let re=k.computeHeaderCellOpts,te=(0,_util.getCalcHeight)(re.height)||e,{disabledMethod:ae,isCrossDrag:me,isPeerDrag:ge}=le,ie=O===l.length-1;return F.map((e,l)=>{var{type:r,showHeaderOverflow:t,headerAlign:a,align:i,filters:d,headerClassName:o,editRender:n,cellRender:s}=e,c=e.id,u=oe[c]||{},n=n||s,s=n?renderer.get(n.name):null,n=e.children&&e.children.length,p=J&&!n&&(q?e.fixed!==q:!!e.fixed),m=(0,_utils.getDefaultConfig)(re.padding,pe.padding),g=!0===m,f=!!m&&(g||!1!==m.top),x=!!m&&(g||!1!==m.bottom),h=!!m&&(g||!1!==m.left),g=!!m&&(g||!1!==m.right),m=(0,_utils.getDefaultConfig)(t,W),t=a||(s?s.tableHeaderCellAlign:"")||L||i||(s?s.tableCellAlign:"")||V,a="ellipsis"===m,i="title"===m,s=!0===m?"tooltip"===ue.mode:"tooltip"===m,m=i||s||a;let v=!1,C=null;d&&(C=d[0],v=d.some(e=>e.checked));var b=u.index,u=X?l:u._index;let w={$table:k,$grid:z,$gantt:A,rowIndex:O,_rowIndex:O,$rowIndex:O,column:e,columnIndex:b,$columnIndex:l,_columnIndex:u,firstFilterOption:C,fixed:q,source:sourceType,type:renderType,isHidden:p,hasFilter:v};b={colid:c};let H=!1;if(X||(b.colspan=1<e.colSpan?e.colSpan:null,b.rowspan=1<e.rowSpan?e.rowSpan:null),Q&&ne.length&&(X||ie)){var y=se[O+":"+(X?l:u)];if(y){var{rowspan:y,colspan:_}=y;if(!y||!_)return null;1<y&&(H=!0,b.rowspan=y),1<_&&(H=!0,b.colspan=_)}}y={click:e=>k.triggerHeaderCellClickEvent(e,w),dblclick:e=>k.triggerHeaderCellDblclickEvent(e,w)},_=ee.drag&&"cell"===le.trigger;let $=!1;_&&($=!(!ae||!ae(w))),(B||_)&&(y.mousedown=e=>k.triggerHeaderCellMousedownEvent(e,w)),ee.drag&&(y.dragstart=k.handleHeaderCellDragDragstartEvent,y.dragend=k.handleHeaderCellDragDragendEvent,y.dragover=k.handleHeaderCellDragDragoverEvent,_)&&(y.mouseup=k.handleHeaderCellDragMouseupEvent);var _=l===F.length-1,T=_xeUtils.default.isBoolean(e.resizable)?e.resizable:ee.resizable||G,D=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let E=!1;!R||!J||I||H||P&&P.id===c||j&&10<de.length&&!e.fixed&&!ce.immediate&&(u<Z.visibleStartIndex-Z.preloadSize||u>Z.visibleEndIndex+Z.preloadSize)&&(E=!0);u={};if(m?u.height=te+"px":u.minHeight=te+"px",!X&&n&&!ie){let l=0;_xeUtils.default.eachTree(e.children,e=>{!e.visible||e.children&&e.children.length||(l+=e.renderWidth)}),u.width=l+"px"}return S("th",{class:["vxe-table--column vxe-header--column",c,p?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+r]:r,"col--last":_,"col--fixed":e.fixed,"col--group":n,"col--ellipsis":m,"fixed--width":!D,"is--pg-top":f,"is--pg-bottom":x,"is--pg-left":h,"is--pg-right":g,"is--sortable":e.sortable,"col--filter":!!d,"is--filter-active":v,"is--drag-active":ee.drag&&!e.fixed&&!$&&(me||ge||!e.parentId),"is--drag-disabled":ee.drag&&$,"col--current":K===e},(0,_utils.getClass)(o,w),(0,_utils.getClass)(M,w)],attrs:b,style:N?_xeUtils.default.isFunction(N)?N(w):N:void 0,on:y,key:X?""+c+l:U||j||Y||ee.useKey||ee.drag||n?c:l},[S("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":a}],style:u},E||R&&p?[]:[S("div",{attrs:{colid:c},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(S,w))]),p||!T||X&&!ie?renderEmptyElement(k):S("div",{class:"vxe-cell--col-resizable",on:{mousedown:e=>k.handleColResizeMousedownEvent(e,q,w),dblclick:e=>k.handleColResizeDblclickEvent(e,w)}})])})}function renderFilterRows(w,e,H,y){let _=e.$parent,$=_.$xeGrid,T=_.$xeGantt;var l=_,r=_,t=_;let D=e.fixedType,{showHeaderOverflow:E,headerAlign:S,align:I}=l,{currentColumn:R,overflowX:O}=r,F=t.fullColumnIdData,k=_.computeHeaderTooltipOpts,z=_.computeCellOpts;e=_.computeDefaultRowHeight;let A=_.computeHeaderCellOpts,q=_.computeFloatingFilterOpts.cellClassName,G=(0,_util.getCalcHeight)(A.height)||e;return y.map((e,l)=>{var{type:r,showHeaderOverflow:t,headerAlign:a,align:i,filters:d,editRender:o,cellRender:n,floatingFilters:s,filterRender:c,slots:u}=e,p=e.id,m=F[p]||{},o=o||n,n=o?renderer.get(o.name):null,o=(0,_utils.isEnableConf)(c)?renderer.get(c.name):null,o=o?o.renderTableFloatingFilter:null,u=u?u.floatingFilter||u["floating-filter"]:null,g=O&&(D?e.fixed!==D:!!e.fixed),f=(_xeUtils.default.isBoolean(A.padding)?A:z).padding,t=_xeUtils.default.eqNull(t)?E:t,a=a||(n?n.tableHeaderCellAlign:"")||S||i||(n?n.tableCellAlign:"")||I,i="ellipsis"===(!0===t?k.mode:t),n="title"===(!0===t?k.mode:t),t="tooltip"===(!0===t?k.mode:t),x=n||t||i;let h=!1,v=null;d&&(v=d[0],h=d.some(e=>e.checked));var d=m.index,m=m._index,d={$table:_,$grid:$,$gantt:T,column:e,columnIndex:d,$columnIndex:l,_columnIndex:m,option:v,fixed:D,source:sourceType,type:renderType,isHidden:g,hasFilter:h},m={colid:p},l=l===y.length-1,C=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width),b={};return x?b.height=G+"px":b.minHeight=G+"px",w("th",{class:["vxe-table--column vxe-header--column is--floating-filters",p,g?"fixed--hidden":"fixed--visible",{["col--"+a]:a,["col--"+r]:r,"col--last":l,"col--fixed":e.fixed,"col--ellipsis":x,"fixed--width":!C,"is--padding":f,"is--sortable":e.sortable,"col--current":R===e}],key:p,attrs:m},[w("div",{class:["vxe-cell",""+(q||""),{"c--title":n,"c--tooltip":t,"c--ellipsis":i}],style:b},H&&g&&!s?[]:[w("div",{attrs:{colid:p},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},u?_.callSlot(u,d,w):o&&v?(0,_vn.getSlotVNs)(o.call(_,w,c,d)):[])])])})}function renderHeads(t,a,i,d,o,e){let n=a.$parent;var l=n;let s=a.fixedType,{headerRowClassName:c,headerRowStyle:u}=l;var l=n.computeFloatingFilterOpts,r=o.map((e,l)=>{var r={$table:n,rowIndex:l,_rowIndex:l,$rowIndex:l,fixed:s,type:renderType};return t("tr",{key:l,class:["vxe-header--row",c?_xeUtils.default.isFunction(c)?c(r):c:""],style:u?_xeUtils.default.isFunction(u)?u(r):u:void 0},renderRows(t,a,i,d,o,l,e))});return l.enabled&&r.push(t("tr",{key:"ff",class:["vxe-header--row is--floating-filters",""+(l.rowClassName||"")]},renderFilterRows(t,a,d,e))),r}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-header-`;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+"repair"]=null},render(r){let l=this.$parent;var e=l,t=l,a=l,i=l.xID;let{fixedType:d,fixedColumn:o,tableColumn:n}=this;var s=this.headerColumn,e=e.mouseConfig,{isGroup:t,isColLoading:c,overflowX:u,scrollXLoad:p,dragCol:m}=t,{visibleColumn:a,fullColumnIdData:g}=a,f=l.computeMouseOpts;let x=s,h=n;s=l.computeIsHeaderRenderOptimize;return t?h=a:(s&&(c||!d&&u)||(h=a),d&&s&&(h=o||[]),x=[h]),d||t||p&&m&&2<h.length&&(c=g[m.id])&&(u=c._index,a=h[0],p=h[h.length-1],c=g[a.id],a=g[p.id],c)&&a&&(g=c._index,p=a._index,u<g?(h=[m].concat(h),x=[[m].concat(x[0])].concat(x.slice(1))):p<u&&(h=h.concat([m]),x=[x[0].concat([m])].concat(x.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,d)}}},[d?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0,xvm:s?"1":null}},[r("colgroup",{ref:"refHeaderColgroup"},h.map((e,l)=>r("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,t,s,x,h))]),e&&f.area?r("div",{class:"vxe-table--cell-area",attrs:{xid:i}},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-clip-area"}),r("span",{class:"vxe-table--cell-extend-area"}),r("span",{class:"vxe-table--cell-multi-area"}),r("span",{class:"vxe-table--cell-active-area"}),r("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(l)])])},methods:{uploadColumn(){let e=this.$parent;var l=e,r=e,l=l.showCustomHeader;let{collectColumn:t,visibleColumn:a}=e;var i=this.tableGroupColumn,r=r.isGroup;let d=r?(0,_util.convertHeaderColumnToRows)(i):[],o=[];l&&1<d.length&&(o=(0,_util.convertHeaderToGridRows)(d),d=o),this.headerColumn=d,e.$nextTick(()=>{e.dispatchEvent("columns-change",{visibleColgroups:o,collectColumn:t,visibleColumn:a},null)})}}});
|
package/lib/table/src/methods.js
CHANGED
|
@@ -240,10 +240,10 @@ if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHei
|
|
|
240
240
|
*/function calcColumnAutoWidth($xeTable,column,wrapperEl){const reactData=$xeTable;const{scrollYLoad}=reactData;const columnOpts=$xeTable.computeColumnOpts;const{autoOptions}=columnOpts;const{isCalcHeader,isCalcBody,isCalcFooter}=autoOptions||{};const querySelections=[];if(isCalcHeader){querySelections.push(`.vxe-header-cell--wrapper[colid="${column.id}"]`);}if(isCalcBody){querySelections.push(`.vxe-body-cell--wrapper[colid="${column.id}"]`);}if(isCalcFooter){querySelections.push(`.vxe-footer-cell--wrapper[colid="${column.id}"]`);}const cellElemList=querySelections.length?wrapperEl.querySelectorAll(querySelections.join(',')):[];let leftRightPadding=0;const firstCellEl=cellElemList[0];if(firstCellEl&&firstCellEl.parentElement){const cellStyle=getComputedStyle(firstCellEl.parentElement);leftRightPadding=Math.ceil(_xeUtils.default.toNumber(cellStyle.paddingLeft)+_xeUtils.default.toNumber(cellStyle.paddingRight));}let colWidth=(scrollYLoad?column.renderAutoWidth:0)-leftRightPadding;for(let i=0;i<cellElemList.length;i++){const celEl=cellElemList[i];colWidth=Math.max(colWidth,celEl?Math.ceil(celEl.scrollWidth)+4:0);}return colWidth+leftRightPadding;}/**
|
|
241
241
|
* 自适应列宽
|
|
242
242
|
*/function calcCellWidth($xeTable){const internalData=$xeTable;const autoWidthColumnList=$xeTable.computeAutoWidthColumnList;const{fullColumnIdData}=internalData;const el=$xeTable.$refs.refElem;if(el&&autoWidthColumnList.length){el.setAttribute('data-calc-col','Y');autoWidthColumnList.forEach(column=>{const colid=column.id;const colRest=fullColumnIdData[colid];const colWidth=calcColumnAutoWidth($xeTable,column,el);if(colRest){colRest.width=Math.max(colWidth,colRest.width);}column.renderAutoWidth=colWidth;});$xeTable.analyColumnWidth();el.removeAttribute('data-calc-col');}}function handleUpdateColResize($xeTable,evnt,params){$xeTable.analyColumnWidth();$xeTable.recalculate().then(()=>{$xeTable.saveCustomStore('update:width');$xeTable.refreshScroll().then(()=>{$xeTable.updateCellAreas();});$xeTable.dispatchEvent('column-resizable-change',params,evnt);// 已废弃 resizable-change
|
|
243
|
-
$xeTable.dispatchEvent('resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function handleUpdateRowResize($xeTable,evnt,params){const reactData=$xeTable;reactData.resizeHeightFlag++;$xeTable.recalculate().then(()=>{$xeTable.refreshScroll().then(()=>{$xeTable.updateCellAreas();});$xeTable.dispatchEvent('row-resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function updateColumnOffsetLeft($xeTable){const internalData=$xeTable;const{visibleColumn,fullColumnIdData}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}let offsetLeft=0;for(let cIndex=0,rLen=visibleColumn.length;cIndex<rLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.oLeft=offsetLeft;}offsetLeft+=column.renderWidth;}}function updateRowOffsetTop($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn}=reactData;const{afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);let offsetTop=0;for(let rIndex=0,rLen=afterFullData.length;rIndex<rLen;rIndex++){const row=afterFullData[rIndex];const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};rowRest.oTop=offsetTop;offsetTop+=rowRest
|
|
243
|
+
$xeTable.dispatchEvent('resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function handleUpdateRowResize($xeTable,evnt,params){const reactData=$xeTable;reactData.resizeHeightFlag++;$xeTable.recalculate().then(()=>{$xeTable.refreshScroll().then(()=>{$xeTable.updateCellAreas();});$xeTable.dispatchEvent('row-resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function updateColumnOffsetLeft($xeTable){const internalData=$xeTable;const{visibleColumn,fullColumnIdData}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}let offsetLeft=0;for(let cIndex=0,rLen=visibleColumn.length;cIndex<rLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.oLeft=offsetLeft;}offsetLeft+=column.renderWidth;}}function updateRowOffsetTop($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn}=reactData;const{afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);let offsetTop=0;for(let rIndex=0,rLen=afterFullData.length;rIndex<rLen;rIndex++){const row=afterFullData[rIndex];const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};rowRest.oTop=offsetTop;offsetTop+=(0,_util.getCellRestHeight)(rowRest,cellOpts,rowOpts,defaultRowHeight);// 是否展开行
|
|
244
244
|
if(expandColumn&&rowExpandedMaps[rowid]){offsetTop+=rowRest.expandHeight||expandOpts.height||0;}}}/**
|
|
245
245
|
* 更新展开行样式
|
|
246
|
-
*/function updateRowExpandStyle($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn,scrollYLoad,scrollYTop,isScrollYBig}=reactData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const expandOpts=$xeTable.computeExpandOpts;const{mode}=expandOpts;if(expandColumn&&mode==='fixed'){const{elemStore,fullAllDataRowIdData}=internalData;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){let isUpdateHeight=false;_xeUtils.default.arrayEach(rowExpandEl.children,reEl=>{const expandEl=reEl;const rowid=expandEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const expandHeight=expandEl.offsetHeight;const trEl=bodyScrollElem.querySelector(`.vxe-body--row[rowid="${rowid}"]`);let offsetTop=0;if(scrollYLoad){if(isScrollYBig&&trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}else{offsetTop=rowRest.oTop+(rowRest
|
|
246
|
+
*/function updateRowExpandStyle($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn,scrollYLoad,scrollYTop,isScrollYBig}=reactData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const expandOpts=$xeTable.computeExpandOpts;const{mode}=expandOpts;if(expandColumn&&mode==='fixed'){const{elemStore,fullAllDataRowIdData}=internalData;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){let isUpdateHeight=false;_xeUtils.default.arrayEach(rowExpandEl.children,reEl=>{const expandEl=reEl;const rowid=expandEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const expandHeight=expandEl.offsetHeight;const trEl=bodyScrollElem.querySelector(`.vxe-body--row[rowid="${rowid}"]`);let offsetTop=0;if(scrollYLoad){if(isScrollYBig&&trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}else{offsetTop=rowRest.oTop+(0,_util.getCellRestHeight)(rowRest,cellOpts,rowOpts,defaultRowHeight);}}else{if(trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}}if(isScrollYBig){offsetTop+=scrollYTop;}expandEl.style.top=(0,_dom.toCssUnit)(offsetTop);if(!isUpdateHeight){if(rowRest.expandHeight!==expandHeight){isUpdateHeight=true;}}rowRest.expandHeight=expandHeight;}});if(isUpdateHeight){reactData.rowExpandHeightFlag++;$xeTable.$nextTick(()=>{updateRowOffsetTop($xeTable);});}}}}/**
|
|
247
247
|
* 更新树连接线样式
|
|
248
248
|
*/function updateTreeLineStyle($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;if(!treeConfig){return;}const{tableData}=reactData;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const cellOpts=$xeTable.computeCellOpts;const rowOpts=$xeTable.computeRowOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const treeOpts=$xeTable.computeTreeOpts;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);const expParentList=[];const handleNodeRow=(row,rIndex,rows)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};const childList=row[transform?mapChildrenField:childrenField];const prevRow=rows[rIndex-1]||null;const nextRow=rows[rIndex+1]||null;if(childList&&childList.length&&treeExpandedMaps[rowid]){expParentList.push({row,prevRow,nextRow});childList.forEach((childRow,crIndex)=>{const childRowid=handleGetRowId(childRow);if(treeExpandedMaps[childRowid]){handleNodeRow(childRow,crIndex,childList);}});}else{if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=(0,_util.getCellRestHeight)(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=(0,_util.getCellRestHeight)(nextRowRest,cellOpts,rowOpts,defaultRowHeight);rowRest.oHeight=currCellHeight;rowRest.lineHeight=Math.floor(currCellHeight/2+nextCellHeight/2);}else{rowRest.oHeight=0;rowRest.lineHeight=0;}}};tableData.forEach((row,rIndex)=>{handleNodeRow(row,rIndex,tableData);});_xeUtils.default.lastArrayEach(expParentList,({row,nextRow})=>{const rowid=handleGetRowId(row);const childList=row[transform?mapChildrenField:childrenField];const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const currCellHeight=(0,_util.getCellRestHeight)(rowRest,cellOpts,rowOpts,defaultRowHeight);let countOffsetHeight=currCellHeight;let countLineHeight=0;childList.forEach(childRow=>{const childRowid=handleGetRowId(childRow);const childRowRest=fullAllDataRowIdData[childRowid]||{};const childList=childRow[transform?mapChildrenField:childrenField];if(treeExpandedMaps[childRowid]&&childList&&childList.length){countOffsetHeight+=childRowRest.oHeight||0;countLineHeight+=childRowRest.oHeight||0;}else{const cellHeight=(0,_util.getCellRestHeight)(childRowRest,cellOpts,rowOpts,defaultRowHeight);childRowRest.oHeight=cellHeight;childRowRest.lineHeight=cellHeight;countOffsetHeight+=cellHeight;countLineHeight+=cellHeight;}});if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=(0,_util.getCellRestHeight)(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=(0,_util.getCellRestHeight)(nextRowRest,cellOpts,rowOpts,defaultRowHeight);countOffsetHeight+=currCellHeight;countLineHeight+=Math.floor(currCellHeight/2+nextCellHeight/2);}rowRest.lineHeight=countLineHeight;rowRest.oHeight=countOffsetHeight;}});}function handleRowExpandScroll($xeTable){const internalData=$xeTable;const{elemStore}=internalData;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){rowExpandEl.scrollTop=bodyScrollElem.scrollTop;}}function handleColumnVisible(visible){return function(fieldOrColumn){const $xeTable=this;let status=false;const cols=_xeUtils.default.isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];cols.forEach(item=>{const column=(0,_util.handleFieldOrColumn)($xeTable,item);if(column){if(column.children&&column.children.length){_xeUtils.default.eachTree([column],item=>{item.visible=visible;item.renderVisible=visible;});}else{column.visible=visible;column.renderVisible=visible;}if(!status){status=true;}}});if(status){return $xeTable.handleCustom();}return $xeTable.$nextTick();};}function reUpdateCustomStyleEvent($xeTable,evnt){const reactData=$xeTable;const{customStore}=reactData;const customOpts=$xeTable.computeCustomOpts;const{popupOptions}=customOpts;const{transfer}=popupOptions||{};if(transfer&&customStore.visible){const tableCustom=$xeTable.$refs.refTableCustom;if(tableCustom&&$xeTable.handleCustomStyle&&!(0,_dom.checkTargetElement)(evnt.target,[tableCustom.$el],evnt.currentTarget)){$xeTable.handleCustomStyle().then(()=>{$xeTable.handleCustomStyle();});}}}function truncateStackHistory($xeTable){const internalData=$xeTable;const{stackHistoryStore}=internalData;const{undoStacks}=stackHistoryStore;const undoRedoHistoryOpts=$xeTable.computeUndoRedoHistoryOpts;const{stackSize}=undoRedoHistoryOpts;if(undoStacks.length>_xeUtils.default.toNumber(stackSize)){undoStacks.shift();}}/**
|
|
249
249
|
* 生成快照数据
|
|
@@ -475,10 +475,10 @@ const dragMinLeft=isRightFixed?0:cellRect.x-tableRect.x+dragBtnWidth+minInterval
|
|
|
475
475
|
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const tableHeight=tableEl.clientHeight;const offsetX=evnt.clientX-dragClientX;let left=dragPosLeft+offsetX;if(isLeftFixed){if(rightContainerRect){left=Math.min(left,rightContainerRect.x-tableRect.x-fixedLeftRemainWidth-minInterval);}}else if(isRightFixed){if(leftContainerElem){left=Math.max(left,leftContainerElem.clientWidth+fixedRightRemainWidth+minInterval);}left=Math.min(left,dragMaxLeft);}dragLeft=Math.max(left,dragMinLeft);// 最大宽
|
|
476
476
|
if(maxInterval>1){dragLeft=Math.min(dragLeft,maxInterval+dragMinLeft-minInterval);}const resizeBarLeft=Math.max(1,dragLeft);resizeBarElem.style.left=`${resizeBarLeft}px`;resizeBarElem.style.top=`${scrollbarXToTop?osbHeight:0}px`;resizeBarElem.style.height=`${scrollbarXToTop?tableHeight-osbHeight:tableHeight}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=getI18n('vxe.table.resizeColTip',[Math.floor(resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft))]);const tableWrapperWidth=tableEl.clientWidth;const resizeBarWidth=resizeBarElem.clientWidth;const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeTipLeft=-resizeTipWidth;if(resizeBarLeft<resizeTipWidth+resizeBarWidth){resizeTipLeft=0;}else if(resizeBarLeft>tableWrapperWidth){resizeTipLeft+=tableWrapperWidth-resizeBarLeft;}resizeTipElem.style.left=`${resizeTipLeft}px`;resizeTipElem.style.top=`${Math.min(tableHeight-resizeTipHeight,Math.max(0,evnt.clientY-tableRect.y-resizeTipHeight/2))}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;(0,_dom.addClass)(tableEl,'col-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);const resizeWidth=resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft);const resizeParams=Object.assign(Object.assign({},params),{resizeWidth,resizeColumn});if(resizableOpts.dragMode==='fixed'){visibleColumn.forEach(item=>{if(item.id!==resizeColumn.id){if(!item.resizeWidth){item.resizeWidth=item.renderWidth;}}});}if($xeTable.handleColResizeCellAreaEvent){$xeTable.handleColResizeCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize($xeTable,evnt,resizeParams);}(0,_dom.removeClass)(tableEl,'col-drag--resize');};updateEvent(evnt);if($xeTable.closeMenu){$xeTable.closeMenu();}},handleColResizeDblclickEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const resizableOpts=$xeTable.computeResizableOpts;const{isDblclickAutoWidth}=resizableOpts;const el=$xeTable.$refs.refElem;if(isDblclickAutoWidth&&el){evnt.stopPropagation();evnt.preventDefault();const{fullColumnIdData}=internalData;const{column}=params;let resizeColumn=column;if(column.children&&column.children.length){_xeUtils.default.eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const colid=resizeColumn.id;const colRest=fullColumnIdData[colid];const dragBtnElem=evnt.target;const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell,$table:$xeTable});const colMinWidth=(0,_util.getColReMinWidth)(cellParams);const colMaxWidth=(0,_util.getColReMaxWidth)(cellParams);el.setAttribute('data-calc-col','Y');let resizeWidth=calcColumnAutoWidth($xeTable,resizeColumn,el);el.removeAttribute('data-calc-col');if(colRest){resizeWidth=Math.max(resizeWidth,colRest.width);}resizeWidth=Math.max(colMinWidth,resizeWidth);if(colMaxWidth>1){resizeWidth=Math.min(colMaxWidth,resizeWidth);}const resizeParams=Object.assign(Object.assign({},params),{resizeWidth,resizeColumn});reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleColResizeDblclickCellAreaEvent){$xeTable.handleColResizeDblclickCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize($xeTable,evnt,resizeParams);}}},/**
|
|
477
477
|
* @private
|
|
478
|
-
*/handleRowResizeMousedownEvent(evnt,params){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;evnt.stopPropagation();evnt.preventDefault();const $xeGantt=$xeTable.$xeGantt;const{row}=params;const{showOverflow}=props;const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{elemStore,fullAllDataRowIdData}=internalData;const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const scrollbarYToLeft=$xeTable.computeScrollbarYToLeft;const resizableOpts=$xeTable.computeResizableOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;let tableEl=$xeTable.$refs.refElem;if($xeGantt){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){tableEl=ganttContainerElem;}}const resizeBarElem=$xeTable.$refs.refRowResizeBar;if(!resizeBarElem){return;}const{clientY:dragClientY}=evnt;const resizeTipElem=resizeBarElem.firstElementChild;const dragBtnElem=evnt.currentTarget;const tdEl=dragBtnElem.parentNode;const trEl=tdEl.parentNode;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const defaultRowHeight=$xeTable.computeDefaultRowHeight;let currCellHeight=rowRest
|
|
478
|
+
*/handleRowResizeMousedownEvent(evnt,params){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;evnt.stopPropagation();evnt.preventDefault();const $xeGantt=$xeTable.$xeGantt;const{row}=params;const{showOverflow}=props;const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{elemStore,fullAllDataRowIdData}=internalData;const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const scrollbarYToLeft=$xeTable.computeScrollbarYToLeft;const resizableOpts=$xeTable.computeResizableOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;let tableEl=$xeTable.$refs.refElem;if($xeGantt){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){tableEl=ganttContainerElem;}}const resizeBarElem=$xeTable.$refs.refRowResizeBar;if(!resizeBarElem){return;}const{clientY:dragClientY}=evnt;const resizeTipElem=resizeBarElem.firstElementChild;const dragBtnElem=evnt.currentTarget;const tdEl=dragBtnElem.parentNode;const trEl=tdEl.parentNode;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const defaultRowHeight=$xeTable.computeDefaultRowHeight;let currCellHeight=(0,_util.getCellRestHeight)(rowRest,cellOpts,rowOpts,defaultRowHeight);if(!showOverflow){currCellHeight=tdEl.clientHeight;}const tableRect=tableEl.getBoundingClientRect();const trRect=trEl.getBoundingClientRect();const targetOffsetY=dragClientY-trRect.y-trEl.clientHeight;let resizeHeight=currCellHeight;const cellEl=tdEl.querySelector('.vxe-cell');let cellMinHeight=0;if(cellEl){const cellStyle=getComputedStyle(cellEl);cellMinHeight=Math.max(1,Math.ceil(_xeUtils.default.toNumber(cellStyle.paddingTop)+_xeUtils.default.toNumber(cellStyle.paddingBottom)));}const minTop=trRect.y-tableRect.y+cellMinHeight;// 处理拖动事件
|
|
479
479
|
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const rtWidth=tableEl.clientWidth-osbWidth;const tableHeight=tableEl.clientHeight-osbHeight;let dragTop=evnt.clientY-tableRect.y-targetOffsetY;if(dragTop<minTop){dragTop=minTop;}else{resizeHeight=Math.max(cellMinHeight,currCellHeight+evnt.clientY-dragClientY);}resizeBarElem.style.left=`${scrollbarYToLeft?osbWidth:0}px`;resizeBarElem.style.top=`${dragTop}px`;resizeBarElem.style.width=`${rtWidth}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=getI18n('vxe.table.resizeRowTip',[resizeHeight]);const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeBarLeft=Math.max(2,evnt.clientX-tableRect.x);let resizeBarTop=0;if(resizeBarLeft+resizeTipWidth>=rtWidth-2){resizeBarLeft=rtWidth-resizeTipWidth-2;}if(dragTop+resizeTipHeight>=tableHeight){resizeBarTop=tableHeight-(dragTop+resizeTipHeight);}resizeTipElem.style.left=`${resizeBarLeft}px`;resizeTipElem.style.top=`${resizeBarTop}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;(0,_dom.addClass)(tableEl,'row-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);if(resizeHeight!==currCellHeight){const resizeParams=Object.assign(Object.assign({},params),{resizeHeight,resizeRow:row});internalData.isResizeCellHeight=true;if($xeTable.handleRowResizeCellAreaEvent){$xeTable.handleRowResizeCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize($xeTable,evnt,resizeParams);updateRowOffsetTop($xeTable);}}(0,_dom.removeClass)(tableEl,'row-drag--resize');};updateEvent(evnt);},/**
|
|
480
480
|
* @private
|
|
481
|
-
*/handleRowResizeDblclickEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const resizableOpts=$xeTable.computeResizableOpts;const{isDblclickAutoHeight}=resizableOpts;const el=$xeTable.$refs.refElem;if(isDblclickAutoHeight&&el){evnt.stopPropagation();evnt.preventDefault();const{editStore}=reactData;const{fullAllDataRowIdData}=internalData;const{actived}=editStore;const{row}=params;const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const handleRsHeight=()=>{el.setAttribute('data-calc-row','Y');const resizeHeight=calcCellAutoHeight($xeTable,rowid,rowRest,el);el.removeAttribute('data-calc-row');const resizeParams=Object.assign(Object.assign({},params),{resizeHeight,resizeRow:row});reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleRowResizeDblclickCellAreaEvent){$xeTable.handleRowResizeDblclickCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize($xeTable,evnt,resizeParams);}};if(actived.row||actived.column){$xeTable.clearEdit().then(handleRsHeight);}else{handleRsHeight();}}},setRowHeightConf(heightConf){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;let status=false;if(heightConf){_xeUtils.default.each(heightConf,(height,rowid)=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const rHeight=_xeUtils.default.toInteger(height);if(rHeight){rowRest.resizeHeight=rHeight;if(!status){status=true;}}}});if(status){internalData.isResizeCellHeight=true;reactData.resizeHeightFlag++;}}return $xeTable.$nextTick().then(()=>{updateRowOffsetTop($xeTable);return{status};});},getRowHeightConf(isFull){const $xeTable=this;const internalData=$xeTable;const{fullAllDataRowIdData,afterFullData}=internalData;const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const rest={};afterFullData.forEach(row=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const resizeHeight=rowRest.resizeHeight;if(resizeHeight||isFull){const currCellHeight=
|
|
481
|
+
*/handleRowResizeDblclickEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const resizableOpts=$xeTable.computeResizableOpts;const{isDblclickAutoHeight}=resizableOpts;const el=$xeTable.$refs.refElem;if(isDblclickAutoHeight&&el){evnt.stopPropagation();evnt.preventDefault();const{editStore}=reactData;const{fullAllDataRowIdData}=internalData;const{actived}=editStore;const{row}=params;const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const handleRsHeight=()=>{el.setAttribute('data-calc-row','Y');const resizeHeight=calcCellAutoHeight($xeTable,rowid,rowRest,el);el.removeAttribute('data-calc-row');const resizeParams=Object.assign(Object.assign({},params),{resizeHeight,resizeRow:row});reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleRowResizeDblclickCellAreaEvent){$xeTable.handleRowResizeDblclickCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize($xeTable,evnt,resizeParams);}};if(actived.row||actived.column){$xeTable.clearEdit().then(handleRsHeight);}else{handleRsHeight();}}},setRowHeightConf(heightConf){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;let status=false;if(heightConf){_xeUtils.default.each(heightConf,(height,rowid)=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const rHeight=_xeUtils.default.toInteger(height);if(rHeight){rowRest.resizeHeight=rHeight;if(!status){status=true;}}}});if(status){internalData.isResizeCellHeight=true;reactData.resizeHeightFlag++;}}return $xeTable.$nextTick().then(()=>{updateRowOffsetTop($xeTable);return{status};});},getRowHeightConf(isFull){const $xeTable=this;const internalData=$xeTable;const{fullAllDataRowIdData,afterFullData}=internalData;const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const rest={};afterFullData.forEach(row=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const resizeHeight=rowRest.resizeHeight;if(resizeHeight||isFull){const currCellHeight=(0,_util.getCellRestHeight)(rowRest,cellOpts,rowOpts,defaultRowHeight);rest[rowid]=currCellHeight;}}});return rest;},recalcRowHeight(rowOrId){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;const rows=_xeUtils.default.isArray(rowOrId)?rowOrId:[rowOrId];const el=$xeTable.$refs.refElem;if(el){const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);el.setAttribute('data-calc-row','Y');rows.forEach(row=>{const rowid=_xeUtils.default.isString(row)||_xeUtils.default.isNumber(row)?row:handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.resizeHeight=calcCellAutoHeight($xeTable,rowid,rowRest,el);}el.removeAttribute('data-calc-row');});reactData.calcCellHeightFlag++;}return $xeTable.$nextTick();},setRowHeight(rowOrId,height){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;let status=false;const rows=_xeUtils.default.isArray(rowOrId)?rowOrId:[rowOrId];let rHeight=_xeUtils.default.toInteger(height);if((0,_dom.isScale)(height)){const tableBody=$xeTable.$refs.refTableBody;const bodyElem=tableBody?tableBody.$el:null;const bodyHeight=bodyElem?bodyElem.clientHeight-1:0;rHeight=Math.floor(rHeight*bodyHeight);}if(rHeight){const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);rows.forEach(row=>{const rowid=_xeUtils.default.isString(row)||_xeUtils.default.isNumber(row)?row:handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.resizeHeight=rHeight;if(!status){status=true;}}});if(status){internalData.isResizeCellHeight=true;reactData.resizeHeightFlag++;}}return $xeTable.$nextTick();},getRowHeight(rowOrId){const $xeTable=this;const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const rowid=_xeUtils.default.isString(rowOrId)||_xeUtils.default.isNumber(rowOrId)?rowOrId:(0,_util.getRowid)($xeTable,rowOrId);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return(0,_util.getCellRestHeight)(rowRest,cellOpts,rowOpts,defaultRowHeight);}return 0;},/**
|
|
482
482
|
* 刷新滚动操作,手动同步滚动相关位置(对于某些特殊的操作,比如滚动条错位、固定列不同步)
|
|
483
483
|
*/refreshScroll(){const $xeTable=this;const internalData=$xeTable;const{elemStore,lastScrollLeft,lastScrollTop}=internalData;const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;return new Promise(resolve=>{// 还原滚动条位置
|
|
484
484
|
if(lastScrollLeft||lastScrollTop){return(0,_util.restoreScrollLocation)($xeTable,lastScrollLeft,lastScrollTop).then(()=>{// 存在滚动行为未结束情况
|