vxe-table 3.12.1-beta.2 → 3.12.1-beta.4

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 (127) hide show
  1. package/es/locale/lang/ar-EG.js +2 -1
  2. package/es/locale/lang/de-DE.js +2 -1
  3. package/es/locale/lang/en-US.js +2 -1
  4. package/es/locale/lang/es-ES.js +2 -1
  5. package/es/locale/lang/fr-FR.js +2 -1
  6. package/es/locale/lang/hu-HU.js +2 -1
  7. package/es/locale/lang/hy-AM.js +2 -1
  8. package/es/locale/lang/it-IT.js +2 -1
  9. package/es/locale/lang/ja-JP.js +2 -1
  10. package/es/locale/lang/ko-KR.js +2 -1
  11. package/es/locale/lang/nb-NO.js +2 -1
  12. package/es/locale/lang/pt-BR.js +2 -1
  13. package/es/locale/lang/ru-RU.js +2 -1
  14. package/es/locale/lang/th-TH.js +2 -1
  15. package/es/locale/lang/ug-CN.js +2 -1
  16. package/es/locale/lang/uk-UA.js +2 -1
  17. package/es/locale/lang/vi-VN.js +2 -1
  18. package/es/locale/lang/zh-CHT.js +2 -1
  19. package/es/locale/lang/zh-CN.js +2 -1
  20. package/es/style.css +1 -1
  21. package/es/table/module/edit/mixin.js +5 -5
  22. package/es/table/src/body.js +4 -3
  23. package/es/table/src/cell.js +73 -50
  24. package/es/table/src/header.js +10 -7
  25. package/es/table/src/methods.js +503 -450
  26. package/es/table/src/table.js +2 -1
  27. package/es/ui/index.js +1 -1
  28. package/es/ui/src/log.js +1 -1
  29. package/lib/index.umd.js +704 -597
  30. package/lib/index.umd.min.js +1 -1
  31. package/lib/locale/lang/ar-EG.js +2 -1
  32. package/lib/locale/lang/ar-EG.min.js +1 -1
  33. package/lib/locale/lang/de-DE.js +2 -1
  34. package/lib/locale/lang/de-DE.min.js +1 -1
  35. package/lib/locale/lang/en-US.js +2 -1
  36. package/lib/locale/lang/en-US.min.js +1 -1
  37. package/lib/locale/lang/en-US.umd.js +2 -1
  38. package/lib/locale/lang/es-ES.js +2 -1
  39. package/lib/locale/lang/es-ES.min.js +1 -1
  40. package/lib/locale/lang/es-ES.umd.js +2 -1
  41. package/lib/locale/lang/fr-FR.js +2 -1
  42. package/lib/locale/lang/fr-FR.min.js +1 -1
  43. package/lib/locale/lang/hu-HU.js +2 -1
  44. package/lib/locale/lang/hu-HU.min.js +1 -1
  45. package/lib/locale/lang/hu-HU.umd.js +2 -1
  46. package/lib/locale/lang/hy-AM.js +2 -1
  47. package/lib/locale/lang/hy-AM.min.js +1 -1
  48. package/lib/locale/lang/it-IT.js +2 -1
  49. package/lib/locale/lang/it-IT.min.js +1 -1
  50. package/lib/locale/lang/ja-JP.js +2 -1
  51. package/lib/locale/lang/ja-JP.min.js +1 -1
  52. package/lib/locale/lang/ja-JP.umd.js +2 -1
  53. package/lib/locale/lang/ko-KR.js +2 -1
  54. package/lib/locale/lang/ko-KR.min.js +1 -1
  55. package/lib/locale/lang/ko-KR.umd.js +2 -1
  56. package/lib/locale/lang/nb-NO.js +2 -1
  57. package/lib/locale/lang/nb-NO.min.js +1 -1
  58. package/lib/locale/lang/pt-BR.js +2 -1
  59. package/lib/locale/lang/pt-BR.min.js +1 -1
  60. package/lib/locale/lang/pt-BR.umd.js +2 -1
  61. package/lib/locale/lang/ru-RU.js +2 -1
  62. package/lib/locale/lang/ru-RU.min.js +1 -1
  63. package/lib/locale/lang/ru-RU.umd.js +2 -1
  64. package/lib/locale/lang/th-TH.js +2 -1
  65. package/lib/locale/lang/th-TH.min.js +1 -1
  66. package/lib/locale/lang/ug-CN.js +2 -1
  67. package/lib/locale/lang/ug-CN.min.js +1 -1
  68. package/lib/locale/lang/uk-UA.js +2 -1
  69. package/lib/locale/lang/uk-UA.min.js +1 -1
  70. package/lib/locale/lang/uk-UA.umd.js +2 -1
  71. package/lib/locale/lang/vi-VN.js +2 -1
  72. package/lib/locale/lang/vi-VN.min.js +1 -1
  73. package/lib/locale/lang/zh-CHT.js +2 -1
  74. package/lib/locale/lang/zh-CHT.min.js +1 -1
  75. package/lib/locale/lang/zh-CHT.umd.js +2 -1
  76. package/lib/locale/lang/zh-CN.js +2 -1
  77. package/lib/locale/lang/zh-CN.min.js +1 -1
  78. package/lib/locale/lang/zh-CN.umd.js +2 -1
  79. package/lib/style.css +1 -1
  80. package/lib/table/module/edit/mixin.js +10 -5
  81. package/lib/table/module/edit/mixin.min.js +1 -1
  82. package/lib/table/src/body.js +4 -2
  83. package/lib/table/src/body.min.js +1 -1
  84. package/lib/table/src/cell.js +87 -54
  85. package/lib/table/src/cell.min.js +1 -1
  86. package/lib/table/src/header.js +11 -6
  87. package/lib/table/src/header.min.js +1 -1
  88. package/lib/table/src/methods.js +585 -526
  89. package/lib/table/src/methods.min.js +1 -1
  90. package/lib/table/src/table.js +2 -1
  91. package/lib/table/src/table.min.js +1 -1
  92. package/lib/ui/index.js +1 -1
  93. package/lib/ui/index.min.js +1 -1
  94. package/lib/ui/src/log.js +1 -1
  95. package/lib/ui/src/log.min.js +1 -1
  96. package/package.json +2 -2
  97. package/packages/locale/lang/ar-EG.ts +2 -1
  98. package/packages/locale/lang/de-DE.ts +2 -1
  99. package/packages/locale/lang/en-US.ts +2 -1
  100. package/packages/locale/lang/es-ES.ts +2 -1
  101. package/packages/locale/lang/fr-FR.ts +2 -1
  102. package/packages/locale/lang/hu-HU.ts +2 -1
  103. package/packages/locale/lang/hy-AM.ts +2 -1
  104. package/packages/locale/lang/it-IT.ts +2 -1
  105. package/packages/locale/lang/ja-JP.ts +2 -1
  106. package/packages/locale/lang/ko-KR.ts +2 -1
  107. package/packages/locale/lang/nb-NO.ts +2 -1
  108. package/packages/locale/lang/pt-BR.ts +2 -1
  109. package/packages/locale/lang/ru-RU.ts +2 -1
  110. package/packages/locale/lang/th-TH.ts +2 -1
  111. package/packages/locale/lang/ug-CN.ts +2 -1
  112. package/packages/locale/lang/uk-UA.ts +2 -1
  113. package/packages/locale/lang/vi-VN.ts +2 -1
  114. package/packages/locale/lang/zh-CHT.ts +2 -1
  115. package/packages/locale/lang/zh-CN.ts +2 -1
  116. package/packages/table/module/edit/mixin.ts +5 -5
  117. package/packages/table/src/body.ts +4 -2
  118. package/packages/table/src/cell.ts +78 -46
  119. package/packages/table/src/header.ts +13 -10
  120. package/packages/table/src/methods.ts +523 -459
  121. package/packages/table/src/table.ts +3 -1
  122. /package/es/{iconfont.1735881990049.ttf → iconfont.1735908447074.ttf} +0 -0
  123. /package/es/{iconfont.1735881990049.woff → iconfont.1735908447074.woff} +0 -0
  124. /package/es/{iconfont.1735881990049.woff2 → iconfont.1735908447074.woff2} +0 -0
  125. /package/lib/{iconfont.1735881990049.ttf → iconfont.1735908447074.ttf} +0 -0
  126. /package/lib/{iconfont.1735881990049.woff → iconfont.1735908447074.woff} +0 -0
  127. /package/lib/{iconfont.1735881990049.woff2 → iconfont.1735908447074.woff2} +0 -0
@@ -78,6 +78,7 @@ function renderColumn(h, _vm, $xeTable, seq, rowid, fixedType, rowLevel, row, ro
78
78
  sYOpts,
79
79
  scrollXLoad,
80
80
  scrollYLoad,
81
+ isCalcCellHeight,
81
82
  highlightCurrentRow,
82
83
  showOverflow: allColumnOverflow,
83
84
  isAllOverflow,
@@ -339,14 +340,15 @@ function renderColumn(h, _vm, $xeTable, seq, rowid, fixedType, rowLevel, row, ro
339
340
  }
340
341
  }
341
342
  let cellHeight = '';
343
+ const vnHeight = isCalcCellHeight ? rest.height : 0;
342
344
  if (hasEllipsis) {
343
345
  if (scrollYRHeight || rowHeight) {
344
346
  cellHeight = `${scrollYRHeight || rowHeight}px`;
345
347
  } else if (!isAllOverflow) {
346
- cellHeight = `${rest.height || 18}px`;
348
+ cellHeight = `${vnHeight || rowHeight || 18}px`;
347
349
  }
348
350
  } else {
349
- cellHeight = `${rest.height || 18}px`;
351
+ cellHeight = `${vnHeight || rowHeight || 18}px`;
350
352
  }
351
353
  if (mouseConfig && mouseOpts.area && selectCellToRow) {
352
354
  if (!$columnIndex && selectCellToRow === true || selectCellToRow === column.field) {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:u,afterFullData:A,tableData:g,height:h,columnKey:F,overflowX:m,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:V,showOverflow:X,isAllOverflow:z,align:P,currentColumn:j,cellClassName:K,cellStyle:G,mergeList:J,spanMethod:Q,radioOpts:Z,checkboxOpts:ee,expandOpts:le,treeOpts:te,tooltipOpts:w,mouseConfig:re,editConfig:x,editOpts:y,editRules:oe,validOpts:f,editStore:se,tooltipConfig:ae,rowOpts:b,columnOpts:ie,mouseOpts:ne,areaOpts:S,validErrorMaps:T}=l,de=l.computeRowDragOpts,ce=de.disabledMethod,S=S.selectCellToRow,{type:pe,cellRender:ue,editRender:_,align:ge,showOverflow:C,className:he,treeNode:me,slots:ve}=d,we=l.computeCellOpts.verticalAlign,se=se.actived,v=v.rHeight,$=b.height,E=_||ue,E=E?renderer.get(E.name):null,xe=E?E.tableCellClassName||E.cellClassName:"",ye=E?E.tableCellStyle||E.cellStyle:"";let O=w.showAll||w.enabled;var w=l.getColumnIndex(d),fe=l.getVTColumnIndex(d),be=(0,_utils.isEnableConf)(_);let R=o?d.fixed!==o:d.fixed&&m;m=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?X:C,C="ellipsis"===m;let D="title"===m,I=!0===m||"tooltip"===m;m=X||D||I||C;let Se;var M={},u=u[r],ge=ge||(E?E.tableCellAlign:"")||P,E=T[r+":"+d.id],P=oe&&f.showMessage&&("default"===f.message?h||1<g.length:"inline"===f.message),T={colid:d.id};let Te=p["cell-mouseenter"],_e=p["cell-mouseleave"];oe=_&&x&&"dblclick"===y.trigger;let L={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:w,$columnIndex:c,_columnIndex:fe,fixed:o,type:renderType,isHidden:R,level:s,visibleData:A,data:g,items:q},Y=!1,Ce=!1;if((Y=b.drag?"row"===de.trigger||d.dragSort&&"cell"===de.trigger:Y)&&(Ce=!(!ce||!ce(L))),(D||I||O||Te||ae)&&(M.mouseenter=e=>{isVMScrollProcess(l)||(D?(0,_dom.updateCellTitle)(e.currentTarget,d):(I||O)&&l.triggerBodyTooltipEvent(e,L),Te&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},L),e))}),(I||O||_e||ae)&&(M.mouseleave=e=>{isVMScrollProcess(l)||((I||O)&&l.handleTargetLeaveEvent(e),_e&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},L),e))}),(Y||ee.range||re)&&(M.mousedown=e=>{l.triggerCellMousedownEvent(e,L)}),Y&&(M.mouseup=l.triggerCellMouseupEvent),(b.isCurrent||V||p["cell-click"]||_&&x||"row"===le.trigger||"cell"===le.trigger||"row"===Z.trigger||"radio"===d.type&&"cell"===Z.trigger||"row"===ee.trigger||"checkbox"===d.type&&"cell"===ee.trigger||"row"===te.trigger||d.treeNode&&"cell"===te.trigger)&&(M.click=e=>{l.triggerCellClickEvent(e,L)}),(oe||p["cell-dblclick"])&&(M.dblclick=e=>{l.triggerCellDblclickEvent(e,L)}),J.length){h=(0,_util.mergeBodyMethod)(J,B,fe);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(T.rowspan=t),1<r&&(T.colspan=r)}}else if(Q){var{rowspan:i=1,colspan:n=1}=Q(L)||{};if(!i||!n)return null;1<i&&(T.rowspan=i),1<n&&(T.colspan=n)}!(R=R&&J&&(1<T.colspan||1<T.rowspan)?!1:R)&&x&&(_||ue)&&(y.showStatus||y.showUpdateStatus)&&(Se=l.isUpdateByRow(a,d.field));w=[];R&&X&&z?w.push(e("div",{class:["vxe-cell",{"c--title":D,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:m&&(v||$)?`${v||$}px`:""}})):(w.push(...renderLine(e,H,l,L),e("div",{class:["vxe-cell",{"c--title":D,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:m&&(v||$)?`${v||$}px`:""},attrs:{title:D?l.getCellLabel(a,d):null}},d.renderCell(e,L))),P&&E&&(o=E.rule,s=ve?ve.valid:null,A=Object.assign(Object.assign(Object.assign({},L),E),{rule:E}),w.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(f.className,E)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[s?l.callSlot(s,A,e):[e("span",{class:"vxe-cell--valid-error-msg"},E.content)]])]))));let k="";m?v||$?k=`${v||$}px`:z||(k=`${u.height||18}px`):k=`${u.height||18}px`,re&&ne.area&&S&&((c||!0!==S)&&S!==d.field||w.push(e("div",{class:"vxe-cell--area-status"})));g=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);return e("td",{class:["vxe-body--column",d.id,{["col--"+ge]:ge,["col--vertical-"+we]:we,["col--"+pe]:pe,"col--last":c===U.length-1,"col--tree-node":me,"col--edit":be,"col--ellipsis":m,"fixed--width":!g,"fixed--hidden":R,"is--drag-cell":Y,"is--drag-disabled":Ce,"col--dirty":Se,"col--active":x&&be&&se.row===a&&(se.column===d||"row"===y.mode),"col--valid-error":!!E,"col--current":j===d},(0,_utils.getClass)(xe,L),(0,_utils.getClass)(he,L),(0,_utils.getClass)(K,L)],key:F||N||W||ie.useKey||b.useKey||ie.drag?d.id:c,attrs:T,style:Object.assign({height:k},_xeUtils.default.isFunction(ye)?ye(L):ye,_xeUtils.default.isFunction(G)?G(L):G),on:M},w)}function renderRows(v,w,x,y,f,b){let S=x.computeColumnOpts,T=x.computeColumnDragOpts,{stripe:_,rowKey:C,highlightHoverRow:$,rowClassName:E,rowStyle:O,editConfig:R,showOverflow:D,treeConfig:I,treeOpts:M,expandOpts:L,editOpts:Y,treeExpandedMaps:k,scrollXLoad:H,scrollYLoad:B,rowExpandedMaps:U,radioOpts:q,checkboxOpts:A,expandColumn:F,hasFixedColumn:N,fullAllDataRowIdData:W,rowOpts:V,pendingRowMaps:X,isDragColMove:z}=x,{transform:P,seqMode:j}=M,K=M.children||M.childrenField,G=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(V.isHover||$)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=W[s];let a=0,i=-1,n=0;l&&(a=l.level,i=I&&P&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=F&&!!U[s];let c=!1,p=[],u=!1;R&&(u=x.isInsertByRow(t)),!I||B||P||(p=t[K],c=p&&p.length&&!!k[s]),!V.drag||I&&!P||(e.dragstart=x.handleRowDragDragstartEvent,e.dragend=x.handleRowDragDragendEvent,e.dragover=x.handleRowDragDragoverEvent);var g,h=["vxe-body--row",I?"row--level-"+a:"",{"row--stripe":_&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(Y.showStatus||Y.showInsertStatus),"row--radio":q.highlight&&x.selectRadioRow===t,"row--checked":A.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":!!X[s]},E?_xeUtils.default.isFunction(E)?E(l):E:""],m=b.map((e,l)=>renderColumn(v,w,x,i,s,y,a,t,o,r,n,e,l,b,f));G.push(S.drag&&T.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(z?"":"-disabled")},class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,nativeOn:e},m):v("tr",{class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,on:e},m)),d&&({height:h,padding:l}=L,m={},d=(h&&(m.height=h+"px"),I&&(m.paddingLeft=a*M.indent+30+"px"),F).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?D:d,g={$table:x,seq:i,column:F,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},G.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:O?_xeUtils.default.isFunction(O)?O(g):O:null,on:e},[v("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!N,"col--ellipsis":d},attrs:{colspan:b.length}},[v("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:m},[F.renderData(v,g)])])]))),c&&G.push(...renderRows(v,w,x,y,p,b))}),G}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{tId:s,$scopedSlots:a}=l;let{fixedColumn:i,fixedType:n,tableColumn:d}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:h,scrollXLoad:m,scrollYLoad:v,isAllOverflow:w,isDragRowMove:x,expandColumn:y,dragRow:f,dragCol:b}=r,{visibleColumn:o,fullAllDataRowIdData:S,fullColumnIdData:T}=o,_=l.computeRowOpts,C=l.computeSYOpts,$=l.computeEmptyOpts,E=l.computeMouseOpts,O=l.computeRowDragOpts;let R=h,D=d;n&&(D=!(m||v||c&&w)||y||p||u?o:i||[]),v&&f&&2<R.length&&(h=S[(0,_util.getRowid)(l,f)])&&(c=h._index,w=R[0],y=R[R.length-1],p=S[(0,_util.getRowid)(l,w)],u=S[(0,_util.getRowid)(l,y)],p)&&u&&(o=p._index,v=u._index,c<o?R=[f].concat(R):v<c&&(R=R.concat([f]))),n||r||m&&b&&2<D.length&&(h=T[b.id])&&(w=h._index,S=D[0],y=D[D.length-1],p=T[S.id],u=T[y.id],p)&&u&&(o=p._index,v=u._index,w<o?D=[b].concat(D):v<w&&(D=D.concat([b])));let I;I=a.empty?a.empty.call(this,{$table:l,$grid:l.xegrid},t):(f=(c=$.name?renderer.get($.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(f.call(this,t,$,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");r={scroll:this.scrollEvent};return"wheel"===C.mode&&(r.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s},on:r},[n?renderEmptyElement(l):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},D.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag&&O.animation?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(x?"":"-disabled")}},renderRows(t,this,l,n,R,D)):t("tbody",{ref:"tbody"},renderRows(t,this,l,n,R,D))]),t("div",{class:"vxe-table--checkbox-range"}),g&&E.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},E.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},I)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let m=(r&&s?s:u).clientHeight,v=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:m,bodyWidth:v,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,p){var{$listeners:u,fullAllDataRowIdData:q,afterFullData:A,tableData:g,height:h,columnKey:F,overflowX:m,sYOpts:v,scrollXLoad:N,scrollYLoad:W,isCalcCellHeight:V,highlightCurrentRow:X,showOverflow:z,isAllOverflow:P,align:j,currentColumn:K,cellClassName:G,cellStyle:J,mergeList:Q,spanMethod:Z,radioOpts:ee,checkboxOpts:le,expandOpts:te,treeOpts:re,tooltipOpts:w,mouseConfig:oe,editConfig:x,editOpts:y,editRules:se,validOpts:f,editStore:ae,tooltipConfig:ie,rowOpts:b,columnOpts:ne,mouseOpts:de,areaOpts:S,validErrorMaps:T}=l,ce=l.computeRowDragOpts,pe=ce.disabledMethod,S=S.selectCellToRow,{type:ue,cellRender:ge,editRender:_,align:he,showOverflow:C,className:me,treeNode:ve,slots:we}=d,xe=l.computeCellOpts.verticalAlign,ae=ae.actived,v=v.rHeight,$=b.height,E=_||ge,E=E?renderer.get(E.name):null,ye=E?E.tableCellClassName||E.cellClassName:"",fe=E?E.tableCellStyle||E.cellStyle:"";let O=w.showAll||w.enabled;var w=l.getColumnIndex(d),be=l.getVTColumnIndex(d),Se=(0,_utils.isEnableConf)(_);let R=o?d.fixed!==o:d.fixed&&m;m=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?z:C,C="ellipsis"===m;let D="title"===m,I=!0===m||"tooltip"===m;m=z||D||I||C;let Te;var M={},q=q[r],he=he||(E?E.tableCellAlign:"")||j,E=T[r+":"+d.id],j=se&&f.showMessage&&("default"===f.message?h||1<g.length:"inline"===f.message),T={colid:d.id};let _e=u["cell-mouseenter"],Ce=u["cell-mouseleave"];se=_&&x&&"dblclick"===y.trigger;let L={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:w,$columnIndex:c,_columnIndex:be,fixed:o,type:renderType,isHidden:R,level:s,visibleData:A,data:g,items:p},Y=!1,$e=!1;if((Y=b.drag?"row"===ce.trigger||d.dragSort&&"cell"===ce.trigger:Y)&&($e=!(!pe||!pe(L))),(D||I||O||_e||ie)&&(M.mouseenter=e=>{isVMScrollProcess(l)||(D?(0,_dom.updateCellTitle)(e.currentTarget,d):(I||O)&&l.triggerBodyTooltipEvent(e,L),_e&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},L),e))}),(I||O||Ce||ie)&&(M.mouseleave=e=>{isVMScrollProcess(l)||((I||O)&&l.handleTargetLeaveEvent(e),Ce&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},L),e))}),(Y||le.range||oe)&&(M.mousedown=e=>{l.triggerCellMousedownEvent(e,L)}),Y&&(M.mouseup=l.triggerCellMouseupEvent),(b.isCurrent||X||u["cell-click"]||_&&x||"row"===te.trigger||"cell"===te.trigger||"row"===ee.trigger||"radio"===d.type&&"cell"===ee.trigger||"row"===le.trigger||"checkbox"===d.type&&"cell"===le.trigger||"row"===re.trigger||d.treeNode&&"cell"===re.trigger)&&(M.click=e=>{l.triggerCellClickEvent(e,L)}),(se||u["cell-dblclick"])&&(M.dblclick=e=>{l.triggerCellDblclickEvent(e,L)}),Q.length){h=(0,_util.mergeBodyMethod)(Q,B,be);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(T.rowspan=t),1<r&&(T.colspan=r)}}else if(Z){var{rowspan:i=1,colspan:n=1}=Z(L)||{};if(!i||!n)return null;1<i&&(T.rowspan=i),1<n&&(T.colspan=n)}!(R=R&&Q&&(1<T.colspan||1<T.rowspan)?!1:R)&&x&&(_||ge)&&(y.showStatus||y.showUpdateStatus)&&(Te=l.isUpdateByRow(a,d.field));w=[];R&&z&&P?w.push(e("div",{class:["vxe-cell",{"c--title":D,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:m&&(v||$)?`${v||$}px`:""}})):(w.push(...renderLine(e,H,l,L),e("div",{class:["vxe-cell",{"c--title":D,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:m&&(v||$)?`${v||$}px`:""},attrs:{title:D?l.getCellLabel(a,d):null}},d.renderCell(e,L))),j&&E&&(o=E.rule,s=we?we.valid:null,A=Object.assign(Object.assign(Object.assign({},L),E),{rule:E}),w.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(f.className,E)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[s?l.callSlot(s,A,e):[e("span",{class:"vxe-cell--valid-error-msg"},E.content)]])]))));let k="";g=V?q.height:0,m?v||$?k=`${v||$}px`:P||(k=`${g||$||18}px`):k=`${g||$||18}px`,oe&&de.area&&S&&((c||!0!==S)&&S!==d.field||w.push(e("div",{class:"vxe-cell--area-status"}))),p=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);return e("td",{class:["vxe-body--column",d.id,{["col--"+he]:he,["col--vertical-"+xe]:xe,["col--"+ue]:ue,"col--last":c===U.length-1,"col--tree-node":ve,"col--edit":Se,"col--ellipsis":m,"fixed--width":!p,"fixed--hidden":R,"is--drag-cell":Y,"is--drag-disabled":$e,"col--dirty":Te,"col--active":x&&Se&&ae.row===a&&(ae.column===d||"row"===y.mode),"col--valid-error":!!E,"col--current":K===d},(0,_utils.getClass)(ye,L),(0,_utils.getClass)(me,L),(0,_utils.getClass)(G,L)],key:F||N||W||ne.useKey||b.useKey||ne.drag?d.id:c,attrs:T,style:Object.assign({height:k},_xeUtils.default.isFunction(fe)?fe(L):fe,_xeUtils.default.isFunction(J)?J(L):J),on:M},w)}function renderRows(v,w,x,y,f,b){let S=x.computeColumnOpts,T=x.computeColumnDragOpts,{stripe:_,rowKey:C,highlightHoverRow:$,rowClassName:E,rowStyle:O,editConfig:R,showOverflow:D,treeConfig:I,treeOpts:M,expandOpts:L,editOpts:Y,treeExpandedMaps:k,scrollXLoad:H,scrollYLoad:B,rowExpandedMaps:U,radioOpts:q,checkboxOpts:A,expandColumn:F,hasFixedColumn:N,fullAllDataRowIdData:W,rowOpts:V,pendingRowMaps:X,isDragColMove:z}=x,{transform:P,seqMode:j}=M,K=M.children||M.childrenField,G=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(V.isHover||$)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=W[s];let a=0,i=-1,n=0;l&&(a=l.level,i=I&&P&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=F&&!!U[s];let c=!1,p=[],u=!1;R&&(u=x.isInsertByRow(t)),!I||B||P||(p=t[K],c=p&&p.length&&!!k[s]),!V.drag||I&&!P||(e.dragstart=x.handleRowDragDragstartEvent,e.dragend=x.handleRowDragDragendEvent,e.dragover=x.handleRowDragDragoverEvent);var g,h=["vxe-body--row",I?"row--level-"+a:"",{"row--stripe":_&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(Y.showStatus||Y.showInsertStatus),"row--radio":q.highlight&&x.selectRadioRow===t,"row--checked":A.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":!!X[s]},E?_xeUtils.default.isFunction(E)?E(l):E:""],m=b.map((e,l)=>renderColumn(v,w,x,i,s,y,a,t,o,r,n,e,l,b,f));G.push(S.drag&&T.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(z?"":"-disabled")},class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,nativeOn:e},m):v("tr",{class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,on:e},m)),d&&({height:h,padding:l}=L,m={},d=(h&&(m.height=h+"px"),I&&(m.paddingLeft=a*M.indent+30+"px"),F).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?D:d,g={$table:x,seq:i,column:F,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},G.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:O?_xeUtils.default.isFunction(O)?O(g):O:null,on:e},[v("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!N,"col--ellipsis":d},attrs:{colspan:b.length}},[v("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:m},[F.renderData(v,g)])])]))),c&&G.push(...renderRows(v,w,x,y,p,b))}),G}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{tId:s,$scopedSlots:a}=l;let{fixedColumn:i,fixedType:n,tableColumn:d}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:h,scrollXLoad:m,scrollYLoad:v,isAllOverflow:w,isDragRowMove:x,expandColumn:y,dragRow:f,dragCol:b}=r,{visibleColumn:o,fullAllDataRowIdData:S,fullColumnIdData:T}=o,_=l.computeRowOpts,C=l.computeSYOpts,$=l.computeEmptyOpts,E=l.computeMouseOpts,O=l.computeRowDragOpts;let R=h,D=d;n&&(D=!(m||v||c&&w)||y||p||u?o:i||[]),v&&f&&2<R.length&&(h=S[(0,_util.getRowid)(l,f)])&&(c=h._index,w=R[0],y=R[R.length-1],p=S[(0,_util.getRowid)(l,w)],u=S[(0,_util.getRowid)(l,y)],p)&&u&&(o=p._index,v=u._index,c<o?R=[f].concat(R):v<c&&(R=R.concat([f]))),n||r||m&&b&&2<D.length&&(h=T[b.id])&&(w=h._index,S=D[0],y=D[D.length-1],p=T[S.id],u=T[y.id],p)&&u&&(o=p._index,v=u._index,w<o?D=[b].concat(D):v<w&&(D=D.concat([b])));let I;I=a.empty?a.empty.call(this,{$table:l,$grid:l.xegrid},t):(f=(c=$.name?renderer.get($.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(f.call(this,t,$,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");r={scroll:this.scrollEvent};return"wheel"===C.mode&&(r.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s},on:r},[n?renderEmptyElement(l):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:s,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},D.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag&&O.animation?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(x?"":"-disabled")}},renderRows(t,this,l,n,R,D)):t("tbody",{ref:"tbody"},renderRows(t,this,l,n,R,D))]),t("div",{class:"vxe-table--checkbox-range"}),g&&E.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},E.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},I)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let m=(r&&s?s:u).clientHeight,v=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:m,bodyWidth:v,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
@@ -294,66 +294,99 @@ function getDefaultCellLabel(params) {
294
294
  } = params;
295
295
  return (0, _utils.formatText)($table.getCellLabel(row, column), 1);
296
296
  }
297
+ function renderCellHandle(h, params) {
298
+ const {
299
+ column,
300
+ $table
301
+ } = params;
302
+ const tableProps = $table;
303
+ const {
304
+ editConfig
305
+ } = tableProps;
306
+ const {
307
+ type,
308
+ treeNode,
309
+ editRender
310
+ } = column;
311
+ const checkboxOpts = $table.computeCheckboxOpts;
312
+ const editOpts = $table.computeEditOpts;
313
+ switch (type) {
314
+ case 'seq':
315
+ return treeNode ? Cell.renderTreeIndexCell(h, params) : Cell.renderSeqCell(h, params);
316
+ case 'radio':
317
+ return treeNode ? Cell.renderTreeRadioCell(h, params) : Cell.renderRadioCell(h, params);
318
+ case 'checkbox':
319
+ return checkboxOpts.checkField ? treeNode ? Cell.renderTreeSelectionCellByProp(h, params) : Cell.renderCheckboxCellByProp(h, params) : treeNode ? Cell.renderTreeSelectionCell(h, params) : Cell.renderCheckboxCell(h, params);
320
+ case 'expand':
321
+ return Cell.renderExpandCell(h, params);
322
+ case 'html':
323
+ return treeNode ? Cell.renderTreeHTMLCell(h, params) : Cell.renderHTMLCell(h, params);
324
+ }
325
+ if (editConfig && editRender) {
326
+ return editOpts.mode === 'cell' ? treeNode ? Cell.renderTreeCellEdit(h, params) : Cell.renderCellEdit(h, params) : treeNode ? Cell.renderTreeRowEdit(h, params) : Cell.renderRowEdit(h, params);
327
+ }
328
+ return treeNode ? Cell.renderTreeCell(h, params) : Cell.renderDefaultCell(h, params);
329
+ }
330
+ function renderHeaderHandle(h, params) {
331
+ const {
332
+ column,
333
+ $table
334
+ } = params;
335
+ const tableProps = $table;
336
+ const {
337
+ editConfig
338
+ } = tableProps;
339
+ const {
340
+ type,
341
+ filters,
342
+ sortable,
343
+ editRender
344
+ } = column;
345
+ switch (type) {
346
+ case 'seq':
347
+ return Cell.renderSeqHeader(h, params);
348
+ case 'radio':
349
+ return Cell.renderRadioHeader(h, params);
350
+ case 'checkbox':
351
+ return Cell.renderCheckboxHeader(h, params);
352
+ case 'html':
353
+ if (filters && sortable) {
354
+ return Cell.renderSortAndFilterHeader(h, params);
355
+ } else if (sortable) {
356
+ return Cell.renderSortHeader(h, params);
357
+ } else if (filters) {
358
+ return Cell.renderFilterHeader(h, params);
359
+ }
360
+ break;
361
+ }
362
+ if (editConfig && editRender) {
363
+ return Cell.renderEditHeader(h, params);
364
+ } else if (filters && sortable) {
365
+ return Cell.renderSortAndFilterHeader(h, params);
366
+ } else if (sortable) {
367
+ return Cell.renderSortHeader(h, params);
368
+ } else if (filters) {
369
+ return Cell.renderFilterHeader(h, params);
370
+ }
371
+ return Cell.renderDefaultHeader(h, params);
372
+ }
373
+ function renderFooterHandle(h, params) {
374
+ return Cell.renderDefaultFooter(h, params);
375
+ }
297
376
  const Cell = exports.Cell = {
298
377
  createColumn($xetable, _vm) {
299
378
  const {
300
- type,
301
- sortable,
302
- remoteSort,
303
- filters,
304
- editRender,
305
- treeNode
379
+ type
306
380
  } = _vm;
307
- const {
308
- editConfig,
309
- editOpts,
310
- checkboxOpts
311
- } = $xetable;
312
- const renMaps = {
313
- renderHeader: this.renderDefaultHeader,
314
- renderCell: treeNode ? this.renderTreeCell : this.renderDefaultCell,
315
- renderFooter: this.renderDefaultFooter
381
+ const renConfs = {
382
+ renderHeader: renderHeaderHandle,
383
+ renderCell: renderCellHandle,
384
+ renderFooter: renderFooterHandle
316
385
  };
317
- switch (type) {
318
- case 'seq':
319
- renMaps.renderHeader = this.renderSeqHeader;
320
- renMaps.renderCell = treeNode ? this.renderTreeIndexCell : this.renderSeqCell;
321
- break;
322
- case 'radio':
323
- renMaps.renderHeader = this.renderRadioHeader;
324
- renMaps.renderCell = treeNode ? this.renderTreeRadioCell : this.renderRadioCell;
325
- break;
326
- case 'checkbox':
327
- renMaps.renderHeader = this.renderCheckboxHeader;
328
- renMaps.renderCell = checkboxOpts.checkField ? treeNode ? this.renderTreeSelectionCellByProp : this.renderCheckboxCellByProp : treeNode ? this.renderTreeSelectionCell : this.renderCheckboxCell;
329
- break;
330
- case 'expand':
331
- renMaps.renderCell = this.renderExpandCell;
332
- renMaps.renderData = this.renderExpandData;
333
- break;
334
- case 'html':
335
- renMaps.renderCell = treeNode ? this.renderTreeHTMLCell : this.renderHTMLCell;
336
- if (filters && (sortable || remoteSort)) {
337
- renMaps.renderHeader = this.renderSortAndFilterHeader;
338
- } else if (sortable || remoteSort) {
339
- renMaps.renderHeader = this.renderSortHeader;
340
- } else if (filters) {
341
- renMaps.renderHeader = this.renderFilterHeader;
342
- }
343
- break;
344
- default:
345
- if (editConfig && editRender) {
346
- renMaps.renderHeader = this.renderEditHeader;
347
- renMaps.renderCell = editOpts.mode === 'cell' ? treeNode ? this.renderTreeCellEdit : this.renderCellEdit : treeNode ? this.renderTreeRowEdit : this.renderRowEdit;
348
- } else if (filters && (sortable || remoteSort)) {
349
- renMaps.renderHeader = this.renderSortAndFilterHeader;
350
- } else if (sortable || remoteSort) {
351
- renMaps.renderHeader = this.renderSortHeader;
352
- } else if (filters) {
353
- renMaps.renderHeader = this.renderFilterHeader;
354
- }
386
+ if (type === 'expand') {
387
+ renConfs.renderData = Cell.renderExpandData;
355
388
  }
356
- return (0, _util.createColumn)($xetable, _vm, renMaps);
389
+ return (0, _util.createColumn)($xetable, _vm, renConfs);
357
390
  },
358
391
  /**
359
392
  * 列头标题
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _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(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.dragConfig,{icon:n,trigger:a,disabledMethod:d}=r.computeRowDragOpts,d=d||(t?t.rowDisabledMethod:null);let o=d&&d(l);d={};return"cell"!==a&&(d.mousedown=e=>{o||r.handleCellDragMousedownEvent(e,l)},d.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":o}],on:d},[e("i",{class:n||(t?t.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:a}=l,n=n.dragSort,{treeConfig:d,dragConfig:o}=t,s=t.computeRowOpts,{showIcon:t,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=t.computeRowDragOpts,u=u||(o?o.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return!(n&&s.drag&&(t||o&&o.showRowIcon))||u&&!u(l)||d&&!i&&!c&&a||r.unshift(renderCellDragIcon(e,l)),r}function renderHeaderCellDragIcon(e,r){let{$table:t,column:l}=r;var n=t.computeColumnOpts,{showIcon:a,icon:d,trigger:o,isPeerDrag:s,isCrossDrag:i,visibleMethod:c,disabledMethod:u}=t.computeColumnDragOpts;if(!n.drag||!a||c&&!c(r)||l.fixed||!s&&!i&&l.parentId)return renderEmptyElement(t);{let l=u&&u(r);n={};return"cell"!==o&&(n.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},n.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:n},[e("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:d}=n,o=t;let s=t;o=o.showHeaderOverflow;let i=t.computeTooltipOpts.showAll;o=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?o:d;let c="title"===o,u=!0===o||"tooltip"===o;d={};return(c||u||i)&&(d.mouseenter=e=>{s._isResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(d.mouseleave=e=>{s._isResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:d}):e("span",{class:"vxe-cell--title",on:d},(0,_vn.getSlotVNs)(r))]}function formatFooterLabel(e,l){var r,t;return _xeUtils.default.isFunction(e)?""+e(l):(t=(t=(r=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?t.tableFooterCellFormatMethod:null)?""+(r?t(l,...e.slice(1)):t(l)):""}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:a,items:d}=l,{slots:o,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(o&&o.footer)return r.callSlot(o.footer,l,e);if(s){i=renderer.get(s.name),o=i?i.renderTableFooter||i.renderFooter:null;if(o)return(0,_vn.getSlotVNs)(o.call(r,e,s,l))}let u="";return _xeUtils.default.isArray(d)?u=d[n]:u=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:u,column:t,row:a,items:d,_columnIndex:n}):(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}let Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,remoteSort:n,filters:a,editRender:d,treeNode:o}=l,{editConfig:s,editOpts:i,checkboxOpts:c}=e,u={renderHeader:this.renderDefaultHeader,renderCell:o?this.renderTreeCell:this.renderDefaultCell,renderFooter:this.renderDefaultFooter};switch(r){case"seq":u.renderHeader=this.renderSeqHeader,u.renderCell=o?this.renderTreeIndexCell:this.renderSeqCell;break;case"radio":u.renderHeader=this.renderRadioHeader,u.renderCell=o?this.renderTreeRadioCell:this.renderRadioCell;break;case"checkbox":u.renderHeader=this.renderCheckboxHeader,u.renderCell=c.checkField?o?this.renderTreeSelectionCellByProp:this.renderCheckboxCellByProp:o?this.renderTreeSelectionCell:this.renderCheckboxCell;break;case"expand":u.renderCell=this.renderExpandCell,u.renderData=this.renderExpandData;break;case"html":u.renderCell=o?this.renderTreeHTMLCell:this.renderHTMLCell,a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader);break;default:s&&d?(u.renderHeader=this.renderEditHeader,u.renderCell="cell"===i.mode?o?this.renderTreeCellEdit:this.renderCellEdit:o?this.renderTreeRowEdit:this.renderRowEdit):a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader)}return(0,_util.createColumn)(e,l,u)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:d}=t,a=a||d;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){d=renderer.get(a.name),n=d?d.renderTableHeader||d.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,a,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:d,cellRender:o}=n,o=d||o;if(a&&a.default)return renderCellBaseVNs(e,l,r.callSlot(a.default,l,e));if(o){var a=renderer.get(o.name),s=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=d?a:s;if(a)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(a.call(r,e,o,Object.assign({$type:d?"edit":"cell"},l))))}s=r.getCellLabel(t,n),a=d?d.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(s)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(s,1))])])},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return[e("span",{class:"vxe-cell--item"},getFooterContent(e,l))]},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var{treeExpandedMaps:a,treeExpandLazyLoadedMaps:d}=t,o=t.fullAllDataRowIdData,s=t.computeTreeOpts,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:E,trigger:g,iconLoaded:h,showIcon:p,iconOpen:b,iconClose:v}=s,x=s.children||s.childrenField,s=s.hasChild||s.hasChildField,x=i[x],x=x&&x.length,c=c?c.icon:null;let f=!1,T=!1,m=!1,_=!1;var I={};return c?t.callSlot(c,l,e):(n||(c=(0,_util.getRowid)(t,i),T=!!a[c],E&&(a=o[c],m=!!d[c],f=i[s],_=!!a.treeLoaded)),g&&"default"!==g||(I.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:{paddingLeft:u*C+"px"}},[p&&(!E||_?x:f)?[e("div",{class:"vxe-tree--btn-wrapper",on:I},[e("i",{class:["vxe-tree--node-btn",m?h||getIcon().TABLE_TREE_LOADED:T?b||getIcon().TABLE_TREE_OPEN:v||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,n=r.treeConfig,a=r.computeSeqOpts,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=a.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1))]))},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,a=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,a?r.callSlot(a,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var a=r.selectRadioRow,d=t.slots,{labelField:o,checkMethod:s,visibleMethod:i}=r.computeRadioOpts,c=l.row,u=d?d.default:null,d=d?d.radio:null,a=c===a;let C=!i||i({row:c}),E=!!s,g;n||(g={click(e){!E&&C&&r.triggerRadioRowEvent(e,l)}},s&&(E=!s({row:c})));i=Object.assign(Object.assign({},l),{checked:a,disabled:E,visible:C});return d?renderCellBaseVNs(e,l,r.callSlot(d,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",a?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||o)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,o))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":a,"is--disabled":E}],on:g},s)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l;let{isAllSelected:a,isIndeterminate:d}=r,o=r.computeIsAllCheckboxDisabled;var s=t.slots,i=s?s.header:null,s=s?s.title:null,c=r.computeCheckboxOpts,u=t.getTitle(),C={},E=(n||(C.click=e=>{o||r.triggerCheckAllEvent(e,!a)}),Object.assign(Object.assign({},l),{checked:a,disabled:o,indeterminate:d}));return i?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,r.callSlot(i,E,e))):(c.checkStrictly?c.showHeader:!1!==c.showHeader)?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":o,"is--indeterminate":d}],attrs:{title:getI18n("vxe.table.allTitle")},on:C},[e("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||u?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]:[]))])):renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var d=r.treeConfig,{selectCheckboxMaps:o,treeIndeterminateMaps:s}=r,{labelField:i,checkMethod:c,visibleMethod:u}=r.computeCheckboxOpts,C=n.slots,E=C?C.default:null,C=C?C.checkbox:null;let g=!1,h=!1,p=!u||u({row:t}),b=!!c;var v,u={},o=(a||(v=(0,_util.getRowid)(r,t),h=!!o[v],u.click=e=>{!b&&p&&r.triggerCheckRowEvent(e,l,!h)},c&&(b=!c({row:t})),d&&(g=!!s[v])),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:p,indeterminate:g}));return C?renderCellBaseVNs(e,l,r.callSlot(C,o,e)):(c=[],p&&c.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||i)&&c.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,o,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":g,"is--hidden":!p}],on:u},c)]))},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var d=r.treeConfig,o=r.treeIndeterminateMaps,s=r.computeCheckboxOpts,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=s,s=s.indeterminateField||s.halfField,E=n.slots,g=E?E.default:null,E=E?E.checkbox:null;let h=!1,p=!1,b=!C||C({row:t}),v=!!u;var x,C={},c=(a||(x=(0,_util.getRowid)(r,t),p=_xeUtils.default.get(t,c),C.click=e=>{!v&&b&&r.triggerCheckRowEvent(e,l,!p)},u&&(v=!u({row:t})),d&&(h=!!o[x])),Object.assign(Object.assign({},l),{checked:p,disabled:v,visible:b,indeterminate:h}));return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],b&&u.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||i)&&u.push(e("span",{class:"vxe-checkbox--label"},g?r.callSlot(g,c,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":v,"is--indeterminate":s&&!p?t[s]:h,"is--hidden":!b}],on:C},u)]))},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{rowExpandedMaps:d,rowExpandLazyLoadedMaps:o}=r,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:E,visibleMethod:g}=r.computeExpandOpts,h=a.slots,p=h?h.default:null,h=h?h.icon:null;let b=!1,v=!1;return h?renderCellBaseVNs(e,l,r.callSlot(h,l,e)):(t||(h=(0,_util.getRowid)(r,n),b=!!d[h],s&&(v=!!o[h])),renderCellBaseVNs(e,l,[!u||g&&!g(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":b}],on:{click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",v?c||getIcon().TABLE_EXPAND_LOADED:b?C||getIcon().TABLE_EXPAND_OPEN:E||getIcon().TABLE_EXPAND_CLOSE]})]),p||i?e("span",{class:"vxe-table--expand-label"},p?r.callSlot(p,l,e):_xeUtils.default.get(n,i)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:l,iconLayout:n,iconAsc:a,iconDesc:d}=r.sortOpts;return l?[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[e("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:getI18n("vxe.table.sortAsc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}}),e("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:getI18n("vxe.table.sortDesc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}})])]:[]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var a=r.filterStore,{showIcon:d,iconNone:o,iconMatch:s}=r.computeFilterOpts;return d?[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}]},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")},on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}})])]:[]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:a}=r,d=r.computeEditOpts,{sortable:o,filters:s,editRender:i}=t;let c=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(c=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(u=[c&&d.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(r),(0,_utils.isEnableConf)(i)&&d.showIcon?e("i",{class:["vxe-cell--edit-icon",d.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(o?Cell.renderSortIcon(e,l):[]).concat(s?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:d,formatter:o}=a,s=renderer.get(d.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,d,i)):[]:a&&a.default?renderCellBaseVNs(e,l,n.callSlot(a.default,i,e)):o?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _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(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.dragConfig,{icon:n,trigger:a,disabledMethod:d}=r.computeRowDragOpts,d=d||(t?t.rowDisabledMethod:null);let o=d&&d(l);d={};return"cell"!==a&&(d.mousedown=e=>{o||r.handleCellDragMousedownEvent(e,l)},d.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":o}],on:d},[e("i",{class:n||(t?t.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:a}=l,n=n.dragSort,{treeConfig:d,dragConfig:o}=t,s=t.computeRowOpts,{showIcon:t,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=t.computeRowDragOpts,u=u||(o?o.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return!(n&&s.drag&&(t||o&&o.showRowIcon))||u&&!u(l)||d&&!i&&!c&&a||r.unshift(renderCellDragIcon(e,l)),r}function renderHeaderCellDragIcon(e,r){let{$table:t,column:l}=r;var n=t.computeColumnOpts,{showIcon:a,icon:d,trigger:o,isPeerDrag:s,isCrossDrag:i,visibleMethod:c,disabledMethod:u}=t.computeColumnDragOpts;if(!n.drag||!a||c&&!c(r)||l.fixed||!s&&!i&&l.parentId)return renderEmptyElement(t);{let l=u&&u(r);n={};return"cell"!==o&&(n.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},n.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:n},[e("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:d}=n,o=t;let s=t;o=o.showHeaderOverflow;let i=t.computeTooltipOpts.showAll;o=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?o:d;let c="title"===o,u=!0===o||"tooltip"===o;d={};return(c||u||i)&&(d.mouseenter=e=>{s._isResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(d.mouseleave=e=>{s._isResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:d}):e("span",{class:"vxe-cell--title",on:d},(0,_vn.getSlotVNs)(r))]}function formatFooterLabel(e,l){var r,t;return _xeUtils.default.isFunction(e)?""+e(l):(t=(t=(r=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?t.tableFooterCellFormatMethod:null)?""+(r?t(l,...e.slice(1)):t(l)):""}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:a,items:d}=l,{slots:o,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(o&&o.footer)return r.callSlot(o.footer,l,e);if(s){i=renderer.get(s.name),o=i?i.renderTableFooter||i.renderFooter:null;if(o)return(0,_vn.getSlotVNs)(o.call(r,e,s,l))}let u="";return _xeUtils.default.isArray(d)?u=d[n]:u=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:u,column:t,row:a,items:d,_columnIndex:n}):(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e,l){var{column:r,$table:t}=l,n=t.editConfig,{type:r,treeNode:a,editRender:d}=r,o=t.computeCheckboxOpts,t=t.computeEditOpts;switch(r){case"seq":return a?Cell.renderTreeIndexCell(e,l):Cell.renderSeqCell(e,l);case"radio":return a?Cell.renderTreeRadioCell(e,l):Cell.renderRadioCell(e,l);case"checkbox":return o.checkField?a?Cell.renderTreeSelectionCellByProp(e,l):Cell.renderCheckboxCellByProp(e,l):a?Cell.renderTreeSelectionCell(e,l):Cell.renderCheckboxCell(e,l);case"expand":return Cell.renderExpandCell(e,l);case"html":return a?Cell.renderTreeHTMLCell(e,l):Cell.renderHTMLCell(e,l)}return n&&d?"cell"===t.mode?a?Cell.renderTreeCellEdit(e,l):Cell.renderCellEdit(e,l):a?Cell.renderTreeRowEdit(e,l):Cell.renderRowEdit(e,l):a?Cell.renderTreeCell(e,l):Cell.renderDefaultCell(e,l)}function renderHeaderHandle(e,l){var{column:r,$table:t}=l,t=t.editConfig,{type:r,filters:n,sortable:a,editRender:d}=r;switch(r){case"seq":return Cell.renderSeqHeader(e,l);case"radio":return Cell.renderRadioHeader(e,l);case"checkbox":return Cell.renderCheckboxHeader(e,l);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e,l);if(a)return Cell.renderSortHeader(e,l);if(n)return Cell.renderFilterHeader(e,l)}return t&&d?Cell.renderEditHeader(e,l):n&&a?Cell.renderSortAndFilterHeader(e,l):a?Cell.renderSortHeader(e,l):n?Cell.renderFilterHeader(e,l):Cell.renderDefaultHeader(e,l)}function renderFooterHandle(e,l){return Cell.renderDefaultFooter(e,l)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:d}=t,a=a||d;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){d=renderer.get(a.name),n=d?d.renderTableHeader||d.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,a,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:d,cellRender:o}=n,o=d||o;if(a&&a.default)return renderCellBaseVNs(e,l,r.callSlot(a.default,l,e));if(o){var a=renderer.get(o.name),s=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=d?a:s;if(a)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(a.call(r,e,o,Object.assign({$type:d?"edit":"cell"},l))))}s=r.getCellLabel(t,n),a=d?d.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(s)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(s,1))])])},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return[e("span",{class:"vxe-cell--item"},getFooterContent(e,l))]},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var{treeExpandedMaps:a,treeExpandLazyLoadedMaps:d}=t,o=t.fullAllDataRowIdData,s=t.computeTreeOpts,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:E,trigger:g,iconLoaded:p,showIcon:b,iconOpen:v,iconClose:x}=s,f=s.children||s.childrenField,s=s.hasChild||s.hasChildField,f=i[f],f=f&&f.length,c=c?c.icon:null;let m=!1,T=!1,h=!1,_=!1;var I={};return c?t.callSlot(c,l,e):(n||(c=(0,_util.getRowid)(t,i),T=!!a[c],E&&(a=o[c],h=!!d[c],m=i[s],_=!!a.treeLoaded)),g&&"default"!==g||(I.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:{paddingLeft:u*C+"px"}},[b&&(!E||_?f:m)?[e("div",{class:"vxe-tree--btn-wrapper",on:I},[e("i",{class:["vxe-tree--node-btn",h?p||getIcon().TABLE_TREE_LOADED:T?v||getIcon().TABLE_TREE_OPEN:x||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,n=r.treeConfig,a=r.computeSeqOpts,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=a.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1))]))},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,a=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,a?r.callSlot(a,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var a=r.selectRadioRow,d=t.slots,{labelField:o,checkMethod:s,visibleMethod:i}=r.computeRadioOpts,c=l.row,u=d?d.default:null,d=d?d.radio:null,a=c===a;let C=!i||i({row:c}),E=!!s,g;n||(g={click(e){!E&&C&&r.triggerRadioRowEvent(e,l)}},s&&(E=!s({row:c})));i=Object.assign(Object.assign({},l),{checked:a,disabled:E,visible:C});return d?renderCellBaseVNs(e,l,r.callSlot(d,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",a?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||o)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,o))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":a,"is--disabled":E}],on:g},s)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l;let{isAllSelected:a,isIndeterminate:d}=r,o=r.computeIsAllCheckboxDisabled;var s=t.slots,i=s?s.header:null,s=s?s.title:null,c=r.computeCheckboxOpts,u=t.getTitle(),C={},E=(n||(C.click=e=>{o||r.triggerCheckAllEvent(e,!a)}),Object.assign(Object.assign({},l),{checked:a,disabled:o,indeterminate:d}));return i?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,r.callSlot(i,E,e))):(c.checkStrictly?c.showHeader:!1!==c.showHeader)?renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":o,"is--indeterminate":d}],attrs:{title:getI18n("vxe.table.allTitle")},on:C},[e("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||u?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]:[]))])):renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):u)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var d=r.treeConfig,{selectCheckboxMaps:o,treeIndeterminateMaps:s}=r,{labelField:i,checkMethod:c,visibleMethod:u}=r.computeCheckboxOpts,C=n.slots,E=C?C.default:null,C=C?C.checkbox:null;let g=!1,p=!1,b=!u||u({row:t}),v=!!c;var x,u={},o=(a||(x=(0,_util.getRowid)(r,t),p=!!o[x],u.click=e=>{!v&&b&&r.triggerCheckRowEvent(e,l,!p)},c&&(v=!c({row:t})),d&&(g=!!s[x])),Object.assign(Object.assign({},l),{checked:p,disabled:v,visible:b,indeterminate:g}));return C?renderCellBaseVNs(e,l,r.callSlot(C,o,e)):(c=[],b&&c.push(e("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||i)&&c.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,o,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":v,"is--indeterminate":g,"is--hidden":!b}],on:u},c)]))},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var d=r.treeConfig,o=r.treeIndeterminateMaps,s=r.computeCheckboxOpts,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=s,s=s.indeterminateField||s.halfField,E=n.slots,g=E?E.default:null,E=E?E.checkbox:null;let p=!1,b=!1,v=!C||C({row:t}),x=!!u;var f,C={},c=(a||(f=(0,_util.getRowid)(r,t),b=_xeUtils.default.get(t,c),C.click=e=>{!x&&v&&r.triggerCheckRowEvent(e,l,!b)},u&&(x=!u({row:t})),d&&(p=!!o[f])),Object.assign(Object.assign({},l),{checked:b,disabled:x,visible:v,indeterminate:p}));return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],v&&u.push(e("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(g||i)&&u.push(e("span",{class:"vxe-checkbox--label"},g?r.callSlot(g,c,e):_xeUtils.default.get(t,i))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":b,"is--disabled":x,"is--indeterminate":s&&!b?t[s]:p,"is--hidden":!v}],on:C},u)]))},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{rowExpandedMaps:d,rowExpandLazyLoadedMaps:o}=r,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:E,visibleMethod:g}=r.computeExpandOpts,p=a.slots,b=p?p.default:null,p=p?p.icon:null;let v=!1,x=!1;return p?renderCellBaseVNs(e,l,r.callSlot(p,l,e)):(t||(p=(0,_util.getRowid)(r,n),v=!!d[p],s&&(x=!!o[p])),renderCellBaseVNs(e,l,[!u||g&&!g(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":v}],on:{click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",x?c||getIcon().TABLE_EXPAND_LOADED:v?C||getIcon().TABLE_EXPAND_OPEN:E||getIcon().TABLE_EXPAND_CLOSE]})]),b||i?e("span",{class:"vxe-table--expand-label"},b?r.callSlot(b,l,e):_xeUtils.default.get(n,i)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:l,iconLayout:n,iconAsc:a,iconDesc:d}=r.sortOpts;return l?[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[e("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:getI18n("vxe.table.sortAsc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}}),e("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:getI18n("vxe.table.sortDesc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}})])]:[]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var a=r.filterStore,{showIcon:d,iconNone:o,iconMatch:s}=r.computeFilterOpts;return d?[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}]},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")},on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}})])]:[]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:a}=r,d=r.computeEditOpts,{sortable:o,filters:s,editRender:i}=t;let c=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(c=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(u=[c&&d.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(r),(0,_utils.isEnableConf)(i)&&d.showIcon?e("i",{class:["vxe-cell--edit-icon",d.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(o?Cell.renderSortIcon(e,l):[]).concat(s?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:d,formatter:o}=a,s=renderer.get(d.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,d,i)):[]:a&&a.default?renderCellBaseVNs(e,l,n.callSlot(a.default,i,e)):o?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
@@ -11,6 +11,7 @@ var _dom = require("../../ui/src/dom");
11
11
  var _util = require("./util");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  const {
14
+ getI18n,
14
15
  renderer,
15
16
  renderEmptyElement
16
17
  } = _ui.VxeUI;
@@ -148,7 +149,8 @@ const renderRows = (h, _vm, cols, $rowIndex) => {
148
149
  'is--line': !border || border === 'none'
149
150
  }],
150
151
  on: {
151
- mousedown: evnt => _vm.resizeMousedown(evnt, params)
152
+ mousedown: evnt => _vm.resizeMousedownEvent(evnt, params),
153
+ dblclick: evnt => $xeTable.handleResizeDblclickEvent(evnt, params)
152
154
  }
153
155
  }) : null]);
154
156
  }).concat(scrollbarWidth ? [h('th', {
@@ -390,7 +392,7 @@ var _default = exports.default = {
390
392
  } = this;
391
393
  this.headerColumn = $xetable.isGroup ? (0, _util.convertHeaderColumnToRows)(this.tableGroupColumn) : [];
392
394
  },
393
- resizeMousedown(evnt, params) {
395
+ resizeMousedownEvent(evnt, params) {
394
396
  const $xeTable = this.$parent;
395
397
  const tableInternalData = $xeTable;
396
398
  const {
@@ -413,17 +415,20 @@ var _default = exports.default = {
413
415
  const resizeTipElem = $xetable.$refs.refCellResizeTip;
414
416
  const wrapperElem = this.$el;
415
417
  const {
416
- target: dragBtnElem,
417
418
  clientX: dragClientX
418
419
  } = evnt;
419
- const cell = params.cell = dragBtnElem.parentNode;
420
+ const dragBtnElem = evnt.target;
421
+ const cell = dragBtnElem.parentNode;
422
+ const cellParams = Object.assign(params, {
423
+ cell
424
+ });
420
425
  const resizableOpts = $xeTable.computeResizableOpts;
421
426
  let dragLeft = 0;
422
427
  const tableBodyElem = tableBody.$el;
423
428
  const pos = (0, _dom.getOffsetPos)(dragBtnElem, tableEl);
424
429
  const dragBtnWidth = dragBtnElem.clientWidth;
425
430
  const dragBtnOffsetWidth = Math.floor(dragBtnWidth / 2);
426
- const minInterval = (0, _util.getColReMinWidth)(params) - dragBtnOffsetWidth; // 列之间的最小间距
431
+ const minInterval = (0, _util.getColReMinWidth)(cellParams) - dragBtnOffsetWidth; // 列之间的最小间距
427
432
  let dragMinLeft = pos.left - cell.clientWidth + dragBtnWidth + minInterval;
428
433
  let dragPosLeft = pos.left + dragBtnOffsetWidth;
429
434
  const domMousemove = document.onmousemove;
@@ -482,7 +487,7 @@ var _default = exports.default = {
482
487
  }
483
488
  resizeTipElem.style.left = `${resizeTipLeft}px`;
484
489
  resizeTipElem.style.top = `${Math.min(tableEl.clientHeight - resizeTipHeight, Math.max(0, evnt.clientY - wrapperRect.y - resizeTipHeight / 2))}px`;
485
- resizeTipElem.textContent = `${column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft)}px`;
490
+ resizeTipElem.textContent = getI18n('vxe.table.resizeColTip', [column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft)]);
486
491
  }
487
492
  };
488
493
  $xetable._isResize = true;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header",renderRows=(v,C,b,y)=>{let _=C.$parent,w=_.xegrid,$=C.fixedType,{resizable:z,border:W,columnKey:M,headerCellClassName:H,headerCellStyle:D,showHeaderOverflow:S,headerAlign:R,align:T,currentColumn:E,scrollXLoad:O,scrollYLoad:k,overflowX:U,scrollbarWidth:e,mouseConfig:I,columnOpts:A}=_,L=_.computeColumnDragOpts,q=L.disabledMethod;return b.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:o,editRender:n,cellRender:d}=e,s=e.id,n=n||d,d=n?renderer.get(n.name):null,n=e.children&&e.children.length,u=$?e.fixed!==$&&!n:e.fixed&&U,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?S:r,a=a||(d?d.tableHeaderCellAlign:"")||R||i||(d?d.tableCellAlign:"")||T;let c="ellipsis"===r;i="title"===r,d=!0===r||"tooltip"===r;let p=i||d||c;var r=e.filters&&e.filters.some(e=>e.checked),h=_.getColumnIndex(e),m=_.getVTColumnIndex(e);let f={$table:_,$grid:w,$rowIndex:y,column:e,columnIndex:h,$columnIndex:l,_columnIndex:m,fixed:$,type:cellType,isHidden:u,hasFilter:r};var h={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},m={click:e=>_.triggerHeaderCellClickEvent(e,f),dblclick:e=>_.triggerHeaderCellDblclickEvent(e,f)},g=(O&&!p&&(c=p=!0),A.drag&&"cell"===L.trigger);let x=!1;g&&(x=!(!q||!q(f))),(I||g)&&(m.mousedown=e=>_.triggerHeaderCellMousedownEvent(e,f)),A.drag&&(m.dragstart=_.handleHeaderCellDragDragstartEvent,m.dragend=_.handleHeaderCellDragDragendEvent,m.dragover=_.handleHeaderCellDragDragoverEvent,g)&&(m.mouseup=_.handleHeaderCellDragMouseupEvent);g=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);return v("th",{class:["vxe-header--column",s,{["col--"+a]:a,["col--"+t]:t,"col--last":l===b.length-1,"col--fixed":e.fixed,"col--group":n,"col--ellipsis":p,"fixed--width":!g,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"is--drag-active":!e.fixed&&!x,"is--drag-disabled":x,"col--current":E===e},(0,_utils.getClass)(o,f),(0,_utils.getClass)(H,f)],attrs:h,style:D?_xeUtils.default.isFunction(D)?D(f):D:null,on:m,key:M||O||k||A.useKey||A.drag||n?s:l},[v("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":d,"c--ellipsis":c}]},e.renderHeader(v,f)),u||n||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:A.resizable||z)?null:v("div",{class:["vxe-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>C.resizeMousedown(e,f)}})])}).concat(e?[v("th",{key:"gr"+y,class:"vxe-header--gutter col--gutter"})]:[])};function renderHeads(r,a,e){let i=a.$parent;var l=i;let o=a.fixedType,n=i.computeColumnOpts,d=i.computeColumnDragOpts,{headerRowClassName:s,headerRowStyle:u}=l,c=i.isDragColMove;return e.map((e,l)=>{var t={$table:i,$rowIndex:l,fixed:o,type:cellType};return n.drag&&d.animation?r("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(c?"":"-disabled"),class:["vxe-header--row",s?_xeUtils.default.isFunction(s)?s(t):s:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null}},renderRows(r,a,e,l)):r("tr",{key:l,class:["vxe-header--row",s?_xeUtils.default.isFunction(s)?s(t):s:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null},renderRows(r,a,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-header-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.thead,e[r+"xSpace"]=t.xSpace,e[r+"repair"]=t.repair},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-header-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"repair"]=null},render(t){var e=this.$parent,l=e.tId,{fixedType:r,fixedColumn:a,tableColumn:i}=this,o=this.headerColumn,{showHeaderOverflow:n,spanMethod:d,footerSpanMethod:s}=e,{isGroup:u,scrollXLoad:c,scrollYLoad:p,scrollbarWidth:h,dragCol:m}=e,{visibleColumn:f,fullColumnIdData:g}=e;let x=o,v=i;return u?v=f:(r&&(v=!(c||p||n)||d||s?f:a||[]),x=[v]),r||u||c&&m&&2<v.length&&(o=g[m.id])&&(i=o._index,p=v[0],n=v[v.length-1],d=g[p.id],s=g[n.id],d)&&s&&(f=d._index,a=s._index,console.log(m.id,i,f,a,v.length),i<f?(v=[m].concat(v),x=[[m].concat(x[0])].concat(x.slice(1))):a<i&&(v=v.concat([m]),x=[x[0].concat([m])].concat(x.slice(1))),console.log(v.length)),t("div",{class:["vxe-table--header-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],attrs:{xid:l}},[r?renderEmptyElement(e):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("table",{class:"vxe-table--header",attrs:{xid:l,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},v.map((e,l)=>t("col",{attrs:{name:e.id},key:l})).concat(h?[t("col",{attrs:{name:"col_gutter"}})]:[])),t("thead",{ref:"thead"},renderHeads(t,this,x))]),t("div",{class:"vxe-table--header-border-line",ref:"repair"})])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]},resizeMousedown(e,t){var l=this.$parent;let d=t.column,{$parent:r,fixedType:s}=this,a=l.visibleColumn,{tableBody:i,leftContainer:u,rightContainer:c}=r.$refs,p=l.$el,h=r.$refs.resizeBar,m=r.$refs.refCellResizeTip,f=this.$el,{target:o,clientX:g}=e,x=t.cell=o.parentNode,v=l.computeResizableOpts,C=0,b=i.$el;var l=(0,_dom.getOffsetPos)(o,p),n=o.clientWidth,y=Math.floor(n/2);let _=(0,_util.getColReMinWidth)(t)-y,w=l.left-x.clientWidth+n+_,$=l.left+y,z=document.onmousemove,W=document.onmouseup,M="left"===s,H="right"===s,D=0;if(M||H){var S=M?"nextElementSibling":"previousElementSibling";let e=x[S];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(D+=e.offsetWidth),e=e[S];H&&c&&($=c.offsetLeft+D)}function R(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-g;let e=$+t;if(t=s?0:b.scrollLeft,M?e=Math.min(e,(c?c.offsetLeft:b.clientWidth)-D-_):H?(w=(u?u.clientWidth:0)+D+_,e=Math.min(e,$+x.clientWidth-_)):w=Math.max(b.scrollLeft,w),t=(C=Math.max(e,w))-t,h.style.left=t+"px",v.showDragTip&&m){var r=p.clientWidth,a=f.getBoundingClientRect(),i=h.clientWidth,o=m.clientWidth,n=m.clientHeight;let e=-o;t<o+i?e=o+i-t:r<t&&(e+=r-t),m.style.left=e+"px",m.style.top=Math.min(p.clientHeight-n,Math.max(0,l.clientY-a.y-n/2))+"px",m.textContent=d.renderWidth+(H?$-C:C-$)+"px"}}r._isResize=!0,(0,_dom.addClass)(r.$el,"drag--resize"),h.style.display="block",document.onmousemove=R,document.onmouseup=function(e){document.onmousemove=z,document.onmouseup=W;let l=d.renderWidth+(H?$-C:C-$);d.resizeWidth=l,"fixed"===v.dragMode&&a.forEach(e=>{e.id===d.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),h.style.display="none",r._isResize=!1,r._lastResizeTime=Date.now(),r.analyColumnWidth(),r.recalculate(!0).then(()=>{r.saveCustomStore("update:visible"),r.updateCellAreas(),r.emitEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>r.recalculate(!0),300)}),(0,_dom.removeClass)(r.$el,"drag--resize")},R(e),r.closeMenu()}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,cellType="header",renderRows=(v,C,b,y)=>{let _=C.$parent,w=_.xegrid,$=C.fixedType,{resizable:z,border:W,columnKey:M,headerCellClassName:D,headerCellStyle:H,showHeaderOverflow:E,headerAlign:R,align:S,currentColumn:T,scrollXLoad:k,scrollYLoad:O,overflowX:I,scrollbarWidth:e,mouseConfig:U,columnOpts:A}=_,L=_.computeColumnDragOpts,q=L.disabledMethod;return b.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:n,editRender:o,cellRender:d}=e,s=e.id,o=o||d,d=o?renderer.get(o.name):null,o=e.children&&e.children.length,u=$?e.fixed!==$&&!o:e.fixed&&I,r=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?E:r,a=a||(d?d.tableHeaderCellAlign:"")||R||i||(d?d.tableCellAlign:"")||S;let c="ellipsis"===r;i="title"===r,d=!0===r||"tooltip"===r;let p=i||d||c;var r=e.filters&&e.filters.some(e=>e.checked),h=_.getColumnIndex(e),m=_.getVTColumnIndex(e);let g={$table:_,$grid:w,$rowIndex:y,column:e,columnIndex:h,$columnIndex:l,_columnIndex:m,fixed:$,type:cellType,isHidden:u,hasFilter:r};var h={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},m={click:e=>_.triggerHeaderCellClickEvent(e,g),dblclick:e=>_.triggerHeaderCellDblclickEvent(e,g)},f=(k&&!p&&(c=p=!0),A.drag&&"cell"===L.trigger);let x=!1;f&&(x=!(!q||!q(g))),(U||f)&&(m.mousedown=e=>_.triggerHeaderCellMousedownEvent(e,g)),A.drag&&(m.dragstart=_.handleHeaderCellDragDragstartEvent,m.dragend=_.handleHeaderCellDragDragendEvent,m.dragover=_.handleHeaderCellDragDragoverEvent,f)&&(m.mouseup=_.handleHeaderCellDragMouseupEvent);f=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);return v("th",{class:["vxe-header--column",s,{["col--"+a]:a,["col--"+t]:t,"col--last":l===b.length-1,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":p,"fixed--width":!f,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"is--drag-active":!e.fixed&&!x,"is--drag-disabled":x,"col--current":T===e},(0,_utils.getClass)(n,g),(0,_utils.getClass)(D,g)],attrs:h,style:H?_xeUtils.default.isFunction(H)?H(g):H:null,on:m,key:M||k||O||A.useKey||A.drag||o?s:l},[v("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":d,"c--ellipsis":c}]},e.renderHeader(v,g)),u||o||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:A.resizable||z)?null:v("div",{class:["vxe-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>C.resizeMousedownEvent(e,g),dblclick:e=>_.handleResizeDblclickEvent(e,g)}})])}).concat(e?[v("th",{key:"gr"+y,class:"vxe-header--gutter col--gutter"})]:[])};function renderHeads(r,a,e){let i=a.$parent;var l=i;let n=a.fixedType,o=i.computeColumnOpts,d=i.computeColumnDragOpts,{headerRowClassName:s,headerRowStyle:u}=l,c=i.isDragColMove;return e.map((e,l)=>{var t={$table:i,$rowIndex:l,fixed:n,type:cellType};return o.drag&&d.animation?r("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(c?"":"-disabled"),class:["vxe-header--row",s?_xeUtils.default.isFunction(s)?s(t):s:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null}},renderRows(r,a,e,l)):r("tr",{key:l,class:["vxe-header--row",s?_xeUtils.default.isFunction(s)?s(t):s:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null},renderRows(r,a,e,l))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-header-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.thead,e[r+"xSpace"]=t.xSpace,e[r+"repair"]=t.repair},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-header-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"repair"]=null},render(t){var e=this.$parent,l=e.tId,{fixedType:r,fixedColumn:a,tableColumn:i}=this,n=this.headerColumn,{showHeaderOverflow:o,spanMethod:d,footerSpanMethod:s}=e,{isGroup:u,scrollXLoad:c,scrollYLoad:p,scrollbarWidth:h,dragCol:m}=e,{visibleColumn:g,fullColumnIdData:f}=e;let x=n,v=i;return u?v=g:(r&&(v=!(c||p||o)||d||s?g:a||[]),x=[v]),r||u||c&&m&&2<v.length&&(n=f[m.id])&&(i=n._index,p=v[0],o=v[v.length-1],d=f[p.id],s=f[o.id],d)&&s&&(g=d._index,a=s._index,console.log(m.id,i,g,a,v.length),i<g?(v=[m].concat(v),x=[[m].concat(x[0])].concat(x.slice(1))):a<i&&(v=v.concat([m]),x=[x[0].concat([m])].concat(x.slice(1))),console.log(v.length)),t("div",{class:["vxe-table--header-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],attrs:{xid:l}},[r?renderEmptyElement(e):t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("table",{class:"vxe-table--header",attrs:{xid:l,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},v.map((e,l)=>t("col",{attrs:{name:e.id},key:l})).concat(h?[t("col",{attrs:{name:"col_gutter"}})]:[])),t("thead",{ref:"thead"},renderHeads(t,this,x))]),t("div",{class:"vxe-table--header-border-line",ref:"repair"})])},methods:{uploadColumn(){var e=this.$parent;this.headerColumn=e.isGroup?(0,_util.convertHeaderColumnToRows)(this.tableGroupColumn):[]},resizeMousedownEvent(e,t){var l=this.$parent;let d=t.column,{$parent:r,fixedType:s}=this,a=l.visibleColumn,{tableBody:i,leftContainer:u,rightContainer:c}=r.$refs,p=l.$el,h=r.$refs.resizeBar,m=r.$refs.refCellResizeTip,g=this.$el,f=e.clientX;var n=e.target;let x=n.parentNode;var o=Object.assign(t,{cell:x});let v=l.computeResizableOpts,C=0,b=i.$el;var l=(0,_dom.getOffsetPos)(n,p),n=n.clientWidth,y=Math.floor(n/2);let _=(0,_util.getColReMinWidth)(o)-y,w=l.left-x.clientWidth+n+_,$=l.left+y,z=document.onmousemove,W=document.onmouseup,M="left"===s,D="right"===s,H=0;if(M||D){var E=M?"nextElementSibling":"previousElementSibling";let e=x[E];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(H+=e.offsetWidth),e=e[E];D&&c&&($=c.offsetLeft+H)}function R(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-f;let e=$+t;if(t=s?0:b.scrollLeft,M?e=Math.min(e,(c?c.offsetLeft:b.clientWidth)-H-_):D?(w=(u?u.clientWidth:0)+H+_,e=Math.min(e,$+x.clientWidth-_)):w=Math.max(b.scrollLeft,w),t=(C=Math.max(e,w))-t,h.style.left=t+"px",v.showDragTip&&m){var r=p.clientWidth,a=g.getBoundingClientRect(),i=h.clientWidth,n=m.clientWidth,o=m.clientHeight;let e=-n;t<n+i?e=n+i-t:r<t&&(e+=r-t),m.style.left=e+"px",m.style.top=Math.min(p.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",m.textContent=getI18n("vxe.table.resizeColTip",[d.renderWidth+(D?$-C:C-$)])}}r._isResize=!0,(0,_dom.addClass)(r.$el,"drag--resize"),h.style.display="block",document.onmousemove=R,document.onmouseup=function(e){document.onmousemove=z,document.onmouseup=W;let l=d.renderWidth+(D?$-C:C-$);d.resizeWidth=l,"fixed"===v.dragMode&&a.forEach(e=>{e.id===d.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),h.style.display="none",r._isResize=!1,r._lastResizeTime=Date.now(),r.analyColumnWidth(),r.recalculate(!0).then(()=>{r.saveCustomStore("update:visible"),r.updateCellAreas(),r.emitEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>r.recalculate(!0),300)}),(0,_dom.removeClass)(r.$el,"drag--resize")},R(e),r.closeMenu()}}};