vxe-table
Version:
A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.
1 lines • 173 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_util=require("./util"),_vn=require("../../ui/src/vn"),_anime=require("./anime"),_log=require("../../ui/src/log"),_cell=_interopRequireDefault(require("./cell")),_body=_interopRequireDefault(require("./body")),_header=_interopRequireDefault(require("./header")),_footer=_interopRequireDefault(require("./footer")),_props=require("./props"),_emits=require("./emits"),_panel=_interopRequireDefault(require("../module/custom/panel")),_panel2=_interopRequireDefault(require("../module/filter/panel")),_importPanel=_interopRequireDefault(require("../module/export/import-panel")),_exportPanel=_interopRequireDefault(require("../module/export/export-panel")),_panel3=_interopRequireDefault(require("../module/menu/panel"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}require("../module/filter/hook"),require("../module/menu/hook"),require("../module/edit/hook"),require("../module/export/hook"),require("../module/keyboard/hook"),require("../module/validator/hook"),require("../module/custom/hook"),require("../render");let{getConfig,getIcon,getI18n,renderer,formats,createEvent,globalResize,interceptor,hooks,globalEvents,GLOBAL_EVENT_KEYS,useFns,renderEmptyElement}=_ui.VxeUI,supportMaxRow=5e6,customStorageKey="VXE_CUSTOM_STORE",maxYHeight=5e6,maxXWidth=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTable",props:_props.tableProps,emits:_emits.tableEmits,setup(W,l){let{slots:ie,emit:r}=l,ne=_xeUtils.default.uniqueId(),de=_xeUtils.default.browse(),ue=_ui.VxeUI.getComponent("VxeLoading"),se=_ui.VxeUI.getComponent("VxeTooltip"),t=(0,_vue.inject)("$xeTabs",null),ce=useFns.useSize(W).computeSize,N=(0,_vue.reactive)({staticColumns:[],tableGroupColumn:[],tableColumn:[],tableData:[],scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime:0,rowHeight:0,parentHeight:0,isGroup:!1,isAllOverflow:!1,isAllSelected:!1,isIndeterminate:!1,currentRow:null,currentColumn:null,selectRadioRow:null,footerTableData:[],rowGroupColumn:null,expandColumn:null,checkboxColumn:null,radioColumn:null,treeNodeColumn:null,hasFixedColumn:!1,upDataFlag:0,reColumnFlag:0,initStore:{filter:!1,import:!1,export:!1,custom:!1},customStore:{btnEl:null,isAll:!1,isIndeterminate:!1,activeBtn:!1,activeWrapper:!1,visible:!1,maxHeight:0,oldSortMaps:{},oldFixedMaps:{},oldVisibleMaps:{}},customColumnList:[],filterStore:{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1,maxHeight:null},columnStore:{leftList:[],centerList:[],rightList:[],resizeList:[],pxList:[],pxMinList:[],autoMinList:[],scaleList:[],scaleMinList:[],autoList:[],remainList:[]},ctxMenuStore:{selected:null,visible:!1,showChild:!1,selectChild:null,list:[],style:null},editStore:{indexs:{columns:[]},titles:{columns:[]},selected:{row:null,column:null},copyed:{cut:!1,rows:[],columns:[]},actived:{row:null,column:null},focused:{row:null,column:null}},tooltipStore:{row:null,column:null,content:null,visible:!1,currOpts:{}},validStore:{visible:!1},validErrorMaps:{},importStore:{inited:!1,file:null,type:"",modeList:[],typeList:[],filename:"",visible:!1},importParams:{mode:"",types:null,message:!0},exportStore:{inited:!1,name:"",modeList:[],typeList:[],columns:[],isPrint:!1,hasFooter:!1,hasMerge:!1,hasTree:!1,hasColgroup:!1,visible:!1},exportParams:{filename:"",sheetName:"",mode:"",type:"",isColgroup:!1,isMerge:!1,isAllExpand:!1,useStyle:!1,original:!1,message:!0,isHeader:!1,isTitle:!1,isFooter:!1},visiblwRowsFlag:1,isRowGroupStatus:!1,rowGroupList:[],aggHandleFields:[],aggHandleAggColumns:[],rowGroupExpandedFlag:1,rowExpandedFlag:1,treeExpandedFlag:1,updateCheckboxFlag:1,pendingRowFlag:1,insertRowFlag:1,removeRowFlag:1,mergeBodyFlag:1,mergeFootFlag:1,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36},scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,lazScrollLoading:!1,rowExpandHeightFlag:1,calcCellHeightFlag:1,resizeHeightFlag:1,resizeWidthFlag:1,isCustomStatus:!1,isDragRowMove:!1,dragRow:null,isDragColMove:!1,dragCol:null,dragTipText:"",isDragResize:!1,isRowLoading:!1,isColLoading:!1}),V=(0,_util.createInternalData)(),B={},$={},q=(0,_vue.ref)(),ge=(0,_vue.ref)(),Y=(0,_vue.ref)(),ve=(0,_vue.ref)(),he=(0,_vue.ref)(),fe=(0,_vue.ref)(),pe=(0,_vue.ref)(),me=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),m=(0,_vue.ref)(),c=(0,_vue.ref)(),g=(0,_vue.ref)(),v=(0,_vue.ref)(),h=(0,_vue.ref)(),f=(0,_vue.ref)(),p=(0,_vue.ref)(),x=(0,_vue.ref)(),xe=(0,_vue.ref)(),_e=(0,_vue.ref)(),we=(0,_vue.ref)(),Ce=(0,_vue.ref)(),be=(0,_vue.ref)(),Re=(0,_vue.ref)(),Ee=(0,_vue.ref)(),ye=(0,_vue.ref)(),Te=(0,_vue.ref)(),k=(0,_vue.ref)(),Se=(0,_vue.ref)(),De=(0,_vue.ref)(),D=(0,_vue.ref)(),Fe=(0,_vue.ref)(),Ie=(0,_vue.ref)(),F=(0,_vue.ref)(),Le=(0,_vue.ref)(),Me=(0,_vue.ref)(),ke=(0,_vue.ref)(),Ue=(0,_vue.ref)(),_=(0,_vue.ref)(),U=(0,_vue.ref)(),j=(0,_vue.inject)("$xeGrid",null);var a=(0,_vue.inject)("$xeGantt",null);let w,R=(0,_vue.computed)(()=>{var e=W.id;return e?_xeUtils.default.isFunction(e)?""+(e({$table:ae,$grid:j})||""):""+e:""}),o=(0,_vue.computed)(()=>{var e=K.value;return""+(W.rowId||e.keyField||"_X_ROW_KEY")}),Ae=(0,_vue.computed)(()=>Object.assign({},getConfig().table.validConfig,W.validConfig));var i=(0,_vue.computed)(()=>C.value);let P=(0,_vue.computed)(()=>{var e=C.value.threshold;return e?_xeUtils.default.toNumber(e):0});var d=(0,_vue.computed)(()=>y.value);let C=(0,_vue.computed)(()=>{var{virtualXConfig:e,scrollX:l}=W,t=getConfig().table.virtualXConfig,r=getConfig().table.scrollX;return e||!l&&t?Object.assign({},t,e):Object.assign({},r,l)}),y=(0,_vue.computed)(()=>{var{virtualYConfig:e,scrollY:l}=W,t=getConfig().table.virtualYConfig,r=getConfig().table.scrollY;return e||!l&&t?Object.assign({},t,e):Object.assign({},r,l)}),Oe=(0,_vue.computed)(()=>Object.assign({},getConfig().table.scrollbarConfig,W.scrollbarConfig)),He=(0,_vue.computed)(()=>{var e=Oe.value;return!(!e.x||"top"!==e.x.position)}),ze=(0,_vue.computed)(()=>{var e=Oe.value;return!(!e.y||"left"!==e.y.position)}),Ge=(0,_vue.computed)(()=>{var e=y.value.threshold;return e?_xeUtils.default.toNumber(e):0}),E=(0,_vue.computed)(()=>N.rowHeightStore),A=(0,_vue.computed)(()=>{var e=ce.value;return E.value[e||"default"]||18}),X=(0,_vue.computed)(()=>Object.assign({},getConfig().table.columnConfig,W.columnConfig)),Pe=(0,_vue.computed)(()=>Object.assign({},getConfig().table.currentColumnConfig,W.currentColumnConfig)),O=(0,_vue.computed)(()=>{var e=Object.assign({},getConfig().table.cellConfig,W.cellConfig);return e.height&&(e.height=_xeUtils.default.toNumber(e.height)),e});var Be=(0,_vue.computed)(()=>{var e=Object.assign({},getConfig().table.headerCellConfig,W.headerCellConfig),l=O.value;return e.height=_xeUtils.default.toNumber((0,_util.getCalcHeight)(e.height||l.height)),e}),$e=(0,_vue.computed)(()=>{var e=Object.assign({},getConfig().table.footerCellConfig,W.footerCellConfig),l=O.value;return e.height=_xeUtils.default.toNumber((0,_util.getCalcHeight)(e.height||l.height)),e});let K=(0,_vue.computed)(()=>Object.assign({},getConfig().table.rowConfig,W.rowConfig)),H=(0,_vue.computed)(()=>Object.assign({},getConfig().table.aggregateConfig||getConfig().table.rowGroupConfig,W.aggregateConfig||W.rowGroupConfig)),We=(0,_vue.computed)(()=>H.value),Ne=(0,_vue.computed)(()=>Object.assign({},getConfig().table.currentRowConfig,W.currentRowConfig)),Z=(0,_vue.computed)(()=>Object.assign({},getConfig().table.rowDragConfig,W.rowDragConfig)),J=(0,_vue.computed)(()=>Object.assign({},getConfig().table.columnDragConfig,W.columnDragConfig)),Ve=(0,_vue.computed)(()=>Object.assign({},getConfig().table.resizeConfig,W.resizeConfig)),qe=(0,_vue.computed)(()=>Object.assign({},getConfig().table.resizableConfig,W.resizableConfig));var Ye=(0,_vue.computed)(()=>Object.assign({startIndex:0},getConfig().table.seqConfig,W.seqConfig));let z=(0,_vue.computed)(()=>Object.assign({},getConfig().table.radioConfig,W.radioConfig)),Q=(0,_vue.computed)(()=>Object.assign({},getConfig().table.checkboxConfig,W.checkboxConfig)),je=(0,_vue.computed)(()=>Object.assign({},getConfig().tooltip,getConfig().table.tooltipConfig,W.tooltipConfig)),Xe=(0,_vue.computed)(()=>{var e=N.tooltipStore,l=je.value;return Object.assign({},l,e.currOpts)}),Ke=(0,_vue.computed)(()=>{var e=je.value;return Object.assign({},e)}),Ze=(0,_vue.computed)(()=>Object.assign({},getConfig().table.editConfig,W.editConfig)),T=(0,_vue.computed)(()=>Object.assign({orders:["asc","desc",null]},getConfig().table.sortConfig,W.sortConfig)),Je=(0,_vue.computed)(()=>Object.assign({},getConfig().table.filterConfig,W.filterConfig)),ee=(0,_vue.computed)(()=>Object.assign({},getConfig().table.mouseConfig,W.mouseConfig)),Qe=(0,_vue.computed)(()=>Object.assign({},getConfig().table.areaConfig,W.areaConfig)),le=(0,_vue.computed)(()=>Object.assign({},getConfig().table.keyboardConfig,W.keyboardConfig));var el=(0,_vue.computed)(()=>Object.assign({},getConfig().table.clipConfig,W.clipConfig)),ll=(0,_vue.computed)(()=>tl.value);let tl=(0,_vue.computed)(()=>Object.assign({},getConfig().table.fnrConfig,W.fnrConfig)),rl=(0,_vue.computed)(()=>Object.assign({},getConfig().table.menuConfig,W.menuConfig)),al=(0,_vue.computed)(()=>{var e=N.columnStore,l=e.leftList;let t=0;for(let e=0;e<l.length;e++){var r=l[e];t+=r.renderWidth}return t}),ol=(0,_vue.computed)(()=>{var e=N.columnStore,l=e.rightList;let t=0;for(let e=0;e<l.length;e++){var r=l[e];t+=r.renderWidth}return t}),il=(0,_vue.computed)(()=>{var e=rl.value.header;return e&&e.options?e.options:[]}),nl=(0,_vue.computed)(()=>{var e=rl.value.body;return e&&e.options?e.options:[]}),dl=(0,_vue.computed)(()=>{var e=rl.value.footer;return e&&e.options?e.options:[]}),ul=(0,_vue.computed)(()=>{var e=rl.value,l=il.value,t=nl.value,r=dl.value;return!!(W.menuConfig&&(0,_utils.isEnableConf)(e)&&(l.length||t.length||r.length))}),sl=(0,_vue.computed)(()=>{var e=N.ctxMenuStore;let l=[];return e.list.forEach(e=>{e.forEach(e=>{l.push(e)})}),l}),cl=(0,_vue.computed)(()=>Object.assign({},getConfig().table.exportConfig,W.exportConfig)),gl=(0,_vue.computed)(()=>Object.assign({},getConfig().table.importConfig,W.importConfig));var vl=(0,_vue.computed)(()=>Object.assign({},getConfig().table.printConfig,W.printConfig));let te=(0,_vue.computed)(()=>Object.assign({},getConfig().table.expandConfig,W.expandConfig)),re=(0,_vue.computed)(()=>Object.assign({},getConfig().table.treeConfig,W.treeConfig)),hl=(0,_vue.computed)(()=>Object.assign({},getConfig().table.emptyRender,W.emptyRender)),fl=(0,_vue.computed)(()=>Object.assign({},getConfig().table.loadingConfig,W.loadingConfig));var pl=(0,_vue.computed)(()=>W.border?Math.max(2,Math.ceil(N.scrollbarWidth/N.tableColumn.length)):1);let S=(0,_vue.computed)(()=>Object.assign({},getConfig().table.customConfig,W.customConfig)),ml=(0,_vue.computed)(()=>{var{tableData:e,rowExpandedFlag:l,expandColumn:t,rowGroupExpandedFlag:r,treeExpandedFlag:a}=N;let{visibleDataRowIdData:o,rowExpandedMaps:i}=V,n=[];return e.length&&t&&l&&r&&a&&_xeUtils.default.each(i,(e,l)=>{o[l]&&n.push(e)}),n}),xl=(0,_vue.computed)(()=>{var e=V.visibleColumn,l=N.tableColumn;return l.length||e.length?e.filter(e=>"auto"===e.width||"auto"===e.minWidth):[]}),_l=(0,_vue.computed)(()=>{var e=N.tableColumn,l=V.collectColumn;let t=0;return e.length&&l.length&&l.forEach(e=>{e.renderFixed&&t++}),t}),wl=(0,_vue.computed)(()=>{var e=_l.value,l=X.value.maxFixedSize;return!!l&&l<=e}),Cl=(0,_vue.computed)(()=>{var e=W.border;return!0===e?"full":e||"default"});var bl=(0,_vue.computed)(()=>{var{}=W,e=N.tableData,l=V.tableFullData;let{strict:t,checkMethod:r}=Q.value;return!!t&&(!e.length&&!l.length||!!r&&l.every(e=>!r({$table:ae,row:e})))}),Rl=(0,_vue.computed)(()=>{var{overflowX:e,scrollXLoad:l,overflowY:t,scrollYLoad:r}=N;return{x:e&&l,y:t&&r}}),El=(0,_vue.computed)(()=>We.value.groupFields),yl=(0,_vue.computed)(()=>{var e=N.rowGroupList;let l=V.fullColumnFieldData,t=[];return e.forEach(e=>{e=l[e.field];e&&t.push(e.column)}),t});let Tl={refElem:q,refTooltip:Y,refValidTooltip:he,refTableFilter:pe,refTableCustom:me,refTableMenu:fe,refTableHeader:s,refTableBody:m,refTableFooter:c,refTableLeftHeader:g,refTableLeftBody:v,refTableLeftFooter:h,refTableRightHeader:f,refTableRightBody:p,refTableRightFooter:x,refLeftContainer:xe,refRightContainer:_e,refColResizeBar:we,refRowResizeBar:Ce,refScrollXVirtualElem:Se,refScrollYVirtualElem:De,refScrollXHandleElem:D,refScrollYHandleElem:F,refScrollXSpaceElem:_,refScrollYSpaceElem:U},Sl={computeSize:ce,computeTableId:R,computeValidOpts:Ae,computeRowField:o,computeVirtualXOpts:C,computeVirtualYOpts:y,computeScrollbarOpts:Oe,computeScrollbarXToTop:He,computeScrollbarYToLeft:ze,computeColumnOpts:X,computeCurrentColumnOpts:Pe,computeScrollXThreshold:P,computeScrollYThreshold:Ge,computeRowHeightMaps:E,computeDefaultRowHeight:A,computeCellOpts:O,computeHeaderCellOpts:Be,computeFooterCellOpts:$e,computeRowOpts:K,computeAggregateOpts:H,computeRowGroupOpts:We,computeCurrentRowOpts:Ne,computeRowDragOpts:Z,computeColumnDragOpts:J,computeResizeOpts:Ve,computeResizableOpts:qe,computeSeqOpts:Ye,computeRadioOpts:z,computeCheckboxOpts:Q,computeTooltipOpts:je,computeEditOpts:Ze,computeSortOpts:T,computeFilterOpts:Je,computeMouseOpts:ee,computeAreaOpts:Qe,computeKeyboardOpts:le,computeClipOpts:el,computeFnrOpts:tl,computeHeaderMenu:il,computeBodyMenu:nl,computeFooterMenu:dl,computeIsMenu:ul,computeMenuList:sl,computeMenuOpts:rl,computeExportOpts:cl,computeImportOpts:gl,computePrintOpts:vl,computeExpandOpts:te,computeTreeOpts:re,computeEmptyOpts:hl,computeLoadingOpts:fl,computeCellOffsetWidth:pl,computeCustomOpts:S,computeLeftFixedWidth:al,computeRightFixedWidth:ol,computeFixedColumnSize:_l,computeIsMaxFixedColumn:wl,computeIsAllCheckboxDisabled:bl,computeVirtualScrollBars:Rl,computeRowGroupFields:El,computeRowGroupColumns:yl,computeFNROpts:ll,computeSXOpts:i,computeSYOpts:d},ae={xID:ne,props:W,context:l,reactData:N,internalData:V,getRefMaps:()=>Tl,getComputeMaps:()=>Sl,xeGrid:j,xeGantt:a,xegrid:j},Dl=(e,l,t)=>{e=_xeUtils.default.get(e,t),l=_xeUtils.default.get(l,t);return!(!(0,_utils.eqEmptyValue)(e)||!(0,_utils.eqEmptyValue)(l))||(_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e)?""+e==""+l:_xeUtils.default.isEqual(e,l))},Fl=()=>{var e=o.value;V.currKeyField=e,V.isCurrDeepKey=(0,_util.hasDeepKey)(e)},I=(e,l)=>_xeUtils.default.isBoolean(e)?e:l,Il=e=>{var{orders:l=[]}=T.value,e=e.order||null,e=l.indexOf(e)+1;return l[e<l.length?e:0]},Ll=e=>{var l=getConfig().version,t=_xeUtils.default.toStringJSON(localStorage.getItem(customStorageKey)||""),t=t&&t._v===l?t:{_v:l};return(e?t[e]:t)||{}},Ml=e=>{let t=V.fullAllDataRowIdData,r={};return _xeUtils.default.each(e,(e,l)=>{t[l]&&(r[l]=e)}),r},kl=e=>{let t=V.fullDataRowIdData,r=[];return _xeUtils.default.each(e,(e,l)=>{t[l]&&-1===ae.findRowIndexOf(r,t[l].row)&&r.push(t[l].row)}),r},Ul=()=>{var{isScrollXBig:a,scrollXWidth:o}=N,{elemStore:i,visibleColumn:n,fullColumnIdData:d}=V,u=al.value,s=ol.value,i=(0,_util.getRefElem)(i["main-body-scroll"]);if(i){var c=i.clientWidth;let e=i.scrollLeft;var g=(e=a?Math.ceil((o-c)*Math.min(1,e/(maxXWidth-c))):e)+u,v=e+c-s;let l=0,t=n.length;for(;l<t;){var h=Math.floor((l+t)/2);(d[n[h].id]||{}).oLeft<=g?l=h+1:t=h}let r=0;i=l===n.length?l:Math.max(0,l<n.length?l-2:0);for(let e=i,l=n.length;e<l;e++){var f=d[n[e].id]||{};if(r++,f.oLeft>v||60<=r)break}return{toVisibleIndex:Math.max(0,i),visibleSize:Math.max(1,r)}}return{toVisibleIndex:0,visibleSize:6}},Al=(e,l)=>{var t=N.rowHeightStore;l&&l.clientHeight&&(t[e]=l.clientHeight)},Ol=()=>{var l=N.isAllOverflow,t=s.value,r=m.value,r=r?r.$el:null,e=A.value;let a=0;if(l){if(r){l=t?t.$el:null;let e;(e=!(e=r.querySelector("tr"))&&l?l.querySelector("tr"):e)&&(a=e.clientHeight)}a=a||e}else a=e;return Math.max(18,a)},Hl=()=>{var{isAllOverflow:l,expandColumn:t,isScrollYBig:o,scrollYHeight:i}=N,{elemStore:n,isResizeCellHeight:d,afterFullData:u,fullAllDataRowIdData:s}=V,c=K.value,g=O.value,v=A.value,n=(0,_util.getRefElem)(n["main-body-scroll"]);if(n){var h=n.clientHeight;let e=n.scrollTop;var f=e=o?Math.ceil((i-h)*Math.min(1,e/(maxYHeight-h))):e,p=e+h;let r=-1,a=0;if(d||g.height||c.height||t||!l){var m=(0,_util.createHandleGetRowId)(ae).handleGetRowId;let t=0,e=u.length;for(;t<e;){var x=Math.floor((t+e)/2);(s[m(u[x])]||{}).oTop<=f?t=x+1:e=x}for(let e=r=t===u.length?t:Math.max(0,t<u.length?t-2:0),l=u.length;e<l;e++){var _=s[m(u[e])]||{};if(a++,_.oTop>p||100<=a)break}}else r=Math.floor(f/v)-1,a=Math.ceil(h/v)+1;return{toVisibleIndex:Math.max(0,r),visibleSize:Math.max(6,a)}}return{toVisibleIndex:0,visibleSize:6}},zl=(t,r,a)=>{for(let e=0,l=t.length;e<l;e++){var o=t[e],{startIndex:i,endIndex:n}=r,d=o[a],o=d+o[a+"span"];d<i&&i<o&&(r.startIndex=d),d<n&&n<o&&(r.endIndex=o),r.startIndex===i&&r.endIndex===n||(e=-1)}};function Gl(l){var t={};if(l&&l.length)for(let e=0;e<l.length;e++){var{row:r,col:a,rowspan:o,colspan:i}=l[e];for(let l=0;l<o;l++)for(let e=0;e<i;e++)t[r+l+":"+(a+e)]=l||e?{rowspan:0,colspan:0}:{rowspan:o,colspan:i}}return t}let Pl=(e,t,r)=>{var a=V.tableFullColumn;let{multiple:n,remote:d,orders:u}=T.value;if((t=_xeUtils.default.isArray(t)?t:[t])&&t.length){let l={},o=(n||(t=[t[0]],a.forEach(e=>{e.order&&(l[e.id]=e)})),{}),i=null;return t.forEach((e,l)=>{let{field:t,order:r}=e,a=t;_xeUtils.default.isString(t)&&(a=ae.getColumnByField(t)),i=i||a,a&&a.sortable&&(u&&-1===u.indexOf(r)&&(r=Il(a)),a.order!==r&&(a.order=r),a.sortTime=Date.now()+l,o[a.id]=a)}),n||_xeUtils.default.each(l,(e,l)=>{o[l]||(e.order=null)}),r&&!d&&ae.handleTableData(!0),e&&ae.handleColumnSortEvent(e,i),(0,_vue.nextTick)().then(()=>(G(),ae.updateCellAreas(),M()))}return(0,_vue.nextTick)()},Bl=()=>{var e=V.tableFullColumn;e.forEach(e=>{e.order=null})},$l=e=>{var l,t=N.parentHeight,e=W[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(l=ae.getExcludeHeight(),r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r-l)):r},Wl=e=>{let{aggregateConfig:s,rowGroupConfig:c}=W;var l=V.collectColumn,{storage:t,storeOptions:r}=S.value,a=!0===t,t=a?{}:Object.assign({},t||{},r);let g=I(t.resizable,a),v=I(t.visible,a),h=I(t.fixed,a);r=I(t.sort,a);let f=I(t.aggGroup,a),p=I(t.aggFunc,a),{resizableData:m,sortData:x,visibleData:_,fixedData:w,aggGroupData:C,aggFuncData:b}=e;if(g&&m||r&&x||v&&_||h&&w||f&&C||p&&b){let i={};if(r&&x){if(!_xeUtils.default.isArray(x)){let t=[];_xeUtils.default.each(x,(e,l)=>{t.push({key:l,index:e})}),x=_xeUtils.default.orderBy(t,{field:"index",order:"asc"}).map(e=>({k:e.key}))}let o=1;_xeUtils.default.eachTree(x,(e,l,t,r,a)=>{i[e.k]={key:e.k,sNum:o++,pKey:a?a.k:null}},{children:"c"})}let n={},d=[],u=[];_xeUtils.default.eachTree(l,(e,l,t,r,a)=>{var o=e.getKey();a||h&&w&&void 0!==w[o]&&(e.fixed=w[o]),g&&m&&_xeUtils.default.isNumber(m[o])&&(e.resizeWidth=m[o]),v&&_&&_xeUtils.default.isBoolean(_[o])&&(e.visible=_[o]),p&&b&&(s||c)&&b[o]&&(e.aggFunc=b[o]),f&&C&&C[o]&&u.push({field:e.field}),n[o]=e,d.push(e)}),(s||c)&&u.length&&(t=pt(V.tableFullData,u),V.tableFullTreeData=[],V.tableFullGroupData=t.treeData,N.isRowGroupStatus=!0,N.rowGroupList=u,ae.cacheRowMap(!1)),r&&x&&(d.forEach(e=>{var l,t=e.getKey(),t=i[t];t&&(l=t.pKey?n[t.pKey]:null,e.parentId=l?l.id:null,e.renderSortNumber=t.sNum)}),a=_xeUtils.default.toArrayTree(_xeUtils.default.orderBy(d,"renderSortNumber"),{key:"id",parentKey:"parentId",children:"children"}),V.collectColumn=a,V.tableFullColumn=(0,_util.getColumnList)(a)),N.isCustomStatus=!0}else N.isCustomStatus=!1},Nl=()=>{var{tableFullColumn:e,collectColumn:l}=V;let c=V.fullColumnIdData={},g=V.fullColumnFieldData={};var t=ee.value,r=te.value;let v=X.value;var a=J.value,o=y.value;let{isCrossDrag:h,isSelfToChildDrag:f}=a,p=S.value.storage;var a=K.value,i=l.some(_utils.hasChildrenList);let m=!!W.showOverflow,x,_,w,C,b,R,E,n=(e,l,t,r,a)=>{var{id:o,field:i,fixed:n,type:d,treeNode:u,rowGroupNode:s}=e,l={$index:-1,_index:-1,column:e,colid:o,index:l,items:t,parent:a||null,width:0,oLeft:0};i?(g[i]&&(0,_log.errLog)("vxe.error.colRepet",["field",i]),g[i]=l):(p&&!d||v.drag&&(h||f))&&(0,_log.errLog)("vxe.error.reqProp",[`${e.getTitle()||d||""} -> column.field=?`]),!E&&n&&(E=n),R||"html"!==d||(R=e),u&&(w&&(0,_log.warnLog)("vxe.error.colRepet",["tree-node",u]),w=w||e),s&&(w&&(0,_log.warnLog)("vxe.error.colRepet",["row-group-node",s]),x=x||e),"expand"===d&&(_&&(0,_log.warnLog)("vxe.error.colRepet",["type",d]),_=_||e),"checkbox"===d?(C&&(0,_log.warnLog)("vxe.error.colRepet",["type",d]),C=C||e):"radio"===d&&(b&&(0,_log.warnLog)("vxe.error.colRepet",["type",d]),b=b||e),m&&!1===e.showOverflow&&(m=!1),c[o]&&(0,_log.errLog)("vxe.error.colRepet",["colId",o]),c[o]=l};i?_xeUtils.default.eachTree(l,(e,l,t,r,a,o)=>{e.level=o.length,n(e,l,t,0,a)}):e.forEach(n),_&&"fixed"!==r.mode&&o.enabled&&(0,_log.warnLog)("vxe.error.notConflictProp",['column.type="expand',"virtual-y-config.enabled=false"]),_&&"fixed"!==r.mode&&t.area&&(0,_log.errLog)("vxe.error.errConflicts",["mouse-config.area","column.type=expand"]),R&&(v.useKey||(0,_log.errLog)("vxe.error.notSupportProp",["column.type=html","column-config.useKey=false","column-config.useKey=true"]),a.useKey||(0,_log.errLog)("vxe.error.notSupportProp",["column.type=html","row-config.useKey=false","row-config.useKey=true"])),N.isGroup=i,N.rowGroupColumn=x,N.treeNodeColumn=w,N.expandColumn=_,N.checkboxColumn=C,N.radioColumn=b,N.isAllOverflow=m},Vl=()=>{V.customHeight=$l("height"),V.customMinHeight=$l("minHeight"),V.customMaxHeight=$l("maxHeight"),!N.scrollYLoad||V.customHeight||V.customMinHeight||(V.customHeight=300)},ql=(e,l)=>{var t=X.value.autoOptions,{isCalcHeader:t,isCalcBody:r,isCalcFooter:a}=t||{},o=[],i=(t&&o.push(`.vxe-header-cell--wrapper[colid="${e.id}"]`),r&&o.push(`.vxe-body-cell--wrapper[colid="${e.id}"]`),a&&o.push(`.vxe-footer-cell--wrapper[colid="${e.id}"]`),o.length?l.querySelectorAll(o.join(",")):[]);let n=0;t=i[0];t&&t.parentElement&&(r=getComputedStyle(t.parentElement),n=Math.ceil(_xeUtils.default.toNumber(r.paddingLeft)+_xeUtils.default.toNumber(r.paddingRight)));let d=e.renderAutoWidth-n;for(let e=0;e<i.length;e++){var u=i[e];d=Math.max(d,u?Math.ceil(u.scrollWidth)+4:0)}return d+n},Yl=()=>{var e=xl.value;let r=V.fullColumnIdData,a=q.value;a&&(a.setAttribute("data-calc-col","Y"),e.forEach(e=>{var l=e.id,l=r[l],t=ql(e,a);l&&(l.width=Math.max(t,l.width)),e.renderAutoWidth=t}),ae.analyColumnWidth(),a.removeAttribute("data-calc-col"))},jl=()=>{var e=V.elemStore,e=(0,_util.getRefElem)(e["main-body-wrapper"]);if(e){var a=F.value;if(a)if(D.value){let t=0;a=e.clientWidth,e=a;let r=e/100;var l=W.fit,o=N.columnStore,{resizeList:o,pxMinList:i,autoMinList:n,pxList:d,scaleList:u,scaleMinList:s,autoList:c,remainList:g}=o;if(i.forEach(e=>{var l=_xeUtils.default.toInteger(e.minWidth);t+=l,e.renderWidth=l}),n.forEach(e=>{var l=Math.max(60,_xeUtils.default.toInteger(e.renderAutoWidth));t+=l,e.renderWidth=l}),s.forEach(e=>{var l=Math.floor(_xeUtils.default.toInteger(e.minWidth)*r);t+=l,e.renderWidth=l}),u.forEach(e=>{var l=Math.floor(_xeUtils.default.toInteger(e.width)*r);t+=l,e.renderWidth=l}),d.forEach(e=>{var l=_xeUtils.default.toInteger(e.width);t+=l,e.renderWidth=l}),c.forEach(e=>{var l=Math.max(60,_xeUtils.default.toInteger(e.renderAutoWidth));t+=l,e.renderWidth=l}),o.forEach(e=>{var l=_xeUtils.default.toInteger(e.resizeWidth);t+=l,e.renderWidth=l}),e-=t,r=0<e?Math.floor(e/(s.length+i.length+n.length+g.length)):0,l?0<e&&s.concat(i).concat(n).forEach(e=>{t+=r,e.renderWidth+=r}):r=40,g.forEach(e=>{var l=Math.max(r,40);e.renderWidth=l,t+=l}),l){var v=u.concat(s).concat(i).concat(n).concat(g);let l=v.length-1;if(0<l){let e=a-t;if(0<e){for(;0<e&&0<=l;)e--,v[l--].renderWidth++;t=a}}}N.scrollXWidth=t,N.resizeWidthFlag++,Ut(),Vl()}}},Xl=(e,l)=>{var t=l.querySelectorAll(`.vxe-cell--wrapper[rowid="${e.rowid}"]`);let r=e.height,a=null,o=0;for(let e=0;e<t.length;e++){var i=t[e],n=i.parentElement,n=(a||(a=getComputedStyle(n),o=a?Math.ceil(_xeUtils.default.toNumber(a.paddingTop)+_xeUtils.default.toNumber(a.paddingBottom)):0),i?i.clientHeight:0);r=Math.max(r,Math.ceil(n+o))}return r},Kl=()=>{let{tableData:e,isAllOverflow:l,scrollYLoad:t,scrollXLoad:r}=N,a=V.fullAllDataRowIdData,o=A.value,i=q.value;if(!l&&(t||r)&&i){let t=(0,_util.createHandleGetRowId)(ae).handleGetRowId;i.setAttribute("data-calc-row","Y"),e.forEach(e=>{var l,e=t(e),e=a[e];e&&(l=Xl(e,i),e.height=Math.max(o,r?Math.max(e.height,l):l)),i.removeAttribute("data-calc-row")}),N.calcCellHeightFlag++}},Zl=t=>{let{sortBy:r,sortType:a}=t;return e=>{let l;return l=r?_xeUtils.default.isFunction(r)?r({row:e,column:t}):_xeUtils.default.get(e,r):B.getCellLabel(e,t),a&&"auto"!==a?"number"===a?_xeUtils.default.toNumber(l):"string"===a?_xeUtils.default.toValueString(l):l:isNaN(l)?l:_xeUtils.default.toNumber(l)}},L=()=>{let r=W.treeConfig,{fullDataRowIdData:d,fullAllDataRowIdData:u,afterFullData:e,afterTreeFullData:l}=V;var t=re.value,a=t.transform,o=t.children||t.childrenField;let s={};if(r){let i=0,n=(0,_util.createHandleGetRowId)(ae).handleGetRowId;_xeUtils.default.eachTree(l,(e,l,t,r)=>{var a=n(e),o=u[a],r=r.map((e,l)=>l%2==0?Number(e)+1:".").join("");o?(o.seq=r,o.treeIndex=l,o._tIndex=i):(l={row:e,rowid:a,seq:r,index:-1,$index:-1,_index:-1,treeIndex:-1,_tIndex:i,items:[],parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0},u[a]=l,d[a]=l),i++,s[a]=e},{children:a?t.mapChildrenField:o}),a&&e.forEach((e,l)=>{var e=n(e),e=u[e],t=l+1;e&&(r||(e.seq=t),e._index=l)}),V.afterFullRowMaps=s}else(()=>{let o=W.treeConfig,{afterFullData:e,fullDataRowIdData:i,fullAllDataRowIdData:n}=V,d=(0,_util.createHandleGetRowId)(ae).handleGetRowId,u={};e.forEach((e,l)=>{var t=d(e),r=n[t],a=l+1;r?(o||(r.seq=a),r._index=l):(r={row:e,rowid:t,seq:a,index:-1,$index:-1,_index:l,treeIndex:-1,_tIndex:-1,items:[],parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0},n[t]=r,i[t]=r),u[t]=e}),V.afterFullRowMaps=u})()},n=()=>{var e=W.treeConfig,l=N.isRowGroupStatus;let{fullAllDataRowIdData:n,treeExpandedMaps:d,rowGroupExpandedMaps:u}=V;var t=H.value,r=re.value;let s=(0,_util.createHandleGetRowId)(ae).handleGetRowId,c=[],g={};return e&&r.transform?(e=r.children||r.childrenField,_xeUtils.default.eachTree(V.afterTreeFullData,(e,l,t,r,a)=>{var o=s(e),i=s(a);(!a||g[i]&&d[i])&&((a=n[o])&&(a._index=c.length),g[o]=1,c.push(e))},{children:e}),V.afterFullData=c,Tt(c),c):l?(r=t.childrenField,_xeUtils.default.eachTree(V.afterGroupFullData,(e,l,t,r,a)=>{var o=s(e),i=s(a);(!a||g[i]&&u[i])&&((a=n[o])&&(a._index=c.length),g[o]=1,c.push(e))},{children:r}),V.afterFullData=c,Tt(c),c):V.afterFullData},M=()=>{let{showHeaderOverflow:x,showFooterOverflow:_,mouseConfig:t,spanMethod:w,footerSpanMethod:C}=W,{isGroup:b,currentRow:r,tableColumn:R,scrollXLoad:E,scrollYLoad:y,overflowX:T,scrollbarWidth:a,overflowY:o,scrollbarHeight:i,scrollXWidth:S,columnStore:n,editStore:d,isAllOverflow:D,expandColumn:F,isColLoading:I}=N,{visibleColumn:L,tableHeight:M,elemStore:k,customHeight:U,customMinHeight:u,customMaxHeight:A,tHeaderHeight:O,tFooterHeight:H}=V;var s=V.xeGanttView,c=q.value;if(c&&c.clientHeight){let g=o?a:0,v=T?i:0;var z=be.value,G=Oe.value,P=ee.value;let h=te.value;var B=(0,_util.getRefElem)(k["main-body-wrapper"]),$=(0,_util.getRefElem)(k["main-body-table"]),z=(z&&(z.style.top=O+"px",z.style.height=B?B.offsetHeight-v+"px":""),He.value),B=ze.value;let e=T?"visible":"hidden",l=(s?(v=i,e="visible"):G.x&&!1===G.x.visible&&(v=0,e="hidden"),o?"visible":"hidden"),f=((G.y&&!1===G.y.visible||s&&!B)&&(g=0,l="hidden"),0),p=0,m=u-O-H-v;A&&(p=Math.max(m,A-O-H-v)),(f=U?U-O-H-v:f)||$&&(f=$.clientHeight),f&&(p&&(f=Math.min(p,f)),f=Math.max(m,f));G=Fe.value,s=Ie.value,B=Se.value,$=(B&&(B.style.height=v+"px",B.style.visibility=e),Me.value),B=($&&($.style.left=z?g+"px":"",$.style.width=c.clientWidth-g+"px"),G&&(G.style.width=z?g+"px":"",G.style.display=z&&T&&v?"block":""),s&&(s.style.width=z?"":g+"px",s.style.display=!z&&T&&v?"block":""),De.value),$=(B&&(B.style.width=g+"px",B.style.height=f+O+H+"px",B.style.visibility=l),Le.value),c=($&&($.style.height=O+"px",$.style.display=o&&O?"block":""),ke.value),G=(c&&(c.style.height=f+"px",c.style.top=O+"px"),Ue.value),s=(G&&(G.style.height=H+"px",G.style.top=O+f+"px",G.style.display=o&&H?"block":""),Te.value);return s&&(s.style.height=f+"px",s.style.top=O+"px"),V.tBodyHeight=f,["main","left","right"].forEach((d,e)=>{let u=0<e?d:"";e="left"===u;let s=[],c;u&&(s=e?n.leftList:n.rightList,c=(e?xe:_e).value),["header","body","footer"].forEach(t=>{var r=(0,_util.getRefElem)(k[d+`-${t}-wrapper`]),a=(0,_util.getRefElem)(k[d+`-${t}-scroll`]),o=(0,_util.getRefElem)(k[d+`-${t}-table`]);if("header"===t){let e=R,l=!1;b?e=L:(E&&x&&(w||C||(l=!0)),l&&(I||!u&&T)||(e=L),u&&l&&(e=s||[]));var i=e.reduce((e,l)=>e+l.renderWidth,0);u&&(!b&&l?r&&(r.style.width=i?i+"px":""):r&&(r.style.width=S?S+"px":"")),a&&(a.style.height=O+"px"),o&&(o.style.width=i?i+"px":"")}else if("body"===t){a&&(a.style.maxHeight=A?p+"px":"",a.style.height=U?f+"px":"",a.style.minHeight=m+"px"),c&&(r&&(r.style.top=O+"px"),c.style.height=`${0<U?U:M+O+H+v}px`,c.style.width=s.reduce((e,l)=>e+l.renderWidth,0)+"px");let e=R,l=!1;!(E||y||D)||F&&"fixed"!==h.mode||w||C||(l=!0);var i=(e=u&&(e=L,l)?s||[]:e).reduce((e,l)=>e+l.renderWidth,0),n=(u&&(l?r&&(r.style.width=i?i+"px":""):r&&(r.style.width=S?S+"px":"")),o&&(o.style.width=i?i+"px":"",o.style.paddingRight=g&&u&&(de.firefox||de.safari)?g+"px":""),(0,_util.getRefElem)(k[d+`-${t}-emptyBlock`]));n&&(n.style.width=i?i+"px":"")}else if("footer"===t){let e=R,l=!1;E&&_&&(w||C||(l=!0)),l&&(I||!u&&T)||(e=L);n=(e=u&&l?s||[]:e).reduce((e,l)=>e+l.renderWidth,0);u&&(l?r&&(r.style.width=n?n+"px":""):r&&(r.style.width=S?S+"px":"")),a&&(a.style.height=H+"px",c)&&r&&(r.style.top=`${0<U?U-H-v:M+O}px`),o&&(o.style.width=n?n+"px":"")}})}),r&&ae.setCurrentRow(r),t&&P.selected&&d.selected.row&&d.selected.column&&ae.addCellSelectedClass(),(0,_vue.nextTick)()}},Jl=e=>ae.triggerValidate?ae.triggerValidate(e):(0,_vue.nextTick)(),Ql=(e,l)=>{Jl("blur").catch(e=>e).then(()=>{ae.handleEdit(l,e).then(()=>Jl("change")).catch(e=>e)})},et=e=>{z.value.reserve&&(V.radioReserveRow=e)},lt=(e,l)=>{var t,r=V.checkboxReserveRowMap;Q.value.reserve&&(t=(0,_util.getRowid)(ae,e),l?r[t]=e:r[t]&&delete r[t])},tt=(e,l)=>{var t=z.value.checkMethod;return e&&(l||!t||t({$table:ae,row:e}))&&(N.selectRadioRow=e,et(e)),(0,_vue.nextTick)()},rt=(e,l,t)=>(e&&!_xeUtils.default.isArray(e)&&(e=[e]),ae.handleBatchSelectRows(e,!!l,t),ae.checkSelectionStatus(),(0,_vue.nextTick)()),at=(l,t)=>{let r=W.treeConfig,a=N.isRowGroupStatus,{afterFullData:e,afterTreeFullData:o,afterGroupFullData:i,checkboxReserveRowMap:n,selectCheckboxMaps:d}=V;var u=re.value,s=H.value,u=u.children||u.childrenField,c=Q.value;let{checkField:g,reserve:v,checkMethod:h}=c,f=(0,_util.createHandleGetRowId)(ae).handleGetRowId,p=c.indeterminateField||c.halfField,m={};return g?(c=e=>{!t&&h&&!h({$table:ae,row:e})||(l&&(m[f(e)]=e),_xeUtils.default.set(e,g,l)),(r||a)&&p&&_xeUtils.default.set(e,p,!1)},r||a?_xeUtils.default.eachTree(e,c,{children:u}):e.forEach(c)):a?l?_xeUtils.default.eachTree(i,e=>{var l;!t&&h&&!h({$table:ae,row:e})||(l=f(e),m[l]=e)},{children:s.mapChildrenField}):!t&&h&&_xeUtils.default.eachTree(i,e=>{var l=f(e);!h({$table:ae,row:e})&&d[l]&&(m[l]=e)},{children:s.mapChildrenField}):r?l?_xeUtils.default.eachTree(o,e=>{var l;!t&&h&&!h({$table:ae,row:e})||(l=f(e),m[l]=e)},{children:u}):!t&&h&&_xeUtils.default.eachTree(o,e=>{var l=f(e);!h({$table:ae,row:e})&&d[l]&&(m[l]=e)},{children:u}):l?!t&&h?e.forEach(e=>{var l=f(e);(d[l]||h({$table:ae,row:e}))&&(m[l]=e)}):e.forEach(e=>{var l=f(e);m[l]=e}):!t&&h&&e.forEach(e=>{var l=f(e);!h({$table:ae,row:e})&&d[l]&&(m[l]=e)}),v&&(l?_xeUtils.default.each(m,(e,l)=>{n[l]=e}):e.forEach(e=>lt(e,!1))),N.updateCheckboxFlag++,V.selectCheckboxMaps=g?{}:m,N.isAllSelected=l,N.isIndeterminate=!1,V.treeIndeterminateRowMaps={},ae.checkSelectionStatus(),(0,_vue.nextTick)()},ot=o=>{var e=re.value,l=Q.value;let{transform:i,loadMethod:n}=e,d=l.checkStrictly;return new Promise(a=>{if(n){let{fullAllDataRowIdData:e,treeExpandLazyLoadedMaps:l}=V,t=(0,_util.getRowid)(ae,o),r=e[t];l[t]=o,Promise.resolve(n({$table:ae,row:o})).then(e=>{if(r&&(r.treeLoaded=!0),l[t]&&delete l[t],e=_xeUtils.default.isArray(e)?e:[])return ae.loadTreeChildren(o,e).then(e=>{var l=V.treeExpandedMaps;return e.length&&!l[t]&&(l[t]=o),N.treeExpandedFlag++,!d&&ae.isCheckedByCheckboxRow(o)&&rt(e,!0),(0,_vue.nextTick)().then(()=>{if(i)return ae.handleTableData(),L(),(0,_vue.nextTick)()})})}).catch(()=>{var e=V.treeExpandLazyLoadedMaps;r&&(r.treeLoaded=!1),e[t]&&delete e[t]}).finally(()=>{N.treeExpandedFlag++,(0,_vue.nextTick)().then(()=>ae.recalculate()).then(()=>a())})}else a()})},it=(e,l)=>{var t,r=V.treeExpandedReserveRowMap;re.value.reserve&&(t=(0,_util.getRowid)(ae,e),l?r[t]=e:r[t]&&delete r[t])},nt=i=>new Promise(r=>{var e=te.value.loadMethod;if(e){var{fullAllDataRowIdData:a,rowExpandLazyLoadedMaps:o}=V;let l=(0,_util.getRowid)(ae,i),t=a[l];o[l]=i,e({$table:ae,row:i,rowIndex:ae.getRowIndex(i),$rowIndex:ae.getVMRowIndex(i)}).then(()=>{var e=V.rowExpandedMaps;t&&(t.expandLoaded=!0),e[l]=i,N.rowExpandedFlag++}).catch(()=>{t&&(t.expandLoaded=!1)}).finally(()=>{var e=V.rowExpandLazyLoadedMaps;e[l]&&delete e[l],N.rowExpandedFlag++,(0,_vue.nextTick)().then(()=>ae.recalculate()).then(()=>ae.updateCellAreas()).then(()=>r())})}else r()}),dt=(e,l)=>{var t,r=V.rowExpandedReserveRowMap;te.value.reserve&&(t=(0,_util.getRowid)(ae,e),l?r[t]=e:r[t]&&delete r[t])},ut=()=>(0,_vue.nextTick)().then(()=>{var e,{scrollXLoad:l,scrollYLoad:t}=N,{scrollXStore:r,scrollYStore:a}=V,o=y.value,i=C.value,i=(l?({toVisibleIndex:l,visibleSize:e}=Ul(),n=Math.max(0,i.oSize?_xeUtils.default.toNumber(i.oSize):0),r.preloadSize=_xeUtils.default.toNumber(i.preSize),r.offsetSize=n,r.visibleSize=e,r.endIndex=Math.max(r.startIndex+r.visibleSize+n,r.endIndex),r.visibleStartIndex=Math.max(r.startIndex,l),r.visibleEndIndex=Math.min(r.endIndex,l+e),ae.updateScrollXData().then(()=>{bt()})):ae.updateScrollXSpace(),Ol()),{toVisibleIndex:n,visibleSize:r}=(a.rowHeight=i,N.rowHeight=i,Hl());t?(l=Math.max(0,o.oSize?_xeUtils.default.toNumber(o.oSize):0),a.preloadSize=_xeUtils.default.toNumber(o.preSize),a.offsetSize=l,a.visibleSize=r,a.endIndex=Math.max(a.startIndex+r+l,a.endIndex),a.visibleStartIndex=Math.max(a.startIndex,n),a.visibleEndIndex=Math.min(a.endIndex,n+r),ae.updateScrollYData().then(()=>{It()})):ae.updateScrollYSpace()}),st=()=>{var{scrollXWidth:e,scrollYHeight:l}=N,t=V.elemStore,r=Oe.value,a=(0,_util.getRefElem)(t["main-body-wrapper"]),o=(0,_util.getRefElem)(t["main-header-table"]),t=(0,_util.getRefElem)(t["main-footer-table"]),i=D.value,n=F.value;let d=!1;a&&(l=l>a.clientHeight,n&&(N.scrollbarWidth=r.width||n.offsetWidth-n.clientWidth||14),N.overflowY=l,d=e>a.clientWidth,i&&(N.scrollbarHeight=r.height||i.offsetHeight-i.clientHeight||14),n=o?o.clientHeight:0,l=t?t.clientHeight:0,V.tableHeight=a.offsetHeight,V.tHeaderHeight=n,V.tFooterHeight=l,N.overflowX=d,N.parentHeight=Math.max(n+l+20,ae.getParentHeight())),d&&ae.checkScrolling()},ct=(e,l,t)=>{var r,a,o,i=q.value;return V.rceRunTime=Date.now(),i&&i.clientWidth?((i=ge.value)&&([i,r,a,o]=i.children,Al("default",i),Al("medium",r),Al("small",a),Al("mini",o)),l&&Yl(),e&&jl(),st(),M(),At(),ut().then(()=>{if(l&&Yl(),e&&jl(),t&&Kl(),M(),st(),e&&G(),At(),e)return ut()})):(0,_vue.nextTick)()},b=(o,i,n)=>new Promise(e=>{var{rceTimeout:l,rceRunTime:t}=V,r=Ve.value.refreshDelay||20,a=q.value;a&&a.clientWidth&&(jl(),At()),!l||(clearTimeout(l),t&&t+(r-5)<Date.now())?e(ct(o,i,n)):(0,_vue.nextTick)(()=>{e()}),V.rceTimeout=setTimeout(()=>{V.rceTimeout=void 0,ct(o,i,n)},r)}),gt=()=>{b(!0,!0,!0)},vt=()=>{var e=V.visibleColumn;let l=[];e.forEach(e=>{e.aggFunc&&l.push(e)}),N.aggHandleAggColumns=l},ht=e=>{let l=[],t=[];e&&(_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{l.push(e),t.push({field:e})}),N.rowGroupList=t,N.aggHandleFields=l,vt()},ft=e=>{let t=H.value.mapChildrenField;t&&(_xeUtils.default.lastEach(e,e=>{let l=0;_xeUtils.default.each(e[t],e=>{e.isAggregate?l+=e.childCount||0:l++}),e.childCount=l}),ae.handlePivotTableAggregateData)&&ae.handlePivotTableAggregateData(e)},pt=(e,h)=>{let f=e,p=e;if(h){let{rowField:d,parentField:u,childrenField:s,mapChildrenField:c}=H.value;var l=Q.value;let g=l.checkField,v=l.indeterminateField||l.halfField;l=h[0];if(l&&d&&u&&s&&c){f=[],p=[];let r=l.field,a=ae.getColumnByField(r),o={},i=[],n=(0,_util.getRowkey)(ae);e.forEach(e=>{var l=a?ae.getCellLabel(e,a):_xeUtils.default.get(e,r),l=_xeUtils.default.eqNull(l)?"":l;let t=o[l];t||(t=[],o[l]=t),e.isAggregate&&(e.isAggregate=void 0),t.push(e)}),_xeUtils.default.objectEach(o,(e,l)=>{var{fullData:e,treeData:t}=pt(e,h.slice(1)),l={isAggregate:!0,aggData:{},groupContent:l,groupField:r,childCount:0,[d]:(0,_util.getRowUniqueId)(),[u]:null,[n]:(0,_util.getRowUniqueId)(),[s]:t,[c]:t};g&&(l[g]=!1),v&&(l[v]=!1),i.push(l),p.push(l),f.push(l),e.length&&f.push(...e)}),ft(i)}}return{treeData:p,fullData:f}},mt=(e,l)=>{var{keepSource:t,treeConfig:r,rowGroupConfig:a,aggregateConfig:o}=W;let{rowGroupList:i,scrollYLoad:n}=N,{scrollYStore:d,scrollXStore:u,lastScrollLeft:s,lastScrollTop:c}=V;var g=K.value,v=re.value;let h=te.value;var f=v.transform,p=v.children||v.childrenField;let m=[],x=(0,_vue.reactive)(e?e.slice(0):[]);if(x.length>supportMaxRow&&(0,_log.errLog)("vxe.error.errMaxRow",[supportMaxRow]),r&&i.length)return(0,_log.errLog)("vxe.error.noTree",["aggregate-config"]),(0,_vue.nextTick)();if(g.drag&&i.length)return(0,_log.errLog)("vxe.error.errConflicts",["row-config.drag","aggregate-config"]),(0,_vue.nextTick)();let _=!1,w=(r?f?(v.rowField||(0,_log.errLog)("vxe.error.reqProp",["tree-config.rowField"]),v.parentField||(0,_log.errLog)("vxe.error.reqProp",["tree-config.parentField"]),p||(0,_log.errLog)("vxe.error.reqProp",["tree-config.childrenField"]),v.mapChildrenField||(0,_log.errLog)("vxe.error.reqProp",["tree-config.mapChildrenField"]),p===v.mapChildrenField&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.childrenField","tree-config.mapChildrenField"]),m=_xeUtils.default.toArrayTree(x,{key:v.rowField,parentKey:v.parentField,children:p,mapChildren:v.mapChildrenField}),x=m.slice(0)):m=x.slice(0):(o||a)&&i.length&&(g=pt(x,i),m=g.treeData,x=g.fullData,_=!0),N.isRowGroupStatus=_,d.startIndex=0,d.endIndex=1,u.startIndex=0,u.endIndex=1,V.cvCacheMaps={},N.isRowLoading=!0,N.scrollVMLoading=!1,N.treeExpandedFlag++,N.rowExpandedFlag++,V.insertRowMaps={},N.insertRowFlag++,V.removeRowMaps={},N.removeRowFlag++,Tt(x));return V.tableFullData=x,V.tableFullTreeData=_?[]:m,V.tableFullGroupData=_?m:[],ae.cacheRowMap(l),V.tableSynchData=e,l&&(V.isResizeCellHeight=!1),t&&ae.cacheSourceMap(x),ae.clearCellAreas&&W.mouseConfig&&(ae.clearCellAreas(),ae.clearCopyCellArea()),ae.clearMergeCells(),ae.clearMergeFooterItems(),ae.handleTableData(!0),ae.updateFooter(),ae.handleUpdateBodyMerge(),(0,_vue.nextTick)().then(()=>{Vl(),M()}).then(()=>{ut()}).then(()=>{var e=y.value;return w&&(d.endIndex=d.visibleSize),w&&(N.expandColumn&&"fixed"!==h.mode&&(0,_log.errLog)("vxe.error.notConflictProp",['column.type="expand','expand-config.mode="fixed"']),"scroll"===e.mode&&"fixed"===h.mode&&(0,_log.warnLog)("vxe.error.notConflictProp",["virtual-y-config.mode=scroll","expand-config.mode=inside"]),W.height||W.maxHeight||(0,_log.errLog)("vxe.error.reqProp",["height | max-height | virtual-y-config={enabled: false}"]),W.spanMethod)&&(0,_log.errLog)("vxe.error.scrollErrProp",["table.span-method"]),(()=>{var e=W.treeConfig,{expandColumn:l,currentRow:t,selectRadioRow:r}=N,{fullDataRowIdData:a,fullAllDataRowIdData:o,radioReserveRow:i,selectCheckboxMaps:n,treeExpandedMaps:d,rowExpandedMaps:u}=V,s=te.value,c=re.value,g=z.value,v=Q.value;r&&!o[(0,_util.getRowid)(ae,r)]&&(N.selectRadioRow=null),g.reserve&&i&&a[r=(0,_util.getRowid)(ae,i)]&&tt(a[r].row,!0),V.selectCheckboxMaps=Ml(n),N.updateCheckboxFlag++,v.reserve&&rt(kl(V.checkboxReserveRowMap),!0,!0),t&&!o[(0,_util.getRowid)(ae,t)]&&(N.currentRow=null),V.rowExpandedMaps=l?Ml(u):{},N.rowExpandedFlag++,l&&s.reserve&&ae.setRowExpand(kl(V.rowExpandedReserveRowMap),!0),V.treeExpandedMaps=e?Ml(d):{},N.treeExpandedFlag++,e&&c.reserve&&ae.setTreeExpand(kl(V.treeExpandedReserveRowMap),!0)})(),ae.checkSelectionStatus(),new Promise(a=>{(0,_vue.nextTick)().then(()=>ct(!1,!1,!1)).then(()=>{ct(!1,!0,!0),G()}).then(()=>{let e=s,l=c;var t=C.value,r=y.value;t.scrollToLeftOnChange&&(e=0),r.scrollToTopOnChange&&(l=0),N.isRowLoading=!1,ct(!1,!1,!1),W.showOverflow||setTimeout(()=>{b(!1,!0,!0),setTimeout(()=>b(!1,!0,!0),3e3)},2e3),n===w?(0,_util.restoreScrollLocation)(ae,e,l).then(()=>{ct(!1,!0,!0),G(),a()}):setTimeout(()=>{(0,_util.restoreScrollLocation)(ae,e,l).then(()=>{ct(!1,!0,!0),G(),a()})})})})})},xt=()=>{var e,l,t;(()=>{var e=W.checkboxConfig;if(e){let t=V.fullDataRowIdData;var{checkAll:e,checkRowKeys:r}=Q.value;if(e)at(!0,!0);else if(r){let l=[];r.forEach(e=>{t[e]&&l.push(t[e].row)}),rt(l,!0,!0)}}})(),(t=W.radioConfig)&&(t=V.fullDataRowIdData,{checkRowKey:e,reserve:l}=z.value,e)&&(t[e]&&tt(t[e].row,!0),l)&&(t=(0,_util.getRowkey)(ae),V.radioReserveRow={[t]:e}),(()=>{var e=W.expandConfig;if(e){let t=V.fullDataRowIdData;var{expandAll:e,expandRowKeys:r}=te.value;if(e)ae.setAllRowExpand(!0);else if(r){let l=[];r.forEach(e=>{t[e]&&l.push(t[e].row)}),ae.setRowExpand(l,!0)}}})(),(()=>{var e=W.treeConfig;if(e){let t=V.fullAllDataRowIdData;var{expandAll:e,expandRowKeys:r}=re.value;if(e)ae.setAllTreeExpand(!0);else if(r){let l=[];r.forEach(e=>{e=t[e];e&&l.push(e.row)}),ae.setTreeExpand(l,!0)}}})(),(()=>{const{isRowGroupStatus:e}=N;if(e){const l=H.value;const{expandAll:t,expandGroupFields:r}=l;if(t)ae.setAllRowGroupExpand(true);else if(r&&r.length)ae.setRowGroupExpandByField(r,true)}})(),(l=W.mergeCells)&&ae.setMergeCells(l),(t=W.mergeFooterItems)&&ae.setMergeFooterItems(t),(0,_vue.nextTick)(()=>setTimeout(()=>ae.recalculate()))},_t=()=>{(()=>{var l=W.sortConfig;if(l){var t=T.value;let e=t.defaultSort;e&&(e=_xeUtils.default.isArray(e)?e:[e]).length&&((l.multiple?e:e.slice(0,1)).forEach((e,l)=>{var{field:e,order:t}=e;e&&t&&(e=ae.getColumnByField(e))&&e.sortable&&(e.order=t,e.sortTime=Date.now()+l)}),t.remote||ae.handleTableData(!0).then(M))}})()},wt=()=>{var e=N.scrollXLoad;let{visibleColumn:l,scrollXStore:t,fullColumnIdData:r}=V;e=e?l.slice(t.startIndex,t.endIndex):l.slice(0);e.forEach((e,l)=>{e=e.id,e=r[e];e&&(e.$index=l)}),N.tableColumn=e},Ct=()=>{var e=_xeUtils.default.orderBy(V.collectColumn,"renderSortNumber"),e=(V.collectColumn=e,(0,_util.getColumnList)(e));V.tableFullColumn=e,Nl()},bt=()=>{var e=N.isScrollXBig,{mergeBodyList:l,mergeFooterList:t,scrollXStore:r}=V,{preloadSize:a,startIndex:o,endIndex:i,offsetSize:n}=r,{toVisibleIndex:d,visibleSize:u}=Ul(),e={startIndex:Math.max(0,e?d-1:d-1-n-a),endIndex:e?d+u:d+u+n+a},{startIndex:n,endIndex:a}=(r.visibleStartIndex=d-1,r.visibleEndIndex=d+u+1,zl(l.concat(t),e,"col"),e);!(d<=o||i-u-1<=d)||o===n&&i===a||(r.startIndex=n,r.endIndex=a,ae.updateScrollXData()),ae.closeTooltip()},Rt=e=>{let i=[],n=[],d=[];var{isGroup:l,columnStore:t}=N;let{collectColumn:a,tableFullColumn:r,scrollXStore:o,fullColumnIdData:u}=V;if(l){let l=[],t=[],r=[];_xeUtils.default.eachTree(a,(e,l,t,r,a)=>{var o=(0,_utils.hasChildrenList)(e);a&&a.fixed&&(e.fixed=a.fixed),a&&(e.fixed||"")!==(a.fixed||"")&&(0,_log.errLog)("vxe.error.groupFixed"),o?e.visible=!!_xeUtils.default.findTree(e.children,e=>!(0,_utils.hasChildrenList)(e)&&e.visible):e.visible&&("left"===e.fixed?i:"right"===e.fixed?d:n).push(e)}),a.forEach(e=>{e.visible&&("left"===e.fixed?l:"right"===e.fixed?r:t).push(e)}),N.tableGroupColumn=l.concat(t).concat(r)}else r.forEach(e=>{e.visible&&("left"===e.fixed?i:"right"===e.fixed?d:n).push(e)});let s=i.concat(n).concat(d);V.visibleColumn=s,Ut();l=yt();return N.hasFixedColumn=0<i.length||0<d.length,Object.assign(t,{leftList:i,centerList:n,rightList:d}),l&&(W.spanMethod&&(0,_log.warnLog)("vxe.error.scrollErrProp",["span-method"]),W.footerSpanMethod&&(0,_log.warnLog)("vxe.error.scrollErrProp",["footer-span-method"]),e)&&(t=Ul().visibleSize,o.startIndex=0,o.endIndex=t,o.visibleSize=t,o.visibleStartIndex=0,o.visibleEndIndex=t),s.length===V.visibleColumn.length&&V.visibleColumn.every((e,l)=>e===s[l])||(ae.clearMergeCells(),ae.clearMergeFooterItems()),s.forEach((e,l)=>{e=e.id,e=u[e];e&&(e._index=l)}),wt(),vt(),e?(Ut(),ae.updateFooter().then(()=>ae.recalculate()).then(()=>(ae.updateCellAreas(),ae.recalculate()))):ae.updateFooter()},Et=e=>{let r=te.value;V.collectColumn=e;e=(0,_util.getColumnList)(e);return V.tableFullColumn=e,N.isColLoading=!0,(()=>{var e=V.collectColumn;let d={},u={},s=1;_xeUtils.default.eachTree(e,(e,l,t,r,a)=>{var{id:o,field:i}=e,n=a?a.id:null,l={$index:-1,_index:-1,column:e,colid:o,index:l,items:t,parent:a||null,width:0,oLeft:0};e.parentId=n,e.defaultParentId=n,e.sortNumber=s,e.renderSortNumber=s,s++,i&&(u[i]&&(0,_log.errLog)("vxe.error.colRepet",["field",i]),u[i]=l),d[o]=l}),V.fullColumnIdData=d,V.fullColumnFieldData=u})(),Promise.resolve((()=>{var e=W.customConfig,l=R.value,t=S.value,{storage:r,restoreStore:a,storeOptions:o}=t,i=!0===r,o=i?{}:Object.assign({},r||{},o),n=I(o.resizable,i),d=I(o.visible,i),u=I(o.fixed,i),s=I(o.sort,i),c=I(o.aggGroup,i),o=I(o.aggFunc,i);if(r&&(e?(0,_utils.isEnableConf)(t):t.enabled)&&(n||d||u||s||c||o)){if(l)return i=Ll(l),a?Promise.resolve(a({$table:ae,id:l,type:"restore",storeData:i})).then(e=>{if(e)return Wl(e)}).catch(e=>e):Wl(i);(0,_log.errLog)("vxe.error.reqProp",["id"])}})()).then(()=>{var{scrollXLoad:e,scrollYLoad:l,expandColumn:t}=N;return Nl(),Rt(!0).then(()=>{N.scrollXLoad&&bt()}),ae.clearMergeCells(),ae.clearMergeFooterItems(),ae.handleTableData(!0),ae.handleAggregateSummaryData(),(e||l)&&t&&"fixed"!==r.mode&&(0,_log.warnLog)("vxe.error.scrollErrProp",["column.type=expand"]),(0,_vue.nextTick)().then(()=>(w&&w.syncUpdate({collectColumn:V.collectColumn,$table:ae}),ae.handleUpdateCustomColumn&&ae.handleUpdateCustomColumn(),N.isColLoading=!1,b(!1,!0,!0)))})},yt=e=>{var l=C.value,e=e||V.tableFullColumn,l=!!l.enabled&&-1<l.gt&&(0===l.gt||l.gt<e.length);return N.scrollXLoad=l},Tt=e=>{var l=W.treeConfig,t=y.value,r=re.value.transform,e=e||V.tableFullData,r=(r||!l)&&!!t.enabled&&-1<t.gt&&(0===t.gt||t.gt<e.length);return N.scrollYLoad=r},St=(e,l)=>{let t=N.treeNodeColumn,{fullAllDataRowIdData:r,tableFullTreeData:a,treeExpandedMaps:o,treeExpandLazyLoadedMaps:i}=V;var n=re.value;let{reserve:d,lazy:u,accordion:s,toggleMethod:c}=n,g=n.children||n.childrenField,v=n.hasChild||n.hasChildField,h=[],f=ae.getColumnIndex(t),p=ae.getVMColumnIndex(t),m=(0,_util.createHandleGetRowId)(ae).handleGetRowId,x=c?e.filter(e=>c({$table:ae,expanded:l,column:t,columnIndex:f,$columnIndex:p,row:e})):e;return s&&(x=x.length?[x[x.length-1]]:[],n=_xeUtils.default.findTree(a,e=>e===x[0],{children:g}))&&n.items.forEach(e=>{e=m(e);o[e]&&delete o[e]}),l?x.forEach(e=>{var l,t=m(e);o[t]||(l=r[t])&&(u&&e[v]&&!l.treeLoaded&&!i[t]?h.push(ot(e)):e[g]&&e[g].length&&(o[t]=e))}):x.forEach(e=>{e=m(e);o[e]&&delete o[e]}),d&&x.forEach(e=>it(e,l)),N.treeExpandedFlag++,Promise.all(h).then(()=>ae.recalculate())},Dt=(e,l)=>((e,l)=>{let{fullAllDataRowIdData:t,tableFullGroupData:r,rowGroupExpandedMaps:a}=V;let{mapChildrenField:o,accordion:i}=H.value,n=(0,_util.createHandleGetRowId)(ae).handleGetRowId,d=e;return o&&(i&&(d=d.length?[d[d.length-1]]:[],e=_xeUtils.default.findTree(r,e=>(0,_util.getRowid)(ae,e)===(0,_util.getRowid)(ae,d[0]),{children:o}))&&e.items.forEach(e=>{e=n(e);a[e]&&delete a[e]}),l?d.forEach(e=>{var l=n(e);a[l]||t[l]&&e[o]&&e[o].length&&(a[l]=e)}):d.forEach(e=>{e=n(e);a[e]&&delete a[e]})),N.rowGroupExpandedFlag++,ae.recalculate()})(e,l).then(()=>(n(),ae.handleTableData(),N.rowGroupExpandedFlag++,L(),(0,_vue.nextTick)())).then(()=>b(!0,!0,!0)).then(()=>{setTimeout(()=>{ae.updateCellAreas()},30)}),Ft=(e,l)=>{at(l),e&&oe("checkbox-all",{records:()=>ae.getCheckboxRecords(),reserves:()=>ae.getCheckboxReserveRecords(),indeterminates:()=>ae.getCheckboxIndeterminateRecords(),checked:l},e)},It=()=>{var{isAllOverflow:e,isScrollYBig:l}=N,{mergeBodyList:t,scrollYStore:r}=V,{preloadSize:a,startIndex:o,endIndex:i,offsetSize:n}=r,e=e?n:n+1,{toVisibleIndex:d,visibleSize:u}=Hl(),n={startIndex:Math.max(0,l?d-1:d-1-n-a),endIndex:l?d+u:d+u+e+a},{startIndex:l,endIndex:e}=(r.visibleStartIndex=d-1,r.visibleEndIndex=d+u+1,zl(t,n,"row"),n);!(d<=o||i-u-1<=d)||o===l&&i===e||(r.startIndex=l,r.endIndex=e,ae.updateScrollYData())};Be=t=>function(e){var l=V.fullAllDataRowIdData;if(e){l=l[(0,_util.getRowid)(ae,e)];if(l)return l[t]}return-1},$e=t=>function(e){var l=V.fullColumnIdData;if(e){l=l[e.id];if(l)return l[t]}return-1};let oe=(e,l,t)=>{r(e,createEvent(t,{$table:ae,$grid:j},l))},Lt=()=>{var e=q.value;e&&e.clientWidth&&e.clientHeight&&ae.recalculate()},Mt=(e,l)=>{ae.analyColumnWidth(),ae.recalculate().then(()=>{ae.saveCustomStore("update:width"),ae.updateCellAreas(),ae.dispatchEvent("column-resizable-change",l,e),ae.dispatchEvent("resizable-change",l,e),setTimeout(()=>ae.recalculate(!0),300)})},kt=(e,l)=>{N.resizeHeightFlag++,ae.recalculate().then(()=>{ae.updateCellAreas(),ae.dispatchEvent("row-resizable-change",l,e),setTimeout(()=>ae.recalculate(!0),300)})},Ut=()=>{var{visibleColumn:t,fullColumnIdData:r}=V;let a=0;for(let e=0,l=t.length;e<l;e++){var o=t[e],i=r[o.id];i&&(i.oLeft=a),a+=o.renderWidth}},G=()=>{var t=N.expandColumn,{afterFullData:r,fullAllDataRowIdData:a,rowExpandedMaps:o}=V,i=te.value,n=K.value,d=O.value,u=A.value,s=(0,_util.createHandleGetRowId)(ae).handleGetRowId;let c=0;for(let e=0,l=r.length;e<l;e++){var g=s(r[e]),v=a[g]||{};v.oTop=c,c+=v.resizeHeight||d.height||n.height||v.height||u,t&&o[g]&&(c+=v.expandHeight||i.height||0)}},At=()=>{let{expandColumn:e,scrollYLoad:d,scrollYTop:u,isScrollYBig:s}=N;var l=te.value;let c=K.value,g=O.value,v=A.value;l=l.mode;i