vxe-table 4.13.8 → 4.13.10

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.
@@ -59,7 +59,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
59
59
  const refFooterColgroup = (0, _vue.ref)();
60
60
  const refFooterTFoot = (0, _vue.ref)();
61
61
  const refFooterXSpace = (0, _vue.ref)();
62
- const renderRows = (tableColumn, footerTableData, row, $rowIndex, _rowIndex) => {
62
+ const renderRows = (isOptimizeMode, tableColumn, footerTableData, row, $rowIndex, _rowIndex) => {
63
63
  const $xeGrid = $xeTable.xeGrid;
64
64
  const {
65
65
  fixedType
@@ -118,10 +118,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
118
118
  const isPadding = _xeUtils.default.isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding;
119
119
  const footOverflow = _xeUtils.default.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
120
120
  const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
121
- let showEllipsis = footOverflow === 'ellipsis';
121
+ const showEllipsis = footOverflow === 'ellipsis';
122
122
  const showTitle = footOverflow === 'title';
123
123
  const showTooltip = footOverflow === true || footOverflow === 'tooltip';
124
- let hasEllipsis = showTitle || showTooltip || showEllipsis;
124
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
125
125
  const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
126
126
  const attrs = {
127
127
  colid
@@ -147,10 +147,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
147
147
  type: renderType,
148
148
  data: footerTableData
149
149
  };
150
- // 纵向虚拟滚动不支持动态行高
151
- if (scrollXLoad && !hasEllipsis) {
152
- showEllipsis = hasEllipsis = true;
153
- }
154
150
  if (showTitle || showTooltip || showAllTip) {
155
151
  tfOns.onMouseenter = evnt => {
156
152
  if (showTitle) {
@@ -217,7 +213,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
217
213
  const isLastColumn = $columnIndex === tableColumn.length - 1;
218
214
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
219
215
  let isVNPreEmptyStatus = false;
220
- if (!isMergeCell) {
216
+ if (isOptimizeMode && !isMergeCell) {
221
217
  if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
222
218
  isVNPreEmptyStatus = true;
223
219
  }
@@ -266,7 +262,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
266
262
  }) : renderEmptyElement($xeTable)]);
267
263
  });
268
264
  };
269
- const renderHeads = renderColumnList => {
265
+ const renderHeads = (isOptimizeMode, renderColumnList) => {
270
266
  const {
271
267
  fixedType,
272
268
  footerTableData
@@ -299,14 +295,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
299
295
  class: ['vxe-footer--row', footerRowClassName ? _xeUtils.default.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
300
296
  style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : null
301
297
  }, {
302
- default: () => renderRows(renderColumnList, footerTableData, row, $rowIndex, _rowIndex)
298
+ default: () => renderRows(isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex)
303
299
  });
304
300
  }
305
301
  return (0, _vue.h)('tr', {
306
302
  key: $rowIndex,
307
303
  class: ['vxe-footer--row', footerRowClassName ? _xeUtils.default.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
308
304
  style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : null
309
- }, renderRows(renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
305
+ }, renderRows(isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
310
306
  });
311
307
  };
312
308
  const renderVN = () => {
@@ -329,20 +325,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
329
325
  isColLoading,
330
326
  overflowX,
331
327
  scrollXLoad,
332
- scrollYLoad,
333
328
  dragCol
334
329
  } = tableReactData;
335
330
  let renderColumnList = tableColumn;
336
331
  let isOptimizeMode = false;
337
332
  // 如果是使用优化模式
338
- if (scrollXLoad || scrollYLoad || allColumnFooterOverflow) {
333
+ if (scrollXLoad && allColumnFooterOverflow) {
339
334
  if (spanMethod || footerSpanMethod) {
340
335
  // 如果不支持优化模式
341
336
  } else {
342
337
  isOptimizeMode = true;
343
338
  }
344
339
  }
345
- if (!isColLoading && (fixedType || !overflowX)) {
340
+ if (!isOptimizeMode || !isColLoading && (fixedType || !overflowX)) {
346
341
  renderColumnList = visibleColumn;
347
342
  }
348
343
  if (fixedType) {
@@ -393,7 +388,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
393
388
  xid: xID,
394
389
  cellspacing: 0,
395
390
  cellpadding: 0,
396
- border: 0
391
+ border: 0,
392
+ xvm: isOptimizeMode ? '1' : null
397
393
  }, [
398
394
  /**
399
395
  * 列宽
@@ -414,7 +410,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
414
410
  */
415
411
  (0, _vue.h)('tfoot', {
416
412
  ref: refFooterTFoot
417
- }, renderHeads(renderColumnList))])])]);
413
+ }, renderHeads(isOptimizeMode, renderColumnList))])])]);
418
414
  };
419
415
  (0, _vue.onMounted)(() => {
420
416
  (0, _vue.nextTick)(() => {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(m){let Z=(0,_vue.inject)("$xeTable",{}),{xID:g,props:_,reactData:h,internalData:b}=Z,{computeTooltipOpts:l,computeColumnOpts:y,computeColumnDragOpts:w,computeCellOpts:t,computeFooterCellOpts:o,computeDefaultRowHeight:r,computeResizableOpts:i,computeVirtualXOpts:a}=Z.getComputeMaps(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),O=(0,_vue.ref)(),D=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(0,_vue.ref)(),S=(w,C,T,O,D)=>{let F=Z.xeGrid,I=m.fixedType,{resizable:S,border:E,footerCellClassName:M,footerCellStyle:k,footerAlign:z,footerSpanMethod:U,align:R,columnKey:$,showFooterOverflow:A}=_,{scrollXLoad:j,scrollYLoad:q,overflowX:L,currentColumn:X}=h,{fullColumnIdData:N,mergeFooterList:G,mergeFooterCellMaps:H,scrollXStore:P}=b,V=a.value,W=l.value;let B=i.value.isAllColumnDrag,K=y.value;var e=r.value;let Y=t.value,J=o.value,Q=(0,_util.getCellHeight)(J.height||Y.height)||e;return w.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:i,footerClassName:a,editRender:n,cellRender:u}=l,d=l.id,s=N[d]||{},n=n||u,u=n?renderer.get(n.name):null;let c=W.showAll;var n=l.children&&l.children.length,n=I?l.fixed!==I&&!n:l.fixed&&L,p=(_xeUtils.default.isBoolean(J.padding)?J:Y).padding,o=_xeUtils.default.eqNull(o)?A:o,r=r||(u?u.tableFooterCellAlign:"")||z||i||(u?u.tableCellAlign:"")||R;let f="ellipsis"===o,v="title"===o,x=!0===o||"tooltip"===o,m=v||x||f;var i=_xeUtils.default.isBoolean(l.resizable)?l.resizable:K.resizable||S,u={colid:d},o={},g=s.index,s=s._index,_=s;let h={$table:Z,$grid:F,row:T,rowIndex:D,_rowIndex:D,$rowIndex:O,column:l,columnIndex:g,$columnIndex:e,_columnIndex:s,itemIndex:_,items:T,fixed:I,type:renderType,data:C},b=(j&&!m&&(f=m=!0),(v||x||c)&&(o.onMouseenter=e=>{v?(0,_dom.updateCellTitle)(e.currentTarget,l):(x||c)&&Z.triggerFooterTooltipEvent(e,h)}),(x||c)&&(o.onMouseleave=e=>{(x||c)&&Z.handleTargetLeaveEvent(e)}),o.onClick=e=>{Z.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},h),e)},!(o.onDblclick=e=>{Z.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},h),e)}));if(G.length){g=H[D+":"+s];if(g){var{rowspan:_,colspan:g}=g;if(!_||!g)return null;1<_&&(b=!0,u.rowspan=_),1<g&&(b=!0,u.colspan=g)}}else if(U){var{rowspan:_=1,colspan:g=1}=U(h)||{};if(!_||!g)return null;1<_&&(u.rowspan=_),1<g&&(u.colspan=g)}_=e===w.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let y=!1;b||j&&!l.fixed&&!V.immediate&&(s<P.visibleStartIndex-P.preloadSize||s>P.visibleEndIndex+P.preloadSize)&&(y=!0);s={};return m?s.height=Q+"px":s.minHeight=Q+"px",(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":_,"fixed--width":!g,"fixed--hidden":n,"is--padding":p,"col--ellipsis":m,"col--current":X===l},(0,_dom.getPropClass)(a,h),(0,_dom.getPropClass)(M,h)]},u),{style:k?_xeUtils.default.isFunction(k)?k(h):k:null}),o),{key:$||j||q||K.useKey||K.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":v,"c--tooltip":x,"c--ellipsis":f}],style:s},y?[]:[(0,_vue.h)("div",{colid:d,class:"vxe-cell--wrapper"},l.renderFooter(h))]),!n&&i&&B?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!E||"none"===E}],onMousedown:e=>Z.handleColResizeMousedownEvent(e,I,h),onDblclick:e=>Z.handleColResizeDblclickEvent(e,h)}):renderEmptyElement(Z)])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=m.fixedType,l=b.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=C,l[e+"scroll"]=T,l[e+"table"]=O,l[e+"colgroup"]=D,l[e+"list"]=F,l[e+"xSpace"]=I})}),(0,_vue.onUnmounted)(()=>{var e=m.fixedType,l=b.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=m;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:i}=_,{visibleColumn:a,fullColumnIdData:n}=b,{isGroup:u,isColLoading:d,overflowX:s,scrollXLoad:c,scrollYLoad:p,dragCol:f}=h;let v=t,x=!(c||p||i)||o||r?!1:!0;return d||!l&&s||(v=a),l&&x&&(v=e||[]),l||u||c&&f&&2<v.length&&(p=n[f.id])&&(i=p._index,o=v[0],r=v[v.length-1],d=n[o.id],s=n[r.id],d)&&s&&(a=d._index,u=s._index,i<a?v=[f].concat(v):u<i&&(v=v.concat([f]))),(0,_vue.h)("div",{ref:C,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:g},[(0,_vue.h)("div",{ref:T,class:"vxe-table--footer-inner-wrapper",onScroll(e){Z.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(Z):(0,_vue.h)("div",{ref:I,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:O,class:"vxe-table--footer",xid:g,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:D},v.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tfoot",{ref:F},(r=>{let{fixedType:i,footerTableData:a}=m,{footerRowClassName:n,footerRowStyle:u}=_,{isColLoading:d,isDragColMove:s}=h,c=y.value,p=w.value;return a.map((e,l)=>{let t=l;var o={$table:Z,row:e,_rowIndex:t,$rowIndex:l,fixed:i,type:renderType};return!d&&c.drag&&p.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(s?"":"-disabled"),tag:"tr",class:["vxe-footer--row",n?_xeUtils.default.isFunction(n)?n(o):n:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>S(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",n?_xeUtils.default.isFunction(n)?n(o):n:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},S(r,a,e,l,t))})})(v))])])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(x){let ee=(0,_vue.inject)("$xeTable",{}),{xID:m,props:g,reactData:_,internalData:h}=ee,{computeTooltipOpts:l,computeColumnOpts:b,computeColumnDragOpts:y,computeCellOpts:t,computeFooterCellOpts:o,computeDefaultRowHeight:r,computeResizableOpts:i,computeVirtualXOpts:a}=ee.getComputeMaps(),w=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),O=(0,_vue.ref)(),D=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(w,C,T,O,D,F)=>{let I=ee.xeGrid,S=x.fixedType,{resizable:E,border:M,footerCellClassName:k,footerCellStyle:z,footerAlign:U,footerSpanMethod:R,align:$,columnKey:A,showFooterOverflow:j}=g,{scrollXLoad:q,scrollYLoad:L,overflowX:X,currentColumn:N}=_,{fullColumnIdData:G,mergeFooterList:H,mergeFooterCellMaps:P,scrollXStore:V}=h,W=a.value,B=l.value;let K=i.value.isAllColumnDrag,Y=b.value;var e=r.value;let J=t.value,Q=o.value,Z=(0,_util.getCellHeight)(Q.height||J.height)||e;return C.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:i,footerClassName:a,editRender:n,cellRender:u}=l,d=l.id,s=G[d]||{},n=n||u,u=n?renderer.get(n.name):null;let c=B.showAll;var n=l.children&&l.children.length,n=S?l.fixed!==S&&!n:l.fixed&&X,p=(_xeUtils.default.isBoolean(Q.padding)?Q:J).padding,o=_xeUtils.default.eqNull(o)?j:o,r=r||(u?u.tableFooterCellAlign:"")||U||i||(u?u.tableCellAlign:"")||$,i="ellipsis"===o;let f="title"===o,v=!0===o||"tooltip"===o;var u=f||v||i,o=_xeUtils.default.isBoolean(l.resizable)?l.resizable:Y.resizable||E,x={colid:d},m={},g=s.index,s=s._index,_=s;let h={$table:ee,$grid:I,row:O,rowIndex:F,_rowIndex:F,$rowIndex:D,column:l,columnIndex:g,$columnIndex:e,_columnIndex:s,itemIndex:_,items:O,fixed:S,type:renderType,data:T},b=((f||v||c)&&(m.onMouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(v||c)&&ee.triggerFooterTooltipEvent(e,h)}),(v||c)&&(m.onMouseleave=e=>{(v||c)&&ee.handleTargetLeaveEvent(e)}),m.onClick=e=>{ee.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},h),e)},!(m.onDblclick=e=>{ee.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},h),e)}));if(H.length){g=P[F+":"+s];if(g){var{rowspan:_,colspan:g}=g;if(!_||!g)return null;1<_&&(b=!0,x.rowspan=_),1<g&&(b=!0,x.colspan=g)}}else if(R){var{rowspan:_=1,colspan:g=1}=R(h)||{};if(!_||!g)return null;1<_&&(x.rowspan=_),1<g&&(x.colspan=g)}_=e===C.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let y=!1;w&&!b&&q&&!l.fixed&&!W.immediate&&(s<V.visibleStartIndex-V.preloadSize||s>V.visibleEndIndex+V.preloadSize)&&(y=!0);s={};return u?s.height=Z+"px":s.minHeight=Z+"px",(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":_,"fixed--width":!g,"fixed--hidden":n,"is--padding":p,"col--ellipsis":u,"col--current":N===l},(0,_dom.getPropClass)(a,h),(0,_dom.getPropClass)(k,h)]},x),{style:z?_xeUtils.default.isFunction(z)?z(h):z:null}),m),{key:A||q||L||Y.useKey||Y.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":v,"c--ellipsis":i}],style:s},y?[]:[(0,_vue.h)("div",{colid:d,class:"vxe-cell--wrapper"},l.renderFooter(h))]),!n&&o&&K?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!M||"none"===M}],onMousedown:e=>ee.handleColResizeMousedownEvent(e,S,h),onDblclick:e=>ee.handleColResizeDblclickEvent(e,h)}):renderEmptyElement(ee)])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=x.fixedType,l=h.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=w,l[e+"scroll"]=C,l[e+"table"]=T,l[e+"colgroup"]=O,l[e+"list"]=D,l[e+"xSpace"]=F})}),(0,_vue.onUnmounted)(()=>{var e=x.fixedType,l=h.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=x;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:i}=g,{visibleColumn:a,fullColumnIdData:n}=h,{isGroup:u,isColLoading:d,overflowX:s,scrollXLoad:c,dragCol:p}=_;let f=t,v=!1;return c&&i&&(o||r||(v=!0)),v&&(d||!l&&s)||(f=a),l&&v&&(f=e||[]),l||u||c&&p&&2<f.length&&(i=n[p.id])&&(o=i._index,r=f[0],d=f[f.length-1],s=n[r.id],a=n[d.id],s)&&a&&(u=s._index,c=a._index,o<u?f=[p].concat(f):c<o&&(f=f.concat([p]))),(0,_vue.h)("div",{ref:w,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:m},[(0,_vue.h)("div",{ref:C,class:"vxe-table--footer-inner-wrapper",onScroll(e){ee.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(ee):(0,_vue.h)("div",{ref:F,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:T,class:"vxe-table--footer",xid:m,cellspacing:0,cellpadding:0,border:0,xvm:v?"1":null},[(0,_vue.h)("colgroup",{ref:O},f.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tfoot",{ref:D},((r,i)=>{let{fixedType:a,footerTableData:n}=x,{footerRowClassName:u,footerRowStyle:d}=g,{isColLoading:s,isDragColMove:c}=_,p=b.value,f=y.value;return n.map((e,l)=>{let t=l;var o={$table:ee,row:e,_rowIndex:t,$rowIndex:l,fixed:a,type:renderType};return!s&&p.drag&&f.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(c?"":"-disabled"),tag:"tr",class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(o):u:""],style:d?_xeUtils.default.isFunction(d)?d(o):d:null},{default:()=>I(r,i,n,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(o):u:""],style:d?_xeUtils.default.isFunction(d)?d(o):d:null},I(r,i,n,e,l,t))})})(v,f))])])])}}});
@@ -115,10 +115,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
115
115
  const isPadding = _xeUtils.default.isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
116
116
  const headOverflow = _xeUtils.default.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
117
117
  const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
118
- let showEllipsis = headOverflow === 'ellipsis';
118
+ const showEllipsis = headOverflow === 'ellipsis';
119
119
  const showTitle = headOverflow === 'title';
120
120
  const showTooltip = headOverflow === true || headOverflow === 'tooltip';
121
- let hasEllipsis = showTitle || showTooltip || showEllipsis;
121
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
122
122
  let hasFilter = false;
123
123
  let firstFilterOption = null;
124
124
  if (filters) {
@@ -150,10 +150,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
150
150
  onClick: evnt => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
151
151
  onDblclick: evnt => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
152
152
  };
153
- // 横向虚拟滚动不支持动态行高
154
- if (scrollXLoad && !hasEllipsis) {
155
- showEllipsis = hasEllipsis = true;
156
- }
157
153
  const isColDragCell = columnOpts.drag && columnDragOpts.trigger === 'cell';
158
154
  let isDisabledDrag = false;
159
155
  if (isColDragCell) {
@@ -176,7 +172,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
176
172
  const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
177
173
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
178
174
  let isVNPreEmptyStatus = false;
179
- if (!isGroup) {
175
+ if (isOptimizeMode && !isGroup) {
180
176
  if (!dragCol || dragCol.id !== colid) {
181
177
  if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
182
178
  isVNPreEmptyStatus = true;
@@ -287,7 +283,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
287
283
  isColLoading,
288
284
  overflowX,
289
285
  scrollXLoad,
290
- scrollYLoad,
291
286
  dragCol
292
287
  } = tableReactData;
293
288
  const {
@@ -302,14 +297,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
302
297
  renderColumnList = visibleColumn;
303
298
  } else {
304
299
  // 如果是使用优化模式
305
- if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
300
+ if (scrollXLoad && allColumnHeaderOverflow) {
306
301
  if (spanMethod || footerSpanMethod) {
307
302
  // 如果不支持优化模式
308
303
  } else {
309
304
  isOptimizeMode = true;
310
305
  }
311
306
  }
312
- if (!isColLoading && (fixedType || !overflowX)) {
307
+ if (!isOptimizeMode || !isColLoading && (fixedType || !overflowX)) {
313
308
  renderColumnList = visibleColumn;
314
309
  }
315
310
  if (fixedType) {
@@ -365,7 +360,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
365
360
  xid: xID,
366
361
  cellspacing: 0,
367
362
  cellpadding: 0,
368
- border: 0
363
+ border: 0,
364
+ xvm: isOptimizeMode ? '1' : null
369
365
  }, [
370
366
  /**
371
367
  * 列宽
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(m){let le=(0,_vue.inject)("$xeTable",{}),{xID:b,props:C,reactData:y,internalData:w}=le,{computeColumnOpts:D,computeColumnDragOpts:ae,computeCellOpts:l,computeMouseOpts:H,computeHeaderCellOpts:a,computeDefaultRowHeight:r,computeVirtualXOpts:t}=le.getComputeMaps(),E=(0,_vue.ref)([]),S=(0,_vue.ref)(),M=(0,_vue.ref)(),O=(0,_vue.ref)(),T=(0,_vue.ref)(),U=(0,_vue.ref)(),k=(0,_vue.ref)(),i=(0,_vue.ref)(),n=()=>{var e=y.isGroup;E.value=e?(0,_util.convertHeaderColumnToRows)(m.tableGroupColumn):[]},I=(H,E,S,M)=>{let O=le.xeGrid,T=m.fixedType,{resizable:U,columnKey:k,headerCellClassName:I,headerCellStyle:z,showHeaderOverflow:R,headerAlign:$,align:F,mouseConfig:A}=C,{currentColumn:q,dragCol:G,scrollXLoad:L,scrollYLoad:X,overflowX:j}=y,{fullColumnIdData:N,scrollXStore:V}=w,W=t.value,B=D.value,K=ae.value,P=l.value;var e=r.value;let Y=a.value,J=(0,_util.getCellHeight)(Y.height||P.height)||e,{disabledMethod:Q,isCrossDrag:Z,isPeerDrag:ee}=K;return S.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:i,filters:n,headerClassName:o,editRender:d,cellRender:u}=e,s=e.id,c=N[s]||{},d=d||u,u=d?renderer.get(d.name):null,d=e.children&&e.children.length,v=T?e.fixed!==T&&!d:!!e.fixed&&j,p=(_xeUtils.default.isBoolean(Y.padding)?Y:P).padding,r=_xeUtils.default.eqNull(r)?R:r,t=t||(u?u.tableHeaderCellAlign:"")||$||i||(u?u.tableCellAlign:"")||F;let x="ellipsis"===r;i="title"===r,u=!0===r||"tooltip"===r;let h=i||u||x,g=!1,f=null;n&&(f=n[0],g=n.some(e=>e.checked));r=c.index,c=c._index;let _={$table:le,$grid:O,$rowIndex:M,column:e,columnIndex:r,$columnIndex:l,_columnIndex:c,firstFilterOption:f,fixed:T,type:renderType,isHidden:v,hasFilter:g};var r={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},m={onClick:e=>le.triggerHeaderCellClickEvent(e,_),onDblclick:e=>le.triggerHeaderCellDblclickEvent(e,_)},b=(L&&!h&&(x=h=!0),B.drag&&"cell"===K.trigger);let C=!1;b&&(C=!(!Q||!Q(_))),(A||b)&&(m.onMousedown=e=>le.triggerHeaderCellMousedownEvent(e,_)),B.drag&&(m.onDragstart=le.handleHeaderCellDragDragstartEvent,m.onDragend=le.handleHeaderCellDragDragendEvent,m.onDragover=le.handleHeaderCellDragDragoverEvent,b)&&(m.onMouseup=le.handleHeaderCellDragMouseupEvent);var b=l===S.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:B.resizable||U,w=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let D=!1;H||G&&G.id===s||L&&!e.fixed&&!W.immediate&&(c<V.visibleStartIndex-V.preloadSize||c>V.visibleEndIndex+V.preloadSize)&&(D=!0);c={};return h?c.height=J+"px":c.minHeight=J+"px",(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",s,{["col--"+t]:t,["col--"+a]:a,"col--last":b,"col--fixed":e.fixed,"col--group":d,"col--ellipsis":h,"fixed--width":!w,"fixed--hidden":v,"is--padding":p,"is--sortable":e.sortable,"col--filter":!!n,"is--filter-active":g,"is--drag-active":B.drag&&!e.fixed&&!C&&(Z||ee||!e.parentId),"is--drag-disabled":B.drag&&C,"col--current":q===e},o?_xeUtils.default.isFunction(o)?o(_):o:"",I?_xeUtils.default.isFunction(I)?I(_):I:""],style:z?_xeUtils.default.isFunction(z)?z(_):z:null},r),m),{key:k||L||X||B.useKey||B.drag||d?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":u,"c--ellipsis":x}],style:c},D||E&&v?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},e.renderHeader(_))]),!v&&y?(0,_vue.h)("div",{class:"vxe-cell--col-resizable",onMousedown:e=>le.handleColResizeMousedownEvent(e,T,_),onDblclick:e=>le.handleColResizeDblclickEvent(e,_)}):renderEmptyElement(le)])})};return(0,_vue.watch)(()=>m.tableColumn,n),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=m.fixedType,l=le.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=S,l[e+"scroll"]=M,l[e+"table"]=O,l[e+"colgroup"]=T,l[e+"list"]=U,l[e+"xSpace"]=k,l[e+"repair"]=i,n()})}),(0,_vue.onUnmounted)(()=>{var e=m.fixedType,l=le.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:a}=m;var{mouseConfig:r,showHeaderOverflow:t,spanMethod:i,footerSpanMethod:n}=C,{isGroup:o,isColLoading:d,overflowX:u,scrollXLoad:s,scrollYLoad:c,dragCol:v}=y,{visibleColumn:p,fullColumnIdData:x}=w,h=H.value;let g=E.value,f=a,_=!1;return o?f=p:(!(s||c||t)||i||n||(_=!0),d||!l&&u||(f=p),l&&_&&(f=e||[]),g=[f]),l||o||s&&v&&2<f.length&&(c=x[v.id])&&(t=c._index,i=f[0],n=f[f.length-1],d=x[i.id],u=x[n.id],d)&&u&&(p=d._index,s=u._index,t<p?(f=[v].concat(f),g=[[v].concat(g[0])].concat(g.slice(1))):s<t&&(f=f.concat([v]),g=[g[0].concat([v])].concat(g.slice(1)))),(0,_vue.h)("div",{ref:S,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:b},[(0,_vue.h)("div",{ref:M,class:"vxe-table--header-inner-wrapper",onScroll(e){le.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(le):(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:O,class:"vxe-table--header",xid:b,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:T},f.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("thead",{ref:U},((r,t,e)=>{let i=m.fixedType,{headerRowClassName:n,headerRowStyle:o}=C,{isColLoading:d,isDragColMove:u}=y,s=D.value,c=ae.value;return e.map((e,l)=>{var a={$table:le,$rowIndex:l,fixed:i,type:renderType};return!d&&s.drag&&c.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(u?"":"-disabled"),tag:"tr",class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(a):n:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},{default:()=>I(r,t,e,l)}):(0,_vue.h)("tr",{key:l,class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(a):n:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},I(r,t,e,l))})})(o,_,g))]),r&&h.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(le)])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(_){let le=(0,_vue.inject)("$xeTable",{}),{xID:m,props:b,reactData:C,internalData:y}=le,{computeColumnOpts:w,computeColumnDragOpts:D,computeCellOpts:l,computeMouseOpts:H,computeHeaderCellOpts:a,computeDefaultRowHeight:r,computeVirtualXOpts:t}=le.getComputeMaps(),E=(0,_vue.ref)([]),S=(0,_vue.ref)(),M=(0,_vue.ref)(),O=(0,_vue.ref)(),T=(0,_vue.ref)(),U=(0,_vue.ref)(),k=(0,_vue.ref)(),i=(0,_vue.ref)(),n=()=>{var e=C.isGroup;E.value=e?(0,_util.convertHeaderColumnToRows)(_.tableGroupColumn):[]},I=(H,E,S,M)=>{let O=le.xeGrid,T=_.fixedType,{resizable:U,columnKey:k,headerCellClassName:I,headerCellStyle:z,showHeaderOverflow:R,headerAlign:$,align:F,mouseConfig:A}=b,{currentColumn:q,dragCol:G,scrollXLoad:X,scrollYLoad:j,overflowX:L}=C,{fullColumnIdData:N,scrollXStore:V}=y,W=t.value,B=w.value,K=D.value,P=l.value;var e=r.value;let Y=a.value,J=(0,_util.getCellHeight)(Y.height||P.height)||e,{disabledMethod:Q,isCrossDrag:Z,isPeerDrag:ee}=K;return S.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:i,filters:n,headerClassName:o,editRender:d,cellRender:u}=e,s=e.id,c=N[s]||{},d=d||u,u=d?renderer.get(d.name):null,d=e.children&&e.children.length,v=T?e.fixed!==T&&!d:!!e.fixed&&L,p=(_xeUtils.default.isBoolean(Y.padding)?Y:P).padding,r=_xeUtils.default.eqNull(r)?R:r,t=t||(u?u.tableHeaderCellAlign:"")||$||i||(u?u.tableCellAlign:"")||F,i="ellipsis"===r,u="title"===r,r=!0===r||"tooltip"===r,x=u||r||i;let h=!1,g=null;n&&(g=n[0],h=n.some(e=>e.checked));var f=c.index,c=c._index;let _={$table:le,$grid:O,$rowIndex:M,column:e,columnIndex:f,$columnIndex:l,_columnIndex:c,firstFilterOption:g,fixed:T,type:renderType,isHidden:v,hasFilter:h};var f={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},m={onClick:e=>le.triggerHeaderCellClickEvent(e,_),onDblclick:e=>le.triggerHeaderCellDblclickEvent(e,_)},b=B.drag&&"cell"===K.trigger;let C=!1;b&&(C=!(!Q||!Q(_))),(A||b)&&(m.onMousedown=e=>le.triggerHeaderCellMousedownEvent(e,_)),B.drag&&(m.onDragstart=le.handleHeaderCellDragDragstartEvent,m.onDragend=le.handleHeaderCellDragDragendEvent,m.onDragover=le.handleHeaderCellDragDragoverEvent,b)&&(m.onMouseup=le.handleHeaderCellDragMouseupEvent);var b=l===S.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:B.resizable||U,w=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let D=!1;!E||H||G&&G.id===s||X&&!e.fixed&&!W.immediate&&(c<V.visibleStartIndex-V.preloadSize||c>V.visibleEndIndex+V.preloadSize)&&(D=!0);c={};return x?c.height=J+"px":c.minHeight=J+"px",(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",s,{["col--"+t]:t,["col--"+a]:a,"col--last":b,"col--fixed":e.fixed,"col--group":d,"col--ellipsis":x,"fixed--width":!w,"fixed--hidden":v,"is--padding":p,"is--sortable":e.sortable,"col--filter":!!n,"is--filter-active":h,"is--drag-active":B.drag&&!e.fixed&&!C&&(Z||ee||!e.parentId),"is--drag-disabled":B.drag&&C,"col--current":q===e},o?_xeUtils.default.isFunction(o)?o(_):o:"",I?_xeUtils.default.isFunction(I)?I(_):I:""],style:z?_xeUtils.default.isFunction(z)?z(_):z:null},f),m),{key:k||X||j||B.useKey||B.drag||d?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":r,"c--ellipsis":i}],style:c},D||E&&v?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper"},e.renderHeader(_))]),!v&&y?(0,_vue.h)("div",{class:"vxe-cell--col-resizable",onMousedown:e=>le.handleColResizeMousedownEvent(e,T,_),onDblclick:e=>le.handleColResizeDblclickEvent(e,_)}):renderEmptyElement(le)])})};return(0,_vue.watch)(()=>_.tableColumn,n),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_.fixedType,l=le.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=S,l[e+"scroll"]=M,l[e+"table"]=O,l[e+"colgroup"]=T,l[e+"list"]=U,l[e+"xSpace"]=k,l[e+"repair"]=i,n()})}),(0,_vue.onUnmounted)(()=>{var e=_.fixedType,l=le.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:a}=_;var{mouseConfig:r,showHeaderOverflow:t,spanMethod:i,footerSpanMethod:n}=b,{isGroup:o,isColLoading:d,overflowX:u,scrollXLoad:s,dragCol:c}=C,{visibleColumn:v,fullColumnIdData:p}=y,x=H.value;let h=E.value,g=a,f=!1;return o?g=v:(s&&t&&(i||n||(f=!0)),f&&(d||!l&&u)||(g=v),l&&f&&(g=e||[]),h=[g]),l||o||s&&c&&2<g.length&&(t=p[c.id])&&(i=t._index,n=g[0],d=g[g.length-1],u=p[n.id],v=p[d.id],u)&&v&&(s=u._index,t=v._index,i<s?(g=[c].concat(g),h=[[c].concat(h[0])].concat(h.slice(1))):t<i&&(g=g.concat([c]),h=[h[0].concat([c])].concat(h.slice(1)))),(0,_vue.h)("div",{ref:S,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:m},[(0,_vue.h)("div",{ref:M,class:"vxe-table--header-inner-wrapper",onScroll(e){le.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(le):(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:O,class:"vxe-table--header",xid:m,cellspacing:0,cellpadding:0,border:0,xvm:f?"1":null},[(0,_vue.h)("colgroup",{ref:T},g.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("thead",{ref:U},((r,t,e)=>{let i=_.fixedType,{headerRowClassName:n,headerRowStyle:o}=b,{isColLoading:d,isDragColMove:u}=C,s=w.value,c=D.value;return e.map((e,l)=>{var a={$table:le,$rowIndex:l,fixed:i,type:renderType};return!d&&s.drag&&c.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(u?"":"-disabled"),tag:"tr",class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(a):n:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},{default:()=>I(r,t,e,l)}):(0,_vue.h)("tr",{key:l,class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(a):n:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},I(r,t,e,l))})})(o,f,h))]),r&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(le)])])}}});
@@ -136,18 +136,18 @@ if(allSortMethod){const sortRests=allSortMethod({data:tableTree,sortList:orderCo
136
136
  if(allSortMethod){const sortRests=allSortMethod({data:tableTree,sortList:orderColumns,$table:$xeTable});tableTree=_xeUtils.default.isArray(sortRests)?sortRests:tableTree;}else{const treeList=_xeUtils.default.toTreeArray(tableTree,{children:mapChildrenField});tableTree=_xeUtils.default.toArrayTree(_xeUtils.default.orderBy(treeList,orderColumns.map(({column,order})=>[getOrderField(column),order])),{key:rowField,parentKey:parentField,children:childrenField,mapChildren:mapChildrenField});}tableData=tableTree;}else{if(allSortMethod){const sortRests=allSortMethod({data:tableData,sortList:orderColumns,$table:$xeTable});tableData=_xeUtils.default.isArray(sortRests)?sortRests:tableData;}else{tableData=_xeUtils.default.orderBy(tableData,orderColumns.map(({column,order})=>[getOrderField(column),order]));}tableTree=tableData;}}}else{if(isRowGroupStatus){// 还原行分组
137
137
  // 还原虚拟树
138
138
  tableTree=_xeUtils.default.searchTree(tableFullGroupData,()=>true,{original:true,isEvery:true,children:rowGroupOpts.mapChildrenField,mapChildren:rowGroupOpts.childrenField});tableData=tableTree;}else if(treeConfig&&transform){// 还原虚拟树
139
- tableTree=_xeUtils.default.searchTree(tableFullTreeData,()=>true,{original:true,isEvery,children:mapChildrenField,mapChildren:childrenField});tableData=tableTree;}else{tableData=treeConfig?tableFullTreeData.slice(0):tableFullData.slice(0);tableTree=tableData;}}internalData.afterFullData=tableData;internalData.afterTreeFullData=tableTree;internalData.afterGroupFullData=tableTree;updateAfterDataIndex();};const updateStyle=()=>{const{showHeaderOverflow:allColumnHeaderOverflow,showFooterOverflow:allColumnFooterOverflow,mouseConfig,spanMethod,footerSpanMethod}=props;const{isGroup,currentRow,tableColumn,scrollXLoad,scrollYLoad,overflowX,scrollbarWidth,overflowY,scrollbarHeight,scrollXWidth,columnStore,editStore,isAllOverflow,expandColumn}=reactData;const{visibleColumn,tableHeight,headerHeight,footerHeight,elemStore,customHeight,customMinHeight,customMaxHeight}=internalData;const el=refElem.value;if(!el){return;}const containerList=['main','left','right'];const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const emptyPlaceholderElem=refEmptyPlaceholder.value;const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const bodyWrapperElem=(0,_util.getRefElem)(elemStore['main-body-wrapper']);const bodyTableElem=(0,_util.getRefElem)(elemStore['main-body-table']);if(emptyPlaceholderElem){emptyPlaceholderElem.style.top=`${headerHeight}px`;emptyPlaceholderElem.style.height=bodyWrapperElem?`${bodyWrapperElem.offsetHeight-osbHeight}px`:'';}let bodyHeight=0;let bodyMaxHeight=0;const bodyMinHeight=customMinHeight-headerHeight-footerHeight-osbHeight;if(customMaxHeight){bodyMaxHeight=Math.max(bodyMinHeight,customMaxHeight-headerHeight-footerHeight-osbHeight);}if(customHeight){bodyHeight=customHeight-headerHeight-footerHeight-osbHeight;}if(!bodyHeight){if(bodyTableElem){bodyHeight=bodyTableElem.clientHeight;}}if(bodyHeight){if(bodyMaxHeight){bodyHeight=Math.min(bodyMaxHeight,bodyHeight);}bodyHeight=Math.max(bodyMinHeight,bodyHeight);}const scrollbarXToTop=computeScrollbarXToTop.value;const xLeftCornerEl=refScrollXLeftCornerElem.value;const xRightCornerEl=refScrollXRightCornerElem.value;const scrollXVirtualEl=refScrollXVirtualElem.value;if(scrollXVirtualEl){scrollXVirtualEl.style.height=`${osbHeight}px`;scrollXVirtualEl.style.visibility=overflowX?'visible':'hidden';}const xWrapperEl=refScrollXWrapperElem.value;if(xWrapperEl){xWrapperEl.style.left=scrollbarXToTop?`${osbWidth}px`:'';xWrapperEl.style.width=`${el.clientWidth-osbWidth}px`;}if(xLeftCornerEl){xLeftCornerEl.style.width=scrollbarXToTop?`${osbWidth}px`:'';xLeftCornerEl.style.display=scrollbarXToTop?overflowX&&osbHeight?'block':'':'';}if(xRightCornerEl){xRightCornerEl.style.width=scrollbarXToTop?'':`${osbWidth}px`;xRightCornerEl.style.display=scrollbarXToTop?'':overflowX&&osbHeight?'block':'';}const scrollYVirtualEl=refScrollYVirtualElem.value;if(scrollYVirtualEl){scrollYVirtualEl.style.width=`${osbWidth}px`;scrollYVirtualEl.style.height=`${bodyHeight+headerHeight+footerHeight}px`;scrollYVirtualEl.style.visibility=overflowY?'visible':'hidden';}const yTopCornerEl=refScrollYTopCornerElem.value;if(yTopCornerEl){yTopCornerEl.style.height=`${headerHeight}px`;yTopCornerEl.style.display=overflowY&&headerHeight?'block':'';}const yWrapperEl=refScrollYWrapperElem.value;if(yWrapperEl){yWrapperEl.style.height=`${bodyHeight}px`;yWrapperEl.style.top=`${headerHeight}px`;}const yBottomCornerEl=refScrollYBottomCornerElem.value;if(yBottomCornerEl){yBottomCornerEl.style.height=`${footerHeight}px`;yBottomCornerEl.style.top=`${headerHeight+bodyHeight}px`;yBottomCornerEl.style.display=overflowY&&footerHeight?'block':'';}const rowExpandEl=refRowExpandElem.value;if(rowExpandEl){rowExpandEl.style.height=`${bodyHeight}px`;rowExpandEl.style.top=`${headerHeight}px`;}containerList.forEach((name,index)=>{const fixedType=index>0?name:'';const layoutList=['header','body','footer'];const isFixedLeft=fixedType==='left';let fixedColumn=[];let fixedWrapperElem;if(fixedType){fixedColumn=isFixedLeft?columnStore.leftList:columnStore.rightList;fixedWrapperElem=isFixedLeft?refLeftContainer.value:refRightContainer.value;}layoutList.forEach(layout=>{const wrapperElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-wrapper`]);const currScrollElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-scroll`]);const tableElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-table`]);if(layout==='header'){// 表头体样式处理
139
+ tableTree=_xeUtils.default.searchTree(tableFullTreeData,()=>true,{original:true,isEvery,children:mapChildrenField,mapChildren:childrenField});tableData=tableTree;}else{tableData=treeConfig?tableFullTreeData.slice(0):tableFullData.slice(0);tableTree=tableData;}}internalData.afterFullData=tableData;internalData.afterTreeFullData=tableTree;internalData.afterGroupFullData=tableTree;updateAfterDataIndex();};const updateStyle=()=>{const{showHeaderOverflow:allColumnHeaderOverflow,showFooterOverflow:allColumnFooterOverflow,mouseConfig,spanMethod,footerSpanMethod}=props;const{isGroup,currentRow,tableColumn,scrollXLoad,scrollYLoad,overflowX,scrollbarWidth,overflowY,scrollbarHeight,scrollXWidth,columnStore,editStore,isAllOverflow,expandColumn,isColLoading}=reactData;const{visibleColumn,tableHeight,headerHeight,footerHeight,elemStore,customHeight,customMinHeight,customMaxHeight}=internalData;const el=refElem.value;if(!el){return;}const containerList=['main','left','right'];const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const emptyPlaceholderElem=refEmptyPlaceholder.value;const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const bodyWrapperElem=(0,_util.getRefElem)(elemStore['main-body-wrapper']);const bodyTableElem=(0,_util.getRefElem)(elemStore['main-body-table']);if(emptyPlaceholderElem){emptyPlaceholderElem.style.top=`${headerHeight}px`;emptyPlaceholderElem.style.height=bodyWrapperElem?`${bodyWrapperElem.offsetHeight-osbHeight}px`:'';}let bodyHeight=0;let bodyMaxHeight=0;const bodyMinHeight=customMinHeight-headerHeight-footerHeight-osbHeight;if(customMaxHeight){bodyMaxHeight=Math.max(bodyMinHeight,customMaxHeight-headerHeight-footerHeight-osbHeight);}if(customHeight){bodyHeight=customHeight-headerHeight-footerHeight-osbHeight;}if(!bodyHeight){if(bodyTableElem){bodyHeight=bodyTableElem.clientHeight;}}if(bodyHeight){if(bodyMaxHeight){bodyHeight=Math.min(bodyMaxHeight,bodyHeight);}bodyHeight=Math.max(bodyMinHeight,bodyHeight);}const scrollbarXToTop=computeScrollbarXToTop.value;const xLeftCornerEl=refScrollXLeftCornerElem.value;const xRightCornerEl=refScrollXRightCornerElem.value;const scrollXVirtualEl=refScrollXVirtualElem.value;if(scrollXVirtualEl){scrollXVirtualEl.style.height=`${osbHeight}px`;scrollXVirtualEl.style.visibility=overflowX?'visible':'hidden';}const xWrapperEl=refScrollXWrapperElem.value;if(xWrapperEl){xWrapperEl.style.left=scrollbarXToTop?`${osbWidth}px`:'';xWrapperEl.style.width=`${el.clientWidth-osbWidth}px`;}if(xLeftCornerEl){xLeftCornerEl.style.width=scrollbarXToTop?`${osbWidth}px`:'';xLeftCornerEl.style.display=scrollbarXToTop?overflowX&&osbHeight?'block':'':'';}if(xRightCornerEl){xRightCornerEl.style.width=scrollbarXToTop?'':`${osbWidth}px`;xRightCornerEl.style.display=scrollbarXToTop?'':overflowX&&osbHeight?'block':'';}const scrollYVirtualEl=refScrollYVirtualElem.value;if(scrollYVirtualEl){scrollYVirtualEl.style.width=`${osbWidth}px`;scrollYVirtualEl.style.height=`${bodyHeight+headerHeight+footerHeight}px`;scrollYVirtualEl.style.visibility=overflowY?'visible':'hidden';}const yTopCornerEl=refScrollYTopCornerElem.value;if(yTopCornerEl){yTopCornerEl.style.height=`${headerHeight}px`;yTopCornerEl.style.display=overflowY&&headerHeight?'block':'';}const yWrapperEl=refScrollYWrapperElem.value;if(yWrapperEl){yWrapperEl.style.height=`${bodyHeight}px`;yWrapperEl.style.top=`${headerHeight}px`;}const yBottomCornerEl=refScrollYBottomCornerElem.value;if(yBottomCornerEl){yBottomCornerEl.style.height=`${footerHeight}px`;yBottomCornerEl.style.top=`${headerHeight+bodyHeight}px`;yBottomCornerEl.style.display=overflowY&&footerHeight?'block':'';}const rowExpandEl=refRowExpandElem.value;if(rowExpandEl){rowExpandEl.style.height=`${bodyHeight}px`;rowExpandEl.style.top=`${headerHeight}px`;}containerList.forEach((name,index)=>{const fixedType=index>0?name:'';const layoutList=['header','body','footer'];const isFixedLeft=fixedType==='left';let fixedColumn=[];let fixedWrapperElem;if(fixedType){fixedColumn=isFixedLeft?columnStore.leftList:columnStore.rightList;fixedWrapperElem=isFixedLeft?refLeftContainer.value:refRightContainer.value;}layoutList.forEach(layout=>{const wrapperElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-wrapper`]);const currScrollElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-scroll`]);const tableElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-table`]);if(layout==='header'){// 表头体样式处理
140
140
  // 横向滚动渲染
141
141
  let renderColumnList=tableColumn;let isOptimizeMode=false;if(isGroup){renderColumnList=visibleColumn;}else{// 如果是使用优化模式
142
- if(scrollXLoad||scrollYLoad||allColumnHeaderOverflow){if(spanMethod||footerSpanMethod){// 如果不支持优化模式
143
- }else{isOptimizeMode=true;}}if(fixedType){renderColumnList=visibleColumn;// 如果是使用优化模式
142
+ if(scrollXLoad&&allColumnHeaderOverflow){if(spanMethod||footerSpanMethod){// 如果不支持优化模式
143
+ }else{isOptimizeMode=true;}}if(!isOptimizeMode||!isColLoading&&(fixedType||!overflowX)){renderColumnList=visibleColumn;}if(fixedType){// 如果是使用优化模式
144
144
  if(isOptimizeMode){renderColumnList=fixedColumn||[];}}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isGroup){if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}else{if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}}if(currScrollElem){currScrollElem.style.height=`${headerHeight}px`;}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';}}else if(layout==='body'){if(currScrollElem){currScrollElem.style.maxHeight=customMaxHeight?`${bodyMaxHeight}px`:'';currScrollElem.style.height=customHeight?`${bodyHeight}px`:'';currScrollElem.style.minHeight=`${bodyMinHeight}px`;}// 如果是固定列
145
145
  if(fixedWrapperElem){if(wrapperElem){wrapperElem.style.top=`${headerHeight}px`;}fixedWrapperElem.style.height=`${customHeight>0?customHeight:tableHeight+headerHeight+footerHeight+osbHeight}px`;fixedWrapperElem.style.width=`${fixedColumn.reduce((previous,column)=>previous+column.renderWidth,0)}px`;}let renderColumnList=tableColumn;let isOptimizeMode=false;// 如果是使用优化模式
146
146
  if(scrollXLoad||scrollYLoad||isAllOverflow){if(expandColumn&&expandOpts.mode!=='fixed'||spanMethod||footerSpanMethod){// 如果不支持优化模式
147
147
  }else{isOptimizeMode=true;}}if(fixedType){renderColumnList=visibleColumn;if(isOptimizeMode){renderColumnList=fixedColumn||[];}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';// 兼容性处理
148
148
  tableElem.style.paddingRight=osbWidth&&fixedType&&(browseObj['-moz']||browseObj.safari)?`${osbWidth}px`:'';}const emptyBlockElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-emptyBlock`]);if(emptyBlockElem){emptyBlockElem.style.width=tWidth?`${tWidth}px`:'';}}else if(layout==='footer'){let renderColumnList=tableColumn;let isOptimizeMode=false;// 如果是使用优化模式
149
- if(scrollXLoad||scrollYLoad||allColumnFooterOverflow){if(spanMethod||footerSpanMethod){// 如果不支持优化模式
150
- }else{isOptimizeMode=true;}}if(fixedType){renderColumnList=visibleColumn;if(isOptimizeMode){renderColumnList=fixedColumn||[];}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}if(currScrollElem){currScrollElem.style.height=`${footerHeight}px`;// 如果是固定列
149
+ if(scrollXLoad&&allColumnFooterOverflow){if(spanMethod||footerSpanMethod){// 如果不支持优化模式
150
+ }else{isOptimizeMode=true;}}if(!isOptimizeMode||!isColLoading&&(fixedType||!overflowX)){renderColumnList=visibleColumn;}if(fixedType){if(isOptimizeMode){renderColumnList=fixedColumn||[];}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}if(currScrollElem){currScrollElem.style.height=`${footerHeight}px`;// 如果是固定列
151
151
  if(fixedWrapperElem){if(wrapperElem){wrapperElem.style.top=`${customHeight>0?customHeight-footerHeight-osbHeight:tableHeight+headerHeight}px`;}}}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';}}});});if(currentRow){$xeTable.setCurrentRow(currentRow);}if(mouseConfig&&mouseOpts.selected&&editStore.selected.row&&editStore.selected.column){$xeTable.addCellSelectedClass();}return(0,_vue.nextTick)();};const checkValidate=type=>{if($xeTable.triggerValidate){return $xeTable.triggerValidate(type);}return(0,_vue.nextTick)();};/**
152
152
  * 当单元格发生改变时
153
153
  * 如果存在规则,则校验
@@ -820,9 +820,9 @@ if(isRollX){evnt.preventDefault();internalData.inWheelScroll=true;wheelScrollLef
820
820
  * 对于某些特定的场景可能会用到,比如定位到某一节点
821
821
  * @param {Row} row 行对象
822
822
  */scrollToTreeRow(row){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullData}=internalData;const rests=[];if(treeConfig||isRowGroupStatus){const rowGroupOpts=computeRowGroupOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const matchObj=_xeUtils.default.findTree(tableFullData,item=>$xeTable.eqRow(item,row),{children:isRowGroupStatus?rowGroupOpts.mapChildrenField:childrenField});if(matchObj){const nodes=matchObj.nodes;nodes.forEach((row,index)=>{if(index<nodes.length-1&&!$xeTable.isTreeExpandByRow(row)){rests.push($xeTable.setTreeExpand(row,true));}});}}return Promise.all(rests).then(()=>(0,_util.rowToVisible)($xeTable,row));},updateScrollYStatus,// 更新横向 X 可视渲染上下剩余空间大小
823
- updateScrollXSpace(){const{isGroup,scrollXLoad,overflowX,scrollXWidth}=reactData;const{visibleColumn,scrollXStore,elemStore,fullColumnIdData}=internalData;const mouseOpts=computeMouseOpts.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;if(tableBodyElem){const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const bodyTableElem=(0,_util.getRefElem)(elemStore['main-body-table']);const headerTableElem=(0,_util.getRefElem)(elemStore['main-header-table']);const footerTableElem=(0,_util.getRefElem)(elemStore['main-footer-table']);let xSpaceLeft=0;const firstColumn=visibleColumn[scrollXStore.startIndex];if(firstColumn){const colRest=fullColumnIdData[firstColumn.id]||{};xSpaceLeft=colRest.oLeft;}let clientWidth=0;if(bodyScrollElem){clientWidth=bodyScrollElem.clientWidth;}// 虚拟渲染
823
+ updateScrollXSpace(){const{scrollXLoad,overflowX,scrollXWidth}=reactData;const{visibleColumn,scrollXStore,elemStore,fullColumnIdData}=internalData;const mouseOpts=computeMouseOpts.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;if(tableBodyElem){const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const bodyTableElem=(0,_util.getRefElem)(elemStore['main-body-table']);const headerTableElem=(0,_util.getRefElem)(elemStore['main-header-table']);const footerTableElem=(0,_util.getRefElem)(elemStore['main-footer-table']);let xSpaceLeft=0;const firstColumn=visibleColumn[scrollXStore.startIndex];if(firstColumn){const colRest=fullColumnIdData[firstColumn.id]||{};xSpaceLeft=colRest.oLeft;}let clientWidth=0;if(bodyScrollElem){clientWidth=bodyScrollElem.clientWidth;}// 虚拟渲染
824
824
  let isScrollXBig=false;let ySpaceWidth=scrollXWidth;if(scrollXWidth>maxXWidth){// 触右
825
- if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollLeft+clientWidth>=maxXWidth){xSpaceLeft=maxXWidth-bodyTableElem.clientWidth;}else{xSpaceLeft=(maxXWidth-clientWidth)*(xSpaceLeft/(scrollXWidth-clientWidth));}ySpaceWidth=maxXWidth;isScrollXBig=true;}let marginLeft='';if(scrollXLoad&&overflowX){marginLeft=`${xSpaceLeft}px`;}if(headerTableElem){headerTableElem.style.marginLeft=isGroup?'':marginLeft;}if(bodyTableElem){bodyTableElem.style.marginLeft=marginLeft;}if(footerTableElem){footerTableElem.style.marginLeft=marginLeft;}reactData.isScrollXBig=isScrollXBig;const containerList=['main'];containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const xSpaceElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-xSpace`]);if(xSpaceElem){xSpaceElem.style.width=scrollXLoad?`${ySpaceWidth}px`:'';}});});const scrollXSpaceEl=refScrollXSpaceElem.value;if(scrollXSpaceEl){scrollXSpaceEl.style.width=`${ySpaceWidth}px`;}if(isScrollXBig&&mouseOpts.area){(0,_log.errLog)('vxe.error.notProp',['mouse-config.area']);}calcScrollbar();return(0,_vue.nextTick)().then(()=>{updateStyle();});}},// 更新纵向 Y 可视渲染上下剩余空间大小
825
+ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollLeft+clientWidth>=maxXWidth){xSpaceLeft=maxXWidth-bodyTableElem.clientWidth;}else{xSpaceLeft=(maxXWidth-clientWidth)*(xSpaceLeft/(scrollXWidth-clientWidth));}ySpaceWidth=maxXWidth;isScrollXBig=true;}let marginLeft='';if(scrollXLoad&&overflowX){marginLeft=`${xSpaceLeft}px`;}if(headerTableElem){headerTableElem.style.marginLeft=headerTableElem.getAttribute('xvm')?marginLeft:'';}if(bodyTableElem){bodyTableElem.style.marginLeft=marginLeft;}if(footerTableElem){footerTableElem.style.marginLeft=footerTableElem.getAttribute('xvm')?marginLeft:'';}reactData.isScrollXBig=isScrollXBig;const containerList=['main'];containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const xSpaceElem=(0,_util.getRefElem)(elemStore[`${name}-${layout}-xSpace`]);if(xSpaceElem){xSpaceElem.style.width=scrollXLoad?`${ySpaceWidth}px`:'';}});});const scrollXSpaceEl=refScrollXSpaceElem.value;if(scrollXSpaceEl){scrollXSpaceEl.style.width=`${ySpaceWidth}px`;}if(isScrollXBig&&mouseOpts.area){(0,_log.errLog)('vxe.error.notProp',['mouse-config.area']);}calcScrollbar();return(0,_vue.nextTick)().then(()=>{updateStyle();});}},// 更新纵向 Y 可视渲染上下剩余空间大小
826
826
  updateScrollYSpace(){const{isAllOverflow,scrollYLoad,expandColumn}=reactData;const{scrollYStore,elemStore,isResizeCellHeight,afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const{startIndex}=scrollYStore;const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const bodyTableElem=(0,_util.getRefElem)(elemStore['main-body-table']);const containerList=['main','left','right'];let ySpaceTop=0;let scrollYHeight=0;let isScrollYBig=false;if(scrollYLoad){const isCustomCellHeight=isResizeCellHeight||cellOpts.height||rowOpts.height;if(!isCustomCellHeight&&!expandColumn&&isAllOverflow){scrollYHeight=afterFullData.length*defaultRowHeight;if(scrollYHeight>maxYHeight){isScrollYBig=true;}ySpaceTop=Math.max(0,startIndex*defaultRowHeight);}else{const firstRow=afterFullData[startIndex];let rowid=(0,_util.getRowid)($xeTable,firstRow);let rowRest=fullAllDataRowIdData[rowid]||{};ySpaceTop=rowRest.oTop||0;const lastRow=afterFullData[afterFullData.length-1];rowid=(0,_util.getRowid)($xeTable,lastRow);rowRest=fullAllDataRowIdData[rowid]||{};scrollYHeight=(rowRest.oTop||0)+(rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight);// 是否展开行
827
827
  if(expandColumn&&rowExpandedMaps[rowid]){scrollYHeight+=rowRest.expandHeight||expandOpts.height||0;}if(scrollYHeight>maxYHeight){isScrollYBig=true;}}}else{if(bodyTableElem){scrollYHeight=bodyTableElem.clientHeight;}}let clientHeight=0;if(bodyScrollElem){clientHeight=bodyScrollElem.clientHeight;}// 虚拟渲染
828
828
  let ySpaceHeight=scrollYHeight;let scrollYTop=ySpaceTop;if(isScrollYBig){// 触底