vxe-table 3.18.4 → 3.18.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.
@@ -14,6 +14,24 @@ const {
14
14
  renderEmptyElement
15
15
  } = _ui.VxeUI;
16
16
  const cellType = 'header';
17
+ function getColumnFirstChild(column) {
18
+ const {
19
+ children
20
+ } = column;
21
+ if (children && children.length) {
22
+ return getColumnFirstChild(children[0]);
23
+ }
24
+ return column;
25
+ }
26
+ function getColumnLastChild(column) {
27
+ const {
28
+ children
29
+ } = column;
30
+ if (children && children.length) {
31
+ return getColumnLastChild(children[children.length - 1]);
32
+ }
33
+ return column;
34
+ }
17
35
  function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, $rowIndex, cols) {
18
36
  const props = _vm;
19
37
  const $xeTable = _vm.$parent;
@@ -180,6 +198,17 @@ function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, $rowIndex, co
180
198
  } else {
181
199
  tcStyle.minHeight = `${currCellHeight}px`;
182
200
  }
201
+ if (isColGroup && !isLastRow) {
202
+ const firstCol = getColumnFirstChild(column);
203
+ const lastCol = getColumnLastChild(column);
204
+ if (firstCol && lastCol && firstCol.id !== lastCol.id) {
205
+ const firstColRest = fullColumnIdData[firstCol.id];
206
+ const lastColRest = fullColumnIdData[lastCol.id];
207
+ if (firstColRest && lastColRest) {
208
+ tcStyle.width = `${lastColRest.oLeft - firstColRest.oLeft + lastCol.renderWidth}px`;
209
+ }
210
+ }
211
+ }
183
212
  return h('th', {
184
213
  class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
185
214
  [`col--${headAlign}`]: headAlign,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header";function renderRows(E,e,S,D,l,T,R){let I=e.$parent,O=I.$xeGrid,k=I.$xeGantt;var r=I,a=I,t=I;let z=e.fixedType,{resizable:M,columnKey:U,showCustomHeader:A,headerCellClassName:X,headerCellStyle:G,showHeaderOverflow:q,headerAlign:F,align:L,mouseConfig:N}=r,{currentColumn:B,dragCol:V,scrollXLoad:W,scrollYLoad:K,overflowX:P,mergeHeadFlag:j,tableColumn:ae}=a,{fullColumnIdData:te,scrollXStore:Y,mergeHeaderList:ie,mergeHeaderCellMaps:de}=t,ne=I.computeVirtualXOpts,J=I.computeColumnOpts,Q=I.computeColumnDragOpts,oe=I.computeCellOpts;e=I.computeDefaultRowHeight;let Z=I.computeHeaderCellOpts,ee=(0,_util.getCalcHeight)(Z.height)||e,{disabledMethod:le,isCrossDrag:se,isPeerDrag:ue}=Q,re=T===l.length-1;return R.map((e,l)=>{var{type:r,showHeaderOverflow:a,headerAlign:t,align:i,filters:d,headerClassName:n,editRender:o,cellRender:s}=e,u=e.id,c=te[u]||{},o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=P&&!o&&(z?e.fixed!==z:!!e.fixed),f=(_xeUtils.default.isBoolean(Z.padding)?Z:oe).padding,a=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?q:a,t=t||(s?s.tableHeaderCellAlign:"")||F||i||(s?s.tableCellAlign:"")||L,i="ellipsis"===a,s="title"===a,a=!0===a||"tooltip"===a,m=s||a||i;let g=!1,h=null;d&&(h=d[0],g=d.some(e=>e.checked));var x=c.index,c=A?l:c._index;let v={$table:I,$grid:O,$gantt:k,$rowIndex:T,column:e,columnIndex:x,$columnIndex:l,_columnIndex:c,firstFilterOption:h,fixed:z,type:cellType,isHidden:p,hasFilter:g};x={colid:u};let C=!1;if(A||(x.colspan=1<e.colSpan?e.colSpan:null,x.rowspan=1<e.rowSpan?e.rowSpan:null),j&&ie.length&&(A||re)){var b=de[T+":"+(A?l:c)];if(b){var{rowspan:b,colspan:w}=b;if(!b||!w)return null;1<b&&(C=!0,x.rowspan=b),1<w&&(C=!0,x.colspan=w)}}b={click:e=>I.triggerHeaderCellClickEvent(e,v),dblclick:e=>I.triggerHeaderCellDblclickEvent(e,v)},w=J.drag&&"cell"===Q.trigger;let H=!1;w&&(H=!(!le||!le(v))),(N||w)&&(b.mousedown=e=>I.triggerHeaderCellMousedownEvent(e,v)),J.drag&&(b.dragstart=I.handleHeaderCellDragDragstartEvent,b.dragend=I.handleHeaderCellDragDragendEvent,b.dragover=I.handleHeaderCellDragDragoverEvent,w)&&(b.mouseup=I.handleHeaderCellDragMouseupEvent);var w=l===R.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:J.resizable||M,_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let $=!1;!D||!P||S||C||V&&V.id===u||W&&10<ae.length&&!e.fixed&&!ne.immediate&&(c<Y.visibleStartIndex-Y.preloadSize||c>Y.visibleEndIndex+Y.preloadSize)&&($=!0);c={};return m?c.height=ee+"px":c.minHeight=ee+"px",E("th",{class:["vxe-table--column vxe-header--column",u,p?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+r]:r,"col--last":w,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":m,"fixed--width":!_,"is--padding":f,"is--sortable":e.sortable,"col--filter":!!d,"is--filter-active":g,"is--drag-active":J.drag&&!e.fixed&&!H&&(se||ue||!e.parentId),"is--drag-disabled":J.drag&&H,"col--current":B===e},(0,_utils.getClass)(n,v),(0,_utils.getClass)(X,v)],attrs:x,style:G?_xeUtils.default.isFunction(G)?G(v):G:void 0,on:b,key:A?""+u+l:U||W||K||J.useKey||J.drag||o?u:l},[E("div",{class:["vxe-cell",{"c--title":s,"c--tooltip":a,"c--ellipsis":i}],style:c},$||D&&p?[]:[E("div",{attrs:{colid:u},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(E,v))]),p||!y||A&&!re?renderEmptyElement(I):E("div",{class:"vxe-cell--col-resizable",on:{mousedown:e=>I.handleColResizeMousedownEvent(e,z,v),dblclick:e=>I.handleColResizeDblclickEvent(e,v)}})])})}function renderHeads(a,t,i,d,n){let o=t.$parent;var e=o;let s=t.fixedType,{headerRowClassName:u,headerRowStyle:c}=e;return n.map((e,l)=>{var r={$table:o,$rowIndex:l,fixed:s,type:cellType};return a("tr",{key:l,class:["vxe-header--row",u?_xeUtils.default.isFunction(u)?u(r):u:""],style:c?_xeUtils.default.isFunction(c)?c(r):c:void 0},renderRows(a,t,i,d,n,l,e))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.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},render(r){let l=this.$parent;var e=l,a=l,t=l,i=l.xID;let{fixedType:d,fixedColumn:n,tableColumn:o}=this;var s=this.headerColumn,{mouseConfig:e,showHeaderOverflow:u,spanMethod:c,footerSpanMethod:p}=e,{isGroup:a,isColLoading:f,overflowX:m,scrollXLoad:g,dragCol:h}=a,{visibleColumn:t,fullColumnIdData:x}=t,v=l.computeMouseOpts;let C=s,b=o,w=!1;return a?b=t:(g&&u&&(c||p||(w=!0)),w&&(f||!d&&m)||(b=t),d&&w&&(b=n||[]),C=[b]),d||a||g&&h&&2<b.length&&(s=x[h.id])&&(u=s._index,c=b[0],p=b[b.length-1],f=x[c.id],m=x[p.id],f)&&m&&(t=f._index,g=m._index,u<t?(b=[h].concat(b),C=[[h].concat(C[0])].concat(C.slice(1))):g<u&&(b=b.concat([h]),C=[C[0].concat([h])].concat(C.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,d)}}},[d?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0,xvm:w?"1":null}},[r("colgroup",{ref:"refHeaderColgroup"},b.map((e,l)=>r("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,a,w,C))]),e&&v.area?r("div",{class:"vxe-table--cell-area"},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-clip-area"}),r("span",{class:"vxe-table--cell-extend-area"}),r("span",{class:"vxe-table--cell-multi-area"}),r("span",{class:"vxe-table--cell-active-area"}),r("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(l)])])},methods:{uploadColumn(){var e=this.$parent,l=e.showCustomHeader,{collectColumn:r,visibleColumn:a}=e,t=this.tableGroupColumn,i=e.isGroup;let d=i?(0,_util.convertHeaderColumnToRows)(t):[],n=[];l&&1<d.length&&(n=(0,_util.convertHeaderToGridRows)(d),d=n),this.headerColumn=d,e.dispatchEvent("columns-change",{visibleColgroups:n,collectColumn:r,visibleColumn:a},null)}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,cellType="header";function getColumnFirstChild(e){var l=e.children;return l&&l.length?getColumnFirstChild(l[0]):e}function getColumnLastChild(e){var l=e.children;return l&&l.length?getColumnLastChild(l[l.length-1]):e}function renderRows(T,e,R,I,l,O,k){let z=e.$parent,L=z.$xeGrid,M=z.$xeGantt;var r=z,a=z,t=z;let U=e.fixedType,{resizable:F,columnKey:A,showCustomHeader:X,headerCellClassName:G,headerCellStyle:q,showHeaderOverflow:N,headerAlign:W,align:B,mouseConfig:V}=r,{currentColumn:K,dragCol:P,scrollXLoad:j,scrollYLoad:Y,overflowX:J,mergeHeadFlag:de,tableColumn:ne}=a,{fullColumnIdData:Q,scrollXStore:Z,mergeHeaderList:oe,mergeHeaderCellMaps:se}=t,ue=z.computeVirtualXOpts,ee=z.computeColumnOpts,le=z.computeColumnDragOpts,ce=z.computeCellOpts;e=z.computeDefaultRowHeight;let re=z.computeHeaderCellOpts,ae=(0,_util.getCalcHeight)(re.height)||e,{disabledMethod:te,isCrossDrag:pe,isPeerDrag:he}=le,ie=O===l.length-1;return k.map((e,l)=>{var{type:r,showHeaderOverflow:a,headerAlign:t,align:i,filters:d,headerClassName:n,editRender:o,cellRender:s}=e,u=e.id,c=Q[u]||{},o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=J&&!o&&(U?e.fixed!==U:!!e.fixed),h=(_xeUtils.default.isBoolean(re.padding)?re:ce).padding,a=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?N:a,t=t||(s?s.tableHeaderCellAlign:"")||W||i||(s?s.tableCellAlign:"")||B,i="ellipsis"===a,s="title"===a,a=!0===a||"tooltip"===a,m=s||a||i;let f=!1,g=null;d&&(g=d[0],f=d.some(e=>e.checked));var v=c.index,c=X?l:c._index;let x={$table:z,$grid:L,$gantt:M,$rowIndex:O,column:e,columnIndex:v,$columnIndex:l,_columnIndex:c,firstFilterOption:g,fixed:U,type:cellType,isHidden:p,hasFilter:f};v={colid:u};let C=!1;if(X||(v.colspan=1<e.colSpan?e.colSpan:null,v.rowspan=1<e.rowSpan?e.rowSpan:null),de&&oe.length&&(X||ie)){var b=se[O+":"+(X?l:c)];if(b){var{rowspan:b,colspan:w}=b;if(!b||!w)return null;1<b&&(C=!0,v.rowspan=b),1<w&&(C=!0,v.colspan=w)}}b={click:e=>z.triggerHeaderCellClickEvent(e,x),dblclick:e=>z.triggerHeaderCellDblclickEvent(e,x)},w=ee.drag&&"cell"===le.trigger;let H=!1;w&&(H=!(!te||!te(x))),(V||w)&&(b.mousedown=e=>z.triggerHeaderCellMousedownEvent(e,x)),ee.drag&&(b.dragstart=z.handleHeaderCellDragDragstartEvent,b.dragend=z.handleHeaderCellDragDragendEvent,b.dragover=z.handleHeaderCellDragDragoverEvent,w)&&(b.mouseup=z.handleHeaderCellDragMouseupEvent);var w=l===k.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:ee.resizable||F,_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let $=!1;!I||!J||R||C||P&&P.id===u||j&&10<ne.length&&!e.fixed&&!ue.immediate&&(c<Z.visibleStartIndex-Z.preloadSize||c>Z.visibleEndIndex+Z.preloadSize)&&($=!0);var E,S,D,c={};return m?c.height=ae+"px":c.minHeight=ae+"px",o&&!ie&&(S=getColumnFirstChild(e),E=getColumnLastChild(e),S)&&E&&S.id!==E.id&&(S=Q[S.id],D=Q[E.id],S)&&D&&(c.width=D.oLeft-S.oLeft+E.renderWidth+"px"),T("th",{class:["vxe-table--column vxe-header--column",u,p?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+r]:r,"col--last":w,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":m,"fixed--width":!_,"is--padding":h,"is--sortable":e.sortable,"col--filter":!!d,"is--filter-active":f,"is--drag-active":ee.drag&&!e.fixed&&!H&&(pe||he||!e.parentId),"is--drag-disabled":ee.drag&&H,"col--current":K===e},(0,_utils.getClass)(n,x),(0,_utils.getClass)(G,x)],attrs:v,style:q?_xeUtils.default.isFunction(q)?q(x):q:void 0,on:b,key:X?""+u+l:A||j||Y||ee.useKey||ee.drag||o?u:l},[T("div",{class:["vxe-cell",{"c--title":s,"c--tooltip":a,"c--ellipsis":i}],style:c},$||I&&p?[]:[T("div",{attrs:{colid:u},class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(T,x))]),p||!y||X&&!ie?renderEmptyElement(z):T("div",{class:"vxe-cell--col-resizable",on:{mousedown:e=>z.handleColResizeMousedownEvent(e,U,x),dblclick:e=>z.handleColResizeDblclickEvent(e,x)}})])})}function renderHeads(a,t,i,d,n){let o=t.$parent;var e=o;let s=t.fixedType,{headerRowClassName:u,headerRowStyle:c}=e;return n.map((e,l)=>{var r={$table:o,$rowIndex:l,fixed:s,type:cellType};return a("tr",{key:l,class:["vxe-header--row",u?_xeUtils.default.isFunction(u)?u(r):u:""],style:c?_xeUtils.default.isFunction(c)?c(r):c:void 0},renderRows(a,t,i,d,n,l,e))})}var _default=exports.default={name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},data(){return{headerColumn:[]}},watch:{tableColumn(){this.uploadColumn()}},created(){this.uploadColumn()},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-header-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refHeaderScroll,r[l+"table"]=e.$refs.refHeaderTable,r[l+"colgroup"]=e.$refs.refHeaderColgroup,r[l+"list"]=e.$refs.refHeaderTHead,r[l+"xSpace"]=e.$refs.refHeaderXSpace,r[l+"repair"]=e.$refs.refHeaderBorderRepair},destroyed(){var e=this.fixedType,l=this.$parent.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},render(r){let l=this.$parent;var e=l,a=l,t=l,i=l.xID;let{fixedType:d,fixedColumn:n,tableColumn:o}=this;var s=this.headerColumn,{mouseConfig:e,showHeaderOverflow:u,spanMethod:c,footerSpanMethod:p}=e,{isGroup:a,isColLoading:h,overflowX:m,scrollXLoad:f,dragCol:g}=a,{visibleColumn:t,fullColumnIdData:v}=t,x=l.computeMouseOpts;let C=s,b=o,w=!1;return a?b=t:(f&&u&&(c||p||(w=!0)),w&&(h||!d&&m)||(b=t),d&&w&&(b=n||[]),C=[b]),d||a||f&&g&&2<b.length&&(s=v[g.id])&&(u=s._index,c=b[0],p=b[b.length-1],h=v[c.id],m=v[p.id],h)&&m&&(t=h._index,f=m._index,u<t?(b=[g].concat(b),C=[[g].concat(C[0])].concat(C.slice(1))):f<u&&(b=b.concat([g]),C=[C[0].concat([g])].concat(C.slice(1)))),r("div",{ref:"refElem",class:["vxe-table--header-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refHeaderScroll",class:"vxe-table--header-inner-wrapper",on:{scroll(e){l.triggerHeaderScrollEvent(e,d)}}},[d?renderEmptyElement(l):r("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refHeaderTable",class:"vxe-table--header",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0,xvm:w?"1":null}},[r("colgroup",{ref:"refHeaderColgroup"},b.map((e,l)=>r("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),r("thead",{ref:"refHeaderTHead"},renderHeads(r,this,a,w,C))]),e&&x.area?r("div",{class:"vxe-table--cell-area"},[r("span",{class:"vxe-table--cell-main-area"}),r("span",{class:"vxe-table--cell-clip-area"}),r("span",{class:"vxe-table--cell-extend-area"}),r("span",{class:"vxe-table--cell-multi-area"}),r("span",{class:"vxe-table--cell-active-area"}),r("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(l)])])},methods:{uploadColumn(){var e=this.$parent,l=e.showCustomHeader,{collectColumn:r,visibleColumn:a}=e,t=this.tableGroupColumn,i=e.isGroup;let d=i?(0,_util.convertHeaderColumnToRows)(t):[],n=[];l&&1<d.length&&(n=(0,_util.convertHeaderToGridRows)(d),d=n),this.headerColumn=d,e.dispatchEvent("columns-change",{visibleColgroups:n,collectColumn:r,visibleColumn:a},null)}}};
package/lib/ui/index.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "3.18.4";
16
+ const version = exports.version = "3.18.5";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.18.4",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0},modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{multiple:!0,showIcon:!0},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isAll:!0,isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{gt:24,preSize:0,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{x:{visible:!0},y:{visible:!0}}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{},gantt:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,i){return _core.VxeUI.modal.alert(e,o,i)},confirm(e,o,i){return _core.VxeUI.modal.confirm(e,o,i)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,i){return _core.VxeUI.modal.notification(e,o,i)}});var _default=exports.default=_core.VxeUI;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.18.5",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0},modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{multiple:!0,showIcon:!0},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isAll:!0,isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{gt:24,preSize:0,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{x:{visible:!0},y:{visible:!0}}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{},gantt:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,i){return _core.VxeUI.modal.alert(e,o,i)},confirm(e,o,i){return _core.VxeUI.modal.confirm(e,o,i)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,i){return _core.VxeUI.modal.notification(e,o,i)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
8
8
  const {
9
9
  log
10
10
  } = _core.VxeUI;
11
- const version = `table v${"3.18.4"}`;
11
+ const version = `table v${"3.18.5"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.18.4",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.18.5",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.18.4",
3
+ "version": "3.18.5",
4
4
  "description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -10,6 +10,22 @@ const { renderer, renderEmptyElement } = VxeUI
10
10
 
11
11
  const cellType = 'header'
12
12
 
13
+ function getColumnFirstChild (column: VxeTableDefines.ColumnInfo): VxeTableDefines.ColumnInfo {
14
+ const { children } = column
15
+ if (children && children.length) {
16
+ return getColumnFirstChild(children[0])
17
+ }
18
+ return column
19
+ }
20
+
21
+ function getColumnLastChild (column: VxeTableDefines.ColumnInfo): VxeTableDefines.ColumnInfo {
22
+ const { children } = column
23
+ if (children && children.length) {
24
+ return getColumnLastChild(children[children.length - 1])
25
+ }
26
+ return column
27
+ }
28
+
13
29
  function renderRows (h: CreateElement, _vm: any, isGroup: boolean, isOptimizeMode: boolean, headerGroups: VxeTableDefines.ColumnInfo[][], $rowIndex: number, cols: VxeTableDefines.ColumnInfo[]) {
14
30
  const props = _vm
15
31
  const $xeTable = _vm.$parent as VxeTableConstructor & VxeTablePrivateMethods
@@ -142,6 +158,18 @@ function renderRows (h: CreateElement, _vm: any, isGroup: boolean, isOptimizeMod
142
158
  tcStyle.minHeight = `${currCellHeight}px`
143
159
  }
144
160
 
161
+ if (isColGroup && !isLastRow) {
162
+ const firstCol = getColumnFirstChild(column)
163
+ const lastCol = getColumnLastChild(column)
164
+ if (firstCol && lastCol && firstCol.id !== lastCol.id) {
165
+ const firstColRest = fullColumnIdData[firstCol.id]
166
+ const lastColRest = fullColumnIdData[lastCol.id]
167
+ if (firstColRest && lastColRest) {
168
+ tcStyle.width = `${lastColRest.oLeft - firstColRest.oLeft + lastCol.renderWidth}px`
169
+ }
170
+ }
171
+ }
172
+
145
173
  return h('th', {
146
174
  class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
147
175
  [`col--${headAlign}`]: headAlign,