vxe-table 4.13.33 → 4.13.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/es/grid/src/grid.js +1 -1
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/table/src/body.js +20 -3
  7. package/es/table/src/cell.js +55 -39
  8. package/es/table/src/column.js +2 -0
  9. package/es/table/src/columnInfo.js +2 -0
  10. package/es/table/src/props.js +3 -1
  11. package/es/table/src/table.js +130 -74
  12. package/es/table/src/util.js +7 -4
  13. package/es/table/style.css +9 -3
  14. package/es/table/style.min.css +1 -1
  15. package/es/ui/index.js +4 -4
  16. package/es/ui/src/log.js +1 -1
  17. package/es/vxe-table/style.css +9 -3
  18. package/es/vxe-table/style.min.css +1 -1
  19. package/lib/grid/src/grid.js +1 -1
  20. package/lib/grid/src/grid.min.js +1 -1
  21. package/lib/index.css +1 -1
  22. package/lib/index.min.css +1 -1
  23. package/lib/index.umd.js +117 -76
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/style.css +1 -1
  26. package/lib/style.min.css +1 -1
  27. package/lib/table/src/body.js +19 -2
  28. package/lib/table/src/body.min.js +1 -1
  29. package/lib/table/src/cell.js +47 -32
  30. package/lib/table/src/cell.min.js +1 -1
  31. package/lib/table/src/column.js +2 -0
  32. package/lib/table/src/column.min.js +1 -1
  33. package/lib/table/src/columnInfo.js +2 -0
  34. package/lib/table/src/columnInfo.min.js +1 -1
  35. package/lib/table/src/props.js +3 -1
  36. package/lib/table/src/props.min.js +1 -1
  37. package/lib/table/src/table.js +31 -31
  38. package/lib/table/src/table.min.js +1 -1
  39. package/lib/table/src/util.js +10 -7
  40. package/lib/table/src/util.min.js +1 -1
  41. package/lib/table/style/style.css +9 -3
  42. package/lib/table/style/style.min.css +1 -1
  43. package/lib/ui/index.js +4 -4
  44. package/lib/ui/index.min.js +1 -1
  45. package/lib/ui/src/log.js +1 -1
  46. package/lib/ui/src/log.min.js +1 -1
  47. package/lib/vxe-table/style/style.css +9 -3
  48. package/lib/vxe-table/style/style.min.css +1 -1
  49. package/package.json +1 -1
  50. package/packages/grid/src/grid.ts +1 -1
  51. package/packages/table/src/body.ts +20 -3
  52. package/packages/table/src/cell.ts +55 -39
  53. package/packages/table/src/column.ts +2 -0
  54. package/packages/table/src/columnInfo.ts +3 -0
  55. package/packages/table/src/props.ts +3 -1
  56. package/packages/table/src/table.ts +132 -73
  57. package/packages/table/src/util.ts +7 -3
  58. package/packages/ui/index.ts +1 -1
  59. package/styles/components/table.scss +13 -9
  60. package/styles/theme/base.scss +0 -2
  61. package/styles/theme/dark.scss +4 -1
  62. package/styles/theme/light.scss +3 -0
  63. package/styles/variable.scss +4 -1
  64. /package/es/{iconfont.1749019395589.ttf → iconfont.1749202972772.ttf} +0 -0
  65. /package/es/{iconfont.1749019395589.woff → iconfont.1749202972772.woff} +0 -0
  66. /package/es/{iconfont.1749019395589.woff2 → iconfont.1749202972772.woff2} +0 -0
  67. /package/lib/{iconfont.1749019395589.ttf → iconfont.1749202972772.ttf} +0 -0
  68. /package/lib/{iconfont.1749019395589.woff → iconfont.1749202972772.woff} +0 -0
  69. /package/lib/{iconfont.1749019395589.woff2 → iconfont.1749202972772.woff2} +0 -0
@@ -328,6 +328,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
328
328
  $xeTable.triggerCellDblclickEvent(evnt, cellParams);
329
329
  };
330
330
  let isMergeCell = false;
331
+ let mergeRowspan = 1;
331
332
  // 合并行或列
332
333
  if (mergeBodyFlag && mergeBodyList.length) {
333
334
  const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`];
@@ -341,6 +342,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
341
342
  }
342
343
  if (rowspan > 1) {
343
344
  isMergeCell = true;
345
+ mergeRowspan = rowspan;
344
346
  tdAttrs.rowspan = rowspan;
345
347
  }
346
348
  if (colspan > 1) {
@@ -358,9 +360,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
358
360
  return null;
359
361
  }
360
362
  if (rowspan > 1) {
363
+ isMergeCell = true;
364
+ mergeRowspan = rowspan;
361
365
  tdAttrs.rowspan = rowspan;
362
366
  }
363
367
  if (colspan > 1) {
368
+ isMergeCell = true;
364
369
  tdAttrs.colspan = colspan;
365
370
  }
366
371
  }
@@ -375,7 +380,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
375
380
  isDirty = $xeTable.isUpdateByRow(row, column.field);
376
381
  }
377
382
  const isVNAutoHeight = scrollYLoad && !hasEllipsis;
378
- const cellHeight = rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
383
+ let cellHeight = (0, _util.getCellRestHeight)(rowRest, cellOpts, rowOpts, defaultRowHeight);
379
384
  const isLastColumn = $columnIndex === columns.length - 1;
380
385
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
381
386
  let isVNPreEmptyStatus = false;
@@ -388,6 +393,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
388
393
  }
389
394
  }
390
395
  }
396
+ if (mergeRowspan > 1) {
397
+ const mEndRow = afterFullData[_rowIndex + mergeRowspan - 1];
398
+ if (mEndRow) {
399
+ const meRowRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, mEndRow)];
400
+ if (meRowRest) {
401
+ cellHeight += meRowRest.oTop - rowRest.oTop + (0, _util.getCellRestHeight)(meRowRest, cellOpts, rowOpts, defaultRowHeight);
402
+ }
403
+ }
404
+ }
391
405
  const tcStyle = {};
392
406
  if (hasEllipsis && resizeWidthFlag) {
393
407
  let tsColspan = tdAttrs.colspan || 0;
@@ -419,7 +433,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
419
433
  }));
420
434
  } else {
421
435
  // 渲染单元格
422
- tdVNs.push(...renderLine(rowid, cellParams, cellHeight), (0, _vue.h)('div', {
436
+ if (treeConfig) {
437
+ tdVNs.push(...renderLine(rowid, cellParams, cellHeight));
438
+ }
439
+ tdVNs.push((0, _vue.h)('div', {
423
440
  key: 'tc',
424
441
  class: ['vxe-cell', {
425
442
  'c--title': showTitle,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let Ge=(0,_vue.inject)("$xeTable",{}),{xID:z,props:We,context:$,reactData:Pe,internalData:Ve}=Ge,{computeEditOpts:Xe,computeMouseOpts:Ke,computeCellOffsetWidth:Ye,computeAreaOpts:Je,computeDefaultRowHeight:Qe,computeEmptyOpts:A,computeTooltipOpts:Ze,computeRadioOpts:e,computeExpandOpts:oe,computeTreeOpts:p,computeCheckboxOpts:el,computeCellOpts:ll,computeValidOpts:tl,computeRowOpts:al,computeColumnOpts:rl,computeRowDragOpts:ol,computeColumnDragOpts:l,computeResizableOpts:il,computeVirtualXOpts:sl,computeVirtualYOpts:dl}=Ge.getComputeMaps(),q=(0,_vue.ref)(),F=(0,_vue.ref)(),H=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),nl=()=>{var e=We.delayHover,{lastScrollTime:l,isDragResize:t}=Pe;return!!(t||l&&Date.now()<l+e)},ul=(e,l,t)=>{var{row:a,column:r}=l,o=Ve.afterFullData,i=We.treeConfig,s=p.value,{slots:r,treeNode:n}=r,d=Ve.fullAllDataRowIdData;if(r&&r.line)return Ge.callSlot(r.line,l);r=d[e];let u=0,c=null;return r&&(u=r.level,c=r.items[r.treeIndex-1]),i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${Ge.eqRow(o[0],a)?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(Ge):0)+16+"px"}})])]:[]},se=(q,e,l,F,H,t,a,U,r,o,L,j,i)=>{var s=Ge.xeGrid,{columnKey:N,resizable:n,showOverflow:d,border:B,height:u,treeConfig:G,cellClassName:W,cellStyle:P,align:V,spanMethod:X,mouseConfig:K,editConfig:Y,editRules:c,tooltipConfig:p,padding:v}=We,{tableData:g,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:x,mergeBodyFlag:le,calcCellHeightFlag:h,resizeHeightFlag:m,resizeWidthFlag:te,editStore:ae,isAllOverflow:re,validErrorMaps:w}=Pe,{fullAllDataRowIdData:f,fullColumnIdData:_,mergeBodyCellMaps:oe,visibleColumn:ie,afterFullData:se,mergeBodyList:ne,scrollXStore:de,scrollYStore:ue}=Ve,ce=ll.value,b=tl.value,pe=el.value,ve=Xe.value,y=Ze.value,ge=il.value,xe=sl.value,he=dl.value,{isAllColumnDrag:ge,isAllRowDrag:me}=ge,C=al.value,D=ol.value,we=Qe.value,h=h?ce.height||C.height:0,{disabledMethod:R,isCrossDrag:fe,isPeerDrag:_e}=D,be=rl.value,ye=Ke.value,Ce=Je.value,De=Ye.value,Ce=Ce.selectCellToRow,{type:Re,cellRender:Ee,editRender:Oe,align:Ie,showOverflow:Se,className:Me,treeNode:ke,rowResize:Te,padding:E,verticalAlign:O,slots:ze}=o,I=ce.verticalAlign,ae=ae.actived,f=f[e]||{},S=o.id,_=_[S]||{},M=Oe||Ee,M=M?renderer.get(M.name):null,$e=M?M.tableCellClassName||M.cellClassName:null,Ae=M?M.tableCellStyle||M.cellStyle:"";let qe=y.showAll;var Fe=_.index,y=_._index,_=(0,_utils.isEnableConf)(Oe),m=m?f.resizeHeight:0;let k=l?o.fixed!==l:o.fixed&&Q;Q=_xeUtils.default.eqNull(E)?null===v?ce.padding:v:E,v=_xeUtils.default.eqNull(Se)?d:Se,E="ellipsis"===v;let T="title"===v,z=!0===v||"tooltip"===v;d=re||T||z||E,Se=_xeUtils.default.isBoolean(o.resizable)?o.resizable:be.resizable||n,v=!!h,n=0<m;let He;h={},m=Ie||(M?M.tableCellAlign:"")||V,Ie=_xeUtils.default.eqNull(O)?I:O,M=w[e+":"+S],V=c&&b.showMessage&&("default"===b.message?u||1<g.length:"inline"===b.message),I={colid:S};let $={$table:Ge,$grid:s,isEdit:!1,seq:q,rowid:e,row:t,rowIndex:a,$rowIndex:U,_rowIndex:r,column:o,columnIndex:Fe,$columnIndex:L,_columnIndex:y,fixed:l,type:renderType,isHidden:!!k,level:H,visibleData:se,data:g,items:i},A=!1,Ue=!1,Le=((A=C.drag?"row"===D.trigger||o.dragSort&&"cell"===D.trigger:A)&&(Ue=!(!R||!R($))),(T||z||qe||p)&&(h.onMouseenter=e=>{nl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(z||qe)&&Ge.triggerBodyTooltipEvent(e,$),Ge.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e))}),(z||qe||p)&&(h.onMouseleave=e=>{nl()||((z||qe)&&Ge.handleTargetLeaveEvent(e),Ge.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e))}),(A||pe.range||K)&&(h.onMousedown=e=>{Ge.triggerCellMousedownEvent(e,$)}),A&&(h.onMouseup=Ge.triggerCellMouseupEvent),h.onClick=e=>{Ge.triggerCellClickEvent(e,$)},!(h.onDblclick=e=>{Ge.triggerCellDblclickEvent(e,$)}));if(le&&ne.length){O=oe[r+":"+y];if(O){var{rowspan:w,colspan:c}=O;if(!w||!c)return null;1<w&&(Le=!0,I.rowspan=w),1<c&&(Le=!0,I.colspan=c)}}else if(X){var{rowspan:u=1,colspan:s=1}=X($)||{};if(!u||!s)return null;1<u&&(I.rowspan=u),1<s&&(I.colspan=s)}!(k=k&&Le&&(1<I.colspan||1<I.rowspan)?!1:k)&&Y&&(Oe||Ee)&&(ve.showStatus||ve.showUpdateStatus)&&(He=Ge.isUpdateByRow(t,o.field));q=x&&!d,a=f.resizeHeight||ce.height||C.height||f.height||we,U=L===j.length-1,se=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let je=!1;Le||J&&(0,_util.getRowid)(Ge,J)===e||(x&&!G&&!he.immediate&&(r<ue.visibleStartIndex-ue.preloadSize||r>ue.visibleEndIndex+ue.preloadSize)||ee&&!xe.immediate&&!o.fixed&&(y<de.visibleStartIndex-de.preloadSize||y>de.visibleEndIndex+de.preloadSize))&&(je=!0);g={};if(d&&te){let l=I.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ne=ie[Fe+e];Ne&&(l+=Ne.renderWidth)}g.width=o.renderWidth-De*l+"px"}x||d||v||n?g.height=a+"px":g.minHeight=a+"px";i=[];k&&re?i.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g})):(i.push(...ul(e,$,a),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g,title:T?Ge.getCellLabel(t,o):null},je?[]:[(0,_vue.h)("div",{colid:S,rowid:e,class:"vxe-cell--wrapper"},o.renderCell($))])),V&&M&&(D=M.rule,R=ze?ze.valid:null,p=Object.assign(Object.assign(Object.assign({},$),M),{rule:M}),i.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(b.className,p)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[R?Ge.callSlot(R,p):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},M.content)]])]))));let Be=!1;return K&&ye.area&&Ce&&((y||!0!==Ce)&&Ce!==o.field||(Be=!0)),!k&&Se&&ge&&i.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!B||"none"===B}],onMousedown:e=>Ge.handleColResizeMousedownEvent(e,l,$),onDblclick:e=>Ge.handleColResizeDblclickEvent(e,$)})),(Te||me)&&C.resizable&&i.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Ge.handleRowResizeMousedownEvent(e,$),onDblclick:e=>Ge.handleRowResizeDblclickEvent(e,$)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",S,Ie?"col--vertical-"+Ie:"",m?"col--"+m:"",Re?"col--"+Re:"",{"col--last":U,"col--tree-node":ke,"col--edit":_,"col--ellipsis":d,"col--cs-height":v,"col--rs-height":n,"col--to-row":Be,"col--auto-height":q,"fixed--width":!se,"fixed--hidden":k,"is--padding":Q,"is--progress":k&&re||je,"is--drag-cell":A&&(fe||_e||!H),"is--drag-disabled":Ue,"col--dirty":He,"col--active":Y&&_&&ae.row===t&&(ae.column===o||"row"===ve.mode),"col--valid-error":!!M,"col--current":Z===o},(0,_dom.getPropClass)($e,$),(0,_dom.getPropClass)(Me,$),(0,_dom.getPropClass)(W,$)],key:N||ee||x||be.useKey||C.useKey||be.drag?S:L},I),{style:Object.assign({},_xeUtils.default.isFunction(Ae)?Ae($):Ae,_xeUtils.default.isFunction(P)?P($):P)}),h),F&&k?[]:i)},ie=(h,m,w,f)=>{let _=Ge.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:D,rowStyle:R,editConfig:E,treeConfig:O}=We,{hasFixedColumn:I,treeExpandedFlag:S,isColLoading:M,scrollXLoad:k,scrollYLoad:T,isAllOverflow:z,rowExpandedFlag:$,expandColumn:A,selectRadioRow:q,pendingRowFlag:F,isDragColMove:H,rowExpandHeightFlag:U,isRowGroupStatus:L}=Pe,{fullAllDataRowIdData:j,fullColumnIdData:N,treeExpandedMaps:B,pendingRowMaps:G,rowExpandedMaps:W}=Ve,Q=el.value,Z=e.value,P=p.value,V=Xe.value,X=al.value,K=rl.value,ee=l.value,{transform:Y,seqMode:le}=P,te=P.children||P.childrenField,J=[],ae=(0,_util.createHandleGetRowId)(Ge).handleGetRowId,re=O||L;return w.forEach((a,r)=>{let o=ae(a);var i=j[o]||{};let s=r,n=0,d=-1,u=-1;var c=L&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{nl()||Ge.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{nl()||Ge.clearHoverRow()}),i&&(n=i.level,d=c||O&&Y&&"increasing"===le?i._index+1:i.seq,s=i.index,u=i._index),{$table:Ge,seq:d,rowid:o,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:r,_rowIndex:u}),g=A&&!!$&&!!W[o];let e=!1,l=[],t=!1;E&&(t=Ge.isInsertByRow(a)),!O||T||Y||(l=a[te],e=!!S&&l&&0<l.length&&!!B[o]),!X.drag||L||O&&!Y||(p.onDragstart=Ge.handleRowDragDragstartEvent,p.onDragend=Ge.handleRowDragDragendEvent,p.onDragover=Ge.handleRowDragDragoverEvent);c=["vxe-body--row",re?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(V.showStatus||V.showInsertStatus),"row--radio":Z.highlight&&Ge.eqRow(q,a),"row--checked":Q.highlight&&Ge.isCheckedByCheckboxRow(a),"row--pending":!!F&&!!G[o],"row--group":c},(0,_dom.getPropClass)(D,v)];let x=f.map((e,l)=>se(d,o,h,m,n,a,s,r,u,e,l,f,w));if(J.push(!M&&K.drag&&ee.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(H?"":"-disabled"),tag:"tr",class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||k||T||X.useKey||X.drag||K.drag||L||O?o:r},p),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||k||T||X.useKey||X.drag||K.drag||L||O?o:r},p),x)),g){var{height:c,padding:v,mode:p}=oe.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:f.length,style:{height:`${U?i.expandHeight||c:0}px`}})]));else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=n*P.indent+30+"px"),A||{}).showOverflow,i=A.id,i=N[i]||{},p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);i={$grid:_,$table:Ge,seq:d,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:o,rowIndex:s,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!I,"col--ellipsis":p}],colspan:f.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[A.renderData(i)])])]))}}e&&J.push(...ie(h,m,l,f))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ve.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=q,l[e+"scroll"]=F,l[e+"table"]=H,l[e+"colgroup"]=U,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ve.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});return()=>{var e=$.slots,l=Ge.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:r}=T;var{spanMethod:o,footerSpanMethod:i,mouseConfig:s}=We,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,isDragRowMove:h,expandColumn:m,dragRow:w,dragCol:f}=Pe,{visibleColumn:_,fullAllDataRowIdData:b,fullColumnIdData:y}=Ve,C=al.value,D=A.value,R=Ke.value,E=ol.value,O=oe.value;let I=d,S=r,M=!1;!(v||g||x)||m&&"fixed"!==O.mode||o||i||(M=!0),c||!a&&p||(S=_),a&&M&&(S=t||[]),g&&w&&2<I.length&&(d=b[(0,_util.getRowid)(Ge,w)])&&(x=d._index,m=I[0],O=I[I.length-1],o=b[(0,_util.getRowid)(Ge,m)],i=b[(0,_util.getRowid)(Ge,O)],o)&&i&&(p=o._index,_=i._index,x<p?I=[w].concat(I):_<x&&(I=I.concat([w]))),a||n||v&&f&&2<S.length&&(g=y[f.id])&&(d=g._index,m=S[0],b=S[S.length-1],O=y[m.id],o=y[b.id],O)&&o&&(i=O._index,p=o._index,d<i?S=[f].concat(S):p<d&&(S=S.concat([f])));let k;_=e?e.empty:null,k=_?Ge.callSlot(_,{$table:Ge,$grid:l}):(w=(x=D.name?renderer.get(D.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(w(D,{$table:Ge})):We.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Ge.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:q,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:F,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Ge):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:H,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0,xvm:M?"1":null},[(0,_vue.h)("colgroup",{ref:U},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(h?"":"-disabled"),tag:"tbody"},{default:()=>ie(a,M,I,S)}):(0,_vue.h)("tbody",{ref:L},ie(a,M,I,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Ge.triggerCellAreaExtendMousedownEvent&&Ge.triggerCellAreaExtendMousedownEvent(e,{$table:Ge,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Ge),a?renderEmptyElement(Ge):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},k)])])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(k){let Ve=(0,_vue.inject)("$xeTable",{}),{xID:z,props:Xe,context:$,reactData:Ke,internalData:Ye}=Ve,{computeEditOpts:Je,computeMouseOpts:Qe,computeCellOffsetWidth:Ze,computeAreaOpts:el,computeDefaultRowHeight:ll,computeEmptyOpts:A,computeTooltipOpts:tl,computeRadioOpts:e,computeExpandOpts:re,computeTreeOpts:p,computeCheckboxOpts:al,computeCellOpts:ol,computeValidOpts:rl,computeRowOpts:il,computeColumnOpts:sl,computeRowDragOpts:nl,computeColumnDragOpts:l,computeResizableOpts:dl,computeVirtualXOpts:ul,computeVirtualYOpts:pl}=Ve.getComputeMaps(),q=(0,_vue.ref)(),H=(0,_vue.ref)(),F=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),cl=()=>{var e=Xe.delayHover,{lastScrollTime:l,isDragResize:t}=Ke;return!!(t||l&&Date.now()<l+e)},vl=(e,l,t)=>{var{row:a,column:o}=l,r=Ye.afterFullData,i=Xe.treeConfig,s=p.value,{slots:o,treeNode:n}=o,d=Ye.fullAllDataRowIdData;if(o&&o.line)return Ve.callSlot(o.line,l);o=d[e];let u=0,c=null;return o&&(u=o.level,c=o.items[o.treeIndex-1]),i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${Ve.eqRow(r[0],a)?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(Ve):0)+16+"px"}})])]:[]},se=(q,e,l,H,F,t,U,L,a,o,j,N,r)=>{var i=Ve.xeGrid,{columnKey:B,resizable:s,showOverflow:n,border:G,height:d,treeConfig:W,cellClassName:P,cellStyle:V,align:X,spanMethod:K,mouseConfig:Y,editConfig:J,editRules:u,tooltipConfig:c,padding:p}=Xe,{tableData:v,dragRow:Q,overflowX:Z,currentColumn:ee,scrollXLoad:le,scrollYLoad:g,mergeBodyFlag:te,calcCellHeightFlag:x,resizeHeightFlag:h,resizeWidthFlag:ae,editStore:oe,isAllOverflow:re,validErrorMaps:m}=Ke,{fullAllDataRowIdData:ie,fullColumnIdData:w,mergeBodyCellMaps:se,visibleColumn:ne,afterFullData:de,mergeBodyList:ue,scrollXStore:ce,scrollYStore:pe}=Ye,_=ol.value,f=rl.value,ve=al.value,ge=Je.value,b=tl.value,xe=dl.value,he=ul.value,me=pl.value,{isAllColumnDrag:xe,isAllRowDrag:we}=xe,y=il.value,C=nl.value,_e=ll.value,x=x?_.height||y.height:0,{disabledMethod:R,isCrossDrag:fe,isPeerDrag:be}=C,ye=sl.value,Ce=Qe.value,Re=el.value,De=Ze.value,Re=Re.selectCellToRow,{type:Ee,cellRender:Oe,editRender:Ie,align:Se,showOverflow:Me,className:Te,treeNode:ke,rowResize:ze,padding:D,verticalAlign:E,slots:$e}=o,O=_.verticalAlign,oe=oe.actived,Ae=ie[e]||{},I=o.id,w=w[I]||{},S=Ie||Oe,S=S?renderer.get(S.name):null,qe=S?S.tableCellClassName||S.cellClassName:null,He=S?S.tableCellStyle||S.cellStyle:"";let Fe=b.showAll;var Ue=w.index,b=w._index,w=(0,_utils.isEnableConf)(Ie),h=h?Ae.resizeHeight:0;let M=l?o.fixed!==l:o.fixed&&Z;Z=_xeUtils.default.eqNull(D)?null===p?_.padding:p:D,p=_xeUtils.default.eqNull(Me)?n:Me,D="ellipsis"===p;let T="title"===p,k=!0===p||"tooltip"===p;n=re||T||k||D,Me=_xeUtils.default.isBoolean(o.resizable)?o.resizable:ye.resizable||s,p=!!x,s=0<h;let Le;x={},h=Se||(S?S.tableCellAlign:"")||X,Se=_xeUtils.default.eqNull(E)?O:E,S=m[e+":"+I],X=u&&f.showMessage&&("default"===f.message?d||1<v.length:"inline"===f.message),O={colid:I};let z={$table:Ve,$grid:i,isEdit:!1,seq:q,rowid:e,row:t,rowIndex:U,$rowIndex:L,_rowIndex:a,column:o,columnIndex:Ue,$columnIndex:j,_columnIndex:b,fixed:l,type:renderType,isHidden:!!M,level:F,visibleData:de,data:v,items:r},$=!1,je=!1,A=(($=y.drag?"row"===C.trigger||o.dragSort&&"cell"===C.trigger:$)&&(je=!(!R||!R(z))),(T||k||Fe||c)&&(x.onMouseenter=e=>{cl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(k||Fe)&&Ve.triggerBodyTooltipEvent(e,z),Ve.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},z),e))}),(k||Fe||c)&&(x.onMouseleave=e=>{cl()||((k||Fe)&&Ve.handleTargetLeaveEvent(e),Ve.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},z),e))}),($||ve.range||Y)&&(x.onMousedown=e=>{Ve.triggerCellMousedownEvent(e,z)}),$&&(x.onMouseup=Ve.triggerCellMouseupEvent),x.onClick=e=>{Ve.triggerCellClickEvent(e,z)},!(x.onDblclick=e=>{Ve.triggerCellDblclickEvent(e,z)})),Ne=1;if(te&&ue.length){E=se[a+":"+b];if(E){var{rowspan:m,colspan:u}=E;if(!m||!u)return null;1<m&&(A=!0,Ne=m,O.rowspan=m),1<u&&(A=!0,O.colspan=u)}}else if(K){var{rowspan:d=1,colspan:i=1}=K(z)||{};if(!d||!i)return null;1<d&&(A=!0,Ne=d,O.rowspan=d),1<i&&(A=!0,O.colspan=i)}!(M=M&&A&&(1<O.colspan||1<O.rowspan)?!1:M)&&J&&(Ie||Oe)&&(ge.showStatus||ge.showUpdateStatus)&&(Le=Ve.isUpdateByRow(t,o.field));q=g&&!n;let Be=(0,_util.getCellRestHeight)(Ae,_,y,_e);U=j===N.length-1,L=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let Ge=!1;A||Q&&(0,_util.getRowid)(Ve,Q)===e||(g&&!W&&!me.immediate&&(a<pe.visibleStartIndex-pe.preloadSize||a>pe.visibleEndIndex+pe.preloadSize)||le&&!he.immediate&&!o.fixed&&(b<ce.visibleStartIndex-ce.preloadSize||b>ce.visibleEndIndex+ce.preloadSize))&&(Ge=!0),1<Ne&&(v=de[a+Ne-1])&&(r=ie[(0,_util.getRowid)(Ve,v)])&&(Be+=r.oTop-Ae.oTop+(0,_util.getCellRestHeight)(r,_,y,_e));C={};if(n&&ae){let l=O.colspan||0;if(1<l)for(let e=1;e<l;e++){var We=ne[Ue+e];We&&(l+=We.renderWidth)}C.width=o.renderWidth-De*l+"px"}g||n||p||s?C.height=Be+"px":C.minHeight=Be+"px";R=[];M&&re?R.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:C})):(W&&R.push(...vl(e,z,Be)),R.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:C,title:T?Ve.getCellLabel(t,o):null},Ge?[]:[(0,_vue.h)("div",{colid:I,rowid:e,class:"vxe-cell--wrapper"},o.renderCell(z))])),X&&S&&(c=S.rule,ve=$e?$e.valid:null,te=Object.assign(Object.assign(Object.assign({},z),S),{rule:S}),R.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,te)],style:c&&c.maxWidth?{width:c.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[ve?Ve.callSlot(ve,te):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let Pe=!1;return Y&&Ce.area&&Re&&((b||!0!==Re)&&Re!==o.field||(Pe=!0)),!M&&Me&&xe&&R.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!G||"none"===G}],onMousedown:e=>Ve.handleColResizeMousedownEvent(e,l,z),onDblclick:e=>Ve.handleColResizeDblclickEvent(e,z)})),(ze||we)&&y.resizable&&R.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Ve.handleRowResizeMousedownEvent(e,z),onDblclick:e=>Ve.handleRowResizeDblclickEvent(e,z)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",I,Se?"col--vertical-"+Se:"",h?"col--"+h:"",Ee?"col--"+Ee:"",{"col--last":U,"col--tree-node":ke,"col--edit":w,"col--ellipsis":n,"col--cs-height":p,"col--rs-height":s,"col--to-row":Pe,"col--auto-height":q,"fixed--width":!L,"fixed--hidden":M,"is--padding":Z,"is--progress":M&&re||Ge,"is--drag-cell":$&&(fe||be||!F),"is--drag-disabled":je,"col--dirty":Le,"col--active":J&&w&&oe.row===t&&(oe.column===o||"row"===ge.mode),"col--valid-error":!!S,"col--current":ee===o},(0,_dom.getPropClass)(qe,z),(0,_dom.getPropClass)(Te,z),(0,_dom.getPropClass)(P,z)],key:B||le||g||ye.useKey||y.useKey||ye.drag?I:j},O),{style:Object.assign({},_xeUtils.default.isFunction(He)?He(z):He,_xeUtils.default.isFunction(V)?V(z):V)}),x),H&&M?[]:R)},ie=(h,m,w,_)=>{let f=Ve.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:R,rowStyle:D,editConfig:E,treeConfig:O}=Xe,{hasFixedColumn:I,treeExpandedFlag:S,isColLoading:M,scrollXLoad:T,scrollYLoad:k,isAllOverflow:z,rowExpandedFlag:$,expandColumn:A,selectRadioRow:q,pendingRowFlag:H,isDragColMove:F,rowExpandHeightFlag:U,isRowGroupStatus:L}=Ke,{fullAllDataRowIdData:j,fullColumnIdData:N,treeExpandedMaps:B,pendingRowMaps:G,rowExpandedMaps:W}=Ye,Q=al.value,Z=e.value,P=p.value,V=Je.value,X=il.value,K=sl.value,ee=l.value,{transform:Y,seqMode:le}=P,te=P.children||P.childrenField,J=[],ae=(0,_util.createHandleGetRowId)(Ve).handleGetRowId,oe=O||L;return w.forEach((a,o)=>{let r=ae(a);var i=j[r]||{};let s=o,n=0,d=-1,u=-1;var c=L&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{cl()||Ve.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{cl()||Ve.clearHoverRow()}),i&&(n=i.level,d=c||O&&Y&&"increasing"===le?i._index+1:i.seq,s=i.index,u=i._index),{$table:Ve,seq:d,rowid:r,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:o,_rowIndex:u}),g=A&&!!$&&!!W[r];let e=!1,l=[],t=!1;E&&(t=Ve.isInsertByRow(a)),!O||k||Y||(l=a[te],e=!!S&&l&&0<l.length&&!!B[r]),!X.drag||L||O&&!Y||(p.onDragstart=Ve.handleRowDragDragstartEvent,p.onDragend=Ve.handleRowDragDragendEvent,p.onDragover=Ve.handleRowDragDragoverEvent);c=["vxe-body--row",oe?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(V.showStatus||V.showInsertStatus),"row--radio":Z.highlight&&Ve.eqRow(q,a),"row--checked":Q.highlight&&Ve.isCheckedByCheckboxRow(a),"row--pending":!!H&&!!G[r],"row--group":c},(0,_dom.getPropClass)(R,v)];let x=_.map((e,l)=>se(d,r,h,m,n,a,s,o,u,e,l,_,w));if(J.push(!M&&K.drag&&ee.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(F?"":"-disabled"),tag:"tr",class:c,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:y||T||k||X.useKey||X.drag||K.drag||L||O?r:o},p),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:c,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:y||T||k||X.useKey||X.drag||K.drag||L||O?r:o},p),x)),g){var{height:c,padding:v,mode:p}=re.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${U?i.expandHeight||c:0}px`}})]));else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=n*P.indent+30+"px"),A||{}).showOverflow,i=A.id,i=N[i]||{},p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);i={$grid:f,$table:Ve,seq:d,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:r,rowIndex:s,$rowIndex:o,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!I,"col--ellipsis":p}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[A.renderData(i)])])]))}}e&&J.push(...ie(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=k.fixedType,l=Ye.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=q,l[e+"scroll"]=H,l[e+"table"]=F,l[e+"colgroup"]=U,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=k.fixedType,l=Ye.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});return()=>{var e=$.slots,l=Ve.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:o}=k;var{spanMethod:r,footerSpanMethod:i,mouseConfig:s}=Xe,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,isDragRowMove:h,expandColumn:m,dragRow:w,dragCol:_}=Ke,{visibleColumn:f,fullAllDataRowIdData:b,fullColumnIdData:y}=Ye,C=il.value,R=A.value,D=Qe.value,E=nl.value,O=re.value;let I=d,S=o,M=!1;!(v||g||x)||m&&"fixed"!==O.mode||r||i||(M=!0),c||!a&&p||(S=f),a&&M&&(S=t||[]),g&&w&&2<I.length&&(d=b[(0,_util.getRowid)(Ve,w)])&&(x=d._index,m=I[0],O=I[I.length-1],r=b[(0,_util.getRowid)(Ve,m)],i=b[(0,_util.getRowid)(Ve,O)],r)&&i&&(p=r._index,f=i._index,x<p?I=[w].concat(I):f<x&&(I=I.concat([w]))),a||n||v&&_&&2<S.length&&(g=y[_.id])&&(d=g._index,m=S[0],b=S[S.length-1],O=y[m.id],r=y[b.id],O)&&r&&(i=O._index,p=r._index,d<i?S=[_].concat(S):p<d&&(S=S.concat([_])));let T;f=e?e.empty:null,T=f?Ve.callSlot(f,{$table:Ve,$grid:l}):(w=(x=R.name?renderer.get(R.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(w(R,{$table:Ve})):Xe.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Ve.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:q,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:H,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Ve):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:F,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0,xvm:M?"1":null},[(0,_vue.h)("colgroup",{ref:U},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(h?"":"-disabled"),tag:"tbody"},{default:()=>ie(a,M,I,S)}):(0,_vue.h)("tbody",{ref:L},ie(a,M,I,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&D.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},D.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Ve.triggerCellAreaExtendMousedownEvent&&Ve.triggerCellAreaExtendMousedownEvent(e,{$table:Ve,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Ve),a?renderEmptyElement(Ve):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},T)])])])}}});
@@ -347,15 +347,15 @@ function renderCellHandle(params) {
347
347
  const {
348
348
  computeEditOpts,
349
349
  computeCheckboxOpts,
350
- computeRowGroupOpts
350
+ computeAggregateOpts
351
351
  } = $table.getComputeMaps();
352
- const rowGroupOpts = computeRowGroupOpts.value;
352
+ const aggregateOpts = computeAggregateOpts.value;
353
353
  const {
354
354
  mode
355
- } = rowGroupOpts;
355
+ } = aggregateOpts;
356
356
  const checkboxOpts = computeCheckboxOpts.value;
357
357
  const editOpts = computeEditOpts.value;
358
- const isDeepCell = treeNode || isRowGroupStatus && row.isAggregate && (mode === 'column' ? column.field === row.groupField : rowGroupNode);
358
+ const isDeepCell = treeNode || isRowGroupStatus && (mode === 'column' ? column.field === row.groupField : rowGroupNode);
359
359
  switch (type) {
360
360
  case 'seq':
361
361
  return isDeepCell ? Cell.renderDeepIndexCell(params) : Cell.renderSeqCell(params);
@@ -482,7 +482,8 @@ const Cell = exports.Cell = {
482
482
  slots,
483
483
  editRender,
484
484
  cellRender,
485
- rowGroupNode
485
+ rowGroupNode,
486
+ aggFunc
486
487
  } = column;
487
488
  const renderOpts = editRender || cellRender;
488
489
  const defaultSlot = slots ? slots.default : null;
@@ -503,51 +504,61 @@ const Cell = exports.Cell = {
503
504
  }
504
505
  }
505
506
  let cellValue = '';
506
- if (isRowGroupStatus && row.isAggregate) {
507
+ if (isRowGroupStatus && field && row.isAggregate) {
508
+ const aggRow = row;
507
509
  const {
508
510
  fullColumnFieldData
509
511
  } = tableInternalData;
510
512
  const {
511
- computeRowGroupOpts
513
+ computeAggregateOpts
512
514
  } = $table.getComputeMaps();
513
- const rowGroupOpts = computeRowGroupOpts.value;
515
+ const aggregateOpts = computeAggregateOpts.value;
514
516
  const {
515
517
  mode,
516
518
  showTotal,
517
519
  totalMethod,
518
520
  countFields,
519
- countMethod,
520
521
  contentMethod,
521
522
  mapChildrenField
522
- } = rowGroupOpts;
523
- const groupField = row.groupField;
524
- const groupContent = row.groupContent;
525
- const childList = mapChildrenField ? row[mapChildrenField] || [] : [];
526
- const totalValue = row.childCount;
523
+ } = aggregateOpts;
524
+ const aggMethod = aggregateOpts.aggregateMethod || aggregateOpts.countMethod;
525
+ const groupField = aggRow.groupField;
526
+ const groupContent = aggRow.groupContent;
527
+ const childList = mapChildrenField ? aggRow[mapChildrenField] || [] : [];
528
+ const childCount = aggRow.childCount;
527
529
  const colRest = fullColumnFieldData[groupField] || {};
528
- const params = {
530
+ const ctParams = {
529
531
  $table,
530
532
  groupField,
531
533
  groupColumn: colRest ? colRest.column : null,
532
534
  column,
533
535
  groupValue: groupContent,
534
536
  children: childList,
535
- totalValue: totalValue
537
+ childCount,
538
+ aggValue: null,
539
+ /**
540
+ * 已废弃
541
+ * @deprecated
542
+ */
543
+ totalValue: childCount
536
544
  };
537
- if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
545
+ if (mode === 'column' ? field === aggRow.groupField : rowGroupNode) {
538
546
  cellValue = groupContent;
539
547
  if (contentMethod) {
540
- cellValue = `${contentMethod(params)}`;
548
+ cellValue = `${contentMethod(ctParams)}`;
541
549
  }
542
550
  if (showTotal) {
543
- cellValue = getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(params) : totalValue, totalValue]);
551
+ cellValue = getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(ctParams) : childCount, childCount]);
544
552
  }
545
- } else if (countFields && countFields.includes(field)) {
546
- if (countMethod) {
547
- cellValue = `${countMethod(params)}`;
553
+ } else if ($table.getPivotTableAggregateCellAggValue) {
554
+ cellValue = $table.getPivotTableAggregateCellAggValue(params);
555
+ } else if (aggFunc === true || countFields && countFields.includes(field)) {
556
+ if (aggMethod) {
557
+ ctParams.aggValue = childCount;
558
+ cellValue = `${aggMethod(ctParams)}`;
548
559
  }
549
560
  }
550
- } else if (!(isRowGroupStatus && row.isAggregate)) {
561
+ } else {
551
562
  cellValue = $table.getCellLabel(row, column);
552
563
  }
553
564
  const cellPlaceholder = editRender ? editRender.placeholder : '';
@@ -579,7 +590,7 @@ const Cell = exports.Cell = {
579
590
  level
580
591
  } = params;
581
592
  const {
582
- computeRowGroupOpts
593
+ computeAggregateOpts
583
594
  } = $table.getComputeMaps();
584
595
  const {
585
596
  rowGroupExpandedFlag
@@ -587,11 +598,11 @@ const Cell = exports.Cell = {
587
598
  const {
588
599
  rowGroupExpandedMaps
589
600
  } = tableInternalData;
590
- const rowGroupOpts = computeRowGroupOpts.value;
601
+ const aggregateOpts = computeAggregateOpts.value;
591
602
  const {
592
603
  padding,
593
604
  indent
594
- } = rowGroupOpts;
605
+ } = aggregateOpts;
595
606
  const rowid = (0, _util.getRowid)($table, row);
596
607
  const isExpand = !!rowGroupExpandedFlag && !!rowGroupExpandedMaps[rowid];
597
608
  return (0, _vue.h)('div', {
@@ -601,14 +612,14 @@ const Cell = exports.Cell = {
601
612
  style: padding && indent ? {
602
613
  paddingLeft: `${level * indent}px`
603
614
  } : undefined
604
- }, [(0, _vue.h)('span', {
615
+ }, [row.isAggregate ? (0, _vue.h)('span', {
605
616
  class: 'vxe-row-group--node-btn',
606
617
  onClick(evnt) {
607
618
  $table.triggerRowGroupExpandEvent(evnt, params);
608
619
  }
609
620
  }, [(0, _vue.h)('i', {
610
621
  class: isExpand ? getIcon().TABLE_ROW_GROUP_OPEN : getIcon().TABLE_ROW_GROUP_CLOSE
611
- })]), (0, _vue.h)('div', {
622
+ })]) : renderEmptyElement($table), (0, _vue.h)('div', {
612
623
  class: 'vxe-row-group-cell'
613
624
  }, cellVNodes)]);
614
625
  },
@@ -708,14 +719,18 @@ const Cell = exports.Cell = {
708
719
  const {
709
720
  rowGroupNode
710
721
  } = column;
711
- if (row.isAggregate) {
722
+ const tableReactData = $table.reactData;
723
+ const {
724
+ rowGroupList
725
+ } = tableReactData;
726
+ if (rowGroupList.length) {
712
727
  const {
713
- computeRowGroupOpts
728
+ computeAggregateOpts
714
729
  } = $table.getComputeMaps();
715
- const rowGroupOpts = computeRowGroupOpts.value;
730
+ const aggregateOpts = computeAggregateOpts.value;
716
731
  const {
717
732
  mode
718
- } = rowGroupOpts;
733
+ } = aggregateOpts;
719
734
  if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
720
735
  return [Cell.renderRowGroupBtn(params, cellVNodes)];
721
736
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=d,u=u||(o?o.rowVisibleMethod:null),p=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!u||u(e))&&(!a||s.transform&&(i||c||!n))&&p.push(renderCellDragIcon(e)),p.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:p}=d.value;if(!o.drag||!d||u&&!u(t)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(r);{let l=p&&p(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=r;let i=o.value.showAll;o=_xeUtils.default.isUndefined(s)||_xeUtils.default.isNull(s)?n:s;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=t,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(d){r=renderer.get(d.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(c,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:c,computeRowGroupOpts:u}=r.getComputeMaps(),u=u.value.mode,p=c.value,c=r.value,C=d||a&&t.isAggregate&&("column"===u?l.field===t.groupField:s);switch(o){case"seq":return C?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return C?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return p.checkField?C?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):C?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return C?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(n)&&i?"cell"===c.mode?C?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):C?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):C?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,t=t.props.editConfig,{type:l,filters:r,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(r&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(r)return Cell.renderFilterHeader(e)}return t&&a?Cell.renderEditHeader(e):r&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):r?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.reactData,a=l.internalData,n=n.isRowGroupStatus,{field:o,slots:d,editRender:s,cellRender:i,rowGroupNode:c}=r,i=s||i,d=d?d.default:null;if(d)return renderCellBaseVNs(e,l.callSlot(d,e));if(i){d=renderer.get(i.name);if(d){var u=d.renderTableCell||d.renderCell,d=d.renderTableDefault||d.renderDefault,u=s?u:d;if(u)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(u(i,Object.assign({$type:s?"edit":"cell"},e))))}}let p="";if(n&&t.isAggregate){var d=a.fullColumnFieldData,u=l.getComputeMaps().computeRowGroupOpts,{mode:i,showTotal:a,totalMethod:u,countFields:C,countMethod:v,contentMethod:g,mapChildrenField:h}=u.value,_=t.groupField,b=t.groupContent,h=h&&t[h]||[],E=t.childCount,d=d[_]||{};let e={$table:l,groupField:_,groupColumn:d?d.column:null,column:r,groupValue:b,children:h,totalValue:E};("column"===i?r.field===t.groupField:c)?(p=b,g&&(p=""+g(e)),a&&(p=getI18n("vxe.table.rowGroupContentTotal",[p,u?u(e):E,E]))):C&&C.includes(o)&&v&&(p=""+v(e))}else n&&t.isAggregate||(p=l.getCellLabel(t,r));_=s?s.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[s&&(0,_utils.eqEmptyValue)(p)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(_),1)):(0,_vue.h)("span",(0,_utils.formatText)(p,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeRowGroupOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{padding:d,indent:s}=d.value,a=(0,_util.getRowid)(t,a),r=!!r&&!!n[a];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:d&&s?{paddingLeft:o*s+"px"}:void 0},[(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:c}=a,d=d.value,{padding:u,indent:p,lazy:C,trigger:v,iconLoaded:g,showIcon:h,iconOpen:_,iconClose:b}=d,E=d.children||d.childrenField,d=d.hasChild||d.hasChildField,E=o[E],E=E&&E.length;let m=!1,x=!1,f=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),x=!!n&&!!i[T],C&&(n=a[T],f=!!c[T],m=o[d],D=!!n.treeLoaded)),v&&"default"!==v||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:u&&p?{paddingLeft:s*p+"px"}:void 0},[h&&(!C||D?E:E||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:f?g||getIcon().TABLE_TREE_LOADED:x?_||getIcon().TABLE_TREE_OPEN:b||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode;if(r.isAggregate){t=t.getComputeMaps().computeRowGroupOpts,t=t.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let u=!s||s({$table:t,row:i}),p=!!d,C;r||(C={onClick(e){!p&&u&&t.triggerRadioRowEvent(e,l)}},d&&(p=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:p,visible:u});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?t.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":p}]},C),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:c,headerTitle:u}=o.value,p=t.getTitle(),C={},v=(r||(C.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(v,a?l.callSlot(a,v):(o?c:!1!==c)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(u)?getI18n("vxe.table.allTitle"):""+(u||"")},C),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||p?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,v):p)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,v):p)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,c=t.getComputeMaps().computeCheckboxOpts,{labelField:c,checkMethod:u,visibleMethod:p}=c.value,C=r.slots,v=C?C.default:null,C=C?C.checkbox:null;let g=!1,h=!1,_=!p||p({$table:t,row:e}),b=!!u;var E,p={},o=(!n&&(E=(0,_util.getRowid)(t,e),h=!!o&&!!s[E],p.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!h)},u&&(b=!u({$table:t,row:e})),a||d)&&(g=!!i[E]),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:_,indeterminate:g}));return C?renderCellBaseVNs(l,t.callSlot(C,o)):(s=[],_&&s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||c)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":g,"is--hidden":!_}]},p),s)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,i=t.getComputeMaps().computeCheckboxOpts,i=i.value,{labelField:c,checkField:u,checkMethod:p,visibleMethod:C}=i,i=i.indeterminateField||i.halfField,v=r.slots,g=v?v.default:null,v=v?v.checkbox:null;let h=!1,_=!1,b=!C||C({$table:t,row:e}),E=!!p;var m,C={},o=(!n&&(m=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,u),C.onClick=e=>{!E&&b&&t.triggerCheckRowEvent(e,l,!_)},p&&(E=!p({$table:t,row:e})),a||d)&&(h=!!s[m]),Object.assign(Object.assign({},l),{checked:_,disabled:E,visible:b,indeterminate:h}));return v?renderCellBaseVNs(l,t.callSlot(v,o)):(u=[],b&&(u.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),g||c)&&u.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},g?t.callSlot(g,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":E,"is--indeterminate":i&&!_?e[i]:h,"is--hidden":!b}]},C),u)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:p,iconClose:C,visibleMethod:v}=s.value,g=n.slots,h=g?g.default:null,g=g?g.icon:null;let _=!1,b=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):g?renderCellBaseVNs(l,t.callSlot(g,l)):(e||(a=(0,_util.getRowid)(t,r),_=!!o[a],s&&(b=!!d[a])),renderCellBaseVNs(l,[!u||v&&!v(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",b?c||getIcon().TABLE_EXPAND_LOADED:_?p||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:c}=r.value,u=t.order;return!r||c&&!c(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===u}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===u}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,c=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(r)?[i&&n.showAsterisk?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},[(0,_vue.h)("i",{class:n.icon||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,column:r}=e,{slots:r,editRender:n,formatter:a}=r,o=r?r.default:null,r=r?r.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",r?t.callSlot(r,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,t.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=d,u=u||(o?o.rowVisibleMethod:null),p=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!u||u(e))&&(!a||s.transform&&(i||c||!n))&&p.push(renderCellDragIcon(e)),p.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:p}=d.value;if(!o.drag||!d||u&&!u(t)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(r);{let l=p&&p(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:d,showHeaderOverflow:s}=r;let i=o.value.showAll;o=_xeUtils.default.isUndefined(s)||_xeUtils.default.isNull(s)?n:s;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===d&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=t,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let c="";c=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(d){r=renderer.get(d.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(c,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:c,computeAggregateOpts:u}=r.getComputeMaps(),u=u.value.mode,p=c.value,c=r.value,C=d||a&&("column"===u?l.field===t.groupField:s);switch(o){case"seq":return C?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return C?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return p.checkField?C?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):C?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return C?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(n)&&i?"cell"===c.mode?C?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):C?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):C?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,t=t.props.editConfig,{type:l,filters:r,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(r&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(r)return Cell.renderFilterHeader(e)}return t&&a?Cell.renderEditHeader(e):r&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):r?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var l,t,r,n,a,o,d,{$table:s,row:i,column:c}=e,u=s.reactData,p=s.internalData,u=u.isRowGroupStatus,{field:C,slots:g,editRender:v,cellRender:h,rowGroupNode:_,aggFunc:b}=c,h=v||h,g=g?g.default:null;if(g)return renderCellBaseVNs(e,s.callSlot(g,e));if(h){g=renderer.get(h.name);if(g){var E=g.renderTableCell||g.renderCell,g=g.renderTableDefault||g.renderDefault,E=v?E:g;if(E)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(E(h,Object.assign({$type:v?"edit":"cell"},e))))}}let m="";u&&C&&i.isAggregate?(g=i,E=p.fullColumnFieldData,h=s.getComputeMaps().computeAggregateOpts,{mode:p,showTotal:h,totalMethod:l,countFields:t,contentMethod:r,mapChildrenField:a}=u=h.value,u=u.aggregateMethod||u.countMethod,d=g.groupField,n=g.groupContent,a=a&&g[a]||[],o=g.childCount,d={$table:s,groupField:d,groupColumn:(E=E[d]||{})?E.column:null,column:c,groupValue:n,children:a,childCount:o,aggValue:null,totalValue:o},("column"===p?C===g.groupField:_)?(m=n,r&&(m=""+r(d)),h&&(m=getI18n("vxe.table.rowGroupContentTotal",[m,l?l(d):o,o]))):s.getPivotTableAggregateCellAggValue?m=s.getPivotTableAggregateCellAggValue(e):(!0===b||t&&t.includes(C))&&u&&(d.aggValue=o,m=""+u(d))):m=s.getCellLabel(i,c);E=v?v.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[v&&(0,_utils.eqEmptyValue)(m)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(E),1)):(0,_vue.h)("span",(0,_utils.formatText)(m,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{padding:d,indent:s}=d.value,i=(0,_util.getRowid)(t,a),r=!!r&&!!n[i];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:d&&s?{paddingLeft:o*s+"px"}:void 0},[a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:c}=a,d=d.value,{padding:u,indent:p,lazy:C,trigger:g,iconLoaded:v,showIcon:h,iconOpen:_,iconClose:b}=d,E=d.children||d.childrenField,d=d.hasChild||d.hasChildField,E=o[E],E=E&&E.length;let m=!1,x=!1,f=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),x=!!n&&!!i[T],C&&(n=a[T],f=!!c[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:u&&p?{paddingLeft:s*p+"px"}:void 0},[h&&(!C||D?E:E||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:f?v||getIcon().TABLE_TREE_LOADED:x?_||getIcon().TABLE_TREE_OPEN:b||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let u=!s||s({$table:t,row:i}),p=!!d,C;r||(C={onClick(e){!p&&u&&t.triggerRadioRowEvent(e,l)}},d&&(p=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:p,visible:u});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?t.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":p}]},C),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:c,headerTitle:u}=o.value,p=t.getTitle(),C={},g=(r||(C.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?c:!1!==c)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(u)?getI18n("vxe.table.allTitle"):""+(u||"")},C),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||p?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):p)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):p)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,c=t.getComputeMaps().computeCheckboxOpts,{labelField:c,checkMethod:u,visibleMethod:p}=c.value,C=r.slots,g=C?C.default:null,C=C?C.checkbox:null;let v=!1,h=!1,_=!p||p({$table:t,row:e}),b=!!u;var E,p={},o=(!n&&(E=(0,_util.getRowid)(t,e),h=!!o&&!!s[E],p.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!h)},u&&(b=!u({$table:t,row:e})),a||d)&&(v=!!i[E]),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:_,indeterminate:v}));return C?renderCellBaseVNs(l,t.callSlot(C,o)):(s=[],_&&s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||c)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},g?t.callSlot(g,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":v,"is--hidden":!_}]},p),s)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,i=t.getComputeMaps().computeCheckboxOpts,i=i.value,{labelField:c,checkField:u,checkMethod:p,visibleMethod:C}=i,i=i.indeterminateField||i.halfField,g=r.slots,v=g?g.default:null,g=g?g.checkbox:null;let h=!1,_=!1,b=!C||C({$table:t,row:e}),E=!!p;var m,C={},o=(!n&&(m=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,u),C.onClick=e=>{!E&&b&&t.triggerCheckRowEvent(e,l,!_)},p&&(E=!p({$table:t,row:e})),a||d)&&(h=!!s[m]),Object.assign(Object.assign({},l),{checked:_,disabled:E,visible:b,indeterminate:h}));return g?renderCellBaseVNs(l,t.callSlot(g,o)):(u=[],b&&(u.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||c)&&u.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,o):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":E,"is--indeterminate":i&&!_?e[i]:h,"is--hidden":!b}]},C),u)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:p,iconClose:C,visibleMethod:g}=s.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let _=!1,b=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),_=!!o[a],s&&(b=!!d[a])),renderCellBaseVNs(l,[!u||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",b?c||getIcon().TABLE_EXPAND_LOADED:_?p||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:c}=r.value,u=t.order;return!r||c&&!c(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===u}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===u}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,c=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(r)?[i&&n.showAsterisk?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},[(0,_vue.h)("i",{class:n.icon||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,column:r}=e,{slots:r,editRender:n,formatter:a}=r,o=r?r.default:null,r=r?r.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",r?t.callSlot(r,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,t.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
@@ -128,6 +128,8 @@ const columnProps = exports.columnProps = {
128
128
  editRender: Object,
129
129
  // 内容渲染配置项
130
130
  contentRender: Object,
131
+ // 聚合函数
132
+ aggFunc: [String, Boolean],
131
133
  // 额外的参数
132
134
  params: Object
133
135
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){let o=(0,_vue.ref)(),r=(0,_vue.inject)("$xeTable",null),l=(0,_vue.inject)("$xeColgroup",null);if(!r)return()=>(0,_vue.createCommentVNode)();let n=_cell.default.createColumn(r,e);n.slots=t;var t=()=>(0,_vue.h)("div",{ref:o}),u={columnConfig:n,renderVN:t};return(0,_util.watchColumn)(r,e,n),(0,_vue.onMounted)(()=>{var e=o.value;e&&(0,_util.assembleColumn)(r,e,n,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(r,n)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),t}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,aggFunc:[String,Boolean],params:Object};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){let o=(0,_vue.ref)(),r=(0,_vue.inject)("$xeTable",null),l=(0,_vue.inject)("$xeColgroup",null);if(!r)return()=>(0,_vue.createCommentVNode)();let n=_cell.default.createColumn(r,e);n.slots=t;var t=()=>(0,_vue.h)("div",{ref:o}),u={columnConfig:n,renderVN:t};return(0,_util.watchColumn)(r,e,n),(0,_vue.onMounted)(()=>{var e=o.value;e&&(0,_util.assembleColumn)(r,e,n,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(r,n)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),t}});
@@ -108,6 +108,7 @@ class ColumnInfo {
108
108
  titleHelp: _vm.titleHelp,
109
109
  titlePrefix: _vm.titlePrefix,
110
110
  titleSuffix: _vm.titleSuffix,
111
+ aggFunc: _vm.aggFunc,
111
112
  // 自定义参数
112
113
  params: _vm.params,
113
114
  // 渲染属性
@@ -133,6 +134,7 @@ class ColumnInfo {
133
134
  // 列排序
134
135
  sortNumber: 0,
135
136
  renderSortNumber: 0,
137
+ renderAggFn: '',
136
138
  renderFixed: '',
137
139
  renderVisible: false,
138
140
  renderWidth: 0,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d=e.props,n=e.xeGrid,s=r.formatter,a=!_xeUtils.default.isBoolean(r.visible)||r.visible,u=["seq","checkbox","radio","expand","html"];r.type&&-1===u.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,u.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),"expand"===r.type&&(u=d.treeConfig,d=e.getComputeMaps().computeTreeOpts,e=d.value,u)&&(e.showLine||e.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),s&&(_xeUtils.default.isString(s)?(d=formats.get(s)||_xeUtils.default[s])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s]):!_xeUtils.default.isArray(s)||(u=formats.get(s[0])||_xeUtils.default[s[0]])&&_xeUtils.default.isFunction(u.tableCellFormatMethod||u.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:s,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,rowGroupNode:r.rowGroupNode,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:a,halfVisible:!1,defaultVisible:a,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),n&&(e=n.getComputeMaps().computeProxyOpts,(d=e.value).beforeColumn)&&d.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d=e.props,n=e.xeGrid,s=r.formatter,a=!_xeUtils.default.isBoolean(r.visible)||r.visible,u=["seq","checkbox","radio","expand","html"];r.type&&-1===u.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,u.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),"expand"===r.type&&(u=d.treeConfig,d=e.getComputeMaps().computeTreeOpts,e=d.value,u)&&(e.showLine||e.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),s&&(_xeUtils.default.isString(s)?(d=formats.get(s)||_xeUtils.default[s])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s]):!_xeUtils.default.isArray(s)||(u=formats.get(s[0])||_xeUtils.default[s[0]])&&_xeUtils.default.isFunction(u.tableCellFormatMethod||u.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[s[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:s,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,rowGroupNode:r.rowGroupNode,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,aggFunc:r.aggFunc,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:a,halfVisible:!1,defaultVisible:a,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderAggFn:"",renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),n&&(e=n.getComputeMaps().computeProxyOpts,(d=e.value).beforeColumn)&&d.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
@@ -200,7 +200,9 @@ var _default = exports.default = {
200
200
  footerCellConfig: Object,
201
201
  // 行配置项
202
202
  rowConfig: Object,
203
- // 行分组配置项
203
+ // 数据聚合配置项
204
+ aggregateConfig: Object,
205
+ // 已废弃,被 aggregateConfig 替换
204
206
  rowGroupConfig: Object,
205
207
  // 当前行配置项
206
208
  currentRowConfig: Object,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../ui");let getConfig=_ui.VxeUI.getConfig;var _default=exports.default={id:[String,Function],data:Array,height:[Number,String],minHeight:{type:[Number,String],default:()=>getConfig().table.minHeight},maxHeight:[Number,String],resizable:{type:Boolean,default:()=>getConfig().table.resizable},stripe:{type:Boolean,default:()=>getConfig().table.stripe},border:{type:[Boolean,String],default:()=>getConfig().table.border},padding:{type:Boolean,default:null},round:{type:Boolean,default:()=>getConfig().table.round},size:{type:String,default:()=>getConfig().table.size||getConfig().size},fit:{type:Boolean,default:()=>getConfig().table.fit},loading:Boolean,align:{type:String,default:()=>getConfig().table.align},headerAlign:{type:String,default:()=>getConfig().table.headerAlign},footerAlign:{type:String,default:()=>getConfig().table.footerAlign},showHeader:{type:Boolean,default:()=>getConfig().table.showHeader},highlightCurrentRow:{type:Boolean,default:()=>getConfig().table.highlightCurrentRow},highlightHoverRow:{type:Boolean,default:()=>getConfig().table.highlightHoverRow},highlightCurrentColumn:{type:Boolean,default:()=>getConfig().table.highlightCurrentColumn},highlightHoverColumn:{type:Boolean,default:()=>getConfig().table.highlightHoverColumn},highlightCell:Boolean,showFooter:Boolean,footerData:Array,footerMethod:Function,rowClassName:[String,Function],cellClassName:[String,Function],headerRowClassName:[String,Function],headerCellClassName:[String,Function],footerRowClassName:[String,Function],footerCellClassName:[String,Function],cellStyle:[Object,Function],headerCellStyle:[Object,Function],footerCellStyle:[Object,Function],rowStyle:[Object,Function],headerRowStyle:[Object,Function],footerRowStyle:[Object,Function],mergeCells:Array,mergeFooterItems:Array,spanMethod:Function,footerSpanMethod:Function,showOverflow:{type:[Boolean,String],default:()=>getConfig().table.showOverflow},showHeaderOverflow:{type:[Boolean,String],default:()=>getConfig().table.showHeaderOverflow},showFooterOverflow:{type:[Boolean,String],default:()=>getConfig().table.showFooterOverflow},columnKey:Boolean,rowKey:Boolean,rowId:{type:String,default:()=>getConfig().table.rowId},zIndex:Number,emptyText:{type:String,default:()=>getConfig().table.emptyText},keepSource:{type:Boolean,default:()=>getConfig().table.keepSource},autoResize:{type:Boolean,default:()=>getConfig().table.autoResize},syncResize:[Boolean,String,Number],resizeConfig:Object,columnConfig:Object,currentColumnConfig:Object,cellConfig:Object,headerCellConfig:Object,footerCellConfig:Object,rowConfig:Object,rowGroupConfig:Object,currentRowConfig:Object,dragConfig:Object,rowDragConfig:Object,columnDragConfig:Object,resizableConfig:Object,seqConfig:Object,sortConfig:Object,filterConfig:Object,radioConfig:Object,checkboxConfig:Object,tooltipConfig:Object,exportConfig:Object,importConfig:Object,printConfig:Object,expandConfig:Object,treeConfig:Object,menuConfig:Object,mouseConfig:Object,areaConfig:Object,keyboardConfig:Object,clipConfig:Object,fnrConfig:Object,editConfig:Object,validConfig:Object,editRules:Object,loadingConfig:Object,emptyRender:Object,customConfig:Object,scrollX:Object,scrollY:Object,virtualXConfig:Object,virtualYConfig:Object,scrollbarConfig:Object,animat:{type:Boolean,default:()=>getConfig().table.animat},delayHover:{type:Number,default:()=>getConfig().table.delayHover},params:Object};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../ui");let getConfig=_ui.VxeUI.getConfig;var _default=exports.default={id:[String,Function],data:Array,height:[Number,String],minHeight:{type:[Number,String],default:()=>getConfig().table.minHeight},maxHeight:[Number,String],resizable:{type:Boolean,default:()=>getConfig().table.resizable},stripe:{type:Boolean,default:()=>getConfig().table.stripe},border:{type:[Boolean,String],default:()=>getConfig().table.border},padding:{type:Boolean,default:null},round:{type:Boolean,default:()=>getConfig().table.round},size:{type:String,default:()=>getConfig().table.size||getConfig().size},fit:{type:Boolean,default:()=>getConfig().table.fit},loading:Boolean,align:{type:String,default:()=>getConfig().table.align},headerAlign:{type:String,default:()=>getConfig().table.headerAlign},footerAlign:{type:String,default:()=>getConfig().table.footerAlign},showHeader:{type:Boolean,default:()=>getConfig().table.showHeader},highlightCurrentRow:{type:Boolean,default:()=>getConfig().table.highlightCurrentRow},highlightHoverRow:{type:Boolean,default:()=>getConfig().table.highlightHoverRow},highlightCurrentColumn:{type:Boolean,default:()=>getConfig().table.highlightCurrentColumn},highlightHoverColumn:{type:Boolean,default:()=>getConfig().table.highlightHoverColumn},highlightCell:Boolean,showFooter:Boolean,footerData:Array,footerMethod:Function,rowClassName:[String,Function],cellClassName:[String,Function],headerRowClassName:[String,Function],headerCellClassName:[String,Function],footerRowClassName:[String,Function],footerCellClassName:[String,Function],cellStyle:[Object,Function],headerCellStyle:[Object,Function],footerCellStyle:[Object,Function],rowStyle:[Object,Function],headerRowStyle:[Object,Function],footerRowStyle:[Object,Function],mergeCells:Array,mergeFooterItems:Array,spanMethod:Function,footerSpanMethod:Function,showOverflow:{type:[Boolean,String],default:()=>getConfig().table.showOverflow},showHeaderOverflow:{type:[Boolean,String],default:()=>getConfig().table.showHeaderOverflow},showFooterOverflow:{type:[Boolean,String],default:()=>getConfig().table.showFooterOverflow},columnKey:Boolean,rowKey:Boolean,rowId:{type:String,default:()=>getConfig().table.rowId},zIndex:Number,emptyText:{type:String,default:()=>getConfig().table.emptyText},keepSource:{type:Boolean,default:()=>getConfig().table.keepSource},autoResize:{type:Boolean,default:()=>getConfig().table.autoResize},syncResize:[Boolean,String,Number],resizeConfig:Object,columnConfig:Object,currentColumnConfig:Object,cellConfig:Object,headerCellConfig:Object,footerCellConfig:Object,rowConfig:Object,aggregateConfig:Object,rowGroupConfig:Object,currentRowConfig:Object,dragConfig:Object,rowDragConfig:Object,columnDragConfig:Object,resizableConfig:Object,seqConfig:Object,sortConfig:Object,filterConfig:Object,radioConfig:Object,checkboxConfig:Object,tooltipConfig:Object,exportConfig:Object,importConfig:Object,printConfig:Object,expandConfig:Object,treeConfig:Object,menuConfig:Object,mouseConfig:Object,areaConfig:Object,keyboardConfig:Object,clipConfig:Object,fnrConfig:Object,editConfig:Object,validConfig:Object,editRules:Object,loadingConfig:Object,emptyRender:Object,customConfig:Object,scrollX:Object,scrollY:Object,virtualXConfig:Object,virtualYConfig:Object,scrollbarConfig:Object,animat:{type:Boolean,default:()=>getConfig().table.animat},delayHover:{type:Number,default:()=>getConfig().table.delayHover},params:Object};