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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/src/body.js +2 -1
  6. package/es/table/src/footer.js +2 -1
  7. package/es/table/src/header.js +29 -19
  8. package/es/table/src/table.js +11 -5
  9. package/es/table/style.css +7 -4
  10. package/es/table/style.min.css +1 -1
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/es/vxe-table/style.css +7 -4
  14. package/es/vxe-table/style.min.css +1 -1
  15. package/lib/index.css +1 -1
  16. package/lib/index.min.css +1 -1
  17. package/lib/index.umd.js +44 -26
  18. package/lib/index.umd.min.js +1 -1
  19. package/lib/style.css +1 -1
  20. package/lib/style.min.css +1 -1
  21. package/lib/table/src/body.js +2 -1
  22. package/lib/table/src/body.min.js +1 -1
  23. package/lib/table/src/footer.js +2 -1
  24. package/lib/table/src/footer.min.js +1 -1
  25. package/lib/table/src/header.js +27 -17
  26. package/lib/table/src/header.min.js +1 -1
  27. package/lib/table/src/table.js +11 -5
  28. package/lib/table/src/table.min.js +1 -1
  29. package/lib/table/style/style.css +7 -4
  30. package/lib/table/style/style.min.css +1 -1
  31. package/lib/ui/index.js +1 -1
  32. package/lib/ui/index.min.js +1 -1
  33. package/lib/ui/src/log.js +1 -1
  34. package/lib/ui/src/log.min.js +1 -1
  35. package/lib/vxe-table/style/style.css +7 -4
  36. package/lib/vxe-table/style/style.min.css +1 -1
  37. package/package.json +1 -1
  38. package/packages/table/src/body.ts +2 -1
  39. package/packages/table/src/footer.ts +2 -1
  40. package/packages/table/src/header.ts +29 -19
  41. package/packages/table/src/table.ts +11 -5
  42. package/styles/components/table.scss +7 -5
  43. /package/es/{iconfont.1736736829304.ttf → iconfont.1736759340059.ttf} +0 -0
  44. /package/es/{iconfont.1736736829304.woff → iconfont.1736759340059.woff} +0 -0
  45. /package/es/{iconfont.1736736829304.woff2 → iconfont.1736759340059.woff2} +0 -0
  46. /package/lib/{iconfont.1736736829304.ttf → iconfont.1736759340059.ttf} +0 -0
  47. /package/lib/{iconfont.1736736829304.woff → iconfont.1736759340059.woff} +0 -0
  48. /package/lib/{iconfont.1736736829304.woff2 → iconfont.1736759340059.woff2} +0 -0
@@ -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))])])])}}});
@@ -38,7 +38,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
38
38
  } = $xeTable;
39
39
  const {
40
40
  refElem: tableRefElem,
41
- refTableBody,
42
41
  refLeftContainer,
43
42
  refRightContainer,
44
43
  refCellResizeBar,
@@ -71,10 +70,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
71
70
  fixedType
72
71
  } = props;
73
72
  const {
73
+ elemStore,
74
74
  visibleColumn
75
75
  } = tableInternalData;
76
76
  const resizableOpts = computeResizableOpts.value;
77
- const tableBody = refTableBody.value;
78
77
  const tableEl = tableRefElem.value;
79
78
  const leftContainerElem = refLeftContainer.value;
80
79
  const rightContainerElem = refRightContainer.value;
@@ -85,12 +84,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
85
84
  } = evnt;
86
85
  const wrapperElem = refElem.value;
87
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
+ }
88
93
  const cell = dragBtnElem.parentNode;
89
94
  const cellParams = Object.assign(params, {
90
95
  cell
91
96
  });
92
97
  let dragLeft = 0;
93
- const tableBodyElem = tableBody.$el;
98
+ const bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
99
+ if (!bodyScrollElem) {
100
+ return;
101
+ }
94
102
  const pos = (0, _dom.getOffsetPos)(dragBtnElem, wrapperElem);
95
103
  const dragBtnWidth = dragBtnElem.clientWidth;
96
104
  const dragBtnOffsetWidth = Math.floor(dragBtnWidth / 2);
@@ -119,25 +127,25 @@ var _default = exports.default = (0, _vue.defineComponent)({
119
127
  }
120
128
  }
121
129
  // 处理拖动事件
122
- const updateEvent = function (evnt) {
130
+ const updateEvent = evnt => {
123
131
  evnt.stopPropagation();
124
132
  evnt.preventDefault();
125
133
  const offsetX = evnt.clientX - dragClientX;
126
134
  let left = dragPosLeft + offsetX;
127
- const scrollLeft = fixedType ? 0 : tableBodyElem.scrollLeft;
135
+ const scrollLeft = fixedType ? 0 : bodyScrollElem.scrollLeft;
128
136
  if (isLeftFixed) {
129
137
  // 左固定列(不允许超过右侧固定列、不允许超过右边距)
130
- left = Math.min(left, (rightContainerElem ? rightContainerElem.offsetLeft : tableBodyElem.clientWidth) - fixedOffsetWidth - minInterval);
138
+ left = Math.min(left, (rightContainerElem ? rightContainerElem.offsetLeft : bodyScrollElem.clientWidth) - fixedOffsetWidth - minInterval);
131
139
  } else if (isRightFixed) {
132
140
  // 右侧固定列(不允许超过左侧固定列、不允许超过左边距)
133
141
  dragMinLeft = (leftContainerElem ? leftContainerElem.clientWidth : 0) + fixedOffsetWidth + minInterval;
134
142
  left = Math.min(left, dragPosLeft + cell.clientWidth - minInterval);
135
143
  } else {
136
- dragMinLeft = Math.max(tableBodyElem.scrollLeft, dragMinLeft);
137
- // left = Math.min(left, tableBodyElem.clientWidth + tableBodyElem.scrollLeft - 40)
144
+ dragMinLeft = Math.max(bodyScrollElem.scrollLeft, dragMinLeft);
145
+ // left = Math.min(left, bodyScrollElem.clientWidth + bodyScrollElem.scrollLeft - 40)
138
146
  }
139
147
  dragLeft = Math.max(left, dragMinLeft);
140
- const resizeBarLeft = dragLeft - scrollLeft;
148
+ const resizeBarLeft = Math.max(1, dragLeft - scrollLeft);
141
149
  resizeBarElem.style.left = `${resizeBarLeft}px`;
142
150
  if (resizableOpts.showDragTip && resizeTipElem) {
143
151
  const tableWidth = tableEl.clientWidth;
@@ -147,13 +155,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
147
155
  const resizeTipHeight = resizeTipElem.clientHeight;
148
156
  let resizeTipLeft = -resizeTipWidth;
149
157
  if (resizeBarLeft < resizeTipWidth + resizeBarWidth) {
150
- resizeTipLeft = resizeTipWidth + resizeBarWidth - resizeBarLeft;
158
+ resizeTipLeft = 0;
151
159
  } else if (resizeBarLeft > tableWidth) {
152
160
  resizeTipLeft += tableWidth - resizeBarLeft;
153
161
  }
154
162
  resizeTipElem.style.left = `${resizeTipLeft}px`;
155
163
  resizeTipElem.style.top = `${Math.min(tableEl.clientHeight - resizeTipHeight, Math.max(0, evnt.clientY - wrapperRect.y - resizeTipHeight / 2))}px`;
156
- 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)]);
157
165
  }
158
166
  };
159
167
  tableReactData._isResize = true;
@@ -163,11 +171,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
163
171
  document.onmouseup = function (evnt) {
164
172
  document.onmousemove = domMousemove;
165
173
  document.onmouseup = domMouseup;
166
- const resizeWidth = column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft);
167
- column.resizeWidth = resizeWidth;
174
+ const resizeWidth = resizeColumn.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft);
175
+ resizeColumn.resizeWidth = resizeWidth;
168
176
  if (resizableOpts.dragMode === 'fixed') {
169
177
  visibleColumn.forEach(item => {
170
- if (item.id !== column.id) {
178
+ if (item.id !== resizeColumn.id) {
171
179
  if (!item.resizeWidth) {
172
180
  item.resizeWidth = item.renderWidth;
173
181
  }
@@ -299,6 +307,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
299
307
  thOns.onMouseup = $xeTable.handleHeaderCellDragMouseupEvent;
300
308
  }
301
309
  }
310
+ const isLastColumn = $columnIndex === cols.length - 1;
311
+ const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
302
312
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
303
313
  let isPreLoadStatus = false;
304
314
  if (scrollXLoad && !isGroup && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex || _columnIndex > scrollXStore.visibleEndIndex)) {
@@ -308,7 +318,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
308
318
  class: ['vxe-header--column', colid, {
309
319
  [`col--${headAlign}`]: headAlign,
310
320
  [`col--${type}`]: type,
311
- 'col--last': $columnIndex === cols.length - 1,
321
+ 'col--last': isLastColumn,
312
322
  'col--fixed': column.fixed,
313
323
  'col--group': isColGroup,
314
324
  'col--ellipsis': hasEllipsis,
@@ -334,13 +344,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
334
344
  /**
335
345
  * 列宽拖动
336
346
  */
337
- !fixedHiddenColumn && !isColGroup && (_xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable) ? (0, _vue.h)('div', {
347
+ !fixedHiddenColumn && showResizable ? (0, _vue.h)('div', {
338
348
  class: ['vxe-resizable', {
339
349
  'is--line': !border || border === 'none'
340
350
  }],
341
351
  onMousedown: evnt => resizeMousedownEvent(evnt, params),
342
352
  onDblclick: evnt => $xeTable.handleResizeDblclickEvent(evnt, params)
343
- }) : null]);
353
+ }) : renderEmptyElement($xeTable)]);
344
354
  });
345
355
  };
346
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(B){let P=(0,_vue.inject)("$xeTable",{}),{xID:h,props:m,reactData:V,internalData:Y}=P,{refElem:S,refTableBody:H,refLeftContainer:R,refRightContainer:I,refCellResizeBar:O,refCellResizeTip:k}=P.getRefMaps(),{computeColumnOpts:g,computeColumnDragOpts:x,computeResizableOpts:U}=P.getComputeMaps(),_=(0,_vue.ref)([]),$=(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=V.isGroup;_.value=e?(0,_util.convertHeaderColumnToRows)(B.tableGroupColumn):[]},K=(e,t)=>{let d=t.column,s=B.fixedType,r=Y.visibleColumn,u=U.value;var l=H.value;let c=S.value,v=R.value,p=I.value,f=O.value,h=k.value,m=e.clientX,g=$.value;var a=e.target;let x=a.parentNode;var i=Object.assign(t,{cell:x});let _=0,b=l.$el;var l=(0,_dom.getOffsetPos)(a,g),a=a.clientWidth,n=Math.floor(a/2);let C=(0,_util.getColReMinWidth)(i)-n,y=l.left-x.clientWidth+a+C,w=l.left+n,o=document.onmousemove,D=document.onmouseup,M="left"===s,T="right"===s,z=0;if(M||T){var W=M?"nextElementSibling":"previousElementSibling";let e=x[W];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(z+=e.offsetWidth),e=e[W];T&&p&&(w=p.offsetLeft+z)}function E(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-m;let e=w+t;if(t=s?0:b.scrollLeft,M?e=Math.min(e,(p?p.offsetLeft:b.clientWidth)-z-C):T?(y=(v?v.clientWidth:0)+z+C,e=Math.min(e,w+x.clientWidth-C)):y=Math.max(b.scrollLeft,y),t=(_=Math.max(e,y))-t,f.style.left=t+"px",u.showDragTip&&h){var r=c.clientWidth,a=g.getBoundingClientRect(),i=f.clientWidth,n=h.clientWidth,o=h.clientHeight;let e=-n;t<n+i?e=n+i-t:r<t&&(e+=r-t),h.style.left=e+"px",h.style.top=Math.min(c.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",h.textContent=getI18n("vxe.table.resizeColTip",[d.renderWidth+(T?w-_:_-w)])}}V._isResize=!0,(0,_dom.addClass)(c,"drag--resize"),f.style.display="block",document.onmousemove=E,document.onmouseup=function(e){document.onmousemove=o,document.onmouseup=D;let l=d.renderWidth+(T?w-_:_-w);d.resizeWidth=l,"fixed"===u.dragMode&&r.forEach(e=>{e.id===d.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),f.style.display="none",V._isResize=!1,Y._lastResizeTime=Date.now(),P.analyColumnWidth(),P.recalculate(!0).then(()=>{P.saveCustomStore("update:visible"),P.updateCellAreas(),P.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>P.recalculate(!0),300)}),(0,_dom.removeClass)(c,"drag--resize")},E(e),P.closeMenu&&P.closeMenu()},T=(y,w,D,M)=>{let T=B.fixedType,{resizable:z,border:W,columnKey:E,headerCellClassName:S,headerCellStyle:H,showHeaderOverflow:R,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=T?e.fixed!==T&&!d:!!e.fixed&&F,r=_xeUtils.default.eqNull(r)?R: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=P.getColumnIndex(e),m=P.getVTColumnIndex(e);let g={$table:P,$grid:P.xegrid,$rowIndex:M,column:e,columnIndex:r,$columnIndex:l,_columnIndex:m,firstFilterOption:h,fixed:T,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=>P.triggerHeaderCellClickEvent(e,g),onDblclick:e=>P.triggerHeaderCellDblclickEvent(e,g)},_=($&&!p&&(v=p=!0),j.drag&&"cell"===q.trigger);let b=!1;_&&(b=!(!X||!X(g))),(k||_)&&(x.onMousedown=e=>P.triggerHeaderCellMousedownEvent(e,g)),j.drag&&(x.onDragstart=P.handleHeaderCellDragDragstartEvent,x.onDragend=P.handleHeaderCellDragDragendEvent,x.onDragover=P.handleHeaderCellDragDragoverEvent,_)&&(x.onMouseup=P.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:"",S?_xeUtils.default.isFunction(S)?S(g):S:""],style:H?_xeUtils.default.isFunction(H)?H(g):H:null},r),x),{key:E||$||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||z)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>K(e,g),onDblclick:e=>P.handleResizeDblclickEvent(e,g)})])})};return(0,_vue.watch)(()=>B.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=B.fixedType,l=P.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=$,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=B.fixedType,l=P.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}=B;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:$,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){P.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(P):(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=B.fixedType,{headerRowClassName:n,headerRowStyle:o}=m,d=V.isDragColMove,s=g.value,u=x.value;return e.map((e,l)=>{var t={$table:P,$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:()=>T(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},T(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
  }
@@ -7531,7 +7531,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
7531
7531
  const {
7532
7532
  column
7533
7533
  } = params;
7534
- const colid = column.id;
7534
+ let resizeColumn = column;
7535
+ if (column.children && column.children.length) {
7536
+ _xeUtils.default.eachTree(column.children, childColumn => {
7537
+ resizeColumn = childColumn;
7538
+ });
7539
+ }
7540
+ const colid = resizeColumn.id;
7535
7541
  const colRest = fullColumnIdData[colid];
7536
7542
  const dragBtnElem = evnt.target;
7537
7543
  const cell = dragBtnElem.parentNode;
@@ -7539,11 +7545,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
7539
7545
  cell
7540
7546
  });
7541
7547
  const colMinWidth = (0, _util.getColReMinWidth)(cellParams);
7542
- let resizeWidth = calcColumnAutoWidth(column, el);
7548
+ let resizeWidth = calcColumnAutoWidth(resizeColumn, el);
7543
7549
  if (colRest) {
7544
7550
  resizeWidth = Math.max(resizeWidth, colRest.width);
7545
7551
  }
7546
- column.resizeWidth = Math.max(colMinWidth, resizeWidth);
7552
+ resizeColumn.resizeWidth = Math.max(colMinWidth, resizeWidth);
7547
7553
  reactData._isResize = false;
7548
7554
  internalData._lastResizeTime = Date.now();
7549
7555
  $xeTable.analyColumnWidth();
@@ -7808,7 +7814,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7808
7814
  }
7809
7815
  vLen++;
7810
7816
  });
7811
- const isSelected = rootList.length > 0 && sLen >= vLen;
7817
+ const isSelected = vLen > 0 ? sLen >= vLen : sLen >= rootList.length;
7812
7818
  const halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
7813
7819
  reactData.isAllSelected = isSelected;
7814
7820
  reactData.isIndeterminate = halfSelect;