vxe-table 4.10.6-beta.3 → 4.10.6-beta.5

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.
@@ -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");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}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(v){let R=(0,_vue.inject)("$xeTable",{}),{xID:x,props:m,reactData:_,internalData:N}=R,{computeTooltipOpts:e,computeColumnOpts:X,computeColumnDragOpts:g}=R.getComputeMaps(),h=(0,_vue.ref)(),w=(0,_vue.ref)(),y=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(g,h,w,y,b)=>{let C=v.fixedType,{footerCellClassName:T,footerCellStyle:F,footerAlign:I,footerSpanMethod:O,align:S,columnKey:M,showFooterOverflow:D}=m,{scrollXLoad:E,scrollYLoad:$,overflowX:k,currentColumn:U,mergeFooterList:j}=_,A=N.scrollXStore,q=e.value,L=X.value;return g.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,i=i||u,u=i?renderer.get(i.name):null;let d=q.showAll;i=l.children&&l.children.length,i=C?l.fixed!==C&&!i:l.fixed&&k,o=_xeUtils.default.eqNull(o)?D:o,r=r||(u?u.tableFooterCellAlign:"")||I||n||(u?u.tableCellAlign:"")||S;let s="ellipsis"===o,c="title"===o,p=!0===o||"tooltip"===o,f=c||p||s;var n={colid:l.id},u={},o=R.getColumnIndex(l),v=R.getVTColumnIndex(l),x=v;let m={$table:R,$grid:R.xegrid,row:w,rowIndex:b,_rowIndex:b,$rowIndex:y,column:l,columnIndex:o,$columnIndex:e,_columnIndex:v,itemIndex:x,items:w,fixed:C,type:renderType,data:h};if(E&&!f&&(s=f=!0),(c||p||d)&&(u.onMouseenter=e=>{c?(0,_dom.updateCellTitle)(e.currentTarget,l):(p||d)&&R.triggerFooterTooltipEvent(e,m)}),(p||d)&&(u.onMouseleave=e=>{(p||d)&&R.handleTargetLeaveEvent(e)}),u.onClick=e=>{R.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},m),e)},u.onDblclick=e=>{R.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},m),e)},j.length){o=mergeFooterMethod(j,b,v);if(o){var{rowspan:x,colspan:o}=o;if(!x||!o)return null;1<x&&(n.rowspan=x),1<o&&(n.colspan=o)}}else if(O){var{rowspan:x=1,colspan:o=1}=O(m)||{};if(!x||!o)return null;1<x&&(n.rowspan=x),1<o&&(n.colspan=o)}x=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let _=!1;return E&&!l.fixed&&(v<A.visibleStartIndex||v>A.visibleEndIndex)&&(_=!0),(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":e===g.length-1,"fixed--width":!x,"fixed--hidden":i,"col--ellipsis":f,"col--current":U===l},(0,_dom.getPropClass)(a,m),(0,_dom.getPropClass)(T,m)]},n),{style:F?_xeUtils.default.isFunction(F)?F(m):F:null}),u),{key:M||E||$||L.useKey||L.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":c,"c--tooltip":p,"c--ellipsis":s}]},_?[]:l.renderFooter(m))])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=v.fixedType,l=N.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=h,l[e+"scroll"]=w,l[e+"table"]=y,l[e+"colgroup"]=b,l[e+"list"]=C,l[e+"xSpace"]=T})}),(0,_vue.onUnmounted)(()=>{var e=v.fixedType,l=N.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}=v;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=m,{visibleColumn:a,fullColumnIdData:i}=N,{isGroup:u,scrollXLoad:d,scrollYLoad:s,dragCol:c}=_;let p=t,f=!(d||s||n)||o||r?!1:!0;return l&&(p=a,f)&&(p=e||[]),l||u||d&&c&&2<p.length&&(s=i[c.id])&&(n=s._index,o=p[0],r=p[p.length-1],a=i[o.id],u=i[r.id],a)&&u&&(d=a._index,s=u._index,n<d?p=[c].concat(p):s<n&&(p=p.concat([c]))),(0,_vue.h)("div",{ref:h,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:x},[(0,_vue.h)("div",{ref:w,class:"vxe-table--footer-inner-wrapper",onScroll(e){R.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(R):(0,_vue.h)("div",{ref:T,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:y,class:"vxe-table--footer",xid:x,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:b},p.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tfoot",{ref:C},(r=>{let{fixedType:n,footerTableData:a}=v,{footerRowClassName:i,footerRowStyle:u}=m,d=_.isDragColMove,s=X.value,c=g.value;return a.map((e,l)=>{let t=l;var o={$table:R,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return s.drag&&c.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>F(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},F(r,a,e,l,t))})})(p))])])])}}});
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");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}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(v){let R=(0,_vue.inject)("$xeTable",{}),{xID:x,props:m,reactData:_,internalData:N}=R,{computeTooltipOpts:e,computeColumnOpts:X,computeColumnDragOpts:g}=R.getComputeMaps(),h=(0,_vue.ref)(),w=(0,_vue.ref)(),y=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(0,_vue.ref)(),F=(g,h,w,y,b)=>{let C=v.fixedType,{footerCellClassName:T,footerCellStyle:F,footerAlign:I,footerSpanMethod:O,align:S,columnKey:M,showFooterOverflow:D}=m,{scrollXLoad:E,scrollYLoad:$,overflowX:k,currentColumn:U,mergeFooterList:j}=_,A=N.scrollXStore,q=e.value,L=X.value;return g.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,i=i||u,u=i?renderer.get(i.name):null;let d=q.showAll;i=l.children&&l.children.length,i=C?l.fixed!==C&&!i:l.fixed&&k,o=_xeUtils.default.eqNull(o)?D:o,r=r||(u?u.tableFooterCellAlign:"")||I||n||(u?u.tableCellAlign:"")||S;let s="ellipsis"===o,c="title"===o,p=!0===o||"tooltip"===o,f=c||p||s;var n={colid:l.id},u={},o=R.getColumnIndex(l),v=R.getVTColumnIndex(l),x=v;let m={$table:R,$grid:R.xegrid,row:w,rowIndex:b,_rowIndex:b,$rowIndex:y,column:l,columnIndex:o,$columnIndex:e,_columnIndex:v,itemIndex:x,items:w,fixed:C,type:renderType,data:h};if(E&&!f&&(s=f=!0),(c||p||d)&&(u.onMouseenter=e=>{c?(0,_dom.updateCellTitle)(e.currentTarget,l):(p||d)&&R.triggerFooterTooltipEvent(e,m)}),(p||d)&&(u.onMouseleave=e=>{(p||d)&&R.handleTargetLeaveEvent(e)}),u.onClick=e=>{R.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},m),e)},u.onDblclick=e=>{R.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},m),e)},j.length){o=mergeFooterMethod(j,b,v);if(o){var{rowspan:x,colspan:o}=o;if(!x||!o)return null;1<x&&(n.rowspan=x),1<o&&(n.colspan=o)}}else if(O){var{rowspan:x=1,colspan:o=1}=O(m)||{};if(!x||!o)return null;1<x&&(n.rowspan=x),1<o&&(n.colspan=o)}x=e===g.length-1,o=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let _=!1;return E&&!l.fixed&&(v<A.visibleStartIndex||v>A.visibleEndIndex)&&(_=!0),(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":x,"fixed--width":!o,"fixed--hidden":i,"col--ellipsis":f,"col--current":U===l},(0,_dom.getPropClass)(a,m),(0,_dom.getPropClass)(T,m)]},n),{style:F?_xeUtils.default.isFunction(F)?F(m):F:null}),u),{key:M||E||$||L.useKey||L.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":c,"c--tooltip":p,"c--ellipsis":s}]},_?[]:l.renderFooter(m))])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=v.fixedType,l=N.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=h,l[e+"scroll"]=w,l[e+"table"]=y,l[e+"colgroup"]=b,l[e+"list"]=C,l[e+"xSpace"]=T})}),(0,_vue.onUnmounted)(()=>{var e=v.fixedType,l=N.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}=v;var{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=m,{visibleColumn:a,fullColumnIdData:i}=N,{isGroup:u,scrollXLoad:d,scrollYLoad:s,dragCol:c}=_;let p=t,f=!(d||s||n)||o||r?!1:!0;return l&&(p=a,f)&&(p=e||[]),l||u||d&&c&&2<p.length&&(s=i[c.id])&&(n=s._index,o=p[0],r=p[p.length-1],a=i[o.id],u=i[r.id],a)&&u&&(d=a._index,s=u._index,n<d?p=[c].concat(p):s<n&&(p=p.concat([c]))),(0,_vue.h)("div",{ref:h,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:x},[(0,_vue.h)("div",{ref:w,class:"vxe-table--footer-inner-wrapper",onScroll(e){R.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(R):(0,_vue.h)("div",{ref:T,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:y,class:"vxe-table--footer",xid:x,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:b},p.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tfoot",{ref:C},(r=>{let{fixedType:n,footerTableData:a}=v,{footerRowClassName:i,footerRowStyle:u}=m,d=_.isDragColMove,s=X.value,c=g.value;return a.map((e,l)=>{let t=l;var o={$table:R,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return s.drag&&c.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>F(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},F(r,a,e,l,t))})})(p))])])])}}});
@@ -84,6 +84,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
84
84
  } = evnt;
85
85
  const wrapperElem = refElem.value;
86
86
  const dragBtnElem = evnt.target;
87
+ let resizeColumn = column;
88
+ if (column.children && column.children.length) {
89
+ _xeUtils.default.eachTree(column.children, childColumn => {
90
+ resizeColumn = childColumn;
91
+ });
92
+ }
87
93
  const cell = dragBtnElem.parentNode;
88
94
  const cellParams = Object.assign(params, {
89
95
  cell
@@ -121,7 +127,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
121
127
  }
122
128
  }
123
129
  // 处理拖动事件
124
- const updateEvent = function (evnt) {
130
+ const updateEvent = evnt => {
125
131
  evnt.stopPropagation();
126
132
  evnt.preventDefault();
127
133
  const offsetX = evnt.clientX - dragClientX;
@@ -139,7 +145,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
139
145
  // left = Math.min(left, bodyScrollElem.clientWidth + bodyScrollElem.scrollLeft - 40)
140
146
  }
141
147
  dragLeft = Math.max(left, dragMinLeft);
142
- const resizeBarLeft = dragLeft - scrollLeft;
148
+ const resizeBarLeft = Math.max(1, dragLeft - scrollLeft);
143
149
  resizeBarElem.style.left = `${resizeBarLeft}px`;
144
150
  if (resizableOpts.showDragTip && resizeTipElem) {
145
151
  const tableWidth = tableEl.clientWidth;
@@ -149,13 +155,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
149
155
  const resizeTipHeight = resizeTipElem.clientHeight;
150
156
  let resizeTipLeft = -resizeTipWidth;
151
157
  if (resizeBarLeft < resizeTipWidth + resizeBarWidth) {
152
- resizeTipLeft = resizeTipWidth + resizeBarWidth - resizeBarLeft;
158
+ resizeTipLeft = 0;
153
159
  } else if (resizeBarLeft > tableWidth) {
154
160
  resizeTipLeft += tableWidth - resizeBarLeft;
155
161
  }
156
162
  resizeTipElem.style.left = `${resizeTipLeft}px`;
157
163
  resizeTipElem.style.top = `${Math.min(tableEl.clientHeight - resizeTipHeight, Math.max(0, evnt.clientY - wrapperRect.y - resizeTipHeight / 2))}px`;
158
- resizeTipElem.textContent = getI18n('vxe.table.resizeColTip', [column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft)]);
164
+ resizeTipElem.textContent = getI18n('vxe.table.resizeColTip', [resizeColumn.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft)]);
159
165
  }
160
166
  };
161
167
  tableReactData._isResize = true;
@@ -165,11 +171,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
165
171
  document.onmouseup = function (evnt) {
166
172
  document.onmousemove = domMousemove;
167
173
  document.onmouseup = domMouseup;
168
- const resizeWidth = column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft);
169
- column.resizeWidth = resizeWidth;
174
+ const resizeWidth = resizeColumn.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft);
175
+ resizeColumn.resizeWidth = resizeWidth;
170
176
  if (resizableOpts.dragMode === 'fixed') {
171
177
  visibleColumn.forEach(item => {
172
- if (item.id !== column.id) {
178
+ if (item.id !== resizeColumn.id) {
173
179
  if (!item.resizeWidth) {
174
180
  item.resizeWidth = item.renderWidth;
175
181
  }
@@ -301,6 +307,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
301
307
  thOns.onMouseup = $xeTable.handleHeaderCellDragMouseupEvent;
302
308
  }
303
309
  }
310
+ const isLastColumn = $columnIndex === cols.length - 1;
311
+ const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
304
312
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
305
313
  let isPreLoadStatus = false;
306
314
  if (scrollXLoad && !isGroup && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
@@ -310,7 +318,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
310
318
  class: ['vxe-header--column', colid, {
311
319
  [`col--${headAlign}`]: headAlign,
312
320
  [`col--${type}`]: type,
313
- 'col--last': $columnIndex === cols.length - 1,
321
+ 'col--last': isLastColumn,
314
322
  'col--fixed': column.fixed,
315
323
  'col--group': isColGroup,
316
324
  'col--ellipsis': hasEllipsis,
@@ -336,13 +344,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
336
344
  /**
337
345
  * 列宽拖动
338
346
  */
339
- !fixedHiddenColumn && !isColGroup && (_xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable) ? (0, _vue.h)('div', {
347
+ !fixedHiddenColumn && showResizable ? (0, _vue.h)('div', {
340
348
  class: ['vxe-resizable', {
341
349
  'is--line': !border || border === 'none'
342
350
  }],
343
351
  onMousedown: evnt => resizeMousedownEvent(evnt, params),
344
352
  onDblclick: evnt => $xeTable.handleResizeDblclickEvent(evnt, params)
345
- }) : null]);
353
+ }) : renderEmptyElement($xeTable)]);
346
354
  });
347
355
  };
348
356
  const renderHeads = (isGroup, isOptimizeMode, headerGroups) => {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,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(P){let B=(0,_vue.inject)("$xeTable",{}),{xID:h,props:m,reactData:V,internalData:Y}=B,{refElem:t,refLeftContainer:r,refRightContainer:d,refCellResizeBar:s,refCellResizeTip:u}=B.getRefMaps(),{computeColumnOpts:g,computeColumnDragOpts:x,computeResizableOpts:c}=B.getComputeMaps(),_=(0,_vue.ref)([]),W=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),y=(0,_vue.ref)(),w=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),a=()=>{var e=V.isGroup;_.value=e?(0,_util.convertHeaderColumnToRows)(P.tableGroupColumn):[]},K=(e,a)=>{let f=a.column,h=P.fixedType,{elemStore:l,visibleColumn:i}=Y,m=c.value,g=t.value,x=r.value,_=d.value,b=s.value,C=u.value,y=e.clientX,w=W.value;var n=e.target;let D=n.parentNode;var o=Object.assign(a,{cell:D});let M=0,z=(0,_util.getRefElem)(l["main-body-scroll"]);if(z){var T=(0,_dom.getOffsetPos)(n,w),n=n.clientWidth,E=Math.floor(n/2);let d=(0,_util.getColReMinWidth)(o)-E,s=T.left-D.clientWidth+n+d,u=T.left+E,t=document.onmousemove,r=document.onmouseup,c="left"===h,v="right"===h,p=0;if(c||v){var S=c?"nextElementSibling":"previousElementSibling";let e=D[S];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(p+=e.offsetWidth),e=e[S];v&&_&&(u=_.offsetLeft+p)}o=function(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-y;let e=u+t;t=h?0:z.scrollLeft,c?e=Math.min(e,(_?_.offsetLeft:z.clientWidth)-p-d):v?(s=(x?x.clientWidth:0)+p+d,e=Math.min(e,u+D.clientWidth-d)):s=Math.max(z.scrollLeft,s),t=(M=Math.max(e,s))-t;if(b.style.left=t+"px",m.showDragTip&&C){var r=g.clientWidth,a=w.getBoundingClientRect(),i=b.clientWidth,n=C.clientWidth,o=C.clientHeight;let e=-n;t<n+i?e=n+i-t:r<t&&(e+=r-t),C.style.left=e+"px",C.style.top=Math.min(g.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",C.textContent=getI18n("vxe.table.resizeColTip",[f.renderWidth+(v?u-M:M-u)])}};V._isResize=!0,(0,_dom.addClass)(g,"drag--resize"),b.style.display="block",document.onmousemove=o,document.onmouseup=function(e){document.onmousemove=t,document.onmouseup=r;let l=f.renderWidth+(v?u-M:M-u);f.resizeWidth=l,"fixed"===m.dragMode&&i.forEach(e=>{e.id===f.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),b.style.display="none",V._isResize=!1,Y._lastResizeTime=Date.now(),B.analyColumnWidth(),B.recalculate(!0).then(()=>{B.saveCustomStore("update:visible"),B.updateCellAreas(),B.dispatchEvent("resizable-change",Object.assign(Object.assign({},a),{resizeWidth:l}),e),setTimeout(()=>B.recalculate(!0),300)}),(0,_dom.removeClass)(g,"drag--resize")},o(e),B.closeMenu&&B.closeMenu()}},z=(y,w,D,M)=>{let z=P.fixedType,{resizable:T,border:E,columnKey:S,headerCellClassName:W,headerCellStyle:R,showHeaderOverflow:H,headerAlign:I,align:O,mouseConfig:k}=m,{currentColumn:U,scrollXLoad:$,scrollYLoad:A,overflowX:F}=V,L=Y.scrollXStore,j=g.value,q=x.value,{disabledMethod:X,isCrossDrag:G,isPeerDrag:N}=q;return D.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,filters:n,headerClassName:o,editRender:d,cellRender:s}=e,u=e.id,d=d||s,s=d?renderer.get(d.name):null,d=e.children&&e.children.length,c=z?e.fixed!==z&&!d:!!e.fixed&&F,r=_xeUtils.default.eqNull(r)?H:r,a=a||(s?s.tableHeaderCellAlign:"")||I||i||(s?s.tableCellAlign:"")||O;let v="ellipsis"===r;i="title"===r,s=!0===r||"tooltip"===r;let p=i||s||v,f=!1,h=null;n&&(h=n[0],f=n.some(e=>e.checked));var r=B.getColumnIndex(e),m=B.getVTColumnIndex(e);let g={$table:B,$grid:B.xegrid,$rowIndex:M,column:e,columnIndex:r,$columnIndex:l,_columnIndex:m,firstFilterOption:h,fixed:z,type:renderType,isHidden:c,hasFilter:f};var r={colid:u,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},x={onClick:e=>B.triggerHeaderCellClickEvent(e,g),onDblclick:e=>B.triggerHeaderCellDblclickEvent(e,g)},_=($&&!p&&(v=p=!0),j.drag&&"cell"===q.trigger);let b=!1;_&&(b=!(!X||!X(g))),(k||_)&&(x.onMousedown=e=>B.triggerHeaderCellMousedownEvent(e,g)),j.drag&&(x.onDragstart=B.handleHeaderCellDragDragstartEvent,x.onDragend=B.handleHeaderCellDragDragendEvent,x.onDragover=B.handleHeaderCellDragDragoverEvent,_)&&(x.onMouseup=B.handleHeaderCellDragMouseupEvent);_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let C=!1;return $&&!y&&!e.fixed&&(m<L.visibleStartIndex||m>L.visibleEndIndex)&&(C=!0),(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",u,{["col--"+a]:a,["col--"+t]:t,"col--last":l===D.length-1,"col--fixed":e.fixed,"col--group":d,"col--ellipsis":p,"fixed--width":!_,"fixed--hidden":c,"is--sortable":e.sortable,"col--filter":!!n,"is--filter-active":f,"is--drag-active":!e.fixed&&!b&&(G||N||!e.parentId),"is--drag-disabled":b,"col--current":U===e},o?_xeUtils.default.isFunction(o)?o(g):o:"",W?_xeUtils.default.isFunction(W)?W(g):W:""],style:R?_xeUtils.default.isFunction(R)?R(g):R:null},r),x),{key:S||$||A||j.useKey||j.drag||d?u:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":v}]},C||w&&c?[]:e.renderHeader(g)),c||d||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:j.resizable||T)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!E||"none"===E}],onMousedown:e=>K(e,g),onDblclick:e=>B.handleResizeDblclickEvent(e,g)})])})};return(0,_vue.watch)(()=>P.tableColumn,a),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=P.fixedType,l=B.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=W,l[e+"scroll"]=b,l[e+"table"]=C,l[e+"colgroup"]=y,l[e+"list"]=w,l[e+"xSpace"]=D,l[e+"repair"]=M,a()})}),(0,_vue.onUnmounted)(()=>{var e=P.fixedType,l=B.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:t}=P;var{showHeaderOverflow:r,spanMethod:a,footerSpanMethod:i}=m,{isGroup:n,scrollXLoad:o,scrollYLoad:d,dragCol:s}=V,{visibleColumn:u,fullColumnIdData:c}=Y;let v=_.value,p=t,f=!1;return n?p=u:(!(o||d||r)||a||i||(f=!0),l&&(p=u,f)&&(p=e||[]),v=[p]),l||n||o&&s&&2<p.length&&(d=c[s.id])&&(r=d._index,a=p[0],i=p[p.length-1],u=c[a.id],o=c[i.id],u)&&o&&(d=u._index,a=o._index,r<d?(p=[s].concat(p),v=[[s].concat(v[0])].concat(v.slice(1))):a<r&&(p=p.concat([s]),v=[v[0].concat([s])].concat(v.slice(1)))),(0,_vue.h)("div",{ref:W,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:h},[(0,_vue.h)("div",{ref:b,class:"vxe-table--header-inner-wrapper",onScroll(e){B.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(B):(0,_vue.h)("div",{ref:D,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--header",xid:h,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:y},p.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("thead",{ref:w},((r,a,e)=>{let i=P.fixedType,{headerRowClassName:n,headerRowStyle:o}=m,d=V.isDragColMove,s=g.value,u=x.value;return e.map((e,l)=>{var t={$table:B,$rowIndex:l,fixed:i,type:renderType};return s.drag&&u.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(t):n:""],style:o?_xeUtils.default.isFunction(o)?o(t):o:null},{default:()=>z(r,a,e,l)}):(0,_vue.h)("tr",{key:l,class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(t):n:""],style:o?_xeUtils.default.isFunction(o)?o(t):o:null},z(r,a,e,l))})})(n,f,v))])]),(0,_vue.h)("div",{ref:M,class:"vxe-table--header-border-line"})])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,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(V){let Y=(0,_vue.inject)("$xeTable",{}),{xID:h,props:m,reactData:K,internalData:J}=Y,{refElem:r,refLeftContainer:d,refRightContainer:s,refCellResizeBar:u,refCellResizeTip:c}=Y.getRefMaps(),{computeColumnOpts:g,computeColumnDragOpts:x,computeResizableOpts:v}=Y.getComputeMaps(),_=(0,_vue.ref)([]),S=(0,_vue.ref)(),b=(0,_vue.ref)(),C=(0,_vue.ref)(),y=(0,_vue.ref)(),w=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),t=()=>{var e=K.isGroup;_.value=e?(0,_util.convertHeaderColumnToRows)(V.tableGroupColumn):[]},Q=(e,a)=>{var l=a.column;let f=V.fixedType,{elemStore:t,visibleColumn:i}=J,h=v.value,m=r.value,g=d.value,x=s.value,_=u.value,b=c.value,C=e.clientX,y=S.value;var n=e.target;let w=l,D=(l.children&&l.children.length&&_xeUtils.default.eachTree(l.children,e=>{w=e}),n.parentNode);l=Object.assign(a,{cell:D});let M=0,E=(0,_util.getRefElem)(t["main-body-scroll"]);if(E){var o=(0,_dom.getOffsetPos)(n,y),n=n.clientWidth,T=Math.floor(n/2);let d=(0,_util.getColReMinWidth)(l)-T,s=o.left-D.clientWidth+n+d,u=o.left+T,t=document.onmousemove,r=document.onmouseup,c="left"===f,v="right"===f,p=0;if(c||v){var z=c?"nextElementSibling":"previousElementSibling";let e=D[z];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(p+=e.offsetWidth),e=e[z];v&&x&&(u=x.offsetLeft+p)}l=l=>{l.stopPropagation(),l.preventDefault();var t=l.clientX-C;let e=u+t;t=f?0:E.scrollLeft,c?e=Math.min(e,(x?x.offsetLeft:E.clientWidth)-p-d):v?(s=(g?g.clientWidth:0)+p+d,e=Math.min(e,u+D.clientWidth-d)):s=Math.max(E.scrollLeft,s),M=Math.max(e,s),t=Math.max(1,M-t);if(_.style.left=t+"px",h.showDragTip&&b){var r=m.clientWidth,a=y.getBoundingClientRect(),i=_.clientWidth,n=b.clientWidth,o=b.clientHeight;let e=-n;t<n+i?e=0:r<t&&(e+=r-t),b.style.left=e+"px",b.style.top=Math.min(m.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",b.textContent=getI18n("vxe.table.resizeColTip",[w.renderWidth+(v?u-M:M-u)])}};K._isResize=!0,(0,_dom.addClass)(m,"drag--resize"),_.style.display="block",document.onmousemove=l,document.onmouseup=function(e){document.onmousemove=t,document.onmouseup=r;let l=w.renderWidth+(v?u-M:M-u);w.resizeWidth=l,"fixed"===h.dragMode&&i.forEach(e=>{e.id===w.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),_.style.display="none",K._isResize=!1,J._lastResizeTime=Date.now(),Y.analyColumnWidth(),Y.recalculate(!0).then(()=>{Y.saveCustomStore("update:visible"),Y.updateCellAreas(),Y.dispatchEvent("resizable-change",Object.assign(Object.assign({},a),{resizeWidth:l}),e),setTimeout(()=>Y.recalculate(!0),300)}),(0,_dom.removeClass)(m,"drag--resize")},l(e),Y.closeMenu&&Y.closeMenu()}},E=(D,M,E,T)=>{let z=V.fixedType,{resizable:S,border:W,columnKey:R,headerCellClassName:H,headerCellStyle:I,showHeaderOverflow:O,headerAlign:k,align:U,mouseConfig:$}=m,{currentColumn:A,scrollXLoad:F,scrollYLoad:L,overflowX:j}=K,q=J.scrollXStore,X=g.value,G=x.value,{disabledMethod:N,isCrossDrag:P,isPeerDrag:B}=G;return E.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,filters:n,headerClassName:o,editRender:d,cellRender:s}=e,u=e.id,d=d||s,s=d?renderer.get(d.name):null,d=e.children&&e.children.length,c=z?e.fixed!==z&&!d:!!e.fixed&&j,r=_xeUtils.default.eqNull(r)?O:r,a=a||(s?s.tableHeaderCellAlign:"")||k||i||(s?s.tableCellAlign:"")||U;let v="ellipsis"===r;i="title"===r,s=!0===r||"tooltip"===r;let p=i||s||v,f=!1,h=null;n&&(h=n[0],f=n.some(e=>e.checked));var r=Y.getColumnIndex(e),m=Y.getVTColumnIndex(e);let g={$table:Y,$grid:Y.xegrid,$rowIndex:T,column:e,columnIndex:r,$columnIndex:l,_columnIndex:m,firstFilterOption:h,fixed:z,type:renderType,isHidden:c,hasFilter:f};var r={colid:u,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},x={onClick:e=>Y.triggerHeaderCellClickEvent(e,g),onDblclick:e=>Y.triggerHeaderCellDblclickEvent(e,g)},_=(F&&!p&&(v=p=!0),X.drag&&"cell"===G.trigger);let b=!1;_&&(b=!(!N||!N(g))),($||_)&&(x.onMousedown=e=>Y.triggerHeaderCellMousedownEvent(e,g)),X.drag&&(x.onDragstart=Y.handleHeaderCellDragDragstartEvent,x.onDragend=Y.handleHeaderCellDragDragendEvent,x.onDragover=Y.handleHeaderCellDragDragoverEvent,_)&&(x.onMouseup=Y.handleHeaderCellDragMouseupEvent);var _=l===E.length-1,C=_xeUtils.default.isBoolean(e.resizable)?e.resizable:X.resizable||S,y=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let w=!1;return F&&!D&&!e.fixed&&(m<q.visibleStartIndex||m>q.visibleEndIndex)&&(w=!0),(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",u,{["col--"+a]:a,["col--"+t]:t,"col--last":_,"col--fixed":e.fixed,"col--group":d,"col--ellipsis":p,"fixed--width":!y,"fixed--hidden":c,"is--sortable":e.sortable,"col--filter":!!n,"is--filter-active":f,"is--drag-active":!e.fixed&&!b&&(P||B||!e.parentId),"is--drag-disabled":b,"col--current":A===e},o?_xeUtils.default.isFunction(o)?o(g):o:"",H?_xeUtils.default.isFunction(H)?H(g):H:""],style:I?_xeUtils.default.isFunction(I)?I(g):I:null},r),x),{key:R||F||L||X.useKey||X.drag||d?u:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":v}]},w||M&&c?[]:e.renderHeader(g)),!c&&C?(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>Q(e,g),onDblclick:e=>Y.handleResizeDblclickEvent(e,g)}):renderEmptyElement(Y)])})};return(0,_vue.watch)(()=>V.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=V.fixedType,l=Y.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=S,l[e+"scroll"]=b,l[e+"table"]=C,l[e+"colgroup"]=y,l[e+"list"]=w,l[e+"xSpace"]=D,l[e+"repair"]=M,t()})}),(0,_vue.onUnmounted)(()=>{var e=V.fixedType,l=Y.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:t}=V;var{showHeaderOverflow:r,spanMethod:a,footerSpanMethod:i}=m,{isGroup:n,scrollXLoad:o,scrollYLoad:d,dragCol:s}=K,{visibleColumn:u,fullColumnIdData:c}=J;let v=_.value,p=t,f=!1;return n?p=u:(!(o||d||r)||a||i||(f=!0),l&&(p=u,f)&&(p=e||[]),v=[p]),l||n||o&&s&&2<p.length&&(d=c[s.id])&&(r=d._index,a=p[0],i=p[p.length-1],u=c[a.id],o=c[i.id],u)&&o&&(d=u._index,a=o._index,r<d?(p=[s].concat(p),v=[[s].concat(v[0])].concat(v.slice(1))):a<r&&(p=p.concat([s]),v=[v[0].concat([s])].concat(v.slice(1)))),(0,_vue.h)("div",{ref:S,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:h},[(0,_vue.h)("div",{ref:b,class:"vxe-table--header-inner-wrapper",onScroll(e){Y.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(Y):(0,_vue.h)("div",{ref:D,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--header",xid:h,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:y},p.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("thead",{ref:w},((r,a,e)=>{let i=V.fixedType,{headerRowClassName:n,headerRowStyle:o}=m,d=K.isDragColMove,s=g.value,u=x.value;return e.map((e,l)=>{var t={$table:Y,$rowIndex:l,fixed:i,type:renderType};return s.drag&&u.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(d?"":"-disabled"),tag:"tr",class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(t):n:""],style:o?_xeUtils.default.isFunction(o)?o(t):o:null},{default:()=>E(r,a,e,l)}):(0,_vue.h)("tr",{key:l,class:["vxe-header--row",n?_xeUtils.default.isFunction(n)?n(t):n:""],style:o?_xeUtils.default.isFunction(o)?o(t):o:null},E(r,a,e,l))})})(n,f,v))])]),(0,_vue.h)("div",{ref:M,class:"vxe-table--header-border-line"})])}}});
@@ -1266,7 +1266,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1266
1266
  }
1267
1267
  fullColumnFieldData[field] = rest;
1268
1268
  } else {
1269
- if (storage || columnOpts.drag && (isCrossDrag || isSelfToChildDrag)) {
1269
+ if (storage && !type || columnOpts.drag && (isCrossDrag || isSelfToChildDrag)) {
1270
1270
  (0, _log.errLog)('vxe.error.reqProp', [`${column.getTitle() || type || ''} -> column.field`]);
1271
1271
  }
1272
1272
  }
@@ -1634,6 +1634,41 @@ var _default = exports.default = (0, _vue.defineComponent)({
1634
1634
  return cellValue;
1635
1635
  };
1636
1636
  };
1637
+ const updateAfterListIndex = () => {
1638
+ const {
1639
+ afterFullData,
1640
+ fullDataRowIdData,
1641
+ fullAllDataRowIdData
1642
+ } = internalData;
1643
+ const fullMaps = {};
1644
+ afterFullData.forEach((row, index) => {
1645
+ const rowid = (0, _util.getRowid)($xeTable, row);
1646
+ const rowRest = fullAllDataRowIdData[rowid];
1647
+ const seq = index + 1;
1648
+ if (rowRest) {
1649
+ rowRest.seq = seq;
1650
+ rowRest._index = index;
1651
+ } else {
1652
+ const rest = {
1653
+ row,
1654
+ rowid,
1655
+ seq,
1656
+ index: -1,
1657
+ $index: -1,
1658
+ _index: index,
1659
+ items: [],
1660
+ parent: null,
1661
+ level: 0,
1662
+ height: 0,
1663
+ oTop: 0
1664
+ };
1665
+ fullAllDataRowIdData[rowid] = rest;
1666
+ fullDataRowIdData[rowid] = rest;
1667
+ }
1668
+ fullMaps[rowid] = row;
1669
+ });
1670
+ internalData.afterFullRowMaps = fullMaps;
1671
+ };
1637
1672
  /**
1638
1673
  * 预编译
1639
1674
  * 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
@@ -1643,72 +1678,55 @@ var _default = exports.default = (0, _vue.defineComponent)({
1643
1678
  treeConfig
1644
1679
  } = props;
1645
1680
  const {
1646
- afterFullData,
1647
1681
  fullDataRowIdData,
1648
1682
  fullAllDataRowIdData,
1649
1683
  afterTreeFullData
1650
1684
  } = internalData;
1651
1685
  const treeOpts = computeTreeOpts.value;
1686
+ const {
1687
+ transform
1688
+ } = treeOpts;
1652
1689
  const childrenField = treeOpts.children || treeOpts.childrenField;
1653
1690
  const fullMaps = {};
1654
1691
  if (treeConfig) {
1655
- _xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path) => {
1656
- const rowid = (0, _util.getRowid)($xeTable, row);
1657
- const rowRest = fullAllDataRowIdData[rowid];
1658
- const seq = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
1659
- if (rowRest) {
1660
- rowRest.seq = seq;
1661
- rowRest._index = index;
1662
- } else {
1663
- const rest = {
1664
- row,
1665
- rowid,
1666
- seq,
1667
- index: -1,
1668
- $index: -1,
1669
- _index: -1,
1670
- items: [],
1671
- parent: null,
1672
- level: 0,
1673
- height: 0,
1674
- oTop: 0
1675
- };
1676
- fullAllDataRowIdData[rowid] = rest;
1677
- fullDataRowIdData[rowid] = rest;
1678
- }
1679
- fullMaps[rowid] = row;
1680
- }, {
1681
- children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField
1682
- });
1692
+ if (transform) {
1693
+ updateAfterListIndex();
1694
+ } else {
1695
+ _xeUtils.default.eachTree(afterTreeFullData, (row, index, items, path) => {
1696
+ const rowid = (0, _util.getRowid)($xeTable, row);
1697
+ const rowRest = fullAllDataRowIdData[rowid];
1698
+ const seq = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
1699
+ if (rowRest) {
1700
+ rowRest.seq = seq;
1701
+ if (!transform) {
1702
+ rowRest._index = index;
1703
+ }
1704
+ } else {
1705
+ const rest = {
1706
+ row,
1707
+ rowid,
1708
+ seq,
1709
+ index: -1,
1710
+ $index: -1,
1711
+ _index: -1,
1712
+ items: [],
1713
+ parent: null,
1714
+ level: 0,
1715
+ height: 0,
1716
+ oTop: 0
1717
+ };
1718
+ fullAllDataRowIdData[rowid] = rest;
1719
+ fullDataRowIdData[rowid] = rest;
1720
+ }
1721
+ fullMaps[rowid] = row;
1722
+ }, {
1723
+ children: transform ? treeOpts.mapChildrenField : childrenField
1724
+ });
1725
+ internalData.afterFullRowMaps = fullMaps;
1726
+ }
1683
1727
  } else {
1684
- afterFullData.forEach((row, index) => {
1685
- const rowid = (0, _util.getRowid)($xeTable, row);
1686
- const rowRest = fullAllDataRowIdData[rowid];
1687
- const seq = index + 1;
1688
- if (rowRest) {
1689
- rowRest.seq = seq;
1690
- rowRest._index = index;
1691
- } else {
1692
- const rest = {
1693
- row,
1694
- rowid,
1695
- seq,
1696
- index: -1,
1697
- $index: -1,
1698
- _index: index,
1699
- items: [],
1700
- parent: null,
1701
- level: 0,
1702
- height: 0,
1703
- oTop: 0
1704
- };
1705
- fullAllDataRowIdData[rowid] = rest;
1706
- fullDataRowIdData[rowid] = rest;
1707
- }
1708
- fullMaps[rowid] = row;
1709
- });
1728
+ updateAfterListIndex();
1710
1729
  }
1711
- internalData.afterFullRowMaps = fullMaps;
1712
1730
  };
1713
1731
  /**
1714
1732
  * 如果为虚拟树,将树结构拍平
@@ -7531,7 +7549,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
7531
7549
  const {
7532
7550
  column
7533
7551
  } = params;
7534
- const colid = column.id;
7552
+ let resizeColumn = column;
7553
+ if (column.children && column.children.length) {
7554
+ _xeUtils.default.eachTree(column.children, childColumn => {
7555
+ resizeColumn = childColumn;
7556
+ });
7557
+ }
7558
+ const colid = resizeColumn.id;
7535
7559
  const colRest = fullColumnIdData[colid];
7536
7560
  const dragBtnElem = evnt.target;
7537
7561
  const cell = dragBtnElem.parentNode;
@@ -7539,11 +7563,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
7539
7563
  cell
7540
7564
  });
7541
7565
  const colMinWidth = (0, _util.getColReMinWidth)(cellParams);
7542
- let resizeWidth = calcColumnAutoWidth(column, el);
7566
+ let resizeWidth = calcColumnAutoWidth(resizeColumn, el);
7543
7567
  if (colRest) {
7544
7568
  resizeWidth = Math.max(resizeWidth, colRest.width);
7545
7569
  }
7546
- column.resizeWidth = Math.max(colMinWidth, resizeWidth);
7570
+ resizeColumn.resizeWidth = Math.max(colMinWidth, resizeWidth);
7547
7571
  reactData._isResize = false;
7548
7572
  internalData._lastResizeTime = Date.now();
7549
7573
  $xeTable.analyColumnWidth();
@@ -7808,7 +7832,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7808
7832
  }
7809
7833
  vLen++;
7810
7834
  });
7811
- const isSelected = rootList.length > 0 && sLen >= vLen;
7835
+ const isSelected = vLen > 0 ? sLen >= vLen : sLen >= rootList.length;
7812
7836
  const halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
7813
7837
  reactData.isAllSelected = isSelected;
7814
7838
  reactData.isIndeterminate = halfSelect;