vxe-table 3.9.7 → 3.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_cell=_interopRequireDefault(require("./cell")),_util=require("./util"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,renderer,formats,interceptor}=_ui.VxeUI,isWebkit=_dom.browse["-webkit"]&&!_dom.browse.edge,debounceScrollYDuration=_dom.browse.msie?80:20,customStorageKey="VXE_CUSTOM_STORE",getColumnList=e=>{let t=[];return e.forEach(e=>{t.push(...e.children&&e.children.length?getColumnList(e.children):[e])}),t};function eqCellValue(e,t,l){e=_xeUtils.default.get(e,l),t=_xeUtils.default.get(t,l);return!(!(0,_utils.eqEmptyValue)(e)||!(0,_utils.eqEmptyValue)(t))||(_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e)?""+e==""+t:_xeUtils.default.isEqual(e,t))}function getNextSortOrder(e,t){e=e.sortOpts.orders,t=t.order||null,t=e.indexOf(t)+1;return e[t<e.length?t:0]}let getCustomStorageMap=e=>{var t=getConfig().version,l=_xeUtils.default.toStringJSON(localStorage.getItem(customStorageKey)||""),l=l&&l._v===t?l:{_v:t};return(e?l[e]:l)||{}},setCustomStorageMap=(e,t)=>{var l=getConfig().version,r=getCustomStorageMap();r[e]=t||void 0,r._v=l,localStorage.setItem(customStorageKey,_xeUtils.default.toJSONString(r))},getRecoverRowMaps=(e,t)=>{let l=e.fullAllDataRowIdData,r={};return _xeUtils.default.each(t,(e,t)=>{l[t]&&(r[t]=e)}),r};function handleReserveRow(e,t){let l=e.fullDataRowIdData,r=[];return _xeUtils.default.each(t,(e,t)=>{l[t]&&-1===r.indexOf(l[t].row)&&r.push(l[t].row)}),r}function computeVirtualX(e){var{$refs:e,visibleColumn:o}=e,e=e.tableBody,e=e?e.$el:null;if(e){var{scrollLeft:s,clientWidth:e}=e,a=s+e;let l=-1,r=0,i=0;for(let e=0,t=o.length;e<t&&(r+=o[e].renderWidth,!(0<=(l=-1===l&&s<r?e:l)&&(i++,r>a)));e++);return{toVisibleIndex:Math.max(0,l),visibleSize:Math.max(6,i)}}return{toVisibleIndex:0,visibleSize:6}}function computeVirtualY(l){var{$refs:l,computeSize:r,rowHeightMaps:i}=l,{tableHeader:l,tableBody:o}=l,o=o?o.$el:null;if(o){l=l?l.$el:null;let e=0,t;!(t=o.querySelector("tr"))&&l&&(t=l.querySelector("tr")),e=(e=t?t.clientHeight:e)||i[r||"default"];l=Math.max(8,Math.ceil(o.clientHeight/e)+2);return{rowHeight:e,visibleSize:l}}return{rowHeight:0,visibleSize:8}}function calculateMergerOffserIndex(l,r,i){for(let e=0,t=l.length;e<t;e++){var o=l[e],{startIndex:s,endIndex:a}=r,n=o[i],o=n+o[i+"span"];n<s&&s<o&&(r.startIndex=n),n<a&&a<o&&(r.endIndex=o),r.startIndex===s&&r.endIndex===a||(e=-1)}}function setMerges(t,l,a,n){if(l){let{treeConfig:e,visibleColumn:s}=t;_xeUtils.default.isArray(l)||(l=[l]),e&&l.length&&(0,_log.errLog)("vxe.error.noTree",["merge-cells | merge-footer-items"]),l.forEach(e=>{let{row:t,col:l,rowspan:r,colspan:i}=e;var o;n&&_xeUtils.default.isNumber(t)&&(t=n[t]),_xeUtils.default.isNumber(l)&&(l=s[l]),(n?t:_xeUtils.default.isNumber(t))&&l&&(r||i)&&(r=_xeUtils.default.toNumber(r)||1,i=_xeUtils.default.toNumber(i)||1,1<r||1<i)&&(e=_xeUtils.default.findIndexOf(a,e=>e._row===t&&e._col===l),(e=a[e])?(e.rowspan=r,e.colspan=i,e._rowspan=r,e._colspan=i):(e=n?n.indexOf(t):t,o=s.indexOf(l),a.push({row:e,col:o,rowspan:r,colspan:i,_row:t,_col:l,_rowspan:r,_colspan:i})))})}}function removeMerges(t,l,i,o){let s=[];if(l){let{treeConfig:e,visibleColumn:r}=t;_xeUtils.default.isArray(l)||(l=[l]),e&&l.length&&(0,_log.errLog)("vxe.error.noTree",["merge-cells | merge-footer-items"]),l.forEach(e=>{let{row:t,col:l}=e;o&&_xeUtils.default.isNumber(t)&&(t=o[t]),_xeUtils.default.isNumber(l)&&(l=r[l]);var e=_xeUtils.default.findIndexOf(i,e=>e._row===t&&e._col===l);-1<e&&(e=i.splice(e,1),s.push(e[0]))})}return s}function clearAllSort(e){e.tableFullColumn.forEach(e=>{e.order=null})}function calcHeight(e,t){var l=e.parentHeight,t=e[t];let r=0;return r=t?"100%"===t||"auto"===t?l:(e=e.getExcludeHeight(),r=(0,_dom.isScale)(t)?Math.floor((_xeUtils.default.toInteger(t)||1)/100*l):_xeUtils.default.toNumber(t),Math.max(40,r-e)):r}function getOrderField(l,r){let{sortBy:i,sortType:o}=r;return e=>{let t;return t=i?_xeUtils.default.isFunction(i)?i({row:e,column:r}):_xeUtils.default.get(e,i):l.getCellLabel(e,r),o&&"auto"!==o?"number"===o?_xeUtils.default.toNumber(t):"string"===o?_xeUtils.default.toValueString(t):t:isNaN(t)?t:_xeUtils.default.toNumber(t)}}let Methods={callSlot(e,t,l,r){if(e){var i=this.$xegrid;if(i)return i.callSlot(e,t,l,r);if(_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,l,r))}return[]},getParentElem(){var{$el:e,$xegrid:t}=this;return(t?t.$el:e).parentNode},getParentHeight(){var{$el:e,$xegrid:t,height:l}=this,e=e.parentNode,l="100%"===l||"auto"===l?(0,_dom.getPaddingTopBottomSize)(e):0;return Math.floor(t?t.getParentHeight():_xeUtils.default.toNumber(getComputedStyle(e).height)-l)},getExcludeHeight(){var e=this.$xegrid;return e?e.getExcludeHeight():0},clearAll(){return(0,_util.clearTableAllStatus)(this)},syncData(){return(0,_log.warnLog)("vxe.error.delFunc",["syncData","getData"]),this.$nextTick().then(()=>(this.tableData=[],this.$nextTick().then(()=>this.loadTableData(this.tableFullData))))},updateData(){let{scrollXLoad:e,scrollYLoad:t}=this;return this.handleTableData(!0).then(()=>{if(this.updateFooter(),this.checkSelectionStatus(),e||t)return e&&this.updateScrollXSpace(),t&&this.updateScrollYSpace(),this.refreshScroll()}).then(()=>(this.updateCellAreas(),this.recalculate(!0))).then(()=>{setTimeout(()=>this.recalculate(),50)})},handleTableData(e){let{scrollYLoad:t,scrollYStore:l,fullDataRowIdData:r,afterFullData:i}=this,o=i;e&&(this.updateAfterFullData(),o=this.handleVirtualTreeToList());e=t?o.slice(l.startIndex,l.endIndex):o.slice(0);return e.forEach((e,t)=>{e=(0,_util.getRowid)(this,e),e=r[e];e&&(e.$index=t)}),this.tableData=e,this.$nextTick()},updateScrollYStatus(e){var{treeConfig:t,treeOpts:l,sYOpts:r}=this,l=l.transform,e=e||this.tableFullData,l=(l||!t)&&!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length);return this.scrollYLoad=l},loadTableData(e){let{keepSource:t,treeConfig:l,treeOpts:r,editStore:i,scrollYStore:o,scrollXStore:s,lastScrollLeft:a,lastScrollTop:n,scrollYLoad:d,sXOpts:h,sYOpts:u}=this;var c=r.children||r.childrenField;let g=[],f=e?e.slice(0):[],p=(l&&(r.transform?("development"===process.env.NODE_ENV&&(r.rowField||(0,_log.errLog)("vxe.error.reqProp",["table.tree-config.rowField"]),r.parentField||(0,_log.errLog)("vxe.error.reqProp",["table.tree-config.parentField"]),c||(0,_log.errLog)("vxe.error.reqProp",["tree-config.childrenField"]),r.mapChildrenField||(0,_log.errLog)("vxe.error.reqProp",["tree-config.mapChildrenField"]),c===r.mapChildrenField)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.childrenField","tree-config.mapChildrenField"]),g=_xeUtils.default.toArrayTree(f,{key:r.rowField,parentKey:r.parentField,children:c,mapChildren:r.mapChildrenField}),f=g.slice(0)):g=f.slice(0)),o.startIndex=0,o.endIndex=1,s.startIndex=0,s.endIndex=1,i.insertList=[],i.insertMaps={},i.removeList=[],i.removeMaps={},this.updateScrollYStatus(f));return this.scrollYLoad=p,this.tableFullData=f,this.tableFullTreeData=g,this.cacheRowMap(!0),this.tableSynchData=e,t&&this.cacheSourceMap(f),"development"===process.env.NODE_ENV&&p&&(this.height||this.maxHeight||(0,_log.errLog)("vxe.error.reqProp",["table.height | table.max-height | table.scroll-y={enabled: false}"]),this.showOverflow||(0,_log.warnLog)("vxe.error.reqProp",["table.show-overflow"]),this.spanMethod)&&(0,_log.warnLog)("vxe.error.scrollErrProp",["table.span-method"]),this.clearCellAreas&&this.mouseConfig&&(this.clearCellAreas(),this.clearCopyCellArea()),this.clearMergeCells(),this.clearMergeFooterItems(),this.handleTableData(!0),this.updateFooter(),this.$nextTick().then(()=>{this.updateHeight(),this.updateStyle()}).then(()=>{this.computeScrollLoad()}).then(()=>(p&&(o.endIndex=o.visibleSize),this.handleReserveStatus(),this.checkSelectionStatus(),new Promise(l=>{this.$nextTick().then(()=>this.recalculate()).then(()=>{let e=a,t=n;h.scrollToLeftOnChange&&(e=0),u.scrollToTopOnChange&&(t=0),d===p?(0,_util.restoreScrollLocation)(this,e,t).then(l):setTimeout(()=>(0,_util.restoreScrollLocation)(this,e,t).then(l))})})))},loadData(e){let{inited:t,initStatus:l}=this;return this.loadTableData(e).then(()=>(this.inited=!0,this.initStatus=!0,l||this.handleLoadDefaults(),t||this.handleInitDefaults(),this.recalculate()))},reloadData(e){let t=this.inited;return this.clearAll().then(()=>(this.inited=!0,this.initStatus=!0,this.loadTableData(e))).then(()=>(this.handleLoadDefaults(),t||this.handleInitDefaults(),this.recalculate()))},setRow(t,l){if(l){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>Object.assign(e,l))}return this.$nextTick()},reloadRow(e,t,l){var{keepSource:r,tableSourceData:i,tableData:o}=this;return r?((r=i[this.getRowIndex(e)])&&e&&(l?(i=_xeUtils.default.get(t||e,l),_xeUtils.default.set(e,l,i),_xeUtils.default.set(r,l,i)):(l=_xeUtils.default.clone(Object.assign({},t),!0),_xeUtils.default.destructuring(r,Object.assign(e,l)))),this.tableData=o.slice(0)):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.reqProp",["keep-source"]),this.$nextTick()},loadColumn(e){e=_xeUtils.default.mapTree(e,e=>_cell.default.createColumn(this,e),{children:"children"});return this.handleColumn(e)},reloadColumn(e){return this.clearAll().then(()=>this.loadColumn(e))},initColumnSort(){var e=this.collectColumn;e.forEach((e,t)=>{t+=1;e.sortNumber=t,e.renderSortNumber=t})},handleColumn(e){this.collectColumn=e;var t=getColumnList(e);return this.tableFullColumn=t,this._isLoading=!0,this.initColumnSort(),Promise.resolve(this.restoreCustomStorage()).then(()=>(this._isLoading=!1,this.cacheColumnMap(),this.parseColumns().then(()=>{this.scrollXLoad&&this.loadScrollXData(!0)}),this.clearMergeCells(),this.clearMergeFooterItems(),this.handleTableData(!0),"development"===process.env.NODE_ENV&&(this.scrollXLoad||this.scrollYLoad)&&this.expandColumn&&(0,_log.warnLog)("vxe.error.scrollErrProp",["column.type=expand"]),this.$nextTick().then(()=>(this.$toolbar&&this.$toolbar.syncUpdate({collectColumn:e,$table:this}),this.recalculate()))))},cacheRowMap(n){let{treeConfig:d,treeOpts:e,tableFullData:t,fullAllDataRowIdData:h,fullAllDataRowMap:l,tableFullTreeData:r}=this,u=e.children||e.childrenField,c=e.hasChild||e.hasChildField,g=(0,_util.getRowkey)(this),f=d&&e.lazy,p={},x={};var i=(e,t,l,r,i,o)=>{let s=(0,_util.getRowid)(this,e);r=d&&r?(0,_util.toTreePathSeq)(r):t+1,o=o?o.length-1:0;(0,_utils.eqEmptyValue)(s)&&(s=(0,_util.getRowUniqueId)(),_xeUtils.default.set(e,g,s)),f&&e[c]&&_xeUtils.default.isUndefined(e[u])&&(e[u]=null);let a=h[s];a=a||{row:e,rowid:s,seq:r,index:-1,_index:-1,$index:-1,items:l,parent:i,level:o},n&&(a.index=d&&i?-1:t,x[s]=a),p[s]=a};n&&(this.fullDataRowIdData=x),this.fullAllDataRowIdData=p,l.clear(),d?_xeUtils.default.eachTree(r,i,{children:u}):t.forEach(i)},cacheSourceMap(e){let{treeConfig:t,treeOpts:l,sourceDataRowIdData:r}=this;e=_xeUtils.default.clone(e,!0);let i=(0,_util.getRowkey)(this);r=this.sourceDataRowIdData={};var o,s=e=>{let t=(0,_util.getRowid)(this,e);(0,_utils.eqEmptyValue)(t)&&(t=(0,_util.getRowUniqueId)(),_xeUtils.default.set(e,i,t)),r[t]={row:e,rowid:t}};t?(o=l.children||l.childrenField,_xeUtils.default.eachTree(e,s,{children:l.transform?l.mapChildrenField:o})):e.forEach(s),this.tableSourceData=e},getParams(){return this.params},loadTreeChildren(a,e){let{keepSource:t,tableSourceData:r,treeOpts:l,fullDataRowIdData:n,fullDataRowMap:d,fullAllDataRowMap:h,fullAllDataRowIdData:u,sourceDataRowIdData:i}=this,{transform:o,mapChildrenField:s}=l,c=l.children||l.childrenField;var g=u[(0,_util.getRowid)(this,a)];let f=g?g.level:0;return this.createData(e).then(e=>{if(t){let t=(0,_util.getRowid)(this,a);var l=_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(this,e),{children:c});l&&(l.item[c]=_xeUtils.default.clone(e,!0)),e.forEach(e=>{var t=(0,_util.getRowid)(this,e);i[t]=_xeUtils.default.clone(e,!0)})}return _xeUtils.default.eachTree(e,(e,t,l,r,i,o)=>{var s=(0,_util.getRowid)(this,e),t={row:e,rowid:s,seq:-1,index:t,_index:-1,$index:-1,items:l,parent:i||a,level:f+o.length};n[s]=t,d.set(e,t),u[s]=t,h.set(e,t)},{children:c}),a[c]=e,o&&(a[s]=_xeUtils.default.clone(e,!1)),this.updateAfterDataIndex(),e})},cacheColumnMap(){let{tableFullColumn:e,collectColumn:t,fullColumnMap:h,showOverflow:l,columnOpts:u,rowOpts:c}=this,g=this.fullColumnIdData={},f=this.fullColumnFieldData={};var r=t.some(_utils.hasChildrenList);let p=!!l,x,m,v,w,C,_,s=(e,t,l,r,i)=>{var{id:o,field:s,fixed:a,type:n,treeNode:d}=e,t={column:e,colid:o,index:t,items:l,parent:i};s&&("development"===process.env.NODE_ENV&&f[s]&&(0,_log.warnLog)("vxe.error.colRepet",["field",s]),f[s]=t),!_&&a&&(_=a),C||"html"!==n||(C=e),d?("development"===process.env.NODE_ENV&&m&&(0,_log.warnLog)("vxe.error.colRepet",["tree-node",d]),m=m||e):"expand"===n&&("development"===process.env.NODE_ENV&&x&&(0,_log.warnLog)("vxe.error.colRepet",["type",n]),x=x||e),"development"===process.env.NODE_ENV&&("checkbox"===n?(v&&(0,_log.warnLog)("vxe.error.colRepet",["type",n]),v=v||e):"radio"===n&&(w&&(0,_log.warnLog)("vxe.error.colRepet",["type",n]),w=w||e)),"development"===process.env.NODE_ENV&&(this.showOverflow&&!1===e.showOverflow&&(0,_log.warnLog)("vxe.error.errConflicts",["table.show-overflow="+this.showOverflow,"column.show-overflow="+e.showOverflow]),this.showHeaderOverflow&&!1===e.showHeaderOverflow&&(0,_log.warnLog)("vxe.error.errConflicts",["table.show-header-overflow="+this.showHeaderOverflow,"column.show-header-overflow="+e.showHeaderOverflow]),this.showFooterOverflow)&&!1===e.showFooterOverflow&&(0,_log.warnLog)("vxe.error.errConflicts",["table.show-footer-overflow="+this.showFooterOverflow,"column.show-footer-overflow="+e.showFooterOverflow]),"development"===process.env.NODE_ENV&&C&&(u.useKey||(0,_log.errLog)("vxe.error.reqProp",["column-config.useKey","column.type=html"]),c.useKey||(0,_log.errLog)("vxe.error.reqProp",["row-config.useKey","column.type=html"])),p&&!1===e.showOverflow&&(p=!1),g[o]&&(0,_log.errLog)("vxe.error.colRepet",["colId",o]),g[o]=t,h.set(e,t)};h.clear(),r?_xeUtils.default.eachTree(t,(e,t,l,r,i,o)=>{e.level=o.length,s(e,t,l,0,i)}):e.forEach(s),"development"===process.env.NODE_ENV&&x&&this.mouseOpts.area&&(0,_log.errLog)("vxe.error.errConflicts",["mouse-config.area","column.type=expand"]),this.isGroup=r,this.treeNodeColumn=m,this.expandColumn=x,this.isAllOverflow=p},getRowNode(e){if(e){var t=this.fullAllDataRowIdData,t=t[e.getAttribute("rowid")];if(t)return{rowid:t.rowid,item:t.row,index:t.index,items:t.items,parent:t.parent}}return null},getColumnNode(e){if(e){var t=this.fullColumnIdData,t=t[e.getAttribute("colid")];if(t)return{colid:t.colid,item:t.column,index:t.index,items:t.items,parent:t.parent}}return null},getRowSeq(e){var t=this.fullAllDataRowIdData;if(e){t=t[(0,_util.getRowid)(this,e)];if(t)return t.seq}return-1},getRowIndex(e){var t=this.fullAllDataRowIdData;if(e){t=t[(0,_util.getRowid)(this,e)];if(t)return t.index}return-1},getVTRowIndex(e){var t=this.fullAllDataRowIdData;if(e){t=t[(0,_util.getRowid)(this,e)];if(t)return t._index}return-1},_getRowIndex(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["_getRowIndex","getVTRowIndex"]),this.getVTRowIndex(e)},getVMRowIndex(e){var t=this.fullAllDataRowIdData;if(e){t=t[(0,_util.getRowid)(this,e)];if(t)return t.$index}return-1},$getRowIndex(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["$getRowIndex","getVMRowIndex"]),this.getVMRowIndex(e)},getColumnIndex(e){var t=this.fullColumnIdData;if(e){t=t[e.id];if(t)return t.index}return-1},getVTColumnIndex(e){var t=this.fullColumnIdData;if(e){t=t[e.id];if(t)return t._index}return-1},_getColumnIndex(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["_getColumnIndex","getVTColumnIndex"]),this.getVTColumnIndex(e)},getVMColumnIndex(e){var t=this.fullColumnIdData;if(e){t=t[e.id];if(t)return t.$index}return-1},$getColumnIndex(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["$getColumnIndex","getVMColumnIndex"]),this.getVMColumnIndex(e)},isSeqColumn(e){return e&&"seq"===e.type},defineField(e){let{radioOpts:t,checkboxOpts:l,treeConfig:r,treeOpts:o,expandOpts:s}=this,a=o.children||o.childrenField,n=(0,_util.getRowkey)(this);return(e=_xeUtils.default.isArray(e)?e:[e||{}]).map(i=>(this.tableFullColumn.forEach(t=>{var{field:l,editRender:r}=t;if(l&&!_xeUtils.default.has(i,l)){let e=null;r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?e=r({column:t}):_xeUtils.default.isUndefined(r)||(e=r)),_xeUtils.default.set(i,l,e)}}),[t.labelField,l.checkField,l.labelField,s.labelField].forEach(e=>{e&&(0,_utils.eqEmptyValue)(_xeUtils.default.get(i,e))&&_xeUtils.default.set(i,e,null)}),r&&o.lazy&&_xeUtils.default.isUndefined(i[a])&&(i[a]=null),(0,_utils.eqEmptyValue)(_xeUtils.default.get(i,n))&&_xeUtils.default.set(i,n,(0,_util.getRowUniqueId)()),i))},createData(e){return this.$nextTick().then(()=>this.defineField(e))},createRow(e){let t=_xeUtils.default.isArray(e);return t||(e=[e]),this.createData(e).then(e=>t?e:e[0])},revertData(e,l){let{keepSource:t,tableSourceData:r,treeConfig:i}=this;if(!t)return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.reqProp",["keep-source"]),this.$nextTick();let o=e;return e?_xeUtils.default.isArray(e)||(o=[e]):o=_xeUtils.default.toArray(this.getUpdateRecords()),o.length&&o.forEach(e=>{var t;this.isInsertByRow(e)||(t=this.getRowIndex(e),i&&-1===t&&(0,_log.errLog)("vxe.error.noTree",["revertData"]),(t=r[t])&&e&&(l?_xeUtils.default.set(e,l,_xeUtils.default.clone(_xeUtils.default.get(t,l),!0)):_xeUtils.default.destructuring(e,_xeUtils.default.clone(t,!0))))}),e?this.$nextTick():this.reloadData(r)},clearData(e,t){let{tableFullData:l,visibleColumn:r}=this;return arguments.length?e&&!_xeUtils.default.isArray(e)&&(e=[e]):e=l,t?e.forEach(e=>_xeUtils.default.set(e,t,null)):e.forEach(t=>{r.forEach(e=>{e.field&&(0,_util.setCellValue)(t,e,null)})}),this.$nextTick()},getCellElement(e,t){t=(0,_util.handleFieldOrColumn)(this,t);if(!t)return null;var l=this.$refs,e=(0,_util.getRowid)(this,e);let r=null;return(r=t?l[`${t.fixed||"table"}Body`]||l.tableBody:r)&&r.$el?r.$el.querySelector(`.vxe-body--row[rowid="${e}"] .`+t.id):null},getCellLabel(l,r){r=(0,_util.handleFieldOrColumn)(this,r);if(!r)return null;var i=r.formatter,o=(0,_util.getCellValue)(l,r);let s=o;if(i){let e,t;var a=this.fullAllDataRowMap,n=r.id,d=a.has(l);if(d&&(e=a.get(l),t=(t=e.formatData)||(a.get(l).formatData={}),e)&&t[n]&&t[n].value===o)return t[n].label;d={cellValue:o,row:l,rowIndex:this.getRowIndex(l),column:r,columnIndex:this.getColumnIndex(r)};s=_xeUtils.default.isString(i)?(l=(a=formats.get(i))?a.tableCellFormatMethod||a.cellFormatMethod:null)?l(d):"":_xeUtils.default.isArray(i)?(a=(r=formats.get(i[0]))?r.tableCellFormatMethod||r.cellFormatMethod:null)?a(d,...i.slice(1)):"":i(d),t&&(t[n]={value:o,label:s})}return s},isInsertByRow(e){var t=this.editStore,e=(0,_util.getRowid)(this,e);return t.insertList.length&&t.insertMaps[e]},removeInsertRow(){return this.remove(this.editStore.insertList)},isUpdateByRow(l,e){var{tableFullColumn:r,keepSource:t,sourceDataRowIdData:i,fullDataRowIdData:o}=this;if(t){t=(0,_util.getRowid)(this,l);if(!o[t])return!1;o=i[t];if(o){var s=o.row;if(1<arguments.length)return!eqCellValue(s,l,e);for(let e=0,t=r.length;e<t;e++){var a=r[e].field;if(a&&!eqCellValue(s,l,a))return!0}}}return!1},getColumns(e){var t=this.visibleColumn;return _xeUtils.default.isUndefined(e)?t.slice(0):t[e]},getColid(e){e=(0,_util.handleFieldOrColumn)(this,e);return e?e.id:null},getColumnById(e){var t=this.fullColumnIdData;return t[e]?t[e].column:null},getColumnByField(e){var t=this.fullColumnFieldData;return t[e]?t[e].column:null},getParentColumn(e){var t=this.fullColumnIdData,e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.parentId&&t[e.parentId]?t[e.parentId].column:null},getTableColumn(){return{collectColumn:this.collectColumn.slice(0),fullColumn:this.tableFullColumn.slice(0),visibleColumn:this.visibleColumn.slice(0),tableColumn:this.tableColumn.slice(0)}},getData(e){var t=this.data||this.tableSynchData;return _xeUtils.default.isUndefined(e)?t.slice(0):t[e]},getCheckboxRecords(r){let{tableFullData:e,afterFullData:t,treeConfig:l,treeOpts:i,checkboxOpts:o,tableFullTreeData:s,afterTreeFullData:a,afterFullRowMaps:n}=this;var{transform:d,mapChildrenField:h}=i;let u=o.checkField;var c=i.children||i.childrenField,g=r?d?s:e:d?a:t;let f=[];if(u)f=l?_xeUtils.default.filterTree(g,e=>_xeUtils.default.get(e,u),{children:d?h:c}):g.filter(e=>_xeUtils.default.get(e,u));else{let{selectCheckboxMaps:e,fullDataRowIdData:l}=this;_xeUtils.default.each(e,(e,t)=>{r?l[t]&&f.push(l[t].row):n[t]&&f.push(n[t])})}return f},handleVirtualTreeToList(){let{treeOpts:e,treeConfig:t,treeExpandedMaps:d,afterTreeFullData:l,afterFullData:r}=this;if(t&&e.transform){let a=[],n={};return _xeUtils.default.eachTree(l,(e,t,l,r,i)=>{var o=(0,_util.getRowid)(this,e),s=(0,_util.getRowid)(this,i);(!i||n[s]&&d[s])&&(n[o]=1,a.push(e))},{children:e.mapChildrenField}),this.afterFullData=a,this.updateScrollYStatus(a),a}return r},updateAfterFullData(){var{tableFullColumn:e,tableFullData:t,filterOpts:l,sortOpts:r,treeConfig:i,treeOpts:o,tableFullTreeData:s}=this;let{remote:u,filterMethod:c}=l,{remote:a,sortMethod:n,multiple:d,chronological:h}=r;l=o.transform;let g=[],f=[],p=[],x=[],m=(e.forEach(e=>{var{field:t,sortable:l,order:r,filters:i}=e;if(!u&&i&&i.length){let t=[],l=[];i.forEach(e=>{e.checked&&(l.push(e),t.push(e.value))}),l.length&&p.push({column:e,valueList:t,itemList:l})}!a&&l&&r&&x.push({column:e,field:t,property:t,order:r,sortTime:e.sortTime})}),d&&h&&1<x.length&&(x=_xeUtils.default.orderBy(x,"sortTime")),p.length?(r=h=>p.every(({column:s,valueList:a,itemList:n})=>{if(!a.length||u)return!0;{let{filterMethod:t,filterRender:e,field:l}=s;var d=(0,_utils.isEnableConf)(e)?renderer.get(e.name):null;let r=d?d.tableFilterMethod||d.filterMethod:null,i=d?d.tableFilterDefaultMethod||d.defaultTableFilterMethod||d.defaultFilterMethod:null,o=(0,_util.getCellValue)(h,s);return t?n.some(e=>t({value:e.value,option:e,cellValue:o,row:h,column:s,$table:this})):r?n.some(e=>r({value:e.value,option:e,cellValue:o,row:h,column:s,$table:this})):c?c({options:n,values:a,cellValue:o,row:h,column:s}):i?n.some(e=>i({value:e.value,option:e,cellValue:o,row:h,column:s,$table:this})):-1<a.indexOf(_xeUtils.default.get(h,l))}}),i&&l?(f=_xeUtils.default.searchTree(s,r,Object.assign(Object.assign({},o),{original:!0})),g=f):(g=(i?s:t).filter(r),f=g)):i&&l?(f=_xeUtils.default.searchTree(s,()=>!0,Object.assign(Object.assign({},o),{original:!0})),g=f):(g=(i?s:t).slice(0),f=g),x[0]);if(!a&&m)if(i&&l)f=n?(e=n({data:f,sortList:x,$table:this}),_xeUtils.default.isArray(e)?e:f):_xeUtils.default.orderBy(f,x.map(({column:e,order:t})=>[getOrderField(this,e),t])),g=f;else{if(n){r=n({data:g,column:m.column,property:m.field,field:m.field,order:m.order,sortList:x,$table:this});g=_xeUtils.default.isArray(r)?r:g}else if(d)g=_xeUtils.default.orderBy(g,x.map(({column:e,order:t})=>[getOrderField(this,e),t]));else{let e;_xeUtils.default.isArray(m.sortBy)&&(e=m.sortBy.map(e=>[e,m.order])),g=_xeUtils.default.orderBy(g,e||[m].map(({column:e,order:t})=>[getOrderField(this,e),t]))}f=g}this.afterFullData=g,this.afterTreeFullData=f,this.updateAfterDataIndex()},updateAfterDataIndex(){let{treeConfig:e,afterFullData:t,fullDataRowIdData:s,fullAllDataRowIdData:a,afterTreeFullData:l,treeOpts:r}=this;var i=r.children||r.childrenField;let n={};e?_xeUtils.default.eachTree(l,(e,t,l,r)=>{var i=(0,_util.getRowid)(this,e),o=a[i],r=r.map((e,t)=>t%2==0?Number(e)+1:".").join("");o?(o.seq=r,o._index=t):(o={row:e,rowid:i,seq:r,index:-1,$index:-1,_index:t,items:[],parent:null,level:0},a[i]=o,s[i]=o),n[i]=e},{children:r.transform?r.mapChildrenField:i}):t.forEach((e,t)=>{var l=(0,_util.getRowid)(this,e),r=a[l],i=t+1;r?(r.seq=i,r._index=t):(r={row:e,rowid:l,seq:i,index:-1,$index:-1,_index:t,items:[],parent:null,level:0},a[l]=r,s[l]=r),n[l]=e}),this.afterFullRowMaps=n},getParentRow(t){var{treeConfig:l,fullDataRowIdData:r}=this;if(t&&l){let e;if(e=_xeUtils.default.isString(t)?t:(0,_util.getRowid)(this,t))return(l=r[e])?l.parent:null}return null},getRowById(e){var t=this.fullDataRowIdData,e=_xeUtils.default.eqNull(e)?"":encodeURIComponent(e);return t[e]?t[e].row:null},getRowid(e){var t=this.fullAllDataRowMap;return t.has(e)?t.get(e).rowid:null},getTableData(){var{treeConfig:e,tableFullData:t,afterFullData:l,tableData:r,footerTableData:i,tableFullTreeData:o}=this;return{fullData:(e?o:t).slice(0),visibleData:l.slice(0),tableData:r.slice(0),footerData:i.slice(0)}},handleLoadDefaults(){this.checkboxConfig&&this.handleDefaultSelectionChecked(),this.radioConfig&&this.handleDefaultRadioChecked(),this.expandConfig&&this.handleDefaultRowExpand(),this.treeConfig&&this.handleDefaultTreeExpand(),this.mergeCells&&this.handleDefaultMergeCells(),this.mergeFooterItems&&this.handleDefaultMergeFooterItems(),this.$nextTick(()=>setTimeout(this.recalculate))},handleInitDefaults(){var e=this.sortConfig;e&&this.handleDefaultSort()},setColumnFixed(e,t){var{isMaxFixedColumn:l,columnOpts:r}=this,e=(0,_util.handleFieldOrColumn)(this,e),e=(0,_util.getRootColumn)(this,e);return e&&e.fixed!==t?!e.fixed&&l?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.table.maxFixedCol",[r.maxFixedSize])}),this.$nextTick()):(_xeUtils.default.eachTree([e],e=>{e.fixed=t}),this.saveCustomStore("update:fixed"),this.refreshColumn()):this.$nextTick()},clearColumnFixed(e){e=(0,_util.handleFieldOrColumn)(this,e),e=(0,_util.getRootColumn)(this,e);return e&&e.fixed?(_xeUtils.default.eachTree([e],e=>{e.fixed=null}),this.saveCustomStore("update:fixed"),this.refreshColumn()):this.$nextTick()},hideColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.visible?(e.visible=!1,this.handleCustom()):this.$nextTick()},showColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e&&!e.visible?(e.visible=!0,this.handleCustom()):this.$nextTick()},setColumnWidth(t,l){t=(0,_util.handleFieldOrColumn)(this,t);if(t){var r=_xeUtils.default.toInteger(l);let e=r;return(0,_dom.isScale)(l)&&(l=this.$refs.tableBody,l=(l=l?l.$el:null)?l.clientWidth-1:0,e=Math.floor(r*l)),t.resizeWidth=e,this.refreshColumn()}return this.$nextTick()},getColumnWidth(e){e=(0,_util.handleFieldOrColumn)(this,e);return e?e.renderWidth:0},resetColumn(e){var{collectColumn:t,customOpts:l}=this;let r=l.checkMethod,i=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e},e);return _xeUtils.default.eachTree(t,e=>{i.resizable&&(e.resizeWidth=0),i.fixed&&(e.fixed=e.defaultFixed),i.sort&&(e.renderSortNumber=e.sortNumber),r&&!r({column:e})||(e.visible=e.defaultVisible),e.renderResizeWidth=e.renderWidth}),this.saveCustomStore("reset"),this.handleCustom()},handleCustom(){var e=this.mouseConfig;return e&&(this.clearSelected&&this.clearSelected(),this.clearCellAreas)&&(this.clearCellAreas(),this.clearCopyCellArea()),this.analyColumnWidth(),this.refreshColumn(!0)},handleCustomRestore(e){var t=this.collectColumn;let{resizableData:s,sortData:a,visibleData:n,fixedData:d}=e,h=!1;(s||a||n||d)&&(_xeUtils.default.eachTree(t,(e,t,l,r,i)=>{var o=e.getKey();i||(d&&d[o]&&(e.fixed=d[o]),a&&_xeUtils.default.isNumber(a[o])&&(h=!0,e.renderSortNumber=a[o])),s&&_xeUtils.default.isNumber(s[o])&&(e.resizeWidth=s[o]),n&&_xeUtils.default.isBoolean(n[o])&&(e.visible=n[o])}),h)&&(t=_xeUtils.default.orderBy(t,"renderSortNumber"),this.collectColumn=t,this.tableFullColumn=getColumnList(t))},restoreCustomStorage(){var{tableId:e,customConfig:t,customOpts:l}=this,{storage:l,restoreStore:r}=l,i=!0===l,l=i?{}:Object.assign({},l||{}),o=i||l.resizable,s=i||l.visible,a=i||l.fixed,i=i||l.sort;if(t&&(o||s||a||i)){if(e)return l=getCustomStorageMap(e),r?Promise.resolve(r({id:e,type:"restore",storeData:l})).then(e=>{if(e)return this.handleCustomRestore(e)}).catch(e=>e):this.handleCustomRestore(l);(0,_log.errLog)("vxe.error.reqProp",["id"])}},getCustomStoreData(){let{id:e,customOpts:t,collectColumn:d}=this,h=t.checkMethod,u={},c={},g={},f={};var l={resizableData:void 0,sortData:void 0,visibleData:void 0,fixedData:void 0};if(e){let o=0,s=0,a=0,n=0;_xeUtils.default.eachTree(d,(e,t,l,r,i)=>{i||(d.forEach(e=>{var t=e.getKey();t&&(s=1,c[t]=e.renderSortNumber)}),e.fixed&&e.fixed!==e.defaultFixed&&(i=e.getKey())&&(a=1,f[i]=e.fixed)),e.resizeWidth&&(i=e.getKey())&&(o=1,u[i]=e.renderWidth),h&&!h({column:e})||(!e.visible&&e.defaultVisible?(i=e.getKey())&&(n=1,g[i]=!1):e.visible&&!e.defaultVisible&&(i=e.getKey())&&(n=1,g[i]=!0))}),o&&(l.resizableData=u),s&&(l.sortData=c),a&&(l.fixedData=f),n&&(l.visibleData=g)}else(0,_log.errLog)("vxe.error.reqProp",["id"]);return l},saveCustomStore(e){var{tableId:t,customOpts:l}=this,{updateStore:l,storage:r}=l,i=!0===r,r=i?{}:Object.assign({},r||{}),o=i||r.resizable,s=i||r.visible,a=i||r.fixed,i=i||r.sort;if(o||s||a||i){if(!t)return(0,_log.errLog)("vxe.error.reqProp",["id"]),this.$nextTick();r="reset"===e?{resizableData:{},sortData:{},visibleData:{},fixedData:{}}:this.getCustomStoreData();if(l)return l({id:t,type:e,storeData:r});setCustomStorageMap(t,"reset"===e?null:r)}return this.$nextTick()},handleUpdateDataQueue(){this.upDataFlag++},handleRefreshColumnQueue(){this.reColumnFlag++},refreshColumn(e){return e&&(e=_xeUtils.default.orderBy(this.collectColumn,"renderSortNumber"),this.collectColumn=e,e=getColumnList(e),this.tableFullColumn=e,this.cacheColumnMap()),this.parseColumns().then(()=>this.refreshScroll()).then(()=>this.recalculate())},parseColumns(){let s=[],a=[],n=[],{collectColumn:e,tableFullColumn:t,isGroup:l,columnStore:r,sXOpts:i,scrollXStore:o,fullColumnIdData:d}=this;if(l){let t=[],l=[],r=[];_xeUtils.default.eachTree(e,(e,t,l,r,i)=>{var o=(0,_utils.hasChildrenList)(e);i&&i.fixed&&(e.fixed=i.fixed),i&&e.fixed!==i.fixed&&(0,_log.errLog)("vxe.error.groupFixed"),o?e.visible=!!_xeUtils.default.findTree(e.children,e=>(0,_utils.hasChildrenList)(e)?null:e.visible):e.visible&&("left"===e.fixed?s:"right"===e.fixed?n:a).push(e)}),e.forEach(e=>{e.visible&&("left"===e.fixed?t:"right"===e.fixed?r:l).push(e)}),this.tableGroupColumn=t.concat(l).concat(r)}else t.forEach(e=>{e.visible&&("left"===e.fixed?s:"right"===e.fixed?n:a).push(e)});let h=s.concat(a).concat(n);var u,c=i.enabled&&-1<i.gt&&(0===i.gt||i.gt<=t.length);return this.hasFixedColumn=0<s.length||0<n.length,Object.assign(r,{leftList:s,centerList:a,rightList:n}),c&&("development"===process.env.NODE_ENV&&(this.spanMethod&&(0,_log.warnLog)("vxe.error.scrollErrProp",["span-method"]),this.footerSpanMethod)&&(0,_log.warnLog)("vxe.error.scrollErrProp",["footer-span-method"]),u=computeVirtualX(this).visibleSize,o.startIndex=0,o.endIndex=u,o.visibleSize=u),h.length===this.visibleColumn.length&&this.visibleColumn.every((e,t)=>e===h[t])||(this.clearMergeCells(),this.clearMergeFooterItems()),this.scrollXLoad=c,h.forEach((e,t)=>{e=e.id,e=d[e];e&&(e._index=t)}),this.visibleColumn=h,this.handleTableColumn(),this.updateFooter().then(()=>this.recalculate()).then(()=>(this.updateCellAreas(),this.recalculate()))},analyColumnWidth(){var e=this.columnOpts;let{width:t,minWidth:l}=e,r=[],i=[],o=[],s=[],a=[],n=[],d=[],h=[];this.tableFullColumn.forEach(e=>{t&&!e.width&&(e.width=t),l&&!e.minWidth&&(e.minWidth=l),e.visible&&(e.resizeWidth?r:"auto"===e.width?d:(0,_dom.isPx)(e.width)?i:(0,_dom.isScale)(e.width)?a:(0,_dom.isPx)(e.minWidth)?o:"auto"===e.minWidth?s:(0,_dom.isScale)(e.minWidth)?n:h).push(e)}),Object.assign(this.columnStore,{resizeList:r,pxList:i,pxMinList:o,autoMinList:s,scaleList:a,scaleMinList:n,autoList:d,remainList:h})},refreshScroll(){let{lastScrollLeft:t,lastScrollTop:l}=this;var e=this.$refs,{tableBody:e,leftBody:r,rightBody:i,tableFooter:o}=e;let s=e?e.$el:null,a=r?r.$el:null,n=i?i.$el:null,d=o?o.$el:null;return new Promise(e=>{if(t||l)return(0,_util.restoreScrollLocation)(this,t,l).then(()=>{setTimeout(e,30)});(0,_dom.setScrollTop)(s,l),(0,_dom.setScrollTop)(a,l),(0,_dom.setScrollTop)(n,l),(0,_dom.setScrollLeft)(d,t),setTimeout(e,30)})},recalculate(e){var t=this.$refs,{tableBody:t,tableHeader:l,tableFooter:r}=t;let i=t?t.$el:null,o=l?l.$el:null,s=r?r.$el:null;t=this.$el;return t&&t.clientWidth?i&&(this.calcCellWidth(),this.autoCellWidth(o,i,s),!0===e)?this.computeScrollLoad().then(()=>(this.autoCellWidth(o,i,s),this.computeScrollLoad())):this.computeScrollLoad():this.$nextTick()},calcCellWidth(){let{autoWidthColumnList:e,tableData:t}=this;return t.length&&e.length?(this.isCalcColumn=!0,this.$nextTick().then(()=>{let o=this.$el;o&&(e.forEach(e=>{var t=o.querySelectorAll(`.vxe-header--column.${e.id}>.vxe-cell,.vxe-body--column.${e.id}>.vxe-cell,.vxe-footer--column.${e.id}>.vxe-cell`),l=t[0];let r=0,i=(l&&(l=getComputedStyle(l),r=Math.floor(_xeUtils.default.toNumber(l.paddingLeft)+_xeUtils.default.toNumber(l.paddingRight))+2),e.renderAutoWidth-r);_xeUtils.default.arrayEach(t,e=>{var t=e.parentNode;let l=0;"th"===(""+t.tagName).toLowerCase()?_xeUtils.default.arrayEach(e.children,e=>{l+=e.offsetWidth+1}):(t=e.firstChild)&&(l=t.offsetWidth),l&&(i=Math.max(i,Math.ceil(l)+4))}),e.renderAutoWidth=i+r}),this.analyColumnWidth()),this.isCalcColumn=!1})):(this.isCalcColumn=!1,this.$nextTick())},autoCellWidth(e,t,l){let r=0;var i=t.clientWidth-1,o=i;let s=o/100;var{fit:a,columnStore:n}=this,{resizeList:n,pxMinList:d,pxList:h,autoMinList:u,scaleList:c,scaleMinList:g,autoList:f,remainList:p}=n;if(d.forEach(e=>{var t=parseInt(e.minWidth);r+=t,e.renderWidth=t}),u.forEach(e=>{var t=Math.max(60,_xeUtils.default.toInteger(e.renderAutoWidth));r+=t,e.renderWidth=t}),g.forEach(e=>{var t=Math.floor(parseInt(e.minWidth)*s);r+=t,e.renderWidth=t}),c.forEach(e=>{var t=Math.floor(parseInt(e.width)*s);r+=t,e.renderWidth=t}),h.forEach(e=>{var t=parseInt(e.width);r+=t,e.renderWidth=t}),f.forEach(e=>{var t=Math.max(60,_xeUtils.default.toInteger(e.renderAutoWidth));r+=t,e.renderWidth=t}),n.forEach(e=>{var t=parseInt(e.resizeWidth);r+=t,e.renderWidth=t}),o-=r,s=0<o?Math.floor(o/(g.length+d.length+u.length+p.length)):0,a?0<o&&g.concat(d).concat(u).forEach(e=>{r+=s,e.renderWidth+=s}):s=40,p.forEach(e=>{var t=Math.max(s,40);e.renderWidth=t,r+=t}),a){var x=c.concat(g).concat(d).concat(u).concat(p);let t=x.length-1;if(0<t){let e=i-r;if(0<e){for(;0<e&&0<=t;)e--,x[t--].renderWidth++;r=i}}}h=t.offsetHeight,f=t.clientHeight<t.scrollHeight;this.scrollbarWidth=f?t.offsetWidth-t.clientWidth:0,this.overflowY=f,this.tableWidth=r,this.tableHeight=h,e?(this.headerHeight=e.clientHeight,this.$nextTick(()=>{e&&t&&e.scrollLeft!==t.scrollLeft&&(e.scrollLeft=t.scrollLeft)})):this.headerHeight=0;let m=!1,v=0,w=0;w=l?(v=l.offsetHeight,m=r>l.clientWidth,Math.max(v-l.clientHeight,0)):(m=r>i,Math.max(h-t.clientHeight,0)),this.footerHeight=v,this.overflowX=r>i,this.scrollbarHeight=w,this.updateHeight(),this.parentHeight=Math.max(this.headerHeight+this.footerHeight+20,this.getParentHeight()),m&&this.checkScrolling()},updateHeight(){this.customHeight=calcHeight(this,"height"),this.customMinHeight=calcHeight(this,"minHeight"),this.customMaxHeight=calcHeight(this,"maxHeight")},updateStyle(){let{$refs:t,isGroup:h,fullColumnIdData:u,tableColumn:c,customHeight:g,customMinHeight:f,customMaxHeight:p,border:x,headerHeight:m,showFooter:v,showOverflow:w,showHeaderOverflow:C,showFooterOverflow:_,footerHeight:b,tableHeight:R,tableWidth:E,scrollbarHeight:T,scrollbarWidth:S,scrollXLoad:y,scrollYLoad:k,cellOffsetWidth:D,columnStore:M,elemStore:I,editStore:e,currentRow:l,mouseConfig:r,keyboardConfig:O,keyboardOpts:F,spanMethod:$,mergeList:L,mergeFooterList:U,footerSpanMethod:A,isAllOverflow:N,visibleColumn:V}=this;var i=t.emptyPlaceholder,o=I["main-body-wrapper"];return i&&(i.style.top=m+"px",i.style.height=o?o.offsetHeight-T+"px":""),0<g&&v&&(g+=T),["main","left","right"].forEach((n,e)=>{let o=0<e?n:"";let s=M[o+"List"],d=t[o+"Container"];["header","body","footer"].forEach(a=>{var l=I[n+`-${a}-wrapper`],t=I[n+`-${a}-table`];if("header"===a){E;let e=c;h?e=V:o&&(y||C)&&(e=s),r=e.reduce((e,t)=>e+t.renderWidth,0),t&&(t.style.width=r?r+S+"px":"",_dom.browse.msie)&&_xeUtils.default.arrayEach(t.querySelectorAll(".vxe-resizable"),e=>{e.style.height=e.parentNode.offsetHeight+"px"});var r=I[n+`-${a}-repair`],r=(r&&(r.style.width=E+"px"),I[n+`-${a}-list`]);h&&r&&_xeUtils.default.arrayEach(r.querySelectorAll(".col--group"),e=>{var i=this.getColumnNode(e);if(i){let t=i.item;i=t.showHeaderOverflow,i=_xeUtils.default.isBoolean(i)?i:C,i="title"===i||(!0===i||"tooltip"===i)||"ellipsis"===i;let l=0,r=0;i&&_xeUtils.default.eachTree(t.children,e=>{e.children&&t.children.length||r++,l+=e.renderWidth}),e.style.width=i?l-r-(x?2:0)+"px":""}})}else if("body"===a){r=I[n+`-${a}-emptyBlock`];if((0,_dom.isNodeElement)(l)){let t=0;var i=f-m-b;if(p&&(t=p-m-b,o&&(t-=v?0:T),t=Math.max(i,t),l.style.maxHeight=t+"px"),g){let e=g-m-b;o&&(e-=v?0:T),t&&(e=Math.min(t,e)),l.style.height=Math.max(i,e)+"px"}else l.style.height="";l.style.minHeight=i+"px"}if(d){i="right"===o;let e=M[o+"List"];(0,_dom.isNodeElement)(l)&&(l.style.top=m+"px"),d.style.height=(0<g?g-m-b:R)+m+b-T*(v?2:1)+"px",d.style.width=e.reduce((e,t)=>e+t.renderWidth,i?S:0)+"px"}E;let e=c;i=(e=o?this.expandColumn||!(y||k||w&&N)||L.length||$||O&&F.isMerge?V:s:e).reduce((e,t)=>e+t.renderWidth,0),t&&(t.style.width=i?i+"px":"",t.style.paddingRight=S&&o&&(_dom.browse["-moz"]||_dom.browse.safari)?S+"px":""),r&&(r.style.width=i?i+"px":"")}else if("footer"===a){E;let e=c;r=(e=o?this.expandColumn||!y&&!_||U.length&&A?V:s:e).reduce((e,t)=>e+t.renderWidth,0),(0,_dom.isNodeElement)(l)&&(d&&(l.style.top=`${0<g?g-b:R+m}px`),l.style.marginTop=-T+"px"),t&&(t.style.width=r?r+S+"px":"")}i=I[n+`-${a}-colgroup`];i&&_xeUtils.default.arrayEach(i.children,t=>{var l=t.getAttribute("name");if("col_gutter"===l&&(t.style.width=S+"px"),u[l]){let o=u[l].column;var{showHeaderOverflow:l,showFooterOverflow:r,showOverflow:i}=o;let e;t.style.width=o.renderWidth+"px";t="ellipsis"===(e="header"===a?_xeUtils.default.isUndefined(l)||_xeUtils.default.isNull(l)?C:l:"footer"===a?_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?_:r:_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?w:i),l="title"===e,r=!0===e||"tooltip"===e;let s=l||r||t;i=I[n+`-${a}-list`];"header"===a||"footer"===a?y&&!s&&(s=!0):(y||k)&&(s=s||!0),i&&_xeUtils.default.arrayEach(i.querySelectorAll("."+o.id),e=>{var t=parseInt(e.getAttribute("colspan")||1),e=e.querySelector(".vxe-cell");let l=o.renderWidth;if(e){if(1<t){var r=this.getColumnIndex(o);for(let e=1;e<t;e++){var i=this.getColumns(r+e);i&&(l+=i.renderWidth)}}e.style.width=s?l-D*t+"px":""}})}})})}),l&&this.setCurrentRow(l),r&&r.selected&&e.selected.row&&e.selected.column&&this.addColSdCls(),this.$nextTick()},checkScrolling(){var{tableBody:e,leftContainer:t,rightContainer:l}=this.$refs,e=e?e.$el:null;e&&(t&&(0<e.scrollLeft?(0,_dom.addClass):(0,_dom.removeClass))(t,"scrolling--middle"),l)&&(e.clientWidth<e.scrollWidth-Math.ceil(e.scrollLeft)?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},preventEvent(t,e,l,r,i){let o=interceptor.get(e);o.length||"event.clearEdit"!==e||(o=interceptor.get("event.clearActived"),"development"===process.env.NODE_ENV&&o.length&&(0,_log.warnLog)("vxe.error.delEvent",["event.clearActived","event.clearEdit"]));let s;return o.some(e=>!1===e(Object.assign({$grid:this.$xegrid,$table:this,$event:t},l)))||r&&(s=r()),i&&i(),s},handleGlobalMousedownEvent(l){let{$el:r,$refs:e,$xegrid:t,$toolbar:i,mouseConfig:o,editStore:s,ctxMenuStore:a,editRules:n,editOpts:d,validOpts:h,areaOpts:u,filterStore:c,customStore:g,getRowNode:f}=this,p=s.actived;var{ctxWrapper:x,filterWrapper:m,customWrapper:v,validTip:w}=e;if(!m||(0,_dom.getEventTargetNode)(l,r,"vxe-cell--filter").flag||(0,_dom.getEventTargetNode)(l,m.$el).flag||(0,_dom.getEventTargetNode)(l,document.body,"vxe-table--ignore-clear").flag||this.preventEvent(l,"event.clearFilter",c.args,this.closeFilter),!v||g.btnEl===l.target||(0,_dom.getEventTargetNode)(l,document.body,"vxe-toolbar-custom-target").flag||(0,_dom.getEventTargetNode)(l,v.$el).flag||(0,_dom.getEventTargetNode)(l,document.body,"vxe-table--ignore-clear").flag||this.preventEvent(l,"event.clearCustom",{},()=>this.closeCustom()),p.row)!1===d.autoClear||(m=p.args.cell)&&(0,_dom.getEventTargetNode)(l,m).flag||w&&(0,_dom.getEventTargetNode)(l,w.$el).flag||this.lastCallTime&&!(this.lastCallTime+50<Date.now())||(0,_dom.getEventTargetNode)(l,document.body,"vxe-table--ignore-clear").flag||this.preventEvent(l,"event.clearEdit",p.args,()=>{let e;var t;(e=(e=(e="row"===d.mode?!!(t=(0,_dom.getEventTargetNode)(l,r,"vxe-body--row")).flag&&f(t.targetElem).item!==p.args.row:!(0,_dom.getEventTargetNode)(l,r,"col--edit").flag)||(0,_dom.getEventTargetNode)(l,r,"vxe-header--row").flag)||(0,_dom.getEventTargetNode)(l,r,"vxe-footer--row").flag)||!this.height||this.overflowY||(t=l.target,(0,_dom.hasClass)(t,"vxe-table--body-wrapper")&&(e=l.offsetY<t.clientHeight)),!e&&(0,_dom.getEventTargetNode)(l,r).flag||setTimeout(()=>this.clearEdit(l))});else if(o&&!((0,_dom.getEventTargetNode)(l,r).flag||t&&(0,_dom.getEventTargetNode)(l,t.$el).flag||x&&(0,_dom.getEventTargetNode)(l,x.$el).flag||i&&(0,_dom.getEventTargetNode)(l,i.$el).flag)&&(this.clearSelected&&this.clearSelected(),u.autoClear)&&this.getCellAreas){let e=this.getCellAreas();e&&e.length&&!(0,_dom.getEventTargetNode)(l,document.body,"vxe-table--ignore-areas-clear").flag&&this.preventEvent(l,"event.clearAreas",{},()=>{this.clearCellAreas(),this.clearCopyCellArea(),this.emitEvent("clear-cell-area-selection",{cellAreas:e},l)})}a.visible&&x&&!(0,_dom.getEventTargetNode)(l,x.$el).flag&&this.closeMenu();v=(0,_dom.getEventTargetNode)(l,(t||this).$el).flag;!v&&n&&h.autoClear&&(this.validErrorMaps={}),this.isActivated=v},handleGlobalBlurEvent(){this.closeFilter(),this.closeMenu()},handleGlobalMousewheelEvent(){this.closeTooltip(),this.closeMenu()},keydownEvent(t){let{filterStore:e,ctxMenuStore:l,editStore:r,keyboardConfig:i,mouseConfig:o,mouseOpts:s,keyboardOpts:a}=this,n=r.actived;var d=t.keyCode;27===d&&this.preventEvent(t,"event.keydown",null,()=>{if(this.emitEvent("keydown-start",{},t),i&&o&&s.area&&this.handleKeyboardEvent)this.handleKeyboardEvent(t);else if((n.row||e.visible||l.visible)&&(t.stopPropagation(),this.closeFilter(),this.closeMenu(),i)&&a.isEsc&&n.row){let e=n.args;this.clearEdit(t),o&&s.selected&&this.$nextTick(()=>this.handleSelected(e,t))}this.emitEvent("keydown",{},t),this.emitEvent("keydown-end",{},t)})},handleGlobalKeydownEvent(q){this.isActivated&&this.preventEvent(q,"event.keydown",null,()=>{let{filterStore:e,isCtxMenu:t,ctxMenuStore:l,editStore:r,editOpts:i,editConfig:o,mouseConfig:s,mouseOpts:a,keyboardConfig:n,keyboardOpts:d,treeConfig:h,treeOpts:u,highlightCurrentRow:c,currentRow:g,bodyCtxMenu:U,rowOpts:f}=this;var{selected:p,actived:x}=r,m=q.keyCode,v=8===m,A=9===m,w=13===m,C=27===m,_=32===m,b=37===m,R=38===m,E=39===m,T=40===m,N=46===m,S=113===m,y=93===m,V=q.metaKey,k=q.ctrlKey,D=q.shiftKey,M=q.altKey,I=b||R||E||T,O=t&&l.visible&&(w||_||I),F=(0,_utils.isEnableConf)(o)&&x.column&&x.row,$=u.children||u.childrenField;let L=i.beforeEditMethod||i.activeMethod;if(e.visible)C&&this.closeFilter();else{if(O)q.preventDefault(),l.showChild&&(0,_utils.hasChildrenList)(l.selected)?this.moveCtxMenu(q,m,l,"selectChild",37,!1,l.selected.children):this.moveCtxMenu(q,m,l,"selected",39,!0,this.ctxMenuList);else if(n&&s&&a.area&&this.handleKeyboardEvent)this.handleKeyboardEvent(q);else if(n&&_&&d.isChecked&&p.row&&p.column&&("checkbox"===p.column.type||"radio"===p.column.type))q.preventDefault(),"checkbox"===p.column.type?this.handleToggleCheckRowEvent(q,p.args):this.triggerRadioRowEvent(q,p.args);else if(S&&(0,_utils.isEnableConf)(o))F||p.row&&p.column&&(q.stopPropagation(),q.preventDefault(),this.handleEdit(p.args,q));else if(y)this._keyCtx=p.row&&p.column&&U.length,clearTimeout(this.keyCtxTimeout),this.keyCtxTimeout=setTimeout(()=>{this._keyCtx=!1},1e3);else if(w&&!M&&n&&d.isEnter&&(p.row||x.row||h&&(f.isCurrent||c)&&g)){if(k){if(x.row){let e=x.args;this.clearEdit(q),s&&a.selected&&this.$nextTick(()=>this.handleSelected(e,q))}}else if(p.row||x.row){C=(p.row?p:x).args;D?d.enterToTab?this.moveTabSelected(C,D,q):this.moveSelected(C,b,!0,E,!1,q):d.enterToTab?this.moveTabSelected(C,D,q):this.moveSelected(C,b,!1,E,!0,q)}else if(h&&(f.isCurrent||c)&&g){O=g[$];if(O&&O.length){q.preventDefault();let e=O[0],t={$table:this,row:e};this.setTreeExpand(g,!0).then(()=>this.scrollToRow(e)).then(()=>this.triggerCurrentRowEvent(q,t))}}}else if(I&&n&&d.isArrow)F||(p.row&&p.column?this.moveSelected(p.args,b,R,E,T,q):(R||T)&&(f.isCurrent||c)&&this.moveCurrentRow(R,T,q));else if(A&&n&&d.isTab)p.row||p.column?this.moveTabSelected(p.args,D,q):(x.row||x.column)&&this.moveTabSelected(x.args,D,q);else if(n&&d.isDel&&N&&(0,_utils.isEnableConf)(o)&&(p.row||p.column))F||(S=d.delMethod,y={row:p.row,rowIndex:this.getRowIndex(p.row),column:p.column,columnIndex:this.getColumnIndex(p.column),$table:this,$grid:this.$xegrid},L&&!L(y))||(S?S(y):(0,_util.setCellValue)(p.row,p.column,null),this.updateFooter(),this.emitEvent("cell-delete-value",y,q));else if(v&&n&&d.isBack&&(0,_utils.isEnableConf)(o)&&(p.row||p.column))F||(w=d.backMethod,d.isDel&&(0,_utils.isEnableConf)(o)&&(p.row||p.column)&&(M={row:p.row,rowIndex:this.getRowIndex(p.row),column:p.column,columnIndex:this.getColumnIndex(p.column),$table:this,$grid:this.$xegrid},L&&!L(M)||(w?w(M):((0,_util.setCellValue)(p.row,p.column,null),this.handleEdit(p.args,q)),this.emitEvent("cell-backspace-value",M,q))));else if(v&&n&&h&&d.isBack&&(f.isCurrent||c)&&g){let t=_xeUtils.default.findTree(this.afterTreeFullData,e=>e===g,{children:$}).parent;if(t){q.preventDefault();let e={row:t,rowIndex:this.getRowIndex(t),$rowIndex:this.getVMRowIndex(t),$table:this,$grid:this.$xegrid};this.setTreeExpand(t,!1).then(()=>this.scrollToRow(t)).then(()=>this.triggerCurrentRowEvent(q,e))}}else if(n&&d.isEdit&&!k&&!V&&(_||48<=m&&m<=57||65<=m&&m<=90||96<=m&&m<=111||186<=m&&m<=192||219<=m&&m<=222)){C=d.editMethod;if(p.column&&p.row&&(0,_utils.isEnableConf)(p.column.editRender)){let e=i.beforeEditMethod||i.activeMethod;O={row:p.row,rowIndex:this.getRowIndex(p.row),column:p.column,columnIndex:this.getColumnIndex(p.column),$table:this,$grid:this.$xegrid};e&&!e(O)||(C?C(O):((0,_util.setCellValue)(p.row,p.column,null),this.handleEdit(p.args,q)))}}this.emitEvent("keydown",{},q)}})},handleGlobalPasteEvent(e){var{isActivated:t,keyboardConfig:l,keyboardOpts:r,mouseConfig:i,mouseOpts:o,editStore:s,filterStore:a}=this,s=s.actived;t&&!a.visible&&(s.row||s.column||l&&r.isClip&&i&&o.area&&this.handlePasteCellAreaEvent&&this.handlePasteCellAreaEvent(e),this.emitEvent("paste",{},e))},handleGlobalCopyEvent(e){var{isActivated:t,keyboardConfig:l,keyboardOpts:r,mouseConfig:i,mouseOpts:o,editStore:s,filterStore:a}=this,s=s.actived;t&&!a.visible&&(s.row||s.column||l&&r.isClip&&i&&o.area&&this.handleCopyCellAreaEvent&&this.handleCopyCellAreaEvent(e),this.emitEvent("copy",{},e))},handleGlobalCutEvent(e){var{isActivated:t,keyboardConfig:l,keyboardOpts:r,mouseConfig:i,mouseOpts:o,editStore:s,filterStore:a}=this,s=s.actived;t&&!a.visible&&(s.row||s.column||l&&r.isClip&&i&&o.area&&this.handleCutCellAreaEvent&&this.handleCutCellAreaEvent(e),this.emitEvent("cut",{},e))},handleGlobalResizeEvent(){this.closeMenu(),this.updateCellAreas(),this.recalculate(!0)},handleTargetEnterEvent(e){var t=this.$refs.tooltip;clearTimeout(this.tooltipTimeout),e?this.closeTooltip():t&&t.setActived(!0)},handleTargetLeaveEvent(){var e=this.tooltipOpts;let t=this.$refs.tooltip;t&&t.setActived(!1),e.enterable?this.tooltipTimeout=setTimeout(()=>{(t=this.$refs.tooltip)&&!t.isActived()&&this.closeTooltip()},e.leaveDelay):this.closeTooltip()},triggerHeaderTitleEvent(r,i,o){var s=i.content||i.message;if(s){let{$refs:t,tooltipStore:e}=this;o=o.column;let l=(0,_utils.getFuncText)(s);this.handleTargetEnterEvent(!0),e.row=null,e.column=o,e.visible=!0,e.currOpts=i,this.$nextTick(()=>{var e=t.tooltip;e&&e.open(r.currentTarget,l)})}},triggerHeaderTooltipEvent(e,t){var l=this.tooltipStore,r=t.column,i=e.currentTarget;this.handleTargetEnterEvent(l.column!==r||l.row),l.column===r&&l.visible||this.handleTooltip(e,i,i,null,t)},triggerBodyTooltipEvent(l,r){var{editConfig:e,editOpts:t,editStore:i,tooltipStore:o}=this,i=i.actived,{row:s,column:a}=r,n=l.currentTarget;if(this.handleTargetEnterEvent(o.column!==a||o.row!==s),a.editRender&&(0,_utils.isEnableConf)(e)){if("row"===t.mode&&i.row===s)return;if(i.row===s&&i.column===a)return}if(o.column!==a||o.row!==s||!o.visible){let e,t;a.treeNode?(e=n.querySelector(".vxe-tree-cell"),"html"===a.type&&(t=n.querySelector(".vxe-cell--html"))):t=n.querySelector("html"===a.type?".vxe-cell--html":".vxe-cell--label"),this.handleTooltip(l,n,e||n.children[0],t,r)}},triggerFooterTooltipEvent(e,t){var l=t.column,r=this.tooltipStore,i=e.currentTarget;this.handleTargetEnterEvent(!0),r.column===l&&r.visible||this.handleTooltip(e,i,i.querySelector(".vxe-cell--item")||i.children[0],null,t)},handleTooltip(e,t,l,r,i){i.cell=t;let{$refs:o,tooltipOpts:s,tooltipStore:a}=this;var{column:t,row:n}=i,{showAll:d,enabled:h,contentMethod:u}=s,i=u?u(i):null,u=u&&!_xeUtils.default.eqNull(i);let c=u?i:("html"===t.type?l.innerText:l.textContent).trim(),g=l.scrollWidth>l.clientWidth;return c&&(d||h||u||g)&&(Object.assign(a,{row:n,column:t,visible:!0,currOpts:{}}),this.$nextTick(()=>{var e=o.tooltip;e&&e.open(!g&&r||l,(0,_utils.formatText)(c))})),this.$nextTick()},openTooltip(e,t){var l=this.$refs,l=l.commTip;return l?l.open(e,t):this.$nextTick()},closeTooltip(){var{$refs:e,tooltipStore:t}=this,l=e.tooltip,e=e.commTip;return t.visible&&(Object.assign(t,{row:null,column:null,content:null,visible:!1,currOpts:{}}),l)&&l.close(),e&&e.close(),this.$nextTick()},isAllCheckboxChecked(){return this.isAllSelected},isAllCheckboxIndeterminate(){return!this.isAllSelected&&this.isIndeterminate},isCheckboxIndeterminate(){return(0,_log.warnLog)("vxe.error.delFunc",["isCheckboxIndeterminate","isAllCheckboxIndeterminate"]),this.isAllCheckboxIndeterminate()},getCheckboxIndeterminateRecords(e){let{treeConfig:t,treeIndeterminateMaps:i,fullDataRowIdData:o}=this;if(t){let l=[],r=[];return _xeUtils.default.each(i,(e,t)=>{e&&(l.push(e),o[t])&&r.push(e)}),e?l:r}return[]},handleDefaultSelectionChecked(){let{fullDataRowIdData:l,checkboxOpts:e}=this;var{checkAll:t,checkRowKeys:r}=e;if(t)this.handleCheckedAllCheckboxRow(!0,!0);else if(r){let t=[];r.forEach(e=>{l[e]&&t.push(l[e].row)}),this.handleCheckedCheckboxRow(t,!0,!0)}},handleCheckedCheckboxRow(e,t,l){return(e=e&&!_xeUtils.default.isArray(e)?[e]:e).forEach(e=>this.handleSelectRow({row:e},!!t,l)),this.$nextTick()},setCheckboxRow(e,t){return this.handleCheckedCheckboxRow(e,t,!0)},isCheckedByCheckboxRow(e){var t=this.selectCheckboxMaps,l=this.checkboxOpts.checkField;return l?_xeUtils.default.get(e,l):!!t[(0,_util.getRowid)(this,e)]},isIndeterminateByCheckboxRow(e){var t=this.treeIndeterminateMaps;return!!t[(0,_util.getRowid)(this,e)]&&!this.isCheckedByCheckboxRow(e)},handleSelectRow({row:l},o,s){let{selectCheckboxMaps:e,afterFullData:t,treeConfig:r,treeOpts:i,treeIndeterminateMaps:a,checkboxOpts:n}=this,{checkField:d,checkStrictly:h,checkMethod:u}=n,c=Object.assign({},e);var g=i.children||i.childrenField;let f=n.indeterminateField||n.halfField;var p=(0,_util.getRowid)(this,l);if(d)if(r&&!h){-1===o?(a[p]||(f&&_xeUtils.default.set(l,f,!0),a[p]=l),_xeUtils.default.set(l,d,!1)):_xeUtils.default.eachTree([l],e=>{(this.eqRow(e,l)||s||!u||u({row:e}))&&(_xeUtils.default.set(e,d,o),f&&_xeUtils.default.set(l,f,!1),delete a[(0,_util.getRowid)(this,e)],this.handleCheckboxReserveRow(l,o))},{children:g});var x=_xeUtils.default.findTree(t,e=>this.eqRow(e,l),{children:g});if(x&&x.parent){let e,l=[],r={};if(!s&&u?x.items.forEach(e=>{var t;u({row:e})&&(t=(0,_util.getRowid)(this,e),r[t]=e,l.push(e))}):x.items.forEach(e=>{var t=(0,_util.getRowid)(this,e);r[t]=e,l.push(e)}),_xeUtils.default.find(x.items,e=>!!a[(0,_util.getRowid)(this,e)]))e=-1;else{let t=[];x.items.forEach(e=>{_xeUtils.default.get(e,d)&&t.push(e)}),e=t.filter(e=>r[(0,_util.getRowid)(this,e)]).length===l.length||!(!t.length&&-1!==o)&&-1}return this.selectCheckboxMaps=c,this.handleSelectRow({row:x.parent},e,s)}}else!s&&u&&!u({row:l})||(_xeUtils.default.set(l,d,o),this.handleCheckboxReserveRow(l,o));else if(r&&!h){-1===o?(a[p]||(f&&_xeUtils.default.set(l,f,!0),a[p]=l),c[p]&&delete c[p]):_xeUtils.default.eachTree([l],e=>{var t=(0,_util.getRowid)(this,e);(this.eqRow(e,l)||s||!u||u({row:e}))&&(o?c[t]=e:c[t]&&delete c[t],f&&_xeUtils.default.set(l,f,!1),delete a[(0,_util.getRowid)(this,e)],this.handleCheckboxReserveRow(l,o))},{children:g});x=_xeUtils.default.findTree(t,e=>this.eqRow(e,l),{children:g});if(x&&x.parent){let e,r=[],i={};if(!s&&u?x.items.forEach(e=>{var t;u({row:e})&&(t=(0,_util.getRowid)(this,e),i[t]=e,r.push(e))}):x.items.forEach(e=>{var t=(0,_util.getRowid)(this,e);i[t]=e,r.push(e)}),_xeUtils.default.find(x.items,e=>!!a[(0,_util.getRowid)(this,e)]))e=-1;else{let l=[];x.items.forEach(e=>{var t=(0,_util.getRowid)(this,e);c[t]&&l.push(e)}),e=l.filter(e=>i[(0,_util.getRowid)(this,e)]).length===r.length||!(!l.length&&-1!==o)&&-1}return this.selectCheckboxMaps=c,this.handleSelectRow({row:x.parent},e,s)}}else!s&&u&&!u({row:l})||(o?c[p]||(c[p]=l):c[p]&&delete c[p],this.handleCheckboxReserveRow(l,o));this.selectCheckboxMaps=c,this.checkSelectionStatus()},handleToggleCheckRowEvent(t,l){var{selectCheckboxMaps:r,checkboxOpts:i}=this,{checkField:i,trigger:e}=i,o=l.row;if("manual"!==e){let e=!1;e=i?!_xeUtils.default.get(o,i):!r[(0,_util.getRowid)(this,o)],t?this.triggerCheckRowEvent(t,l,e):this.handleSelectRow(l,e)}},triggerCheckRowEvent(e,t,l){var{checkboxOpts:r,afterFullData:i}=this,{checkMethod:o,trigger:s}=r,a=t.row;if("manual"!==s){if(e.stopPropagation(),r.isShiftKey&&e.shiftKey&&!this.treeConfig){s=this.getCheckboxRecords();if(s.length){r=s[0],s=this.getVTRowIndex(a),r=this.getVTRowIndex(r);if(s!==r)return this.setAllCheckboxRow(!1),i=s<r?i.slice(s,r+1):i.slice(r,s+1),this.handleCheckedCheckboxRow(i,!0,!1),void this.emitEvent("checkbox-range-select",Object.assign({rangeRecords:i},t),e)}}o&&!o({row:a})||(this.handleSelectRow(t,l),this.emitEvent("checkbox-change",Object.assign({records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords(),indeterminates:this.getCheckboxIndeterminateRecords(),checked:l},t),e))}},toggleCheckboxRow(e){var{selectCheckboxMaps:t,checkboxOpts:l}=this,l=l.checkField,l=l?!_xeUtils.default.get(e,l):!t[(0,_util.getRowid)(this,e)];return this.handleSelectRow({row:e},l,!0),this.$nextTick()},handleCheckedAllCheckboxRow(t,l){let{afterFullData:e,treeConfig:r,treeOpts:i,selectCheckboxMaps:o,checkboxReserveRowMap:s,checkboxOpts:a,afterFullRowMaps:n}=this,{checkField:d,reserve:h,checkStrictly:u,checkMethod:c}=a,g=a.indeterminateField||a.halfField;var f,p=i.children||i.childrenField;let x={};return r||_xeUtils.default.each(o,(e,t)=>{n[t]||(x[t]=e)}),u?this.isAllSelected=t:(d?(f=e=>{!l&&c&&!c({row:e})||(t&&(x[(0,_util.getRowid)(this,e)]=e),_xeUtils.default.set(e,d,t)),r&&g&&_xeUtils.default.set(e,g,!1)},r?_xeUtils.default.eachTree(e,f,{children:p}):e.forEach(f)):r?t?_xeUtils.default.eachTree(e,e=>{!l&&c&&!c({row:e})||(x[(0,_util.getRowid)(this,e)]=e)},{children:p}):!l&&c&&_xeUtils.default.eachTree(e,e=>{var t=(0,_util.getRowid)(this,e);!c({row:e})&&o[t]&&(x[t]=e)},{children:p}):t?!l&&c?e.forEach(e=>{var t=(0,_util.getRowid)(this,e);(o[t]||c({row:e}))&&(x[t]=e)}):e.forEach(e=>{x[(0,_util.getRowid)(this,e)]=e}):!l&&c&&e.forEach(e=>{var t=(0,_util.getRowid)(this,e);!c({row:e})&&o[t]&&(x[t]=e)}),h&&(t?_xeUtils.default.each(x,(e,t)=>{s[t]=e}):e.forEach(e=>this.handleCheckboxReserveRow(e,!1))),this.selectCheckboxMaps=d?{}:x),this.treeIndeterminateMaps={},this.treeIndeterminateRowMaps={},this.checkSelectionStatus(),this.$nextTick()},setAllCheckboxRow(e){return this.handleCheckedAllCheckboxRow(e,!0)},checkSelectionStatus(){let{afterFullData:o,selectCheckboxMaps:s,treeIndeterminateMaps:a,checkboxOpts:e,treeConfig:n}=this,{checkField:d,checkStrictly:t,checkMethod:h}=e,u=e.indeterminateField||e.halfField;if(!t){let t=[],l=[],e=!1,r=!1,i=!1;i=d?(e=o.every(h?e=>h({row:e})?!!_xeUtils.default.get(e,d)&&(l.push(e),!0):(t.push(e),!0):e=>_xeUtils.default.get(e,d)),r=e&&o.length!==t.length,n?u?!r&&o.some(e=>_xeUtils.default.get(e,d)||_xeUtils.default.get(e,u)||!!a[(0,_util.getRowid)(this,e)]):!r&&o.some(e=>_xeUtils.default.get(e,d)||!!a[(0,_util.getRowid)(this,e)]):u?!r&&o.some(e=>_xeUtils.default.get(e,d)||_xeUtils.default.get(e,u)):!r&&o.some(e=>_xeUtils.default.get(e,d))):(e=o.every(h?e=>h({row:e})?!!s[(0,_util.getRowid)(this,e)]&&(l.push(e),!0):(t.push(e),!0):e=>s[(0,_util.getRowid)(this,e)]),r=e&&o.length!==t.length,n?!r&&o.some(e=>{e=(0,_util.getRowid)(this,e);return a[e]||s[e]}):!r&&o.some(e=>s[(0,_util.getRowid)(this,e)])),this.isAllSelected=r,this.isIndeterminate=i}},handleReserveStatus(){var{expandColumn:e,treeOpts:t,treeConfig:l,fullDataRowIdData:r,fullAllDataRowMap:i,currentRow:o,selectRadioRow:s,radioReserveRow:a,radioOpts:n,checkboxOpts:d,selectCheckboxMaps:h,rowExpandedMaps:u,treeExpandedMaps:c,expandOpts:g}=this;s&&!i.has(s)&&(this.selectRadioRow=null),n.reserve&&a&&r[s=(0,_util.getRowid)(this,a)]&&this.handleCheckedRadioRow(r[s].row,!0),this.selectCheckboxMaps=getRecoverRowMaps(this,h),d.reserve&&this.handleCheckedCheckboxRow(handleReserveRow(this,this.checkboxReserveRowMap),!0,!0),o&&!i.has(o)&&(this.currentRow=null),this.rowExpandedMaps=e?getRecoverRowMaps(this,u):[],e&&g.reserve&&this.setRowExpand(handleReserveRow(this,this.rowExpandedReserveRowMap),!0),this.treeExpandedMaps=l?getRecoverRowMaps(this,c):[],l&&t.reserve&&this.setTreeExpand(handleReserveRow(this,this.treeExpandedReserveRowMap),!0)},getRadioReserveRecord(e){var{fullDataRowIdData:t,radioReserveRow:r,radioOpts:l,afterFullData:i,treeConfig:o,treeOpts:s}=this,s=s.children||s.childrenField;if(l.reserve&&r){let l=(0,_util.getRowid)(this,r);if(e){if(!t[l])return r}else{let t=(0,_util.getRowkey)(this);if(o){if(_xeUtils.default.findTree(i,e=>l===_xeUtils.default.get(e,t),{children:s}))return r}else if(!i.some(e=>l===_xeUtils.default.get(e,t)))return r}}return null},clearRadioReserve(){return this.radioReserveRow=null,this.$nextTick()},handleRadioReserveRow(e){var t=this.radioOpts;t.reserve&&(this.radioReserveRow=e)},getCheckboxReserveRecords(r){let{fullDataRowIdData:i,afterFullData:e,checkboxReserveRowMap:t,checkboxOpts:l,treeConfig:o,treeOpts:s}=this;var a=s.children||s.childrenField;let n=[];if(l.reserve){let l={};o?_xeUtils.default.eachTree(e,e=>{l[(0,_util.getRowid)(this,e)]=1},{children:a}):e.forEach(e=>{l[(0,_util.getRowid)(this,e)]=1}),_xeUtils.default.each(t,(e,t)=>{e&&(r?i[t]||n.push(e):l[t]||n.push(e))})}return n},clearCheckboxReserve(){return this.checkboxReserveRowMap={},this.$nextTick()},handleCheckboxReserveRow(e,t){var{checkboxReserveRowMap:l,checkboxOpts:r}=this;r.reserve&&(r=(0,_util.getRowid)(this,e),t?l[r]=e:l[r]&&delete l[r])},handleCheckAllEvent(e,t){this.handleCheckedAllCheckboxRow(t),e&&this.emitEvent("checkbox-all",{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords(),indeterminates:this.getCheckboxIndeterminateRecords(),checked:t},e)},triggerCheckAllEvent(e,t){var l=this.checkboxOpts,l=l.trigger;"manual"!==l&&(e&&e.stopPropagation(),this.handleCheckAllEvent(e,t))},toggleAllCheckboxRow(){return this.handleCheckAllEvent(null,!this.isAllSelected),this.$nextTick()},clearCheckboxRow(){let{tableFullData:e,treeConfig:t,treeOpts:l,checkboxOpts:r}=this,{checkField:i,reserve:o}=r;var s,a=l.children||l.childrenField;let n=r.indeterminateField||r.halfField;return i&&(s=e=>{t&&n&&_xeUtils.default.set(e,n,!1),_xeUtils.default.set(e,i,!1)},t?_xeUtils.default.eachTree(e,s,{children:a}):e.forEach(s)),o&&e.forEach(e=>this.handleCheckboxReserveRow(e,!1)),this.isAllSelected=!1,this.isIndeterminate=!1,this.selectCheckboxMaps={},this.treeIndeterminateMaps={},this.$nextTick()},handleDefaultRadioChecked(){var{radioOpts:e,fullDataRowIdData:t}=this,{checkRowKey:e,reserve:l}=e;e&&(t[e]&&this.handleCheckedRadioRow(t[e].row,!0),l)&&(t=(0,_util.getRowkey)(this),this.radioReserveRow={[t]:e})},triggerRadioRowEvent(l,r){var{selectRadioRow:i,radioOpts:o}=this,s=r.row,e=o.trigger;if("manual"!==e){l.stopPropagation();let e=s,t=i!==e;t?this.handleCheckedRadioRow(e):o.strict||(t=i===e)&&(e=null,this.clearRadioRow()),t&&this.emitEvent("radio-change",Object.assign({oldValue:i,newValue:e},r),l)}},triggerCurrentRowEvent(e,t){var l=this.currentRow,r=t.row,i=l!==r;this.setCurrentRow(r),i&&this.emitEvent("current-change",Object.assign({oldValue:l,newValue:r},t),e)},setCurrentRow(e){var{$el:t,rowOpts:l}=this;return this.clearCurrentRow(),this.currentRow=e,(l.isCurrent||this.highlightCurrentRow)&&t&&_xeUtils.default.arrayEach(t.querySelectorAll(`[rowid="${(0,_util.getRowid)(this,e)}"]`),e=>(0,_dom.addClass)(e,"row--current")),this.$nextTick()},isCheckedByRadioRow(e){return this.selectRadioRow===e},handleCheckedRadioRow(e,t){var l=this.radioOpts,l=l.checkMethod;return e&&(t||!l||l({row:e}))&&(this.selectRadioRow=e,this.handleRadioReserveRow(e)),this.$nextTick()},setRadioRow(e){return this.handleCheckedRadioRow(e,!0)},clearCurrentRow(){var e=this.$el;return this.currentRow=null,this.hoverRow=null,e&&_xeUtils.default.arrayEach(e.querySelectorAll(".row--current"),e=>(0,_dom.removeClass)(e,"row--current")),this.$nextTick()},clearRadioRow(){return this.selectRadioRow=null,this.$nextTick()},getCurrentRecord(){return this.rowOpts.isCurrent||this.highlightCurrentRow?this.currentRow:null},getRadioRecord(e){var{selectRadioRow:t,fullDataRowIdData:l,afterFullRowMaps:r}=this;if(t){var i=(0,_util.getRowid)(this,t);if(e){if(l[i])return t}else if(r[i])return t}return null},triggerHoverEvent(e,{row:t}){this.setHoverRow(t)},setHoverRow(e){var t=this.$el,l=(0,_util.getRowid)(this,e);this.clearHoverRow(),t&&_xeUtils.default.arrayEach(t.querySelectorAll(`[rowid="${l}"]`),e=>(0,_dom.addClass)(e,"row--hover")),this.hoverRow=e},clearHoverRow(){var e=this.$el;e&&_xeUtils.default.arrayEach(e.querySelectorAll(".vxe-body--row.row--hover"),e=>(0,_dom.removeClass)(e,"row--hover")),this.hoverRow=null},triggerHeaderCellClickEvent(e,t){var{_lastResizeTime:l,sortOpts:r}=this,i=t.column,o=e.currentTarget,l=l&&l>Date.now()-300,s=(0,_dom.getEventTargetNode)(e,o,"vxe-cell--sort").flag,a=(0,_dom.getEventTargetNode)(e,o,"vxe-cell--filter").flag;return"cell"!==r.trigger||l||s||a||this.triggerSortEvent(e,i,getNextSortOrder(this,i)),this.emitEvent("header-cell-click",Object.assign({triggerResizable:l,triggerSort:s,triggerFilter:a,cell:o},t),e),this.columnOpts.isCurrent||this.highlightCurrentColumn?this.setCurrentColumn(i):this.$nextTick()},triggerHeaderCellDblclickEvent(e,t){this.emitEvent("header-cell-dblclick",Object.assign({cell:e.currentTarget},t),e)},getCurrentColumn(){return this.columnOpts.isCurrent||this.highlightCurrentColumn?this.currentColumn:null},setCurrentColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e&&(this.clearCurrentColumn(),this.currentColumn=e),this.$nextTick()},clearCurrentColumn(){return this.currentColumn=null,this.$nextTick()},checkValidate(e){return this.triggerValidate?this.triggerValidate(e):this.$nextTick()},handleChangeCell(e,t){this.checkValidate("blur").catch(e=>e).then(()=>{this.handleEdit(t,e).then(()=>this.checkValidate("change")).catch(e=>e)})},triggerCellClickEvent(e,t){var{highlightCurrentRow:l,editStore:r,radioOpts:i,expandOpts:o,treeOpts:s,keyboardOpts:a,editConfig:n,editOpts:d,checkboxOpts:h,rowOpts:u}=this,{actived:r,focused:c}=r,{row:g,column:f}=t,{type:p,treeNode:x}=f,m="radio"===p,v="checkbox"===p,p="expand"===p,w=e.currentTarget,C=m&&(0,_dom.getEventTargetNode)(e,w,"vxe-cell--radio").flag,_=v&&(0,_dom.getEventTargetNode)(e,w,"vxe-cell--checkbox").flag,b=x&&(0,_dom.getEventTargetNode)(e,w,"vxe-tree--btn-wrapper").flag,R=p&&(0,_dom.getEventTargetNode)(e,w,"vxe-table--expanded").flag;t=Object.assign({cell:w,triggerRadio:C,triggerCheckbox:_,triggerTreeNode:b,triggerExpandNode:R},t),!_&&!C&&(!R&&("row"===o.trigger||p&&"cell"===o.trigger)&&this.triggerRowExpandEvent(e,t),"row"===s.trigger||x&&"cell"===s.trigger)&&this.triggerTreeExpandEvent(e,t),b||(R||(!u.isCurrent&&!l||_||C||this.triggerCurrentRowEvent(e,t),!C&&("row"===i.trigger||m&&"cell"===i.trigger)&&this.triggerRadioRowEvent(e,t),!_&&("row"===h.trigger||v&&"cell"===h.trigger)&&this.handleToggleCheckRowEvent(e,t)),(0,_utils.isEnableConf)(n)&&(a.arrowCursorLock&&e&&"cell"===d.mode&&e.target&&/^input|textarea$/i.test(e.target.tagName)&&(c.column=f,c.row=g),"manual"===d.trigger?r.args&&r.row===g&&f!==r.column&&this.handleChangeCell(e,t):r.args&&g===r.row&&f===r.column||("click"===d.trigger||"dblclick"===d.trigger&&"row"===d.mode&&r.row===g)&&this.handleChangeCell(e,t))),this.emitEvent("cell-click",t,e)},triggerCellDblclickEvent(e,t){var{editStore:l,editConfig:r,editOpts:i}=this,l=l.actived,o=e.currentTarget;t.cell=o,!(0,_utils.isEnableConf)(r)||"dblclick"!==i.trigger||l.args&&e.currentTarget===l.args.cell||("row"===i.mode?this.checkValidate("blur").catch(e=>e).then(()=>{this.handleEdit(t,e).then(()=>this.checkValidate("change")).catch(e=>e)}):"cell"===i.mode&&this.handleEdit(t,e).then(()=>this.checkValidate("change")).catch(e=>e)),this.emitEvent("cell-dblclick",t,e)},handleDefaultSort(){var{sortConfig:e,sortOpts:t}=this;let l=t.defaultSort;l&&(l=_xeUtils.default.isArray(l)?l:[l]).length&&((e.multiple?l:l.slice(0,1)).forEach((e,t)=>{var{field:e,order:l}=e;e&&l&&(e=this.getColumnByField(e))&&e.sortable&&(e.order=l,e.sortTime=Date.now()+t)}),t.remote||this.handleTableData(!0).then(this.updateStyle))},triggerSortEvent(e,t,l){var r=this.sortOpts,{field:i,sortable:o,remoteSort:s}=t;(o||s)&&(l&&t.order!==l?this.sort({field:i,order:l}):this.clearSort(r.multiple?t:null),o={$table:this,$event:e,column:t,field:i,property:i,order:t.order,sortList:this.getSortColumns(),sortTime:t.sortTime},this.mouseConfig&&this.mouseOpts.area&&this.handleSortEvent&&this.handleSortEvent(e,o),this.emitEvent("sort-change",o,e))},setPendingRow(e,t){let l=Object.assign({},this.pendingRowMaps),r=[...this.pendingRowList];return e&&!_xeUtils.default.isArray(e)&&(e=[e]),t?e.forEach(e=>{var t=(0,_util.getRowid)(this,e);t&&!l[t]&&(r.push(e),l[t]=e)}):e.forEach(e=>{var t=(0,_util.getRowid)(this,e);t&&l[t]&&(-1<(e=this.findRowIndexOf(r,e))&&r.splice(e,1),delete l[t])}),this.pendingRowMaps=l,this.pendingRowList=r,this.$nextTick()},togglePendingRow(e){let r=Object.assign({},this.pendingRowMaps),i=[...this.pendingRowList];return(e=e&&!_xeUtils.default.isArray(e)?[e]:e).forEach(e=>{var t,l=(0,_util.getRowid)(this,e);l&&(r[l]?(-1<(t=this.findRowIndexOf(i,e))&&i.splice(t,1),delete r[l]):(i.push(e),r[l]=e))}),this.pendingRowMaps=r,this.pendingRowList=i,this.$nextTick()},getPendingRecords(){return this.pendingRowList.slice(0)},hasPendingByRow(e){var t=this.pendingRowMaps;return!!t[(0,_util.getRowid)(this,e)]},clearPendingRow(){return this.pendingRowMaps={},this.pendingRowList=[],this.$nextTick()},sort(e,t){var l=this.sortOpts;let{multiple:r,remote:i,orders:s}=l;if(e&&_xeUtils.default.isString(e)&&(e=[{field:e,order:t}]),(e=_xeUtils.default.isArray(e)?e:[e]).length){let o;return r||clearAllSort(this),(r?e:[e[0]]).forEach((e,t)=>{let{field:l,order:r}=e,i=l;(i=_xeUtils.default.isString(l)?this.getColumnByField(l):i)&&(i.sortable||i.remoteSort)&&(o=o||i,-1===s.indexOf(r)&&(r=getNextSortOrder(this,i)),i.order!==r&&(i.order=r),i.sortTime=Date.now()+t)}),(!i||o&&o.remoteSort)&&this.handleTableData(!0),this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle()))}return this.$nextTick()},clearSort(e){var t=this.sortOpts;return e?(e=(0,_util.handleFieldOrColumn)(this,e))&&(e.order=null):clearAllSort(this),t.remote||this.handleTableData(!0),this.$nextTick().then(this.updateStyle)},getSortColumn(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getSortColumn","getSortColumns"]),_xeUtils.default.find(this.tableFullColumn,e=>(e.sortable||e.remoteSort)&&e.order)},isSort(e){return e?(e=(0,_util.handleFieldOrColumn)(this,e))&&e.sortable&&!!e.order:0<this.getSortColumns().length},getSortColumns(){var{multiple:e,chronological:t}=this.sortOpts;let r=[];return this.tableFullColumn.forEach(e=>{var{field:t,order:l}=e;(e.sortable||e.remoteSort)&&l&&r.push({column:e,field:t,property:t,order:l,sortTime:e.sortTime})}),e&&t&&1<r.length?_xeUtils.default.orderBy(r,"sortTime"):r},closeFilter(){var e=this.filterStore,{column:t,visible:l}=e;return Object.assign(e,{isAllSelected:!1,isIndeterminate:!1,options:[],visible:!1}),l&&this.emitEvent("filter-visible",{column:t,field:t.field,property:t.field,filterList:this.getCheckedFilters(),visible:!1},null),this.$nextTick()},isActiveFilterByColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e?e.filters&&e.filters.some(e=>e.checked):0<this.getCheckedFilters().length},isFilter(e){return this.isActiveFilterByColumn(e)},isRowExpandLoaded(e){e=this.fullAllDataRowMap.get(e);return e&&e.expandLoaded},clearRowExpandLoaded(e){var{expandOpts:t,rowExpandLazyLoadedMaps:l,fullAllDataRowMap:r}=this,t=t.lazy,i=(0,_util.getRowid)(this,e),r=r.get(e);return t&&r&&(r.expandLoaded=!1,(e=Object.assign({},l))[i]&&delete e[i],this.rowExpandLazyLoadedMaps=e),this.$nextTick()},reloadRowExpand(e){var{expandOpts:t,rowExpandLazyLoadedMaps:l}=this,t=t.lazy,r=(0,_util.getRowid)(this,e);return t&&!l[r]&&this.clearRowExpandLoaded(e).then(()=>this.handleAsyncRowExpand(e)),this.$nextTick()},reloadExpandContent(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["reloadExpandContent","reloadRowExpand"]),this.reloadRowExpand(e)},triggerRowExpandEvent(e,t){var{expandOpts:l,rowExpandLazyLoadedMaps:r,expandColumn:i}=this,t=t.row,{lazy:l,trigger:o}=l;"manual"===o||(e.stopPropagation(),o=(0,_util.getRowid)(this,t),l&&r[o])||(l=!this.isRowExpandByRow(t),r=this.getColumnIndex(i),o=this.getVMColumnIndex(i),this.setRowExpand(t,l),this.emitEvent("toggle-row-expand",{expanded:l,column:i,columnIndex:r,$columnIndex:o,row:t,rowIndex:this.getRowIndex(t),$rowIndex:this.getVMRowIndex(t)},e))},toggleRowExpand(e){return this.setRowExpand(e,!this.isRowExpandByRow(e))},handleDefaultRowExpand(){let{expandOpts:e,fullDataRowIdData:l}=this;var{expandAll:t,expandRowKeys:r}=e;if(t)this.setAllRowExpand(!0);else if(r){let t=[];r.forEach(e=>{l[e]&&t.push(l[e].row)}),this.setRowExpand(t,!0)}},setAllRowExpand(e){var{treeConfig:t,treeOpts:l,tableFullData:r,tableFullTreeData:i}=this,l=l.children||l.childrenField;let o=[];return t?_xeUtils.default.eachTree(i,e=>{o.push(e)},{children:l}):o=r,this.setRowExpand(o,e)},handleAsyncRowExpand(i){let{fullAllDataRowMap:e,expandOpts:t}=this,o=e.get(i);return new Promise(l=>{var e=t.loadMethod;if(e){var r=this.rowExpandLazyLoadedMaps,r=Object.assign({},r);let t=(0,_util.getRowid)(this,i);r[t]=i,this.rowExpandLazyLoadedMaps=r,e({$table:this,row:i,rowIndex:this.getRowIndex(i),$rowIndex:this.getVMRowIndex(i)}).then(()=>{o.expandLoaded=!0;var e=this.rowExpandedMaps,e=Object.assign({},e);e[t]=i,this.rowExpandedMaps=e}).catch(()=>{o.expandLoaded=!1}).finally(()=>{var e=this.rowExpandLazyLoadedMaps,e=Object.assign({},e);e[t]&&delete e[t],this.rowExpandLazyLoadedMaps=e,l(this.$nextTick().then(this.recalculate))})}else l()})},setRowExpand(e,t){let{rowExpandedMaps:l,fullAllDataRowIdData:r,rowExpandLazyLoadedMaps:i,expandOpts:o,expandColumn:s}=this,a=Object.assign({},l),{reserve:n,lazy:d,accordion:h,toggleMethod:u}=o,c=[],g=this.getColumnIndex(s),f=this.getVMColumnIndex(s);return e&&(_xeUtils.default.isArray(e)||(e=[e]),h&&(a={},e=e.slice(e.length-1,e.length)),e=u?e.filter(e=>u({expanded:t,column:s,columnIndex:g,$columnIndex:f,row:e,rowIndex:this.getRowIndex(e),$rowIndex:this.getVMRowIndex(e)})):e,t?e.forEach(e=>{var t,l=(0,_util.getRowid)(this,e);a[l]||(t=r[l],d&&!t.expandLoaded&&!i[l]?c.push(this.handleAsyncRowExpand(e)):a[l]=e)}):e.forEach(e=>{e=(0,_util.getRowid)(this,e);a[e]&&delete a[e]}),n)&&e.forEach(e=>this.handleRowExpandReserve(e,t)),this.rowExpandedMaps=a,Promise.all(c).then(this.recalculate)},isRowExpandByRow(e){var t=this.rowExpandedMaps;return!!t[(0,_util.getRowid)(this,e)]},isExpandByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isExpandByRow","isRowExpandByRow"]),this.isRowExpandByRow(e)},clearRowExpand(){var{expandOpts:e,tableFullData:t}=this,e=e.reserve;let l=this.getRowExpandRecords();return this.rowExpandedMaps={},e&&t.forEach(e=>this.handleRowExpandReserve(e,!1)),this.$nextTick().then(()=>{l.length&&this.recalculate()})},clearRowExpandReserve(){return this.rowExpandedReserveRowMap={},this.$nextTick()},handleRowExpandReserve(e,t){var{rowExpandedReserveRowMap:l,expandOpts:r}=this;r.reserve&&(r=(0,_util.getRowid)(this,e),t?l[r]=e:l[r]&&delete l[r])},getRowExpandRecords(){let t=[];return _xeUtils.default.each(this.rowExpandedMaps,e=>{e&&t.push(e)}),t},getTreeExpandRecords(){let t=[];return _xeUtils.default.each(this.treeExpandedMaps,e=>{e&&t.push(e)}),t},getTreeStatus(){return this.treeConfig?{config:this.treeOpts,rowExpandeds:this.getTreeExpandRecords()}:null},isTreeExpandLoaded(e){e=this.fullAllDataRowMap.get(e);return e&&e.treeLoaded},clearTreeExpandLoaded(e){var{treeOpts:t,treeExpandedMaps:l,fullAllDataRowMap:r}=this,{transform:t,lazy:i}=t,o=(0,_util.getRowid)(this,e),r=r.get(e);return i&&r&&(r.treeLoaded=!1,l[o])&&delete l[o],t?(this.handleVirtualTreeToList(),this.handleTableData()):this.$nextTick()},reloadTreeExpand(e){var{treeOpts:t,treeExpandLazyLoadedMaps:l}=this;let{transform:r,lazy:i}=t;var t=t.hasChild||t.hasChildField,o=(0,_util.getRowid)(this,e);return i&&e[t]&&!l[o]&&this.clearTreeExpandLoaded(e).then(()=>this.handleAsyncTreeExpandChilds(e)).then(()=>{if(r)return this.handleVirtualTreeToList(),this.handleTableData()}).then(()=>this.recalculate()),this.$nextTick()},reloadTreeChilds(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["reloadTreeChilds","reloadTreeExpand"]),this.reloadTreeExpand(e)},triggerTreeExpandEvent(e,t){var{treeOpts:l,treeExpandLazyLoadedMaps:r}=this,{row:t,column:i}=t,{lazy:l,trigger:o}=l;"manual"===o||(e.stopPropagation(),o=(0,_util.getRowid)(this,t),l&&r[o])||(l=!this.isTreeExpandByRow(t),r=this.getColumnIndex(i),o=this.getVMColumnIndex(i),this.setTreeExpand(t,l),this.emitEvent("toggle-tree-expand",{expanded:l,column:i,columnIndex:r,$columnIndex:o,row:t},e))},toggleTreeExpand(e){return this.setTreeExpand(e,!this.isTreeExpandByRow(e))},handleDefaultTreeExpand(){let{treeConfig:e,treeOpts:t,tableFullData:o}=this;if(e){var{expandAll:l,expandRowKeys:s}=t;let i=t.children||t.childrenField;if(l)this.setAllTreeExpand(!0);else if(s){let l=[],r=(0,_util.getRowkey)(this);s.forEach(t=>{var e=_xeUtils.default.findTree(o,e=>t===_xeUtils.default.get(e,r),{children:i});e&&l.push(e.item)}),this.setTreeExpand(l,!0)}}},handleAsyncTreeExpandChilds(o){var{treeOpts:e,checkboxOpts:t}=this;let{transform:s,loadMethod:a}=e,n=t.checkStrictly;return new Promise(i=>{if(a){let{fullAllDataRowMap:e,treeExpandLazyLoadedMaps:t}=this,l=(0,_util.getRowid)(this,o),r=e.get(o);t[l]=o,a({$table:this,row:o}).then(e=>{if(r.treeLoaded=!0,t[l]&&(t[l]=null),e=_xeUtils.default.isArray(e)?e:[])return this.loadTreeChildren(o,e).then(e=>{var t=this.treeExpandedMaps,t=Object.assign({},t);return e.length&&!t[l]&&(t[l]=o,this.treeExpandedMaps=t),!n&&this.isCheckedByCheckboxRow(o)&&this.handleCheckedCheckboxRow(e,!0,!0),this.$nextTick().then(()=>{if(s)return this.handleTableData()})})}).catch(()=>{r.treeLoaded=!1;var e=this.treeExpandLazyLoadedMaps;e[l]&&(e[l]=null)}).finally(()=>{this.$nextTick().then(()=>this.recalculate()).then(()=>i())})}else i()})},setAllTreeExpand(e){var{tableFullData:t,treeOpts:l}=this;let r=l.lazy,i=l.children||l.childrenField,o=[];return _xeUtils.default.eachTree(t,e=>{var t=e[i];(r||t&&t.length)&&o.push(e)},{children:i}),this.setTreeExpand(o,e)},handleBaseTreeExpand(e,t){let{fullAllDataRowMap:r,tableFullData:l,treeExpandedMaps:i,treeOpts:o,treeExpandLazyLoadedMaps:s,treeNodeColumn:a}=this,{reserve:n,lazy:d,accordion:h,toggleMethod:u}=o,c=Object.assign({},i),g=o.children||o.childrenField,f=o.hasChild||o.hasChildField,p=[],x=this.getColumnIndex(a),m=this.getVMColumnIndex(a),v=u?e.filter(e=>u({expanded:t,column:a,columnIndex:x,$columnIndex:m,row:e})):e;return h&&(v=v.length?[v[v.length-1]]:[],e=_xeUtils.default.findTree(l,e=>e===v[0],{children:g}))&&e.items.forEach(e=>{e=(0,_util.getRowid)(this,e);c[e]&&delete c[e]}),t?v.forEach(e=>{var t,l=(0,_util.getRowid)(this,e);c[l]||(t=r.get(e),d&&e[f]&&!t.treeLoaded&&!s[l]?p.push(this.handleAsyncTreeExpandChilds(e)):e[g]&&e[g].length&&(c[l]=e))}):v.forEach(e=>{e=(0,_util.getRowid)(this,e);c[e]&&delete c[e]}),n&&v.forEach(e=>this.handleTreeExpandReserve(e,t)),this.treeExpandedMaps=c,Promise.all(p).then(this.recalculate)},handleVirtualTreeExpand(e,t){return this.handleBaseTreeExpand(e,t).then(()=>(this.handleVirtualTreeToList(),this.handleTableData())).then(()=>this.recalculate())},setTreeExpand(e,t){var l=this.treeOpts,l=l.transform;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).length?l?this.handleVirtualTreeExpand(e,t):this.handleBaseTreeExpand(e,t):this.$nextTick()},isTreeExpandByRow(e){var t=this.treeExpandedMaps;return!!t[(0,_util.getRowid)(this,e)]},clearTreeExpand(){var{treeOpts:e,tableFullData:t}=this;let{transform:l,reserve:r}=e;e=e.children||e.childrenField;let i=this.getTreeExpandRecords();return this.treeExpandedMaps={},r&&_xeUtils.default.eachTree(t,e=>this.handleTreeExpandReserve(e,!1),{children:e}),this.handleTableData().then(()=>{if(l)return this.handleVirtualTreeToList(),this.handleTableData()}).then(()=>{i.length&&this.recalculate()})},clearTreeExpandReserve(){return this.treeExpandedReserveRowMap={},this.$nextTick()},handleTreeExpandReserve(e,t){var{treeExpandedReserveRowMap:l,treeOpts:r}=this;r.reserve&&(r=(0,_util.getRowid)(this,e),t?l[r]=e:l[r]&&delete l[r])},getScroll(){var{$refs:e,scrollXLoad:t,scrollYLoad:l}=this,e=e.tableBody.$el;return{virtualX:t,virtualY:l,scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}},triggerScrollXEvent(){this.loadScrollXData()},loadScrollXData(){var{mergeList:e,mergeFooterList:t,scrollXStore:l}=this,{startIndex:r,endIndex:i,offsetSize:o}=l,{toVisibleIndex:s,visibleSize:a}=computeVirtualX(this),o={startIndex:Math.max(0,s-1-o),endIndex:s+a+o},{startIndex:e,endIndex:t}=(calculateMergerOffserIndex(e.concat(t),o,"col"),o);!(s<=r||i-a-1<=s)||r===e&&i===t||(l.startIndex=e,l.endIndex=t,this.updateScrollXData()),this.closeTooltip()},triggerScrollYEvent(e){var t=this.scrollYStore,{adaptive:t,offsetSize:l,visibleSize:r}=t;isWebkit&&t&&2*l+r<=40?this.loadScrollYData(e):this.debounceScrollY(e)},debounceScrollY:_xeUtils.default.debounce(function(e){this.loadScrollYData(e)},debounceScrollYDuration,{leading:!1,trailing:!0}),loadScrollYData(e){var{mergeList:t,scrollYStore:l}=this,{startIndex:r,endIndex:i,visibleSize:o,offsetSize:s,rowHeight:a}=l,e=(e.currentTarget||e.target).scrollTop,e=Math.floor(e/a),a={startIndex:Math.max(0,e-1-s),endIndex:e+o+s},{startIndex:s,endIndex:t}=(calculateMergerOffserIndex(t,a,"row"),a);!(e<=r||i-o-1<=e)||r===s&&i===t||(l.startIndex=s,l.endIndex=t,this.updateScrollYData())},computeScrollLoad(){return this.$nextTick().then(()=>{var{sYOpts:e,sXOpts:t,scrollXLoad:l,scrollYLoad:r,scrollXStore:i,scrollYStore:o}=this,{rowHeight:l,visibleSize:t}=(l?(l=computeVirtualX(this).visibleSize,t=t.oSize?_xeUtils.default.toNumber(t.oSize):_dom.browse.msie?10:_dom.browse.edge?5:0,i.offsetSize=t,i.visibleSize=l,i.endIndex=Math.max(i.startIndex+i.visibleSize+t,i.endIndex),this.updateScrollXData()):this.updateScrollXSpace(),computeVirtualY(this));o.rowHeight=l,r?(i=e.oSize?_xeUtils.default.toNumber(e.oSize):_dom.browse.msie?20:_dom.browse.edge?10:0,o.offsetSize=i,o.visibleSize=t,o.endIndex=Math.max(o.startIndex+t+i,o.endIndex),this.updateScrollYData()):this.updateScrollYSpace(),this.rowHeight=l,this.$nextTick(this.updateStyle)})},handleTableColumn(){var{scrollXLoad:e,visibleColumn:t,scrollXStore:l}=this;this.tableColumn=e?t.slice(l.startIndex,l.endIndex):t.slice(0)},updateScrollXData(){this.$nextTick(()=>{this.handleTableColumn(),this.updateScrollXSpace()})},updateScrollXSpace(){let{$refs:e,isGroup:t,elemStore:r,visibleColumn:l,scrollXStore:i,scrollXLoad:o,tableWidth:s,scrollbarWidth:a}=this;var{tableHeader:n,tableBody:d,tableFooter:h}=e,d=d?d.$el:null;if(d){var n=n?n.$el:null,h=h?h.$el:null,n=n?n.querySelector(".vxe-table--header"):null,d=d.querySelector(".vxe-table--body"),h=h?h.querySelector(".vxe-table--footer"):null,u=l.slice(0,i.startIndex).reduce((e,t)=>e+t.renderWidth,0);let e="";o&&(e=u+"px"),n&&(n.style.marginLeft=t?"":e),d.style.marginLeft=e,h&&(h.style.marginLeft=e),["main"].forEach(l=>{["header","body","footer"].forEach(e=>{var t=r[l+`-${e}-xSpace`];t&&(t.style.width=o?s+("header"===e?a:0)+"px":"")})}),this.$nextTick(this.updateStyle)}},updateScrollYData(){this.$nextTick(()=>{this.handleTableData(),this.updateScrollYSpace()})},updateScrollYSpace(){let{elemStore:l,scrollYStore:e,scrollYLoad:t,afterFullData:r}=this;var{startIndex:i,rowHeight:o}=e,s=r.length*o,i=Math.max(0,i*o);let a="",n="";t&&(a=i+"px",n=s+"px"),["main","left","right"].forEach(t=>{var e=l[t+"-body-table"];e&&(e.style.marginTop=a),["header","body","footer"].forEach(e=>{e=l[t+`-${e}-ySpace`];e&&(e.style.height=n)})}),this.$nextTick(this.updateStyle)},scrollTo(e,t){var l=this.$refs,{tableBody:l,rightBody:r,tableFooter:i}=l,l=l?l.$el:null,r=r?r.$el:null,i=i?i.$el:null;return _xeUtils.default.isNumber(e)&&(0,_dom.setScrollLeft)(i||l,e),_xeUtils.default.isNumber(t)&&(0,_dom.setScrollTop)(r||l,t),this.scrollXLoad||this.scrollYLoad?new Promise(e=>setTimeout(()=>e(this.$nextTick()),50)):this.$nextTick()},scrollToRow(e,t){var l=[];return e&&(this.treeConfig?l.push(this.scrollToTreeRow(e)):l.push((0,_util.rowToVisible)(this,e))),t&&l.push(this.scrollToColumn(t)),Promise.all(l)},scrollToColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e&&this.fullColumnMap.has(e)?(0,_util.colToVisible)(this,e):this.$nextTick()},scrollToTreeRow(t){var{tableFullData:e,treeConfig:r,treeOpts:l}=this,l=l.children||l.childrenField;let i=[];if(r){r=_xeUtils.default.findTree(e,e=>e===t,{children:l});if(r){let l=r.nodes;l.forEach((e,t)=>{t<l.length-1&&!this.isTreeExpandByRow(e)&&i.push(this.setTreeExpand(e,!0))})}}return Promise.all(i).then(()=>(0,_util.rowToVisible)(this,t))},clearScroll(){var{$refs:e,scrollXStore:t,scrollYStore:l}=this,{tableBody:e,rightBody:r,tableFooter:i}=e,e=e?e.$el:null,r=r?r.$el:null,i=i?i.$el:null;return r&&((0,_util.restoreScrollListener)(r),r.scrollTop=0),i&&(i.scrollLeft=0),e&&((0,_util.restoreScrollListener)(e),e.scrollTop=0,e.scrollLeft=0),t.startIndex=0,t.endIndex=t.visibleSize,l.startIndex=0,l.endIndex=l.visibleSize,this.$nextTick()},updateFooter(){var{showFooter:e,visibleColumn:t,footerData:l,footerMethod:r}=this;let i=[];return e&&l&&l.length?i=l.slice(0):e&&r&&(i=t.length?r({columns:t,data:this.afterFullData,$table:this,$grid:this.$xegrid}):[]),this.footerTableData=i,this.$nextTick()},updateStatus(o,s){let a=!_xeUtils.default.isUndefined(s);return this.$nextTick().then(()=>{let{$refs:e,editRules:t,validStore:i}=this;var l=e.tableBody;if(o&&l&&t){let{row:l,column:r}=o;if(this.hasCellRules&&this.hasCellRules("change",l,r)){let t=this.getCellElement(l,r);if(t)return this.validCellRules("change",l,r,s).then(()=>{a&&i.visible&&(0,_util.setCellValue)(l,r,s),this.clearValidate(l,r)}).catch(({rule:e})=>{a&&(0,_util.setCellValue)(l,r,s),this.showValidTooltip({rule:e,row:l,column:r,cell:t})})}}})},handleDefaultMergeCells(){this.setMergeCells(this.mergeCells)},setMergeCells(e){return this.spanMethod&&(0,_log.errLog)("vxe.error.errConflicts",["merge-cells","span-method"]),setMerges(this,e,this.mergeList,this.afterFullData),this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle()))},removeMergeCells(e){this.spanMethod&&(0,_log.errLog)("vxe.error.errConflicts",["merge-cells","span-method"]);let t=removeMerges(this,e,this.mergeList,this.afterFullData);return this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle(),t))},getMergeCells(){return this.mergeList.slice(0)},clearMergeCells(){return this.mergeList=[],this.$nextTick().then(()=>this.updateStyle())},handleDefaultMergeFooterItems(){this.setMergeFooterItems(this.mergeFooterItems)},setMergeFooterItems(e){return this.footerSpanMethod&&(0,_log.errLog)("vxe.error.errConflicts",["merge-footer-items","footer-span-method"]),setMerges(this,e,this.mergeFooterList,null),this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle()))},removeMergeFooterItems(e){this.footerSpanMethod&&(0,_log.errLog)("vxe.error.errConflicts",["merge-footer-items","footer-span-method"]);let t=removeMerges(this,e,this.mergeFooterList,null);return this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle(),t))},getMergeFooterItems(){return this.mergeFooterList.slice(0)},clearMergeFooterItems(){return this.mergeFooterList=[],this.$nextTick().then(()=>this.updateStyle())},updateZindex(){this.zIndex?this.tZindex=this.zIndex:this.tZindex<(0,_utils.getLastZIndex)()&&(this.tZindex=(0,_utils.nextZIndex)())},updateCellAreas(){return this.mouseConfig&&this.mouseOpts.area&&this.handleUpdateCellAreas?this.handleUpdateCellAreas():this.$nextTick()},emitEvent(e,t,l){this.$emit(e,Object.assign({$table:this,$grid:this.$xegrid,$event:l},t))},focus(){return this.isActivated=!0,this.$nextTick()},blur(){return this.isActivated=!1,this.$nextTick()},connect(e){return e&&e.syncUpdate?(e.syncUpdate({collectColumn:this.collectColumn,$table:this}),this.$toolbar=e):(0,_log.errLog)("vxe.error.barUnableLink"),this.$nextTick()},getCell(e,t){return this.getCellElement(e,t)},findRowIndexOf(e,t){return t?_xeUtils.default.findIndexOf(e,e=>this.eqRow(e,t)):-1},eqRow(e,t){return!(!e||!t||e!==t&&(0,_util.getRowid)(this,e)!==(0,_util.getRowid)(this,t))},getSetupOptions(){return getConfig()}},funcs="setFilter,openFilter,clearFilter,getCheckedFilters,updateFilterOptionStatus,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFNR,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,insertNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,openExport,openPrint,getPrintHtml,exportData,openImport,importData,saveFile,readFile,importByFile,print,openCustom,closeCustom".split(",");funcs.forEach(t=>{Methods[t]=function(...e){return"development"!==process.env.NODE_ENV||this["_"+t]||("openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print".split(",").includes(t)?(0,_log.errLog)("vxe.error.reqModule",["VxeTableExportModule"]):"fullValidate,validate".split(",").includes(t)?(0,_log.errLog)("vxe.error.reqModule",["VxeTableValidatorModule"]):"setFilter,openFilter,clearFilter,getCheckedFilters".split(",").includes(t)?(0,_log.errLog)("vxe.error.reqModule",["VxeTableFilterModule"]):"insert,insertAt,insertNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell".split(",").includes(t)?(0,_log.errLog)("vxe.error.reqModule",["VxeTableEditModule"]):"openCustom".split(",").includes(t)&&(0,_log.errLog)("vxe.error.reqModule",["VxeTableCustomModule"])),this["_"+t]?this["_"+t](...e):null}});var _default=exports.default=Methods;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_cell=_interopRequireDefault(require("./cell")),_util=require("./util"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,renderer,formats,interceptor}=_ui.VxeUI,isWebkit=_dom.browse["-webkit"]&&!_dom.browse.edge,debounceScrollYDuration=_dom.browse.msie?80:20,customStorageKey="VXE_CUSTOM_STORE",getColumnList=e=>{let t=[];return e.forEach(e=>{t.push(...e.children&&e.children.length?getColumnList(e.children):[e])}),t};function eqCellValue(e,t,l){e=_xeUtils.default.get(e,l),t=_xeUtils.default.get(t,l);return!(!(0,_utils.eqEmptyValue)(e)||!(0,_utils.eqEmptyValue)(t))||(_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e)?""+e==""+t:_xeUtils.default.isEqual(e,t))}function getNextSortOrder(e,t){e=e.sortOpts.orders,t=t.order||null,t=e.indexOf(t)+1;return e[t<e.length?t:0]}let getCustomStorageMap=e=>{var t=getConfig().version,l=_xeUtils.default.toStringJSON(localStorage.getItem(customStorageKey)||""),l=l&&l._v===t?l:{_v:t};return(e?l[e]:l)||{}},setCustomStorageMap=(e,t)=>{var l=getConfig().version,r=getCustomStorageMap();r[e]=t||void 0,r._v=l,localStorage.setItem(customStorageKey,_xeUtils.default.toJSONString(r))},getRecoverRowMaps=(e,t)=>{let l=e.fullAllDataRowIdData,r={};return _xeUtils.default.each(t,(e,t)=>{l[t]&&(r[t]=e)}),r};function handleReserveRow(e,t){let l=e.fullDataRowIdData,r=[];return _xeUtils.default.each(t,(e,t)=>{l[t]&&-1===r.indexOf(l[t].row)&&r.push(l[t].row)}),r}function computeVirtualX(e){var{$refs:e,visibleColumn:o}=e,e=e.tableBody,e=e?e.$el:null;if(e){var{scrollLeft:s,clientWidth:e}=e,a=s+e;let l=-1,r=0,i=0;for(let e=0,t=o.length;e<t&&(r+=o[e].renderWidth,!(0<=(l=-1===l&&s<r?e:l)&&(i++,r>a)));e++);return{toVisibleIndex:Math.max(0,l),visibleSize:Math.max(6,i)}}return{toVisibleIndex:0,visibleSize:6}}function computeVirtualY(l){var{$refs:l,computeSize:r,rowHeightMaps:i}=l,{tableHeader:l,tableBody:o}=l,o=o?o.$el:null;if(o){l=l?l.$el:null;let e=0,t;!(t=o.querySelector("tr"))&&l&&(t=l.querySelector("tr")),e=(e=t?t.clientHeight:e)||i[r||"default"];l=Math.max(8,Math.ceil(o.clientHeight/e)+2);return{rowHeight:e,visibleSize:l}}return{rowHeight:0,visibleSize:8}}function calculateMergerOffsetIndex(l,r,i){for(let e=0,t=l.length;e<t;e++){var o=l[e],{startIndex:s,endIndex:a}=r,n=o[i],o=n+o[i+"span"];n<s&&s<o&&(r.startIndex=n),n<a&&a<o&&(r.endIndex=o),r.startIndex===s&&r.endIndex===a||(e=-1)}}function setMerges(t,l,a,n){if(l){let{treeConfig:e,visibleColumn:s}=t;_xeUtils.default.isArray(l)||(l=[l]),e&&l.length&&(0,_log.errLog)("vxe.error.noTree",["merge-cells | merge-footer-items"]),l.forEach(e=>{let{row:t,col:l,rowspan:r,colspan:i}=e;var o;n&&_xeUtils.default.isNumber(t)&&(t=n[t]),_xeUtils.default.isNumber(l)&&(l=s[l]),(n?t:_xeUtils.default.isNumber(t))&&l&&(r||i)&&(r=_xeUtils.default.toNumber(r)||1,i=_xeUtils.default.toNumber(i)||1,1<r||1<i)&&(e=_xeUtils.default.findIndexOf(a,e=>e._row===t&&e._col===l),(e=a[e])?(e.rowspan=r,e.colspan=i,e._rowspan=r,e._colspan=i):(e=n?n.indexOf(t):t,o=s.indexOf(l),a.push({row:e,col:o,rowspan:r,colspan:i,_row:t,_col:l,_rowspan:r,_colspan:i})))})}}function removeMerges(t,l,i,o){let s=[];if(l){let{treeConfig:e,visibleColumn:r}=t;_xeUtils.default.isArray(l)||(l=[l]),e&&l.length&&(0,_log.errLog)("vxe.error.noTree",["merge-cells | merge-footer-items"]),l.forEach(e=>{let{row:t,col:l}=e;o&&_xeUtils.default.isNumber(t)&&(t=o[t]),_xeUtils.default.isNumber(l)&&(l=r[l]);var e=_xeUtils.default.findIndexOf(i,e=>e._row===t&&e._col===l);-1<e&&(e=i.splice(e,1),s.push(e[0]))})}return s}function clearAllSort(e){e.tableFullColumn.forEach(e=>{e.order=null})}function calcHeight(e,t){var l=e.parentHeight,t=e[t];let r=0;return r=t?"100%"===t||"auto"===t?l:(e=e.getExcludeHeight(),r=(0,_dom.isScale)(t)?Math.floor((_xeUtils.default.toInteger(t)||1)/100*l):_xeUtils.default.toNumber(t),Math.max(40,r-e)):r}function getOrderField(l,r){let{sortBy:i,sortType:o}=r;return e=>{let t;return t=i?_xeUtils.default.isFunction(i)?i({row:e,column:r}):_xeUtils.default.get(e,i):l.getCellLabel(e,r),o&&"auto"!==o?"number"===o?_xeUtils.default.toNumber(t):"string"===o?_xeUtils.default.toValueString(t):t:isNaN(t)?t:_xeUtils.default.toNumber(t)}}let Methods={callSlot(e,t,l,r){if(e){var i=this.$xegrid;if(i)return i.callSlot(e,t,l,r);if(_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,l,r))}return[]},getParentElem(){var{$el:e,$xegrid:t}=this;return(t?t.$el:e).parentNode},getParentHeight(){var{$el:e,$xegrid:t,height:l}=this,e=e.parentNode,l="100%"===l||"auto"===l?(0,_dom.getPaddingTopBottomSize)(e):0;return Math.floor(t?t.getParentHeight():_xeUtils.default.toNumber(getComputedStyle(e).height)-l)},getExcludeHeight(){var e=this.$xegrid;return e?e.getExcludeHeight():0},clearAll(){return(0,_util.clearTableAllStatus)(this)},syncData(){return(0,_log.warnLog)("vxe.error.delFunc",["syncData","getData"]),this.$nextTick().then(()=>(this.tableData=[],this.$nextTick().then(()=>this.loadTableData(this.tableFullData))))},updateData(){let{scrollXLoad:e,scrollYLoad:t}=this;return this.handleTableData(!0).then(()=>{if(this.updateFooter(),this.checkSelectionStatus(),e||t)return e&&this.updateScrollXSpace(),t&&this.updateScrollYSpace(),this.refreshScroll()}).then(()=>(this.updateCellAreas(),this.recalculate(!0))).then(()=>{setTimeout(()=>this.recalculate(),50)})},handleTableData(e){let{scrollYLoad:t,scrollYStore:l,fullDataRowIdData:r,afterFullData:i}=this,o=i;e&&(this.updateAfterFullData(),o=this.handleVirtualTreeToList());e=t?o.slice(l.startIndex,l.endIndex):o.slice(0);return e.forEach((e,t)=>{e=(0,_util.getRowid)(this,e),e=r[e];e&&(e.$index=t)}),this.tableData=e,this.$nextTick()},updateScrollYStatus(e){var{treeConfig:t,treeOpts:l,sYOpts:r}=this,l=l.transform,e=e||this.tableFullData,l=(l||!t)&&!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length);return this.scrollYLoad=l},loadTableData(e){let{keepSource:t,treeConfig:l,treeOpts:r,editStore:i,scrollYStore:o,scrollXStore:s,lastScrollLeft:a,lastScrollTop:n,scrollYLoad:d,sXOpts:h,sYOpts:u}=this;var c=r.children||r.childrenField;let g=[],f=e?e.slice(0):[],p=(l&&(r.transform?("development"===process.env.NODE_ENV&&(r.rowField||(0,_log.errLog)("vxe.error.reqProp",["table.tree-config.rowField"]),r.parentField||(0,_log.errLog)("vxe.error.reqProp",["table.tree-config.parentField"]),c||(0,_log.errLog)("vxe.error.reqProp",["tree-config.childrenField"]),r.mapChildrenField||(0,_log.errLog)("vxe.error.reqProp",["tree-config.mapChildrenField"]),c===r.mapChildrenField)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.childrenField","tree-config.mapChildrenField"]),g=_xeUtils.default.toArrayTree(f,{key:r.rowField,parentKey:r.parentField,children:c,mapChildren:r.mapChildrenField}),f=g.slice(0)):g=f.slice(0)),o.startIndex=0,o.endIndex=1,s.startIndex=0,s.endIndex=1,i.insertList=[],i.insertMaps={},i.removeList=[],i.removeMaps={},this.updateScrollYStatus(f));return this.scrollYLoad=p,this.tableFullData=f,this.tableFullTreeData=g,this.cacheRowMap(!0),this.tableSynchData=e,t&&this.cacheSourceMap(f),"development"===process.env.NODE_ENV&&p&&(this.height||this.maxHeight||(0,_log.errLog)("vxe.error.reqProp",["table.height | table.max-height | table.scroll-y={enabled: false}"]),this.showOverflow||(0,_log.warnLog)("vxe.error.reqProp",["table.show-overflow"]),this.spanMethod)&&(0,_log.warnLog)("vxe.error.scrollErrProp",["table.span-method"]),this.clearCellAreas&&this.mouseConfig&&(this.clearCellAreas(),this.clearCopyCellArea()),this.clearMergeCells(),this.clearMergeFooterItems(),this.handleTableData(!0),this.updateFooter(),this.$nextTick().then(()=>{this.updateHeight(),this.updateStyle()}).then(()=>{this.computeScrollLoad()}).then(()=>(p&&(o.endIndex=o.visibleSize),this.handleReserveStatus(),this.checkSelectionStatus(),new Promise(l=>{this.$nextTick().then(()=>this.recalculate()).then(()=>{let e=a,t=n;h.scrollToLeftOnChange&&(e=0),u.scrollToTopOnChange&&(t=0),d===p?(0,_util.restoreScrollLocation)(this,e,t).then(l):setTimeout(()=>(0,_util.restoreScrollLocation)(this,e,t).then(l))})})))},loadData(e){let{inited:t,initStatus:l}=this;return this.loadTableData(e).then(()=>(this.inited=!0,this.initStatus=!0,l||this.handleLoadDefaults(),t||this.handleInitDefaults(),this.recalculate()))},reloadData(e){let t=this.inited;return this.clearAll().then(()=>(this.inited=!0,this.initStatus=!0,this.loadTableData(e))).then(()=>(this.handleLoadDefaults(),t||this.handleInitDefaults(),this.recalculate()))},setRow(t,l){if(l){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>Object.assign(e,l))}return this.$nextTick()},reloadRow(e,t,l){var{keepSource:r,tableSourceData:i,tableData:o}=this;return r?((r=i[this.getRowIndex(e)])&&e&&(l?(i=_xeUtils.default.get(t||e,l),_xeUtils.default.set(e,l,i),_xeUtils.default.set(r,l,i)):(l=_xeUtils.default.clone(Object.assign({},t),!0),_xeUtils.default.destructuring(r,Object.assign(e,l)))),this.tableData=o.slice(0)):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.reqProp",["keep-source"]),this.$nextTick()},loadColumn(e){e=_xeUtils.default.mapTree(e,e=>_cell.default.createColumn(this,e),{children:"children"});return this.handleColumn(e)},reloadColumn(e){return this.clearAll().then(()=>this.loadColumn(e))},initColumnSort(){var e=this.collectColumn;e.forEach((e,t)=>{t+=1;e.sortNumber=t,e.renderSortNumber=t})},handleColumn(e){this.collectColumn=e;var t=getColumnList(e);return this.tableFullColumn=t,this._isLoading=!0,this.initColumnSort(),Promise.resolve(this.restoreCustomStorage()).then(()=>(this._isLoading=!1,this.cacheColumnMap(),this.parseColumns().then(()=>{this.scrollXLoad&&this.loadScrollXData(!0)}),this.clearMergeCells(),this.clearMergeFooterItems(),this.handleTableData(!0),"development"===process.env.NODE_ENV&&(this.scrollXLoad||this.scrollYLoad)&&this.expandColumn&&(0,_log.warnLog)("vxe.error.scrollErrProp",["column.type=expand"]),this.$nextTick().then(()=>(this.$toolbar&&this.$toolbar.syncUpdate({collectColumn:e,$table:this}),this.recalculate()))))},cacheRowMap(n){let{treeConfig:d,treeOpts:e,tableFullData:t,fullAllDataRowIdData:h,fullAllDataRowMap:l,tableFullTreeData:r}=this,u=e.children||e.childrenField,c=e.hasChild||e.hasChildField,g=(0,_util.getRowkey)(this),f=d&&e.lazy,p={},x={};var i=(e,t,l,r,i,o)=>{let s=(0,_util.getRowid)(this,e);r=d&&r?(0,_util.toTreePathSeq)(r):t+1,o=o?o.length-1:0;(0,_utils.eqEmptyValue)(s)&&(s=(0,_util.getRowUniqueId)(),_xeUtils.default.set(e,g,s)),f&&e[c]&&_xeUtils.default.isUndefined(e[u])&&(e[u]=null);let a=h[s];a=a||{row:e,rowid:s,seq:r,index:-1,_index:-1,$index:-1,items:l,parent:i,level:o},n&&(a.index=d&&i?-1:t,x[s]=a),p[s]=a};n&&(this.fullDataRowIdData=x),this.fullAllDataRowIdData=p,l.clear(),d?_xeUtils.default.eachTree(r,i,{children:u}):t.forEach(i)},cacheSourceMap(e){let{treeConfig:t,treeOpts:l,sourceDataRowIdData:r}=this;e=_xeUtils.default.clone(e,!0);let i=(0,_util.getRowkey)(this);r=this.sourceDataRowIdData={};var o,s=e=>{let t=(0,_util.getRowid)(this,e);(0,_utils.eqEmptyValue)(t)&&(t=(0,_util.getRowUniqueId)(),_xeUtils.default.set(e,i,t)),r[t]={row:e,rowid:t}};t?(o=l.children||l.childrenField,_xeUtils.default.eachTree(e,s,{children:l.transform?l.mapChildrenField:o})):e.forEach(s),this.tableSourceData=e},getParams(){return this.params},loadTreeChildren(a,e){let{keepSource:t,tableSourceData:r,treeOpts:l,fullDataRowIdData:n,fullDataRowMap:d,fullAllDataRowMap:h,fullAllDataRowIdData:u,sourceDataRowIdData:i}=this,{transform:o,mapChildrenField:s}=l,c=l.children||l.childrenField;var g=u[(0,_util.getRowid)(this,a)];let f=g?g.level:0;return this.createData(e).then(e=>{if(t){let t=(0,_util.getRowid)(this,a);var l=_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(this,e),{children:c});l&&(l.item[c]=_xeUtils.default.clone(e,!0)),e.forEach(e=>{var t=(0,_util.getRowid)(this,e);i[t]=_xeUtils.default.clone(e,!0)})}return _xeUtils.default.eachTree(e,(e,t,l,r,i,o)=>{var s=(0,_util.getRowid)(this,e),t={row:e,rowid:s,seq:-1,index:t,_index:-1,$index:-1,items:l,parent:i||a,level:f+o.length};n[s]=t,d.set(e,t),u[s]=t,h.set(e,t)},{children:c}),a[c]=e,o&&(a[s]=_xeUtils.default.clone(e,!1)),this.updateAfterDataIndex(),e})},cacheColumnMap(){let{tableFullColumn:e,collectColumn:t,fullColumnMap:h,showOverflow:l,columnOpts:u,rowOpts:c}=this,g=this.fullColumnIdData={},f=this.fullColumnFieldData={};var r=t.some(_utils.hasChildrenList);let p=!!l,x,m,v,w,C,_,s=(e,t,l,r,i)=>{var{id:o,field:s,fixed:a,type:n,treeNode:d}=e,t={column:e,colid:o,index:t,items:l,parent:i};s&&("development"===process.env.NODE_ENV&&f[s]&&(0,_log.warnLog)("vxe.error.colRepet",["field",s]),f[s]=t),!_&&a&&(_=a),C||"html"!==n||(C=e),d?("development"===process.env.NODE_ENV&&m&&(0,_log.warnLog)("vxe.error.colRepet",["tree-node",d]),m=m||e):"expand"===n&&("development"===process.env.NODE_ENV&&x&&(0,_log.warnLog)("vxe.error.colRepet",["type",n]),x=x||e),"development"===process.env.NODE_ENV&&("checkbox"===n?(v&&(0,_log.warnLog)("vxe.error.colRepet",["type",n]),v=v||e):"radio"===n&&(w&&(0,_log.warnLog)("vxe.error.colRepet",["type",n]),w=w||e)),"development"===process.env.NODE_ENV&&(this.showOverflow&&!1===e.showOverflow&&(0,_log.warnLog)("vxe.error.errConflicts",["table.show-overflow="+this.showOverflow,"column.show-overflow="+e.showOverflow]),this.showHeaderOverflow&&!1===e.showHeaderOverflow&&(0,_log.warnLog)("vxe.error.errConflicts",["table.show-header-overflow="+this.showHeaderOverflow,"column.show-header-overflow="+e.showHeaderOverflow]),this.showFooterOverflow)&&!1===e.showFooterOverflow&&(0,_log.warnLog)("vxe.error.errConflicts",["table.show-footer-overflow="+this.showFooterOverflow,"column.show-footer-overflow="+e.showFooterOverflow]),"development"===process.env.NODE_ENV&&C&&(u.useKey||(0,_log.errLog)("vxe.error.reqProp",["column-config.useKey","column.type=html"]),c.useKey||(0,_log.errLog)("vxe.error.reqProp",["row-config.useKey","column.type=html"])),p&&!1===e.showOverflow&&(p=!1),g[o]&&(0,_log.errLog)("vxe.error.colRepet",["colId",o]),g[o]=t,h.set(e,t)};h.clear(),r?_xeUtils.default.eachTree(t,(e,t,l,r,i,o)=>{e.level=o.length,s(e,t,l,0,i)}):e.forEach(s),"development"===process.env.NODE_ENV&&x&&this.mouseOpts.area&&(0,_log.errLog)("vxe.error.errConflicts",["mouse-config.area","column.type=expand"]),this.isGroup=r,this.treeNodeColumn=m,this.expandColumn=x,this.isAllOverflow=p},getRowNode(e){if(e){var t=this.fullAllDataRowIdData,t=t[e.getAttribute("rowid")];if(t)return{rowid:t.rowid,item:t.row,index:t.index,items:t.items,parent:t.parent}}return null},getColumnNode(e){if(e){var t=this.fullColumnIdData,t=t[e.getAttribute("colid")];if(t)return{colid:t.colid,item:t.column,index:t.index,items:t.items,parent:t.parent}}return null},getRowSeq(e){var t=this.fullAllDataRowIdData;if(e){t=t[(0,_util.getRowid)(this,e)];if(t)return t.seq}return-1},getRowIndex(e){var t=this.fullAllDataRowIdData;if(e){t=t[(0,_util.getRowid)(this,e)];if(t)return t.index}return-1},getVTRowIndex(e){var t=this.fullAllDataRowIdData;if(e){t=t[(0,_util.getRowid)(this,e)];if(t)return t._index}return-1},_getRowIndex(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["_getRowIndex","getVTRowIndex"]),this.getVTRowIndex(e)},getVMRowIndex(e){var t=this.fullAllDataRowIdData;if(e){t=t[(0,_util.getRowid)(this,e)];if(t)return t.$index}return-1},$getRowIndex(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["$getRowIndex","getVMRowIndex"]),this.getVMRowIndex(e)},getColumnIndex(e){var t=this.fullColumnIdData;if(e){t=t[e.id];if(t)return t.index}return-1},getVTColumnIndex(e){var t=this.fullColumnIdData;if(e){t=t[e.id];if(t)return t._index}return-1},_getColumnIndex(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["_getColumnIndex","getVTColumnIndex"]),this.getVTColumnIndex(e)},getVMColumnIndex(e){var t=this.fullColumnIdData;if(e){t=t[e.id];if(t)return t.$index}return-1},$getColumnIndex(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["$getColumnIndex","getVMColumnIndex"]),this.getVMColumnIndex(e)},isSeqColumn(e){return e&&"seq"===e.type},defineField(e){let{radioOpts:t,checkboxOpts:l,treeConfig:r,treeOpts:o,expandOpts:s}=this,a=o.children||o.childrenField,n=(0,_util.getRowkey)(this);return(e=_xeUtils.default.isArray(e)?e:[e||{}]).map(i=>(this.tableFullColumn.forEach(t=>{var{field:l,editRender:r}=t;if(l&&!_xeUtils.default.has(i,l)){let e=null;r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?e=r({column:t}):_xeUtils.default.isUndefined(r)||(e=r)),_xeUtils.default.set(i,l,e)}}),[t.labelField,l.checkField,l.labelField,s.labelField].forEach(e=>{e&&(0,_utils.eqEmptyValue)(_xeUtils.default.get(i,e))&&_xeUtils.default.set(i,e,null)}),r&&o.lazy&&_xeUtils.default.isUndefined(i[a])&&(i[a]=null),(0,_utils.eqEmptyValue)(_xeUtils.default.get(i,n))&&_xeUtils.default.set(i,n,(0,_util.getRowUniqueId)()),i))},createData(e){return this.$nextTick().then(()=>this.defineField(e))},createRow(e){let t=_xeUtils.default.isArray(e);return t||(e=[e]),this.createData(e).then(e=>t?e:e[0])},revertData(e,l){let{keepSource:t,tableSourceData:r,treeConfig:i}=this;if(!t)return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.reqProp",["keep-source"]),this.$nextTick();let o=e;return e?_xeUtils.default.isArray(e)||(o=[e]):o=_xeUtils.default.toArray(this.getUpdateRecords()),o.length&&o.forEach(e=>{var t;this.isInsertByRow(e)||(t=this.getRowIndex(e),i&&-1===t&&(0,_log.errLog)("vxe.error.noTree",["revertData"]),(t=r[t])&&e&&(l?_xeUtils.default.set(e,l,_xeUtils.default.clone(_xeUtils.default.get(t,l),!0)):_xeUtils.default.destructuring(e,_xeUtils.default.clone(t,!0))))}),e?this.$nextTick():this.reloadData(r)},clearData(e,t){let{tableFullData:l,visibleColumn:r}=this;return arguments.length?e&&!_xeUtils.default.isArray(e)&&(e=[e]):e=l,t?e.forEach(e=>_xeUtils.default.set(e,t,null)):e.forEach(t=>{r.forEach(e=>{e.field&&(0,_util.setCellValue)(t,e,null)})}),this.$nextTick()},getCellElement(e,t){t=(0,_util.handleFieldOrColumn)(this,t);if(!t)return null;var l=this.$refs,e=(0,_util.getRowid)(this,e);let r=null;return(r=t?l[`${t.fixed||"table"}Body`]||l.tableBody:r)&&r.$el?r.$el.querySelector(`.vxe-body--row[rowid="${e}"] .`+t.id):null},getCellLabel(l,r){r=(0,_util.handleFieldOrColumn)(this,r);if(!r)return null;var i=r.formatter,o=(0,_util.getCellValue)(l,r);let s=o;if(i){let e,t;var a=this.fullAllDataRowMap,n=r.id,d=a.has(l);if(d&&(e=a.get(l),t=(t=e.formatData)||(a.get(l).formatData={}),e)&&t[n]&&t[n].value===o)return t[n].label;d={cellValue:o,row:l,rowIndex:this.getRowIndex(l),column:r,columnIndex:this.getColumnIndex(r)};s=_xeUtils.default.isString(i)?(l=(a=formats.get(i))?a.tableCellFormatMethod||a.cellFormatMethod:null)?l(d):"":_xeUtils.default.isArray(i)?(a=(r=formats.get(i[0]))?r.tableCellFormatMethod||r.cellFormatMethod:null)?a(d,...i.slice(1)):"":i(d),t&&(t[n]={value:o,label:s})}return s},isInsertByRow(e){var t=this.editStore,e=(0,_util.getRowid)(this,e);return t.insertList.length&&t.insertMaps[e]},removeInsertRow(){return this.remove(this.editStore.insertList)},isUpdateByRow(l,e){var{tableFullColumn:r,keepSource:t,sourceDataRowIdData:i,fullDataRowIdData:o}=this;if(t){t=(0,_util.getRowid)(this,l);if(!o[t])return!1;o=i[t];if(o){var s=o.row;if(1<arguments.length)return!eqCellValue(s,l,e);for(let e=0,t=r.length;e<t;e++){var a=r[e].field;if(a&&!eqCellValue(s,l,a))return!0}}}return!1},getColumns(e){var t=this.visibleColumn;return _xeUtils.default.isUndefined(e)?t.slice(0):t[e]},getColid(e){e=(0,_util.handleFieldOrColumn)(this,e);return e?e.id:null},getColumnById(e){var t=this.fullColumnIdData;return t[e]?t[e].column:null},getColumnByField(e){var t=this.fullColumnFieldData;return t[e]?t[e].column:null},getParentColumn(e){var t=this.fullColumnIdData,e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.parentId&&t[e.parentId]?t[e.parentId].column:null},getTableColumn(){return{collectColumn:this.collectColumn.slice(0),fullColumn:this.tableFullColumn.slice(0),visibleColumn:this.visibleColumn.slice(0),tableColumn:this.tableColumn.slice(0)}},getData(e){var t=this.data||this.tableSynchData;return _xeUtils.default.isUndefined(e)?t.slice(0):t[e]},getCheckboxRecords(r){let{tableFullData:e,afterFullData:t,treeConfig:l,treeOpts:i,checkboxOpts:o,tableFullTreeData:s,afterTreeFullData:a,afterFullRowMaps:n}=this;var{transform:d,mapChildrenField:h}=i;let u=o.checkField;var c=i.children||i.childrenField,g=r?d?s:e:d?a:t;let f=[];if(u)f=l?_xeUtils.default.filterTree(g,e=>_xeUtils.default.get(e,u),{children:d?h:c}):g.filter(e=>_xeUtils.default.get(e,u));else{let{selectCheckboxMaps:e,fullDataRowIdData:l}=this;_xeUtils.default.each(e,(e,t)=>{r?l[t]&&f.push(l[t].row):n[t]&&f.push(n[t])})}return f},handleVirtualTreeToList(){let{treeOpts:e,treeConfig:t,treeExpandedMaps:d,afterTreeFullData:l,afterFullData:r}=this;var i=e.children||e.childrenField;if(t&&e.transform){let a=[],n={};return _xeUtils.default.eachTree(l,(e,t,l,r,i)=>{var o=(0,_util.getRowid)(this,e),s=(0,_util.getRowid)(this,i);(!i||n[s]&&d[s])&&(n[o]=1,a.push(e))},{children:i}),this.afterFullData=a,this.updateScrollYStatus(a),a}return r},updateAfterFullData(){var{tableFullColumn:e,tableFullData:t,filterOpts:l,sortOpts:r,treeConfig:i,treeOpts:o,tableFullTreeData:s}=this;let{remote:u,filterMethod:c}=l,{remote:a,sortMethod:n,multiple:d,chronological:h}=r;l=o.transform,r=o.children||o.childrenField;let g=[],f=[],p=[],x=[],m=(e.forEach(e=>{var{field:t,sortable:l,order:r,filters:i}=e;if(!u&&i&&i.length){let t=[],l=[];i.forEach(e=>{e.checked&&(l.push(e),t.push(e.value))}),l.length&&p.push({column:e,valueList:t,itemList:l})}!a&&l&&r&&x.push({column:e,field:t,property:t,order:r,sortTime:e.sortTime})}),d&&h&&1<x.length&&(x=_xeUtils.default.orderBy(x,"sortTime")),p.length?(e=h=>p.every(({column:s,valueList:a,itemList:n})=>{if(!a.length||u)return!0;{let{filterMethod:t,filterRender:e,field:l}=s;var d=(0,_utils.isEnableConf)(e)?renderer.get(e.name):null;let r=d?d.tableFilterMethod||d.filterMethod:null,i=d?d.tableFilterDefaultMethod||d.defaultTableFilterMethod||d.defaultFilterMethod:null,o=(0,_util.getCellValue)(h,s);return t?n.some(e=>t({value:e.value,option:e,cellValue:o,row:h,column:s,$table:this})):r?n.some(e=>r({value:e.value,option:e,cellValue:o,row:h,column:s,$table:this})):c?c({options:n,values:a,cellValue:o,row:h,column:s}):i?n.some(e=>i({value:e.value,option:e,cellValue:o,row:h,column:s,$table:this})):-1<a.indexOf(_xeUtils.default.get(h,l))}}),i&&l?(f=_xeUtils.default.searchTree(s,e,{original:!0,isEvery:!0,children:o.mapChildrenField,mapChildren:r}),g=f):(g=(i?s:t).filter(e),f=g)):i&&l?(f=_xeUtils.default.searchTree(s,()=>!0,{original:!0,isEvery:!0,children:o.mapChildrenField,mapChildren:r}),g=f):(g=(i?s:t).slice(0),f=g),x[0]);if(!a&&m)if(i&&l)f=n?(e=n({data:f,sortList:x,$table:this}),_xeUtils.default.isArray(e)?e:f):_xeUtils.default.orderBy(f,x.map(({column:e,order:t})=>[getOrderField(this,e),t])),g=f;else{if(n){o=n({data:g,column:m.column,property:m.field,field:m.field,order:m.order,sortList:x,$table:this});g=_xeUtils.default.isArray(o)?o:g}else if(d)g=_xeUtils.default.orderBy(g,x.map(({column:e,order:t})=>[getOrderField(this,e),t]));else{let e;_xeUtils.default.isArray(m.sortBy)&&(e=m.sortBy.map(e=>[e,m.order])),g=_xeUtils.default.orderBy(g,e||[m].map(({column:e,order:t})=>[getOrderField(this,e),t]))}f=g}this.afterFullData=g,this.afterTreeFullData=f,this.updateAfterDataIndex()},updateAfterDataIndex(){let{treeConfig:e,afterFullData:t,fullDataRowIdData:s,fullAllDataRowIdData:a,afterTreeFullData:l,treeOpts:r}=this;var i=r.children||r.childrenField;let n={};e?_xeUtils.default.eachTree(l,(e,t,l,r)=>{var i=(0,_util.getRowid)(this,e),o=a[i],r=r.map((e,t)=>t%2==0?Number(e)+1:".").join("");o?(o.seq=r,o._index=t):(o={row:e,rowid:i,seq:r,index:-1,$index:-1,_index:t,items:[],parent:null,level:0},a[i]=o,s[i]=o),n[i]=e},{children:r.transform?r.mapChildrenField:i}):t.forEach((e,t)=>{var l=(0,_util.getRowid)(this,e),r=a[l],i=t+1;r?(r.seq=i,r._index=t):(r={row:e,rowid:l,seq:i,index:-1,$index:-1,_index:t,items:[],parent:null,level:0},a[l]=r,s[l]=r),n[l]=e}),this.afterFullRowMaps=n},getParentRow(t){var{treeConfig:l,fullDataRowIdData:r}=this;if(t&&l){let e;if(e=_xeUtils.default.isString(t)?t:(0,_util.getRowid)(this,t))return(l=r[e])?l.parent:null}return null},getRowById(e){var t=this.fullDataRowIdData,e=_xeUtils.default.eqNull(e)?"":encodeURIComponent(e);return t[e]?t[e].row:null},getRowid(e){var t=this.fullAllDataRowMap;return t.has(e)?t.get(e).rowid:null},getTableData(){var{treeConfig:e,tableFullData:t,afterFullData:l,tableData:r,footerTableData:i,tableFullTreeData:o}=this;return{fullData:(e?o:t).slice(0),visibleData:l.slice(0),tableData:r.slice(0),footerData:i.slice(0)}},handleLoadDefaults(){this.checkboxConfig&&this.handleDefaultSelectionChecked(),this.radioConfig&&this.handleDefaultRadioChecked(),this.expandConfig&&this.handleDefaultRowExpand(),this.treeConfig&&this.handleDefaultTreeExpand(),this.mergeCells&&this.handleDefaultMergeCells(),this.mergeFooterItems&&this.handleDefaultMergeFooterItems(),this.$nextTick(()=>setTimeout(this.recalculate))},handleInitDefaults(){var e=this.sortConfig;e&&this.handleDefaultSort()},setColumnFixed(e,t){var{isMaxFixedColumn:l,columnOpts:r}=this,e=(0,_util.handleFieldOrColumn)(this,e),e=(0,_util.getRootColumn)(this,e);return e&&e.fixed!==t?!e.fixed&&l?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.table.maxFixedCol",[r.maxFixedSize])}),this.$nextTick()):(_xeUtils.default.eachTree([e],e=>{e.fixed=t}),this.saveCustomStore("update:fixed"),this.refreshColumn()):this.$nextTick()},clearColumnFixed(e){e=(0,_util.handleFieldOrColumn)(this,e),e=(0,_util.getRootColumn)(this,e);return e&&e.fixed?(_xeUtils.default.eachTree([e],e=>{e.fixed=null}),this.saveCustomStore("update:fixed"),this.refreshColumn()):this.$nextTick()},hideColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.visible?(e.visible=!1,this.handleCustom()):this.$nextTick()},showColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e&&!e.visible?(e.visible=!0,this.handleCustom()):this.$nextTick()},setColumnWidth(t,l){t=(0,_util.handleFieldOrColumn)(this,t);if(t){var r=_xeUtils.default.toInteger(l);let e=r;return(0,_dom.isScale)(l)&&(l=this.$refs.tableBody,l=(l=l?l.$el:null)?l.clientWidth-1:0,e=Math.floor(r*l)),t.resizeWidth=e,this.refreshColumn()}return this.$nextTick()},getColumnWidth(e){e=(0,_util.handleFieldOrColumn)(this,e);return e?e.renderWidth:0},resetColumn(e){var{collectColumn:t,customOpts:l}=this;let r=l.checkMethod,i=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e},e);return _xeUtils.default.eachTree(t,e=>{i.resizable&&(e.resizeWidth=0),i.fixed&&(e.fixed=e.defaultFixed),i.sort&&(e.renderSortNumber=e.sortNumber),r&&!r({column:e})||(e.visible=e.defaultVisible),e.renderResizeWidth=e.renderWidth}),this.saveCustomStore("reset"),this.handleCustom()},handleCustom(){var e=this.mouseConfig;return e&&(this.clearSelected&&this.clearSelected(),this.clearCellAreas)&&(this.clearCellAreas(),this.clearCopyCellArea()),this.analyColumnWidth(),this.refreshColumn(!0)},handleCustomRestore(e){var t=this.collectColumn;let{resizableData:s,sortData:a,visibleData:n,fixedData:d}=e,h=!1;(s||a||n||d)&&(_xeUtils.default.eachTree(t,(e,t,l,r,i)=>{var o=e.getKey();i||(d&&d[o]&&(e.fixed=d[o]),a&&_xeUtils.default.isNumber(a[o])&&(h=!0,e.renderSortNumber=a[o])),s&&_xeUtils.default.isNumber(s[o])&&(e.resizeWidth=s[o]),n&&_xeUtils.default.isBoolean(n[o])&&(e.visible=n[o])}),h)&&(t=_xeUtils.default.orderBy(t,"renderSortNumber"),this.collectColumn=t,this.tableFullColumn=getColumnList(t))},restoreCustomStorage(){var{tableId:e,customConfig:t,customOpts:l}=this,{storage:l,restoreStore:r}=l,i=!0===l,l=i?{}:Object.assign({},l||{}),o=i||l.resizable,s=i||l.visible,a=i||l.fixed,i=i||l.sort;if(t&&(o||s||a||i)){if(e)return l=getCustomStorageMap(e),r?Promise.resolve(r({id:e,type:"restore",storeData:l})).then(e=>{if(e)return this.handleCustomRestore(e)}).catch(e=>e):this.handleCustomRestore(l);(0,_log.errLog)("vxe.error.reqProp",["id"])}},getCustomStoreData(){let{id:e,customOpts:t,collectColumn:d}=this,h=t.checkMethod,u={},c={},g={},f={};var l={resizableData:void 0,sortData:void 0,visibleData:void 0,fixedData:void 0};if(e){let o=0,s=0,a=0,n=0;_xeUtils.default.eachTree(d,(e,t,l,r,i)=>{i||(d.forEach(e=>{var t=e.getKey();t&&(s=1,c[t]=e.renderSortNumber)}),e.fixed&&e.fixed!==e.defaultFixed&&(i=e.getKey())&&(a=1,f[i]=e.fixed)),e.resizeWidth&&(i=e.getKey())&&(o=1,u[i]=e.renderWidth),h&&!h({column:e})||(!e.visible&&e.defaultVisible?(i=e.getKey())&&(n=1,g[i]=!1):e.visible&&!e.defaultVisible&&(i=e.getKey())&&(n=1,g[i]=!0))}),o&&(l.resizableData=u),s&&(l.sortData=c),a&&(l.fixedData=f),n&&(l.visibleData=g)}else(0,_log.errLog)("vxe.error.reqProp",["id"]);return l},saveCustomStore(e){var{tableId:t,customOpts:l}=this,{updateStore:l,storage:r}=l,i=!0===r,r=i?{}:Object.assign({},r||{}),o=i||r.resizable,s=i||r.visible,a=i||r.fixed,i=i||r.sort;if(o||s||a||i){if(!t)return(0,_log.errLog)("vxe.error.reqProp",["id"]),this.$nextTick();r="reset"===e?{resizableData:{},sortData:{},visibleData:{},fixedData:{}}:this.getCustomStoreData();if(l)return l({id:t,type:e,storeData:r});setCustomStorageMap(t,"reset"===e?null:r)}return this.$nextTick()},handleUpdateDataQueue(){this.upDataFlag++},handleRefreshColumnQueue(){this.reColumnFlag++},refreshColumn(e){return e&&(e=_xeUtils.default.orderBy(this.collectColumn,"renderSortNumber"),this.collectColumn=e,e=getColumnList(e),this.tableFullColumn=e,this.cacheColumnMap()),this.parseColumns().then(()=>this.refreshScroll()).then(()=>this.recalculate())},parseColumns(){let s=[],a=[],n=[],{collectColumn:e,tableFullColumn:t,isGroup:l,columnStore:r,sXOpts:i,scrollXStore:o,fullColumnIdData:d}=this;if(l){let t=[],l=[],r=[];_xeUtils.default.eachTree(e,(e,t,l,r,i)=>{var o=(0,_utils.hasChildrenList)(e);i&&i.fixed&&(e.fixed=i.fixed),i&&e.fixed!==i.fixed&&(0,_log.errLog)("vxe.error.groupFixed"),o?e.visible=!!_xeUtils.default.findTree(e.children,e=>(0,_utils.hasChildrenList)(e)?null:e.visible):e.visible&&("left"===e.fixed?s:"right"===e.fixed?n:a).push(e)}),e.forEach(e=>{e.visible&&("left"===e.fixed?t:"right"===e.fixed?r:l).push(e)}),this.tableGroupColumn=t.concat(l).concat(r)}else t.forEach(e=>{e.visible&&("left"===e.fixed?s:"right"===e.fixed?n:a).push(e)});let h=s.concat(a).concat(n);var u,c=i.enabled&&-1<i.gt&&(0===i.gt||i.gt<=t.length);return this.hasFixedColumn=0<s.length||0<n.length,Object.assign(r,{leftList:s,centerList:a,rightList:n}),c&&("development"===process.env.NODE_ENV&&(this.spanMethod&&(0,_log.warnLog)("vxe.error.scrollErrProp",["span-method"]),this.footerSpanMethod)&&(0,_log.warnLog)("vxe.error.scrollErrProp",["footer-span-method"]),u=computeVirtualX(this).visibleSize,o.startIndex=0,o.endIndex=u,o.visibleSize=u),h.length===this.visibleColumn.length&&this.visibleColumn.every((e,t)=>e===h[t])||(this.clearMergeCells(),this.clearMergeFooterItems()),this.scrollXLoad=c,h.forEach((e,t)=>{e=e.id,e=d[e];e&&(e._index=t)}),this.visibleColumn=h,this.handleTableColumn(),this.updateFooter().then(()=>this.recalculate()).then(()=>(this.updateCellAreas(),this.recalculate()))},analyColumnWidth(){var e=this.columnOpts;let{width:t,minWidth:l}=e,r=[],i=[],o=[],s=[],a=[],n=[],d=[],h=[];this.tableFullColumn.forEach(e=>{t&&!e.width&&(e.width=t),l&&!e.minWidth&&(e.minWidth=l),e.visible&&(e.resizeWidth?r:"auto"===e.width?d:(0,_dom.isPx)(e.width)?i:(0,_dom.isScale)(e.width)?a:(0,_dom.isPx)(e.minWidth)?o:"auto"===e.minWidth?s:(0,_dom.isScale)(e.minWidth)?n:h).push(e)}),Object.assign(this.columnStore,{resizeList:r,pxList:i,pxMinList:o,autoMinList:s,scaleList:a,scaleMinList:n,autoList:d,remainList:h})},refreshScroll(){let{lastScrollLeft:t,lastScrollTop:l}=this;var e=this.$refs,{tableBody:e,leftBody:r,rightBody:i,tableFooter:o}=e;let s=e?e.$el:null,a=r?r.$el:null,n=i?i.$el:null,d=o?o.$el:null;return new Promise(e=>{if(t||l)return(0,_util.restoreScrollLocation)(this,t,l).then(()=>{setTimeout(e,30)});(0,_dom.setScrollTop)(s,l),(0,_dom.setScrollTop)(a,l),(0,_dom.setScrollTop)(n,l),(0,_dom.setScrollLeft)(d,t),setTimeout(e,30)})},recalculate(e){var t=this.$refs,{tableBody:t,tableHeader:l,tableFooter:r}=t;let i=t?t.$el:null,o=l?l.$el:null,s=r?r.$el:null;t=this.$el;return t&&t.clientWidth?i&&(this.calcCellWidth(),this.autoCellWidth(o,i,s),!0===e)?this.computeScrollLoad().then(()=>(this.autoCellWidth(o,i,s),this.computeScrollLoad())):this.computeScrollLoad():this.$nextTick()},calcCellWidth(){let{autoWidthColumnList:e,tableData:t}=this;return t.length&&e.length?(this.isCalcColumn=!0,this.$nextTick().then(()=>{let o=this.$el;o&&(e.forEach(e=>{var t=o.querySelectorAll(`.vxe-header--column.${e.id}>.vxe-cell,.vxe-body--column.${e.id}>.vxe-cell,.vxe-footer--column.${e.id}>.vxe-cell`),l=t[0];let r=0,i=(l&&(l=getComputedStyle(l),r=Math.floor(_xeUtils.default.toNumber(l.paddingLeft)+_xeUtils.default.toNumber(l.paddingRight))+2),e.renderAutoWidth-r);_xeUtils.default.arrayEach(t,e=>{var t=e.parentNode;let l=0;"th"===(""+t.tagName).toLowerCase()?_xeUtils.default.arrayEach(e.children,e=>{l+=e.offsetWidth+1}):(t=e.firstChild)&&(l=t.offsetWidth),l&&(i=Math.max(i,Math.ceil(l)+4))}),e.renderAutoWidth=i+r}),this.analyColumnWidth()),this.isCalcColumn=!1})):(this.isCalcColumn=!1,this.$nextTick())},autoCellWidth(e,t,l){let r=0;var i=t.clientWidth-1,o=i;let s=o/100;var{fit:a,columnStore:n}=this,{resizeList:n,pxMinList:d,pxList:h,autoMinList:u,scaleList:c,scaleMinList:g,autoList:f,remainList:p}=n;if(d.forEach(e=>{var t=parseInt(e.minWidth);r+=t,e.renderWidth=t}),u.forEach(e=>{var t=Math.max(60,_xeUtils.default.toInteger(e.renderAutoWidth));r+=t,e.renderWidth=t}),g.forEach(e=>{var t=Math.floor(parseInt(e.minWidth)*s);r+=t,e.renderWidth=t}),c.forEach(e=>{var t=Math.floor(parseInt(e.width)*s);r+=t,e.renderWidth=t}),h.forEach(e=>{var t=parseInt(e.width);r+=t,e.renderWidth=t}),f.forEach(e=>{var t=Math.max(60,_xeUtils.default.toInteger(e.renderAutoWidth));r+=t,e.renderWidth=t}),n.forEach(e=>{var t=parseInt(e.resizeWidth);r+=t,e.renderWidth=t}),o-=r,s=0<o?Math.floor(o/(g.length+d.length+u.length+p.length)):0,a?0<o&&g.concat(d).concat(u).forEach(e=>{r+=s,e.renderWidth+=s}):s=40,p.forEach(e=>{var t=Math.max(s,40);e.renderWidth=t,r+=t}),a){var x=c.concat(g).concat(d).concat(u).concat(p);let t=x.length-1;if(0<t){let e=i-r;if(0<e){for(;0<e&&0<=t;)e--,x[t--].renderWidth++;r=i}}}h=t.offsetHeight,f=t.clientHeight<t.scrollHeight;this.scrollbarWidth=f?t.offsetWidth-t.clientWidth:0,this.overflowY=f,this.tableWidth=r,this.tableHeight=h,e?(this.headerHeight=e.clientHeight,this.$nextTick(()=>{e&&t&&e.scrollLeft!==t.scrollLeft&&(e.scrollLeft=t.scrollLeft)})):this.headerHeight=0;let m=!1,v=0,w=0;w=l?(v=l.offsetHeight,m=r>l.clientWidth,Math.max(v-l.clientHeight,0)):(m=r>i,Math.max(h-t.clientHeight,0)),this.footerHeight=v,this.overflowX=r>i,this.scrollbarHeight=w,this.updateHeight(),this.parentHeight=Math.max(this.headerHeight+this.footerHeight+20,this.getParentHeight()),m&&this.checkScrolling()},updateHeight(){this.customHeight=calcHeight(this,"height"),this.customMinHeight=calcHeight(this,"minHeight"),this.customMaxHeight=calcHeight(this,"maxHeight")},updateStyle(){let{$refs:t,isGroup:h,fullColumnIdData:u,tableColumn:c,customHeight:g,customMinHeight:f,customMaxHeight:p,border:x,headerHeight:m,showFooter:v,showOverflow:w,showHeaderOverflow:C,showFooterOverflow:_,footerHeight:R,tableHeight:b,tableWidth:E,scrollbarHeight:T,scrollbarWidth:S,scrollXLoad:y,scrollYLoad:k,cellOffsetWidth:D,columnStore:M,elemStore:F,editStore:e,currentRow:l,mouseConfig:r,keyboardConfig:I,keyboardOpts:O,spanMethod:$,mergeList:L,mergeFooterList:U,footerSpanMethod:A,isAllOverflow:N,visibleColumn:V}=this;var i=t.emptyPlaceholder,o=F["main-body-wrapper"];return i&&(i.style.top=m+"px",i.style.height=o?o.offsetHeight-T+"px":""),0<g&&v&&(g+=T),["main","left","right"].forEach((n,e)=>{let o=0<e?n:"";let s=M[o+"List"],d=t[o+"Container"];["header","body","footer"].forEach(a=>{var l=F[n+`-${a}-wrapper`],t=F[n+`-${a}-table`];if("header"===a){E;let e=c;h?e=V:o&&(y||C)&&(e=s),r=e.reduce((e,t)=>e+t.renderWidth,0),t&&(t.style.width=r?r+S+"px":"",_dom.browse.msie)&&_xeUtils.default.arrayEach(t.querySelectorAll(".vxe-resizable"),e=>{e.style.height=e.parentNode.offsetHeight+"px"});var r=F[n+`-${a}-repair`],r=(r&&(r.style.width=E+"px"),F[n+`-${a}-list`]);h&&r&&_xeUtils.default.arrayEach(r.querySelectorAll(".col--group"),e=>{var i=this.getColumnNode(e);if(i){let t=i.item;i=t.showHeaderOverflow,i=_xeUtils.default.isBoolean(i)?i:C,i="title"===i||(!0===i||"tooltip"===i)||"ellipsis"===i;let l=0,r=0;i&&_xeUtils.default.eachTree(t.children,e=>{e.children&&t.children.length||r++,l+=e.renderWidth}),e.style.width=i?l-r-(x?2:0)+"px":""}})}else if("body"===a){r=F[n+`-${a}-emptyBlock`];if((0,_dom.isNodeElement)(l)){let t=0;var i=f-m-R;if(p&&(t=p-m-R,o&&(t-=v?0:T),t=Math.max(i,t),l.style.maxHeight=t+"px"),g){let e=g-m-R;o&&(e-=v?0:T),t&&(e=Math.min(t,e)),l.style.height=Math.max(i,e)+"px"}else l.style.height="";l.style.minHeight=i+"px"}if(d){i="right"===o;let e=M[o+"List"];(0,_dom.isNodeElement)(l)&&(l.style.top=m+"px"),d.style.height=(0<g?g-m-R:b)+m+R-T*(v?2:1)+"px",d.style.width=e.reduce((e,t)=>e+t.renderWidth,i?S:0)+"px"}E;let e=c;i=(e=o?this.expandColumn||!(y||k||w&&N)||L.length||$||I&&O.isMerge?V:s:e).reduce((e,t)=>e+t.renderWidth,0),t&&(t.style.width=i?i+"px":"",t.style.paddingRight=S&&o&&(_dom.browse["-moz"]||_dom.browse.safari)?S+"px":""),r&&(r.style.width=i?i+"px":"")}else if("footer"===a){E;let e=c;r=(e=o?this.expandColumn||!y&&!_||U.length&&A?V:s:e).reduce((e,t)=>e+t.renderWidth,0),(0,_dom.isNodeElement)(l)&&(d&&(l.style.top=`${0<g?g-R:b+m}px`),l.style.marginTop=-T+"px"),t&&(t.style.width=r?r+S+"px":"")}i=F[n+`-${a}-colgroup`];i&&_xeUtils.default.arrayEach(i.children,t=>{var l=t.getAttribute("name");if("col_gutter"===l&&(t.style.width=S+"px"),u[l]){let o=u[l].column;var{showHeaderOverflow:l,showFooterOverflow:r,showOverflow:i}=o;let e;t.style.width=o.renderWidth+"px";t="ellipsis"===(e="header"===a?_xeUtils.default.isUndefined(l)||_xeUtils.default.isNull(l)?C:l:"footer"===a?_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?_:r:_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?w:i),l="title"===e,r=!0===e||"tooltip"===e;let s=l||r||t;i=F[n+`-${a}-list`];"header"===a||"footer"===a?y&&!s&&(s=!0):(y||k)&&(s=s||!0),i&&_xeUtils.default.arrayEach(i.querySelectorAll("."+o.id),e=>{var t=parseInt(e.getAttribute("colspan")||1),e=e.querySelector(".vxe-cell");let l=o.renderWidth;if(e){if(1<t){var r=this.getColumnIndex(o);for(let e=1;e<t;e++){var i=this.getColumns(r+e);i&&(l+=i.renderWidth)}}e.style.width=s?l-D*t+"px":""}})}})})}),l&&this.setCurrentRow(l),r&&r.selected&&e.selected.row&&e.selected.column&&this.addColSdCls(),this.$nextTick()},checkScrolling(){var{tableBody:e,leftContainer:t,rightContainer:l}=this.$refs,e=e?e.$el:null;e&&(t&&(0<e.scrollLeft?(0,_dom.addClass):(0,_dom.removeClass))(t,"scrolling--middle"),l)&&(e.clientWidth<e.scrollWidth-Math.ceil(e.scrollLeft)?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},preventEvent(t,e,l,r,i){let o=interceptor.get(e);o.length||"event.clearEdit"!==e||(o=interceptor.get("event.clearActived"),"development"===process.env.NODE_ENV&&o.length&&(0,_log.warnLog)("vxe.error.delEvent",["event.clearActived","event.clearEdit"]));let s;return o.some(e=>!1===e(Object.assign({$grid:this.$xegrid,$table:this,$event:t},l)))||r&&(s=r()),i&&i(),s},handleGlobalMousedownEvent(l){let{$el:r,$refs:e,$xegrid:t,$toolbar:i,mouseConfig:o,editStore:s,ctxMenuStore:a,editRules:n,editOpts:d,validOpts:h,areaOpts:u,filterStore:c,customStore:g,getRowNode:f}=this,p=s.actived;var{ctxWrapper:x,filterWrapper:m,customWrapper:v,validTip:w}=e;if(!m||(0,_dom.getEventTargetNode)(l,r,"vxe-cell--filter").flag||(0,_dom.getEventTargetNode)(l,m.$el).flag||(0,_dom.getEventTargetNode)(l,document.body,"vxe-table--ignore-clear").flag||this.preventEvent(l,"event.clearFilter",c.args,this.closeFilter),!v||g.btnEl===l.target||(0,_dom.getEventTargetNode)(l,document.body,"vxe-toolbar-custom-target").flag||(0,_dom.getEventTargetNode)(l,v.$el).flag||(0,_dom.getEventTargetNode)(l,document.body,"vxe-table--ignore-clear").flag||this.preventEvent(l,"event.clearCustom",{},()=>this.closeCustom()),p.row)!1===d.autoClear||(m=p.args.cell)&&(0,_dom.getEventTargetNode)(l,m).flag||w&&(0,_dom.getEventTargetNode)(l,w.$el).flag||this.lastCallTime&&!(this.lastCallTime+50<Date.now())||(0,_dom.getEventTargetNode)(l,document.body,"vxe-table--ignore-clear").flag||this.preventEvent(l,"event.clearEdit",p.args,()=>{let e;var t;(e=(e=(e="row"===d.mode?!!(t=(0,_dom.getEventTargetNode)(l,r,"vxe-body--row")).flag&&f(t.targetElem).item!==p.args.row:!(0,_dom.getEventTargetNode)(l,r,"col--edit").flag)||(0,_dom.getEventTargetNode)(l,r,"vxe-header--row").flag)||(0,_dom.getEventTargetNode)(l,r,"vxe-footer--row").flag)||!this.height||this.overflowY||(t=l.target,(0,_dom.hasClass)(t,"vxe-table--body-wrapper")&&(e=l.offsetY<t.clientHeight)),!e&&(0,_dom.getEventTargetNode)(l,r).flag||setTimeout(()=>this.clearEdit(l))});else if(o&&!((0,_dom.getEventTargetNode)(l,r).flag||t&&(0,_dom.getEventTargetNode)(l,t.$el).flag||x&&(0,_dom.getEventTargetNode)(l,x.$el).flag||i&&(0,_dom.getEventTargetNode)(l,i.$el).flag)&&(this.clearSelected&&this.clearSelected(),u.autoClear)&&this.getCellAreas){let e=this.getCellAreas();e&&e.length&&!(0,_dom.getEventTargetNode)(l,document.body,"vxe-table--ignore-areas-clear").flag&&this.preventEvent(l,"event.clearAreas",{},()=>{this.clearCellAreas(),this.clearCopyCellArea(),this.emitEvent("clear-cell-area-selection",{cellAreas:e},l)})}a.visible&&x&&!(0,_dom.getEventTargetNode)(l,x.$el).flag&&this.closeMenu();v=(0,_dom.getEventTargetNode)(l,(t||this).$el).flag;!v&&n&&h.autoClear&&(this.validErrorMaps={}),this.isActivated=v},handleGlobalBlurEvent(){this.closeFilter(),this.closeMenu()},handleGlobalMousewheelEvent(){this.closeTooltip(),this.closeMenu()},keydownEvent(t){let{filterStore:e,ctxMenuStore:l,editStore:r,keyboardConfig:i,mouseConfig:o,mouseOpts:s,keyboardOpts:a}=this,n=r.actived;var d=t.keyCode;27===d&&this.preventEvent(t,"event.keydown",null,()=>{if(this.emitEvent("keydown-start",{},t),i&&o&&s.area&&this.handleKeyboardEvent)this.handleKeyboardEvent(t);else if((n.row||e.visible||l.visible)&&(t.stopPropagation(),this.closeFilter(),this.closeMenu(),i)&&a.isEsc&&n.row){let e=n.args;this.clearEdit(t),o&&s.selected&&this.$nextTick(()=>this.handleSelected(e,t))}this.emitEvent("keydown",{},t),this.emitEvent("keydown-end",{},t)})},handleGlobalKeydownEvent(q){this.isActivated&&this.preventEvent(q,"event.keydown",null,()=>{let{filterStore:e,isCtxMenu:t,ctxMenuStore:l,editStore:r,editOpts:i,editConfig:o,mouseConfig:s,mouseOpts:a,keyboardConfig:n,keyboardOpts:d,treeConfig:h,treeOpts:u,highlightCurrentRow:c,currentRow:g,bodyCtxMenu:U,rowOpts:f}=this;var{selected:p,actived:x}=r,m=q.keyCode,v=8===m,A=9===m,w=13===m,C=27===m,_=32===m,R=37===m,b=38===m,E=39===m,T=40===m,N=46===m,S=113===m,y=93===m,V=q.metaKey,k=q.ctrlKey,D=q.shiftKey,M=q.altKey,F=R||b||E||T,I=t&&l.visible&&(w||_||F),O=(0,_utils.isEnableConf)(o)&&x.column&&x.row,$=u.children||u.childrenField;let L=i.beforeEditMethod||i.activeMethod;if(e.visible)C&&this.closeFilter();else{if(I)q.preventDefault(),l.showChild&&(0,_utils.hasChildrenList)(l.selected)?this.moveCtxMenu(q,m,l,"selectChild",37,!1,l.selected.children):this.moveCtxMenu(q,m,l,"selected",39,!0,this.ctxMenuList);else if(n&&s&&a.area&&this.handleKeyboardEvent)this.handleKeyboardEvent(q);else if(n&&_&&d.isChecked&&p.row&&p.column&&("checkbox"===p.column.type||"radio"===p.column.type))q.preventDefault(),"checkbox"===p.column.type?this.handleToggleCheckRowEvent(q,p.args):this.triggerRadioRowEvent(q,p.args);else if(S&&(0,_utils.isEnableConf)(o))O||p.row&&p.column&&(q.stopPropagation(),q.preventDefault(),this.handleEdit(p.args,q));else if(y)this._keyCtx=p.row&&p.column&&U.length,clearTimeout(this.keyCtxTimeout),this.keyCtxTimeout=setTimeout(()=>{this._keyCtx=!1},1e3);else if(w&&!M&&n&&d.isEnter&&(p.row||x.row||h&&(f.isCurrent||c)&&g)){if(k){if(x.row){let e=x.args;this.clearEdit(q),s&&a.selected&&this.$nextTick(()=>this.handleSelected(e,q))}}else if(p.row||x.row){C=(p.row?p:x).args;D?d.enterToTab?this.moveTabSelected(C,D,q):this.moveSelected(C,R,!0,E,!1,q):d.enterToTab?this.moveTabSelected(C,D,q):this.moveSelected(C,R,!1,E,!0,q)}else if(h&&(f.isCurrent||c)&&g){I=g[$];if(I&&I.length){q.preventDefault();let e=I[0],t={$table:this,row:e};this.setTreeExpand(g,!0).then(()=>this.scrollToRow(e)).then(()=>this.triggerCurrentRowEvent(q,t))}}}else if(F&&n&&d.isArrow)O||(p.row&&p.column?this.moveSelected(p.args,R,b,E,T,q):(b||T)&&(f.isCurrent||c)&&this.moveCurrentRow(b,T,q));else if(A&&n&&d.isTab)p.row||p.column?this.moveTabSelected(p.args,D,q):(x.row||x.column)&&this.moveTabSelected(x.args,D,q);else if(n&&d.isDel&&N&&(0,_utils.isEnableConf)(o)&&(p.row||p.column))O||(S=d.delMethod,y={row:p.row,rowIndex:this.getRowIndex(p.row),column:p.column,columnIndex:this.getColumnIndex(p.column),$table:this,$grid:this.$xegrid},L&&!L(y))||(S?S(y):(0,_util.setCellValue)(p.row,p.column,null),this.updateFooter(),this.emitEvent("cell-delete-value",y,q));else if(v&&n&&d.isBack&&(0,_utils.isEnableConf)(o)&&(p.row||p.column))O||(w=d.backMethod,d.isDel&&(0,_utils.isEnableConf)(o)&&(p.row||p.column)&&(M={row:p.row,rowIndex:this.getRowIndex(p.row),column:p.column,columnIndex:this.getColumnIndex(p.column),$table:this,$grid:this.$xegrid},L&&!L(M)||(w?w(M):((0,_util.setCellValue)(p.row,p.column,null),this.handleEdit(p.args,q)),this.emitEvent("cell-backspace-value",M,q))));else if(v&&n&&h&&d.isBack&&(f.isCurrent||c)&&g){let t=_xeUtils.default.findTree(this.afterTreeFullData,e=>e===g,{children:$}).parent;if(t){q.preventDefault();let e={row:t,rowIndex:this.getRowIndex(t),$rowIndex:this.getVMRowIndex(t),$table:this,$grid:this.$xegrid};this.setTreeExpand(t,!1).then(()=>this.scrollToRow(t)).then(()=>this.triggerCurrentRowEvent(q,e))}}else if(n&&d.isEdit&&!k&&!V&&(_||48<=m&&m<=57||65<=m&&m<=90||96<=m&&m<=111||186<=m&&m<=192||219<=m&&m<=222)){C=d.editMethod;if(p.column&&p.row&&(0,_utils.isEnableConf)(p.column.editRender)){let e=i.beforeEditMethod||i.activeMethod;I={row:p.row,rowIndex:this.getRowIndex(p.row),column:p.column,columnIndex:this.getColumnIndex(p.column),$table:this,$grid:this.$xegrid};e&&!e(I)||(C?C(I):((0,_util.setCellValue)(p.row,p.column,null),this.handleEdit(p.args,q)))}}this.emitEvent("keydown",{},q)}})},handleGlobalPasteEvent(e){var{isActivated:t,keyboardConfig:l,keyboardOpts:r,mouseConfig:i,mouseOpts:o,editStore:s,filterStore:a}=this,s=s.actived;t&&!a.visible&&(s.row||s.column||l&&r.isClip&&i&&o.area&&this.handlePasteCellAreaEvent&&this.handlePasteCellAreaEvent(e),this.emitEvent("paste",{},e))},handleGlobalCopyEvent(e){var{isActivated:t,keyboardConfig:l,keyboardOpts:r,mouseConfig:i,mouseOpts:o,editStore:s,filterStore:a}=this,s=s.actived;t&&!a.visible&&(s.row||s.column||l&&r.isClip&&i&&o.area&&this.handleCopyCellAreaEvent&&this.handleCopyCellAreaEvent(e),this.emitEvent("copy",{},e))},handleGlobalCutEvent(e){var{isActivated:t,keyboardConfig:l,keyboardOpts:r,mouseConfig:i,mouseOpts:o,editStore:s,filterStore:a}=this,s=s.actived;t&&!a.visible&&(s.row||s.column||l&&r.isClip&&i&&o.area&&this.handleCutCellAreaEvent&&this.handleCutCellAreaEvent(e),this.emitEvent("cut",{},e))},handleGlobalResizeEvent(){this.closeMenu(),this.updateCellAreas(),this.recalculate(!0)},handleTargetEnterEvent(e){var t=this.$refs.tooltip;clearTimeout(this.tooltipTimeout),e?this.closeTooltip():t&&t.setActived(!0)},handleTargetLeaveEvent(){var e=this.tooltipOpts;let t=this.$refs.tooltip;t&&t.setActived(!1),e.enterable?this.tooltipTimeout=setTimeout(()=>{(t=this.$refs.tooltip)&&!t.isActived()&&this.closeTooltip()},e.leaveDelay):this.closeTooltip()},triggerHeaderTitleEvent(r,i,o){var s=i.content||i.message;if(s){let{$refs:t,tooltipStore:e}=this;o=o.column;let l=(0,_utils.getFuncText)(s);this.handleTargetEnterEvent(!0),e.row=null,e.column=o,e.visible=!0,e.currOpts=i,this.$nextTick(()=>{var e=t.tooltip;e&&e.open(r.currentTarget,l)})}},triggerHeaderTooltipEvent(e,t){var l=this.tooltipStore,r=t.column,i=e.currentTarget;this.handleTargetEnterEvent(l.column!==r||l.row),l.column===r&&l.visible||this.handleTooltip(e,i,i,null,t)},triggerBodyTooltipEvent(l,r){var{editConfig:e,editOpts:t,editStore:i,tooltipStore:o}=this,i=i.actived,{row:s,column:a}=r,n=l.currentTarget;if(this.handleTargetEnterEvent(o.column!==a||o.row!==s),a.editRender&&(0,_utils.isEnableConf)(e)){if("row"===t.mode&&i.row===s)return;if(i.row===s&&i.column===a)return}if(o.column!==a||o.row!==s||!o.visible){let e,t;a.treeNode?(e=n.querySelector(".vxe-tree-cell"),"html"===a.type&&(t=n.querySelector(".vxe-cell--html"))):t=n.querySelector("html"===a.type?".vxe-cell--html":".vxe-cell--label"),this.handleTooltip(l,n,e||n.children[0],t,r)}},triggerFooterTooltipEvent(e,t){var l=t.column,r=this.tooltipStore,i=e.currentTarget;this.handleTargetEnterEvent(!0),r.column===l&&r.visible||this.handleTooltip(e,i,i.querySelector(".vxe-cell--item")||i.children[0],null,t)},handleTooltip(e,t,l,r,i){i.cell=t;let{$refs:o,tooltipOpts:s,tooltipStore:a}=this;var{column:t,row:n}=i,{showAll:d,enabled:h,contentMethod:u}=s,i=u?u(i):null,u=u&&!_xeUtils.default.eqNull(i);let c=u?i:("html"===t.type?l.innerText:l.textContent).trim(),g=l.scrollWidth>l.clientWidth;return c&&(d||h||u||g)&&(Object.assign(a,{row:n,column:t,visible:!0,currOpts:{}}),this.$nextTick(()=>{var e=o.tooltip;e&&e.open(!g&&r||l,(0,_utils.formatText)(c))})),this.$nextTick()},openTooltip(e,t){var l=this.$refs,l=l.commTip;return l?l.open(e,t):this.$nextTick()},closeTooltip(){var{$refs:e,tooltipStore:t}=this,l=e.tooltip,e=e.commTip;return t.visible&&(Object.assign(t,{row:null,column:null,content:null,visible:!1,currOpts:{}}),l)&&l.close(),e&&e.close(),this.$nextTick()},isAllCheckboxChecked(){return this.isAllSelected},isAllCheckboxIndeterminate(){return!this.isAllSelected&&this.isIndeterminate},isCheckboxIndeterminate(){return(0,_log.warnLog)("vxe.error.delFunc",["isCheckboxIndeterminate","isAllCheckboxIndeterminate"]),this.isAllCheckboxIndeterminate()},getCheckboxIndeterminateRecords(e){let{treeConfig:t,treeIndeterminateMaps:i,fullDataRowIdData:o}=this;if(t){let l=[],r=[];return _xeUtils.default.each(i,(e,t)=>{e&&(l.push(e),o[t])&&r.push(e)}),e?l:r}return[]},handleDefaultSelectionChecked(){let{fullDataRowIdData:l,checkboxOpts:e}=this;var{checkAll:t,checkRowKeys:r}=e;if(t)this.handleCheckedAllCheckboxRow(!0,!0);else if(r){let t=[];r.forEach(e=>{l[e]&&t.push(l[e].row)}),this.handleCheckedCheckboxRow(t,!0,!0)}},handleCheckedCheckboxRow(e,t,l){return(e=e&&!_xeUtils.default.isArray(e)?[e]:e).forEach(e=>this.handleSelectRow({row:e},!!t,l)),this.$nextTick()},setCheckboxRow(e,t){return this.handleCheckedCheckboxRow(e,t,!0)},isCheckedByCheckboxRow(e){var t=this.selectCheckboxMaps,l=this.checkboxOpts.checkField;return l?_xeUtils.default.get(e,l):!!t[(0,_util.getRowid)(this,e)]},isIndeterminateByCheckboxRow(e){var t=this.treeIndeterminateMaps;return!!t[(0,_util.getRowid)(this,e)]&&!this.isCheckedByCheckboxRow(e)},handleSelectRow({row:l},o,s){let{selectCheckboxMaps:e,afterFullData:t,treeConfig:r,treeOpts:i,treeIndeterminateMaps:a,checkboxOpts:n}=this,{checkField:d,checkStrictly:h,checkMethod:u}=n,c=Object.assign({},e);var g=i.children||i.childrenField;let f=n.indeterminateField||n.halfField;var p=(0,_util.getRowid)(this,l);if(d)if(r&&!h){-1===o?(a[p]||(f&&_xeUtils.default.set(l,f,!0),a[p]=l),_xeUtils.default.set(l,d,!1)):_xeUtils.default.eachTree([l],e=>{(this.eqRow(e,l)||s||!u||u({row:e}))&&(_xeUtils.default.set(e,d,o),f&&_xeUtils.default.set(l,f,!1),delete a[(0,_util.getRowid)(this,e)],this.handleCheckboxReserveRow(l,o))},{children:g});var x=_xeUtils.default.findTree(t,e=>this.eqRow(e,l),{children:g});if(x&&x.parent){let e,l=[],r={};if(!s&&u?x.items.forEach(e=>{var t;u({row:e})&&(t=(0,_util.getRowid)(this,e),r[t]=e,l.push(e))}):x.items.forEach(e=>{var t=(0,_util.getRowid)(this,e);r[t]=e,l.push(e)}),_xeUtils.default.find(x.items,e=>!!a[(0,_util.getRowid)(this,e)]))e=-1;else{let t=[];x.items.forEach(e=>{_xeUtils.default.get(e,d)&&t.push(e)}),e=t.filter(e=>r[(0,_util.getRowid)(this,e)]).length===l.length||!(!t.length&&-1!==o)&&-1}return this.selectCheckboxMaps=c,this.handleSelectRow({row:x.parent},e,s)}}else!s&&u&&!u({row:l})||(_xeUtils.default.set(l,d,o),this.handleCheckboxReserveRow(l,o));else if(r&&!h){-1===o?(a[p]||(f&&_xeUtils.default.set(l,f,!0),a[p]=l),c[p]&&delete c[p]):_xeUtils.default.eachTree([l],e=>{var t=(0,_util.getRowid)(this,e);(this.eqRow(e,l)||s||!u||u({row:e}))&&(o?c[t]=e:c[t]&&delete c[t],f&&_xeUtils.default.set(l,f,!1),delete a[(0,_util.getRowid)(this,e)],this.handleCheckboxReserveRow(l,o))},{children:g});x=_xeUtils.default.findTree(t,e=>this.eqRow(e,l),{children:g});if(x&&x.parent){let e,r=[],i={};if(!s&&u?x.items.forEach(e=>{var t;u({row:e})&&(t=(0,_util.getRowid)(this,e),i[t]=e,r.push(e))}):x.items.forEach(e=>{var t=(0,_util.getRowid)(this,e);i[t]=e,r.push(e)}),_xeUtils.default.find(x.items,e=>!!a[(0,_util.getRowid)(this,e)]))e=-1;else{let l=[];x.items.forEach(e=>{var t=(0,_util.getRowid)(this,e);c[t]&&l.push(e)}),e=l.filter(e=>i[(0,_util.getRowid)(this,e)]).length===r.length||!(!l.length&&-1!==o)&&-1}return this.selectCheckboxMaps=c,this.handleSelectRow({row:x.parent},e,s)}}else!s&&u&&!u({row:l})||(o?c[p]||(c[p]=l):c[p]&&delete c[p],this.handleCheckboxReserveRow(l,o));this.selectCheckboxMaps=c,this.checkSelectionStatus()},handleToggleCheckRowEvent(t,l){var{selectCheckboxMaps:r,checkboxOpts:i}=this,{checkField:i,trigger:e}=i,o=l.row;if("manual"!==e){let e=!1;e=i?!_xeUtils.default.get(o,i):!r[(0,_util.getRowid)(this,o)],t?this.triggerCheckRowEvent(t,l,e):this.handleSelectRow(l,e)}},triggerCheckRowEvent(e,t,l){var{checkboxOpts:r,afterFullData:i}=this,{checkMethod:o,trigger:s}=r,a=t.row;if("manual"!==s){if(e.stopPropagation(),r.isShiftKey&&e.shiftKey&&!this.treeConfig){s=this.getCheckboxRecords();if(s.length){r=s[0],s=this.getVTRowIndex(a),r=this.getVTRowIndex(r);if(s!==r)return this.setAllCheckboxRow(!1),i=s<r?i.slice(s,r+1):i.slice(r,s+1),this.handleCheckedCheckboxRow(i,!0,!1),void this.emitEvent("checkbox-range-select",Object.assign({rangeRecords:i},t),e)}}o&&!o({row:a})||(this.handleSelectRow(t,l),this.emitEvent("checkbox-change",Object.assign({records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords(),indeterminates:this.getCheckboxIndeterminateRecords(),checked:l},t),e))}},toggleCheckboxRow(e){var{selectCheckboxMaps:t,checkboxOpts:l}=this,l=l.checkField,l=l?!_xeUtils.default.get(e,l):!t[(0,_util.getRowid)(this,e)];return this.handleSelectRow({row:e},l,!0),this.$nextTick()},handleCheckedAllCheckboxRow(t,l){let{afterFullData:e,treeConfig:r,treeOpts:i,selectCheckboxMaps:o,checkboxReserveRowMap:s,checkboxOpts:a,afterFullRowMaps:n}=this,{checkField:d,reserve:h,checkStrictly:u,checkMethod:c}=a,g=a.indeterminateField||a.halfField;var f,p=i.children||i.childrenField;let x={};return r||_xeUtils.default.each(o,(e,t)=>{n[t]||(x[t]=e)}),u?this.isAllSelected=t:(d?(f=e=>{!l&&c&&!c({row:e})||(t&&(x[(0,_util.getRowid)(this,e)]=e),_xeUtils.default.set(e,d,t)),r&&g&&_xeUtils.default.set(e,g,!1)},r?_xeUtils.default.eachTree(e,f,{children:p}):e.forEach(f)):r?t?_xeUtils.default.eachTree(e,e=>{!l&&c&&!c({row:e})||(x[(0,_util.getRowid)(this,e)]=e)},{children:p}):!l&&c&&_xeUtils.default.eachTree(e,e=>{var t=(0,_util.getRowid)(this,e);!c({row:e})&&o[t]&&(x[t]=e)},{children:p}):t?!l&&c?e.forEach(e=>{var t=(0,_util.getRowid)(this,e);(o[t]||c({row:e}))&&(x[t]=e)}):e.forEach(e=>{x[(0,_util.getRowid)(this,e)]=e}):!l&&c&&e.forEach(e=>{var t=(0,_util.getRowid)(this,e);!c({row:e})&&o[t]&&(x[t]=e)}),h&&(t?_xeUtils.default.each(x,(e,t)=>{s[t]=e}):e.forEach(e=>this.handleCheckboxReserveRow(e,!1))),this.selectCheckboxMaps=d?{}:x),this.treeIndeterminateMaps={},this.treeIndeterminateRowMaps={},this.checkSelectionStatus(),this.$nextTick()},setAllCheckboxRow(e){return this.handleCheckedAllCheckboxRow(e,!0)},checkSelectionStatus(){let{afterFullData:o,selectCheckboxMaps:s,treeIndeterminateMaps:a,checkboxOpts:e,treeConfig:n}=this,{checkField:d,checkStrictly:t,checkMethod:h}=e,u=e.indeterminateField||e.halfField;if(!t){let t=[],l=[],e=!1,r=!1,i=!1;i=d?(e=o.every(h?e=>h({row:e})?!!_xeUtils.default.get(e,d)&&(l.push(e),!0):(t.push(e),!0):e=>_xeUtils.default.get(e,d)),r=e&&o.length!==t.length,n?u?!r&&o.some(e=>_xeUtils.default.get(e,d)||_xeUtils.default.get(e,u)||!!a[(0,_util.getRowid)(this,e)]):!r&&o.some(e=>_xeUtils.default.get(e,d)||!!a[(0,_util.getRowid)(this,e)]):u?!r&&o.some(e=>_xeUtils.default.get(e,d)||_xeUtils.default.get(e,u)):!r&&o.some(e=>_xeUtils.default.get(e,d))):(e=o.every(h?e=>h({row:e})?!!s[(0,_util.getRowid)(this,e)]&&(l.push(e),!0):(t.push(e),!0):e=>s[(0,_util.getRowid)(this,e)]),r=e&&o.length!==t.length,n?!r&&o.some(e=>{e=(0,_util.getRowid)(this,e);return a[e]||s[e]}):!r&&o.some(e=>s[(0,_util.getRowid)(this,e)])),this.isAllSelected=r,this.isIndeterminate=i}},handleReserveStatus(){var{expandColumn:e,treeOpts:t,treeConfig:l,fullDataRowIdData:r,fullAllDataRowMap:i,currentRow:o,selectRadioRow:s,radioReserveRow:a,radioOpts:n,checkboxOpts:d,selectCheckboxMaps:h,rowExpandedMaps:u,treeExpandedMaps:c,expandOpts:g}=this;s&&!i.has(s)&&(this.selectRadioRow=null),n.reserve&&a&&r[s=(0,_util.getRowid)(this,a)]&&this.handleCheckedRadioRow(r[s].row,!0),this.selectCheckboxMaps=getRecoverRowMaps(this,h),d.reserve&&this.handleCheckedCheckboxRow(handleReserveRow(this,this.checkboxReserveRowMap),!0,!0),o&&!i.has(o)&&(this.currentRow=null),this.rowExpandedMaps=e?getRecoverRowMaps(this,u):[],e&&g.reserve&&this.setRowExpand(handleReserveRow(this,this.rowExpandedReserveRowMap),!0),this.treeExpandedMaps=l?getRecoverRowMaps(this,c):[],l&&t.reserve&&this.setTreeExpand(handleReserveRow(this,this.treeExpandedReserveRowMap),!0)},getRadioReserveRecord(e){var{fullDataRowIdData:t,radioReserveRow:r,radioOpts:l,afterFullData:i,treeConfig:o,treeOpts:s}=this,s=s.children||s.childrenField;if(l.reserve&&r){let l=(0,_util.getRowid)(this,r);if(e){if(!t[l])return r}else{let t=(0,_util.getRowkey)(this);if(o){if(_xeUtils.default.findTree(i,e=>l===_xeUtils.default.get(e,t),{children:s}))return r}else if(!i.some(e=>l===_xeUtils.default.get(e,t)))return r}}return null},clearRadioReserve(){return this.radioReserveRow=null,this.$nextTick()},handleRadioReserveRow(e){var t=this.radioOpts;t.reserve&&(this.radioReserveRow=e)},getCheckboxReserveRecords(r){let{fullDataRowIdData:i,afterFullData:e,checkboxReserveRowMap:t,checkboxOpts:l,treeConfig:o,treeOpts:s}=this;var a=s.children||s.childrenField;let n=[];if(l.reserve){let l={};o?_xeUtils.default.eachTree(e,e=>{l[(0,_util.getRowid)(this,e)]=1},{children:a}):e.forEach(e=>{l[(0,_util.getRowid)(this,e)]=1}),_xeUtils.default.each(t,(e,t)=>{e&&(r?i[t]||n.push(e):l[t]||n.push(e))})}return n},clearCheckboxReserve(){return this.checkboxReserveRowMap={},this.$nextTick()},handleCheckboxReserveRow(e,t){var{checkboxReserveRowMap:l,checkboxOpts:r}=this;r.reserve&&(r=(0,_util.getRowid)(this,e),t?l[r]=e:l[r]&&delete l[r])},handleCheckAllEvent(e,t){this.handleCheckedAllCheckboxRow(t),e&&this.emitEvent("checkbox-all",{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords(),indeterminates:this.getCheckboxIndeterminateRecords(),checked:t},e)},triggerCheckAllEvent(e,t){var l=this.checkboxOpts,l=l.trigger;"manual"!==l&&(e&&e.stopPropagation(),this.handleCheckAllEvent(e,t))},toggleAllCheckboxRow(){return this.handleCheckAllEvent(null,!this.isAllSelected),this.$nextTick()},clearCheckboxRow(){let{tableFullData:e,treeConfig:t,treeOpts:l,checkboxOpts:r}=this,{checkField:i,reserve:o}=r;var s,a=l.children||l.childrenField;let n=r.indeterminateField||r.halfField;return i&&(s=e=>{t&&n&&_xeUtils.default.set(e,n,!1),_xeUtils.default.set(e,i,!1)},t?_xeUtils.default.eachTree(e,s,{children:a}):e.forEach(s)),o&&e.forEach(e=>this.handleCheckboxReserveRow(e,!1)),this.isAllSelected=!1,this.isIndeterminate=!1,this.selectCheckboxMaps={},this.treeIndeterminateMaps={},this.$nextTick()},handleDefaultRadioChecked(){var{radioOpts:e,fullDataRowIdData:t}=this,{checkRowKey:e,reserve:l}=e;e&&(t[e]&&this.handleCheckedRadioRow(t[e].row,!0),l)&&(t=(0,_util.getRowkey)(this),this.radioReserveRow={[t]:e})},triggerRadioRowEvent(l,r){var{selectRadioRow:i,radioOpts:o}=this,s=r.row,e=o.trigger;if("manual"!==e){l.stopPropagation();let e=s,t=i!==e;t?this.handleCheckedRadioRow(e):o.strict||(t=i===e)&&(e=null,this.clearRadioRow()),t&&this.emitEvent("radio-change",Object.assign({oldValue:i,newValue:e},r),l)}},triggerCurrentRowEvent(e,t){var l=this.currentRow,r=t.row,i=l!==r;this.setCurrentRow(r),i&&this.emitEvent("current-change",Object.assign({oldValue:l,newValue:r},t),e)},setCurrentRow(e){var{$el:t,rowOpts:l}=this;return this.clearCurrentRow(),this.currentRow=e,(l.isCurrent||this.highlightCurrentRow)&&t&&_xeUtils.default.arrayEach(t.querySelectorAll(`[rowid="${(0,_util.getRowid)(this,e)}"]`),e=>(0,_dom.addClass)(e,"row--current")),this.$nextTick()},isCheckedByRadioRow(e){return this.selectRadioRow===e},handleCheckedRadioRow(e,t){var l=this.radioOpts,l=l.checkMethod;return e&&(t||!l||l({row:e}))&&(this.selectRadioRow=e,this.handleRadioReserveRow(e)),this.$nextTick()},setRadioRow(e){return this.handleCheckedRadioRow(e,!0)},clearCurrentRow(){var e=this.$el;return this.currentRow=null,this.hoverRow=null,e&&_xeUtils.default.arrayEach(e.querySelectorAll(".row--current"),e=>(0,_dom.removeClass)(e,"row--current")),this.$nextTick()},clearRadioRow(){return this.selectRadioRow=null,this.$nextTick()},getCurrentRecord(){return this.rowOpts.isCurrent||this.highlightCurrentRow?this.currentRow:null},getRadioRecord(e){var{selectRadioRow:t,fullDataRowIdData:l,afterFullRowMaps:r}=this;if(t){var i=(0,_util.getRowid)(this,t);if(e){if(l[i])return t}else if(r[i])return t}return null},triggerHoverEvent(e,{row:t}){this.setHoverRow(t)},setHoverRow(e){var t=this.$el,l=(0,_util.getRowid)(this,e);this.clearHoverRow(),t&&_xeUtils.default.arrayEach(t.querySelectorAll(`[rowid="${l}"]`),e=>(0,_dom.addClass)(e,"row--hover")),this.hoverRow=e},clearHoverRow(){var e=this.$el;e&&_xeUtils.default.arrayEach(e.querySelectorAll(".vxe-body--row.row--hover"),e=>(0,_dom.removeClass)(e,"row--hover")),this.hoverRow=null},triggerHeaderCellClickEvent(e,t){var{_lastResizeTime:l,sortOpts:r}=this,i=t.column,o=e.currentTarget,l=l&&l>Date.now()-300,s=(0,_dom.getEventTargetNode)(e,o,"vxe-cell--sort").flag,a=(0,_dom.getEventTargetNode)(e,o,"vxe-cell--filter").flag;return"cell"!==r.trigger||l||s||a||this.triggerSortEvent(e,i,getNextSortOrder(this,i)),this.emitEvent("header-cell-click",Object.assign({triggerResizable:l,triggerSort:s,triggerFilter:a,cell:o},t),e),this.columnOpts.isCurrent||this.highlightCurrentColumn?this.setCurrentColumn(i):this.$nextTick()},triggerHeaderCellDblclickEvent(e,t){this.emitEvent("header-cell-dblclick",Object.assign({cell:e.currentTarget},t),e)},getCurrentColumn(){return this.columnOpts.isCurrent||this.highlightCurrentColumn?this.currentColumn:null},setCurrentColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e&&(this.clearCurrentColumn(),this.currentColumn=e),this.$nextTick()},clearCurrentColumn(){return this.currentColumn=null,this.$nextTick()},checkValidate(e){return this.triggerValidate?this.triggerValidate(e):this.$nextTick()},handleChangeCell(e,t){this.checkValidate("blur").catch(e=>e).then(()=>{this.handleEdit(t,e).then(()=>this.checkValidate("change")).catch(e=>e)})},triggerCellClickEvent(e,t){var{highlightCurrentRow:l,editStore:r,radioOpts:i,expandOpts:o,treeOpts:s,keyboardOpts:a,editConfig:n,editOpts:d,checkboxOpts:h,rowOpts:u}=this,{actived:r,focused:c}=r,{row:g,column:f}=t,{type:p,treeNode:x}=f,m="radio"===p,v="checkbox"===p,p="expand"===p,w=e.currentTarget,C=m&&(0,_dom.getEventTargetNode)(e,w,"vxe-cell--radio").flag,_=v&&(0,_dom.getEventTargetNode)(e,w,"vxe-cell--checkbox").flag,R=x&&(0,_dom.getEventTargetNode)(e,w,"vxe-tree--btn-wrapper").flag,b=p&&(0,_dom.getEventTargetNode)(e,w,"vxe-table--expanded").flag;t=Object.assign({cell:w,triggerRadio:C,triggerCheckbox:_,triggerTreeNode:R,triggerExpandNode:b},t),!_&&!C&&(!b&&("row"===o.trigger||p&&"cell"===o.trigger)&&this.triggerRowExpandEvent(e,t),"row"===s.trigger||x&&"cell"===s.trigger)&&this.triggerTreeExpandEvent(e,t),R||(b||(!u.isCurrent&&!l||_||C||this.triggerCurrentRowEvent(e,t),!C&&("row"===i.trigger||m&&"cell"===i.trigger)&&this.triggerRadioRowEvent(e,t),!_&&("row"===h.trigger||v&&"cell"===h.trigger)&&this.handleToggleCheckRowEvent(e,t)),(0,_utils.isEnableConf)(n)&&(a.arrowCursorLock&&e&&"cell"===d.mode&&e.target&&/^input|textarea$/i.test(e.target.tagName)&&(c.column=f,c.row=g),"manual"===d.trigger?r.args&&r.row===g&&f!==r.column&&this.handleChangeCell(e,t):r.args&&g===r.row&&f===r.column||("click"===d.trigger||"dblclick"===d.trigger&&"row"===d.mode&&r.row===g)&&this.handleChangeCell(e,t))),this.emitEvent("cell-click",t,e)},triggerCellDblclickEvent(e,t){var{editStore:l,editConfig:r,editOpts:i}=this,l=l.actived,o=e.currentTarget;t.cell=o,!(0,_utils.isEnableConf)(r)||"dblclick"!==i.trigger||l.args&&e.currentTarget===l.args.cell||("row"===i.mode?this.checkValidate("blur").catch(e=>e).then(()=>{this.handleEdit(t,e).then(()=>this.checkValidate("change")).catch(e=>e)}):"cell"===i.mode&&this.handleEdit(t,e).then(()=>this.checkValidate("change")).catch(e=>e)),this.emitEvent("cell-dblclick",t,e)},handleDefaultSort(){var{sortConfig:e,sortOpts:t}=this;let l=t.defaultSort;l&&(l=_xeUtils.default.isArray(l)?l:[l]).length&&((e.multiple?l:l.slice(0,1)).forEach((e,t)=>{var{field:e,order:l}=e;e&&l&&(e=this.getColumnByField(e))&&e.sortable&&(e.order=l,e.sortTime=Date.now()+t)}),t.remote||this.handleTableData(!0).then(this.updateStyle))},triggerSortEvent(e,t,l){var r=this.sortOpts,{field:i,sortable:o,remoteSort:s}=t;(o||s)&&(l&&t.order!==l?this.sort({field:i,order:l}):this.clearSort(r.multiple?t:null),o={$table:this,$event:e,column:t,field:i,property:i,order:t.order,sortList:this.getSortColumns(),sortTime:t.sortTime},this.mouseConfig&&this.mouseOpts.area&&this.handleSortEvent&&this.handleSortEvent(e,o),this.emitEvent("sort-change",o,e))},setPendingRow(e,t){let l=Object.assign({},this.pendingRowMaps),r=[...this.pendingRowList];return e&&!_xeUtils.default.isArray(e)&&(e=[e]),t?e.forEach(e=>{var t=(0,_util.getRowid)(this,e);t&&!l[t]&&(r.push(e),l[t]=e)}):e.forEach(e=>{var t=(0,_util.getRowid)(this,e);t&&l[t]&&(-1<(e=this.findRowIndexOf(r,e))&&r.splice(e,1),delete l[t])}),this.pendingRowMaps=l,this.pendingRowList=r,this.$nextTick()},togglePendingRow(e){let r=Object.assign({},this.pendingRowMaps),i=[...this.pendingRowList];return(e=e&&!_xeUtils.default.isArray(e)?[e]:e).forEach(e=>{var t,l=(0,_util.getRowid)(this,e);l&&(r[l]?(-1<(t=this.findRowIndexOf(i,e))&&i.splice(t,1),delete r[l]):(i.push(e),r[l]=e))}),this.pendingRowMaps=r,this.pendingRowList=i,this.$nextTick()},getPendingRecords(){return this.pendingRowList.slice(0)},hasPendingByRow(e){var t=this.pendingRowMaps;return!!t[(0,_util.getRowid)(this,e)]},clearPendingRow(){return this.pendingRowMaps={},this.pendingRowList=[],this.$nextTick()},sort(e,t){var l=this.sortOpts;let{multiple:r,remote:i,orders:s}=l;if(e&&_xeUtils.default.isString(e)&&(e=[{field:e,order:t}]),(e=_xeUtils.default.isArray(e)?e:[e]).length){let o;return r||clearAllSort(this),(r?e:[e[0]]).forEach((e,t)=>{let{field:l,order:r}=e,i=l;(i=_xeUtils.default.isString(l)?this.getColumnByField(l):i)&&(i.sortable||i.remoteSort)&&(o=o||i,-1===s.indexOf(r)&&(r=getNextSortOrder(this,i)),i.order!==r&&(i.order=r),i.sortTime=Date.now()+t)}),(!i||o&&o.remoteSort)&&this.handleTableData(!0),this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle()))}return this.$nextTick()},clearSort(e){var t=this.sortOpts;return e?(e=(0,_util.handleFieldOrColumn)(this,e))&&(e.order=null):clearAllSort(this),t.remote||this.handleTableData(!0),this.$nextTick().then(this.updateStyle)},getSortColumn(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getSortColumn","getSortColumns"]),_xeUtils.default.find(this.tableFullColumn,e=>(e.sortable||e.remoteSort)&&e.order)},isSort(e){return e?(e=(0,_util.handleFieldOrColumn)(this,e))&&e.sortable&&!!e.order:0<this.getSortColumns().length},getSortColumns(){var{multiple:e,chronological:t}=this.sortOpts;let r=[];return this.tableFullColumn.forEach(e=>{var{field:t,order:l}=e;(e.sortable||e.remoteSort)&&l&&r.push({column:e,field:t,property:t,order:l,sortTime:e.sortTime})}),e&&t&&1<r.length?_xeUtils.default.orderBy(r,"sortTime"):r},closeFilter(){var e=this.filterStore,{column:t,visible:l}=e;return Object.assign(e,{isAllSelected:!1,isIndeterminate:!1,options:[],visible:!1}),l&&this.emitEvent("filter-visible",{column:t,field:t.field,property:t.field,filterList:this.getCheckedFilters(),visible:!1},null),this.$nextTick()},isActiveFilterByColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e?e.filters&&e.filters.some(e=>e.checked):0<this.getCheckedFilters().length},isFilter(e){return this.isActiveFilterByColumn(e)},isRowExpandLoaded(e){e=this.fullAllDataRowMap.get(e);return e&&e.expandLoaded},clearRowExpandLoaded(e){var{expandOpts:t,rowExpandLazyLoadedMaps:l,fullAllDataRowMap:r}=this,t=t.lazy,i=(0,_util.getRowid)(this,e),r=r.get(e);return t&&r&&(r.expandLoaded=!1,(e=Object.assign({},l))[i]&&delete e[i],this.rowExpandLazyLoadedMaps=e),this.$nextTick()},reloadRowExpand(e){var{expandOpts:t,rowExpandLazyLoadedMaps:l}=this,t=t.lazy,r=(0,_util.getRowid)(this,e);return t&&!l[r]&&this.clearRowExpandLoaded(e).then(()=>this.handleAsyncRowExpand(e)),this.$nextTick()},reloadExpandContent(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["reloadExpandContent","reloadRowExpand"]),this.reloadRowExpand(e)},triggerRowExpandEvent(e,t){var{expandOpts:l,rowExpandLazyLoadedMaps:r,expandColumn:i}=this,t=t.row,{lazy:l,trigger:o}=l;"manual"===o||(e.stopPropagation(),o=(0,_util.getRowid)(this,t),l&&r[o])||(l=!this.isRowExpandByRow(t),r=this.getColumnIndex(i),o=this.getVMColumnIndex(i),this.setRowExpand(t,l),this.emitEvent("toggle-row-expand",{expanded:l,column:i,columnIndex:r,$columnIndex:o,row:t,rowIndex:this.getRowIndex(t),$rowIndex:this.getVMRowIndex(t)},e))},toggleRowExpand(e){return this.setRowExpand(e,!this.isRowExpandByRow(e))},handleDefaultRowExpand(){let{expandOpts:e,fullDataRowIdData:l}=this;var{expandAll:t,expandRowKeys:r}=e;if(t)this.setAllRowExpand(!0);else if(r){let t=[];r.forEach(e=>{l[e]&&t.push(l[e].row)}),this.setRowExpand(t,!0)}},setAllRowExpand(e){var{treeConfig:t,treeOpts:l,tableFullData:r,tableFullTreeData:i}=this,l=l.children||l.childrenField;let o=[];return t?_xeUtils.default.eachTree(i,e=>{o.push(e)},{children:l}):o=r,this.setRowExpand(o,e)},handleAsyncRowExpand(i){let{fullAllDataRowMap:e,expandOpts:t}=this,o=e.get(i);return new Promise(l=>{var e=t.loadMethod;if(e){var r=this.rowExpandLazyLoadedMaps,r=Object.assign({},r);let t=(0,_util.getRowid)(this,i);r[t]=i,this.rowExpandLazyLoadedMaps=r,e({$table:this,row:i,rowIndex:this.getRowIndex(i),$rowIndex:this.getVMRowIndex(i)}).then(()=>{o.expandLoaded=!0;var e=this.rowExpandedMaps,e=Object.assign({},e);e[t]=i,this.rowExpandedMaps=e}).catch(()=>{o.expandLoaded=!1}).finally(()=>{var e=this.rowExpandLazyLoadedMaps,e=Object.assign({},e);e[t]&&delete e[t],this.rowExpandLazyLoadedMaps=e,l(this.$nextTick().then(this.recalculate))})}else l()})},setRowExpand(e,t){let{rowExpandedMaps:l,fullAllDataRowIdData:r,rowExpandLazyLoadedMaps:i,expandOpts:o,expandColumn:s}=this,a=Object.assign({},l),{reserve:n,lazy:d,accordion:h,toggleMethod:u}=o,c=[],g=this.getColumnIndex(s),f=this.getVMColumnIndex(s);return e&&(_xeUtils.default.isArray(e)||(e=[e]),h&&(a={},e=e.slice(e.length-1,e.length)),e=u?e.filter(e=>u({expanded:t,column:s,columnIndex:g,$columnIndex:f,row:e,rowIndex:this.getRowIndex(e),$rowIndex:this.getVMRowIndex(e)})):e,t?e.forEach(e=>{var t,l=(0,_util.getRowid)(this,e);a[l]||(t=r[l],d&&!t.expandLoaded&&!i[l]?c.push(this.handleAsyncRowExpand(e)):a[l]=e)}):e.forEach(e=>{e=(0,_util.getRowid)(this,e);a[e]&&delete a[e]}),n)&&e.forEach(e=>this.handleRowExpandReserve(e,t)),this.rowExpandedMaps=a,Promise.all(c).then(this.recalculate)},isRowExpandByRow(e){var t=this.rowExpandedMaps;return!!t[(0,_util.getRowid)(this,e)]},isExpandByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isExpandByRow","isRowExpandByRow"]),this.isRowExpandByRow(e)},clearRowExpand(){var{expandOpts:e,tableFullData:t}=this,e=e.reserve;let l=this.getRowExpandRecords();return this.rowExpandedMaps={},e&&t.forEach(e=>this.handleRowExpandReserve(e,!1)),this.$nextTick().then(()=>{l.length&&this.recalculate()})},clearRowExpandReserve(){return this.rowExpandedReserveRowMap={},this.$nextTick()},handleRowExpandReserve(e,t){var{rowExpandedReserveRowMap:l,expandOpts:r}=this;r.reserve&&(r=(0,_util.getRowid)(this,e),t?l[r]=e:l[r]&&delete l[r])},getRowExpandRecords(){let t=[];return _xeUtils.default.each(this.rowExpandedMaps,e=>{e&&t.push(e)}),t},getTreeExpandRecords(){let t=[];return _xeUtils.default.each(this.treeExpandedMaps,e=>{e&&t.push(e)}),t},getTreeStatus(){return this.treeConfig?{config:this.treeOpts,rowExpandeds:this.getTreeExpandRecords()}:null},isTreeExpandLoaded(e){e=this.fullAllDataRowMap.get(e);return e&&e.treeLoaded},clearTreeExpandLoaded(e){var{treeOpts:t,treeExpandedMaps:l,fullAllDataRowMap:r}=this,{transform:t,lazy:i}=t,o=(0,_util.getRowid)(this,e),r=r.get(e);return i&&r&&(r.treeLoaded=!1,l[o])&&delete l[o],t?(this.handleVirtualTreeToList(),this.handleTableData()):this.$nextTick()},reloadTreeExpand(e){var{treeOpts:t,treeExpandLazyLoadedMaps:l}=this;let{transform:r,lazy:i}=t;var t=t.hasChild||t.hasChildField,o=(0,_util.getRowid)(this,e);return i&&e[t]&&!l[o]&&this.clearTreeExpandLoaded(e).then(()=>this.handleAsyncTreeExpandChilds(e)).then(()=>{if(r)return this.handleVirtualTreeToList(),this.handleTableData()}).then(()=>this.recalculate()),this.$nextTick()},reloadTreeChilds(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["reloadTreeChilds","reloadTreeExpand"]),this.reloadTreeExpand(e)},triggerTreeExpandEvent(e,t){var{treeOpts:l,treeExpandLazyLoadedMaps:r}=this,{row:t,column:i}=t,{lazy:l,trigger:o}=l;"manual"===o||(e.stopPropagation(),o=(0,_util.getRowid)(this,t),l&&r[o])||(l=!this.isTreeExpandByRow(t),r=this.getColumnIndex(i),o=this.getVMColumnIndex(i),this.setTreeExpand(t,l),this.emitEvent("toggle-tree-expand",{expanded:l,column:i,columnIndex:r,$columnIndex:o,row:t},e))},toggleTreeExpand(e){return this.setTreeExpand(e,!this.isTreeExpandByRow(e))},handleDefaultTreeExpand(){let{treeConfig:e,treeOpts:t,tableFullData:o}=this;if(e){var{expandAll:l,expandRowKeys:s}=t;let i=t.children||t.childrenField;if(l)this.setAllTreeExpand(!0);else if(s){let l=[],r=(0,_util.getRowkey)(this);s.forEach(t=>{var e=_xeUtils.default.findTree(o,e=>t===_xeUtils.default.get(e,r),{children:i});e&&l.push(e.item)}),this.setTreeExpand(l,!0)}}},handleAsyncTreeExpandChilds(o){var{treeOpts:e,checkboxOpts:t}=this;let{transform:s,loadMethod:a}=e,n=t.checkStrictly;return new Promise(i=>{if(a){let{fullAllDataRowMap:e,treeExpandLazyLoadedMaps:t}=this,l=(0,_util.getRowid)(this,o),r=e.get(o);t[l]=o,a({$table:this,row:o}).then(e=>{if(r.treeLoaded=!0,t[l]&&(t[l]=null),e=_xeUtils.default.isArray(e)?e:[])return this.loadTreeChildren(o,e).then(e=>{var t=this.treeExpandedMaps,t=Object.assign({},t);return e.length&&!t[l]&&(t[l]=o,this.treeExpandedMaps=t),!n&&this.isCheckedByCheckboxRow(o)&&this.handleCheckedCheckboxRow(e,!0,!0),this.$nextTick().then(()=>{if(s)return this.handleTableData()})})}).catch(()=>{r.treeLoaded=!1;var e=this.treeExpandLazyLoadedMaps;e[l]&&(e[l]=null)}).finally(()=>{this.$nextTick().then(()=>this.recalculate()).then(()=>i())})}else i()})},setAllTreeExpand(e){var{tableFullData:t,treeOpts:l}=this;let r=l.lazy,i=l.children||l.childrenField,o=[];return _xeUtils.default.eachTree(t,e=>{var t=e[i];(r||t&&t.length)&&o.push(e)},{children:i}),this.setTreeExpand(o,e)},handleBaseTreeExpand(e,t){let{fullAllDataRowMap:r,tableFullData:l,treeExpandedMaps:i,treeOpts:o,treeExpandLazyLoadedMaps:s,treeNodeColumn:a}=this,{reserve:n,lazy:d,accordion:h,toggleMethod:u}=o,c=Object.assign({},i),g=o.children||o.childrenField,f=o.hasChild||o.hasChildField,p=[],x=this.getColumnIndex(a),m=this.getVMColumnIndex(a),v=u?e.filter(e=>u({expanded:t,column:a,columnIndex:x,$columnIndex:m,row:e})):e;return h&&(v=v.length?[v[v.length-1]]:[],e=_xeUtils.default.findTree(l,e=>e===v[0],{children:g}))&&e.items.forEach(e=>{e=(0,_util.getRowid)(this,e);c[e]&&delete c[e]}),t?v.forEach(e=>{var t,l=(0,_util.getRowid)(this,e);c[l]||(t=r.get(e),d&&e[f]&&!t.treeLoaded&&!s[l]?p.push(this.handleAsyncTreeExpandChilds(e)):e[g]&&e[g].length&&(c[l]=e))}):v.forEach(e=>{e=(0,_util.getRowid)(this,e);c[e]&&delete c[e]}),n&&v.forEach(e=>this.handleTreeExpandReserve(e,t)),this.treeExpandedMaps=c,Promise.all(p).then(this.recalculate)},handleVirtualTreeExpand(e,t){return this.handleBaseTreeExpand(e,t).then(()=>(this.handleVirtualTreeToList(),this.handleTableData())).then(()=>this.recalculate())},setTreeExpand(e,t){var l=this.treeOpts,l=l.transform;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).length?l?this.handleVirtualTreeExpand(e,t):this.handleBaseTreeExpand(e,t):this.$nextTick()},isTreeExpandByRow(e){var t=this.treeExpandedMaps;return!!t[(0,_util.getRowid)(this,e)]},clearTreeExpand(){var{treeOpts:e,tableFullData:t}=this;let{transform:l,reserve:r}=e;e=e.children||e.childrenField;let i=this.getTreeExpandRecords();return this.treeExpandedMaps={},r&&_xeUtils.default.eachTree(t,e=>this.handleTreeExpandReserve(e,!1),{children:e}),this.handleTableData().then(()=>{if(l)return this.handleVirtualTreeToList(),this.handleTableData()}).then(()=>{i.length&&this.recalculate()})},clearTreeExpandReserve(){return this.treeExpandedReserveRowMap={},this.$nextTick()},handleTreeExpandReserve(e,t){var{treeExpandedReserveRowMap:l,treeOpts:r}=this;r.reserve&&(r=(0,_util.getRowid)(this,e),t?l[r]=e:l[r]&&delete l[r])},getScroll(){var{$refs:e,scrollXLoad:t,scrollYLoad:l}=this,e=e.tableBody.$el;return{virtualX:t,virtualY:l,scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}},triggerScrollXEvent(){this.loadScrollXData()},loadScrollXData(){var{mergeList:e,mergeFooterList:t,scrollXStore:l}=this,{startIndex:r,endIndex:i,offsetSize:o}=l,{toVisibleIndex:s,visibleSize:a}=computeVirtualX(this),o={startIndex:Math.max(0,s-1-o),endIndex:s+a+o},{startIndex:e,endIndex:t}=(calculateMergerOffsetIndex(e.concat(t),o,"col"),o);!(s<=r||i-a-1<=s)||r===e&&i===t||(l.startIndex=e,l.endIndex=t,this.updateScrollXData()),this.closeTooltip()},triggerScrollYEvent(e){var t=this.scrollYStore,{adaptive:t,offsetSize:l,visibleSize:r}=t;isWebkit&&t&&2*l+r<=40?this.loadScrollYData(e):this.debounceScrollY(e)},debounceScrollY:_xeUtils.default.debounce(function(e){this.loadScrollYData(e)},debounceScrollYDuration,{leading:!1,trailing:!0}),loadScrollYData(e){var{mergeList:t,scrollYStore:l}=this,{startIndex:r,endIndex:i,visibleSize:o,offsetSize:s,rowHeight:a}=l,e=(e.currentTarget||e.target).scrollTop,e=Math.floor(e/a),a={startIndex:Math.max(0,e-1-s),endIndex:e+o+s},{startIndex:s,endIndex:t}=(calculateMergerOffsetIndex(t,a,"row"),a);!(e<=r||i-o-1<=e)||r===s&&i===t||(l.startIndex=s,l.endIndex=t,this.updateScrollYData())},computeScrollLoad(){return this.$nextTick().then(()=>{var{sYOpts:e,sXOpts:t,scrollXLoad:l,scrollYLoad:r,scrollXStore:i,scrollYStore:o}=this,{rowHeight:l,visibleSize:t}=(l?(l=computeVirtualX(this).visibleSize,t=t.oSize?_xeUtils.default.toNumber(t.oSize):_dom.browse.msie?10:_dom.browse.edge?5:0,i.offsetSize=t,i.visibleSize=l,i.endIndex=Math.max(i.startIndex+i.visibleSize+t,i.endIndex),this.updateScrollXData()):this.updateScrollXSpace(),computeVirtualY(this));o.rowHeight=l,r?(i=e.oSize?_xeUtils.default.toNumber(e.oSize):_dom.browse.msie?20:_dom.browse.edge?10:0,o.offsetSize=i,o.visibleSize=t,o.endIndex=Math.max(o.startIndex+t+i,o.endIndex),this.updateScrollYData()):this.updateScrollYSpace(),this.rowHeight=l,this.$nextTick(this.updateStyle)})},handleTableColumn(){var{scrollXLoad:e,visibleColumn:t,scrollXStore:l}=this;this.tableColumn=e?t.slice(l.startIndex,l.endIndex):t.slice(0)},updateScrollXData(){this.$nextTick(()=>{this.handleTableColumn(),this.updateScrollXSpace()})},updateScrollXSpace(){let{$refs:e,isGroup:t,elemStore:r,visibleColumn:l,scrollXStore:i,scrollXLoad:o,tableWidth:s,scrollbarWidth:a}=this;var{tableHeader:n,tableBody:d,tableFooter:h}=e,d=d?d.$el:null;if(d){var n=n?n.$el:null,h=h?h.$el:null,n=n?n.querySelector(".vxe-table--header"):null,d=d.querySelector(".vxe-table--body"),h=h?h.querySelector(".vxe-table--footer"):null,u=l.slice(0,i.startIndex).reduce((e,t)=>e+t.renderWidth,0);let e="";o&&(e=u+"px"),n&&(n.style.marginLeft=t?"":e),d.style.marginLeft=e,h&&(h.style.marginLeft=e),["main"].forEach(l=>{["header","body","footer"].forEach(e=>{var t=r[l+`-${e}-xSpace`];t&&(t.style.width=o?s+("header"===e?a:0)+"px":"")})}),this.$nextTick(this.updateStyle)}},updateScrollYData(){this.$nextTick(()=>{this.handleTableData(),this.updateScrollYSpace()})},updateScrollYSpace(){let{elemStore:l,scrollYStore:e,scrollYLoad:t,afterFullData:r}=this;var{startIndex:i,rowHeight:o}=e,s=r.length*o,i=Math.max(0,i*o);let a="",n="";t&&(a=i+"px",n=s+"px"),["main","left","right"].forEach(t=>{var e=l[t+"-body-table"];e&&(e.style.marginTop=a),["header","body","footer"].forEach(e=>{e=l[t+`-${e}-ySpace`];e&&(e.style.height=n)})}),this.$nextTick(this.updateStyle)},scrollTo(e,t){var l=this.$refs,{tableBody:l,rightBody:r,tableFooter:i}=l,l=l?l.$el:null,r=r?r.$el:null,i=i?i.$el:null;return _xeUtils.default.isNumber(e)&&(0,_dom.setScrollLeft)(i||l,e),_xeUtils.default.isNumber(t)&&(0,_dom.setScrollTop)(r||l,t),this.scrollXLoad||this.scrollYLoad?new Promise(e=>setTimeout(()=>e(this.$nextTick()),50)):this.$nextTick()},scrollToRow(e,t){var l=[];return e&&(this.treeConfig?l.push(this.scrollToTreeRow(e)):l.push((0,_util.rowToVisible)(this,e))),t&&l.push(this.scrollToColumn(t)),Promise.all(l)},scrollToColumn(e){e=(0,_util.handleFieldOrColumn)(this,e);return e&&this.fullColumnMap.has(e)?(0,_util.colToVisible)(this,e):this.$nextTick()},scrollToTreeRow(t){var{tableFullData:e,treeConfig:r,treeOpts:l}=this,l=l.children||l.childrenField;let i=[];if(r){r=_xeUtils.default.findTree(e,e=>e===t,{children:l});if(r){let l=r.nodes;l.forEach((e,t)=>{t<l.length-1&&!this.isTreeExpandByRow(e)&&i.push(this.setTreeExpand(e,!0))})}}return Promise.all(i).then(()=>(0,_util.rowToVisible)(this,t))},clearScroll(){var{$refs:e,scrollXStore:t,scrollYStore:l}=this,{tableBody:e,rightBody:r,tableFooter:i}=e,e=e?e.$el:null,r=r?r.$el:null,i=i?i.$el:null;return r&&((0,_util.restoreScrollListener)(r),r.scrollTop=0),i&&(i.scrollLeft=0),e&&((0,_util.restoreScrollListener)(e),e.scrollTop=0,e.scrollLeft=0),t.startIndex=0,t.endIndex=t.visibleSize,l.startIndex=0,l.endIndex=l.visibleSize,this.$nextTick()},updateFooter(){var{showFooter:e,visibleColumn:t,footerData:l,footerMethod:r}=this;let i=[];return e&&l&&l.length?i=l.slice(0):e&&r&&(i=t.length?r({columns:t,data:this.afterFullData,$table:this,$grid:this.$xegrid}):[]),this.footerTableData=i,this.$nextTick()},updateStatus(o,s){let a=!_xeUtils.default.isUndefined(s);return this.$nextTick().then(()=>{let{$refs:e,editRules:t,validStore:i}=this;var l=e.tableBody;if(o&&l&&t){let{row:l,column:r}=o;if(this.hasCellRules&&this.hasCellRules("change",l,r)){let t=this.getCellElement(l,r);if(t)return this.validCellRules("change",l,r,s).then(()=>{a&&i.visible&&(0,_util.setCellValue)(l,r,s),this.clearValidate(l,r)}).catch(({rule:e})=>{a&&(0,_util.setCellValue)(l,r,s),this.showValidTooltip({rule:e,row:l,column:r,cell:t})})}}})},handleDefaultMergeCells(){this.setMergeCells(this.mergeCells)},setMergeCells(e){return this.spanMethod&&(0,_log.errLog)("vxe.error.errConflicts",["merge-cells","span-method"]),setMerges(this,e,this.mergeList,this.afterFullData),this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle()))},removeMergeCells(e){this.spanMethod&&(0,_log.errLog)("vxe.error.errConflicts",["merge-cells","span-method"]);let t=removeMerges(this,e,this.mergeList,this.afterFullData);return this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle(),t))},getMergeCells(){return this.mergeList.slice(0)},clearMergeCells(){return this.mergeList=[],this.$nextTick().then(()=>this.updateStyle())},handleDefaultMergeFooterItems(){this.setMergeFooterItems(this.mergeFooterItems)},setMergeFooterItems(e){return this.footerSpanMethod&&(0,_log.errLog)("vxe.error.errConflicts",["merge-footer-items","footer-span-method"]),setMerges(this,e,this.mergeFooterList,null),this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle()))},removeMergeFooterItems(e){this.footerSpanMethod&&(0,_log.errLog)("vxe.error.errConflicts",["merge-footer-items","footer-span-method"]);let t=removeMerges(this,e,this.mergeFooterList,null);return this.$nextTick().then(()=>(this.updateCellAreas(),this.updateStyle(),t))},getMergeFooterItems(){return this.mergeFooterList.slice(0)},clearMergeFooterItems(){return this.mergeFooterList=[],this.$nextTick().then(()=>this.updateStyle())},updateZindex(){this.zIndex?this.tZindex=this.zIndex:this.tZindex<(0,_utils.getLastZIndex)()&&(this.tZindex=(0,_utils.nextZIndex)())},updateCellAreas(){return this.mouseConfig&&this.mouseOpts.area&&this.handleUpdateCellAreas?this.handleUpdateCellAreas():this.$nextTick()},emitEvent(e,t,l){this.$emit(e,Object.assign({$table:this,$grid:this.$xegrid,$event:l},t))},focus(){return this.isActivated=!0,this.$nextTick()},blur(){return this.isActivated=!1,this.$nextTick()},connect(e){return e&&e.syncUpdate?(e.syncUpdate({collectColumn:this.collectColumn,$table:this}),this.$toolbar=e):(0,_log.errLog)("vxe.error.barUnableLink"),this.$nextTick()},getCell(e,t){return this.getCellElement(e,t)},findRowIndexOf(e,t){return t?_xeUtils.default.findIndexOf(e,e=>this.eqRow(e,t)):-1},eqRow(e,t){return!(!e||!t||e!==t&&(0,_util.getRowid)(this,e)!==(0,_util.getRowid)(this,t))},getSetupOptions(){return getConfig()}},funcs="setFilter,openFilter,clearFilter,getCheckedFilters,updateFilterOptionStatus,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFNR,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,insertNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,openExport,openPrint,getPrintHtml,exportData,openImport,importData,saveFile,readFile,importByFile,print,openCustom,closeCustom".split(",");funcs.forEach(t=>{Methods[t]=function(...e){return"development"!==process.env.NODE_ENV||this["_"+t]||("openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print".split(",").includes(t)?(0,_log.errLog)("vxe.error.reqModule",["VxeTableExportModule"]):"fullValidate,validate".split(",").includes(t)?(0,_log.errLog)("vxe.error.reqModule",["VxeTableValidatorModule"]):"setFilter,openFilter,clearFilter,getCheckedFilters".split(",").includes(t)?(0,_log.errLog)("vxe.error.reqModule",["VxeTableFilterModule"]):"insert,insertAt,insertNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell".split(",").includes(t)?(0,_log.errLog)("vxe.error.reqModule",["VxeTableEditModule"]):"openCustom".split(",").includes(t)&&(0,_log.errLog)("vxe.error.reqModule",["VxeTableCustomModule"])),this["_"+t]?this["_"+t](...e):null}});var _default=exports.default=Methods;
@@ -424,30 +424,44 @@ function rowToVisible($xetable, row) {
424
424
  }
425
425
  return Promise.resolve();
426
426
  }
427
- function colToVisible($xetable, column) {
427
+ function colToVisible($xeTable, column) {
428
+ const {
429
+ columnStore,
430
+ scrollXLoad,
431
+ visibleColumn
432
+ } = $xeTable;
428
433
  const {
429
434
  tableBody
430
- } = $xetable.$refs;
435
+ } = $xeTable.$refs;
436
+ const {
437
+ leftList,
438
+ rightList
439
+ } = columnStore;
431
440
  const bodyElem = tableBody ? tableBody.$el : null;
441
+ let offsetFixedLeft = 0;
442
+ leftList.forEach(item => {
443
+ offsetFixedLeft += item.renderWidth;
444
+ });
445
+ let offsetFixedRight = 0;
446
+ rightList.forEach(item => {
447
+ offsetFixedRight += item.renderWidth;
448
+ });
432
449
  if (bodyElem) {
450
+ const bodyWidth = bodyElem.clientWidth;
451
+ const bodySrcollLeft = bodyElem.scrollLeft;
433
452
  const tdElem = bodyElem.querySelector(`.${column.id}`);
434
453
  if (tdElem) {
435
- const bodyWidth = bodyElem.clientWidth;
436
- const bodySrcollLeft = bodyElem.scrollLeft;
437
454
  const tdOffsetLeft = tdElem.offsetLeft + (tdElem.offsetParent ? tdElem.offsetParent.offsetLeft : 0);
438
455
  const tdWidth = tdElem.clientWidth;
439
456
  // 检测行是否在可视区中
440
- if (tdOffsetLeft < bodySrcollLeft || tdOffsetLeft > bodySrcollLeft + bodyWidth) {
441
- // 向左定位
442
- return $xetable.scrollTo(tdOffsetLeft);
443
- } else if (tdOffsetLeft + tdWidth >= bodyWidth + bodySrcollLeft) {
444
- // 向右定位
445
- return $xetable.scrollTo(bodySrcollLeft + tdWidth);
457
+ if (tdOffsetLeft < bodySrcollLeft + offsetFixedLeft) {
458
+ return $xeTable.scrollTo(tdOffsetLeft - offsetFixedLeft - 1);
459
+ } else if (tdOffsetLeft + tdWidth >= bodyWidth + bodySrcollLeft - offsetFixedRight) {
460
+ return $xeTable.scrollTo(tdOffsetLeft - offsetFixedLeft - offsetFixedRight + 1);
446
461
  }
447
462
  } else {
448
- // 如果是虚拟渲染跨行滚动
449
- if ($xetable.scrollXLoad) {
450
- const visibleColumn = $xetable.visibleColumn;
463
+ // 检测是否在虚拟渲染可视区中
464
+ if (scrollXLoad) {
451
465
  let scrollLeft = 0;
452
466
  for (let index = 0; index < visibleColumn.length; index++) {
453
467
  if (visibleColumn[index] === column) {
@@ -455,7 +469,10 @@ function colToVisible($xetable, column) {
455
469
  }
456
470
  scrollLeft += visibleColumn[index].renderWidth;
457
471
  }
458
- return $xetable.scrollTo(scrollLeft);
472
+ if (scrollLeft < bodySrcollLeft) {
473
+ return $xeTable.scrollTo(scrollLeft - offsetFixedLeft - 1);
474
+ }
475
+ return $xeTable.scrollTo(scrollLeft - offsetFixedLeft - offsetFixedRight + 1);
459
476
  }
460
477
  }
461
478
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.removeScrollListener=removeScrollListener,exports.restoreScrollListener=restoreScrollListener,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,l)=>{let t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1,r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t},lineOffsetSizes=(exports.convertHeaderColumnToRows=convertHeaderColumnToRows,{mini:3,small:2,medium:1});function restoreScrollLocation(e,l,t){return e.clearScroll().then(()=>{if(l||t)return e.lastScrollLeft=0,e.lastScrollTop=0,e.scrollTo(l,t)})}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function removeScrollListener(e){e&&e._onscroll&&(e.onscroll=null)}function restoreScrollListener(e){e&&e._onscroll&&(e.onscroll=e._onscroll)}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){return e.rowOpts.keyField||e.rowId||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElemenMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function handleFieldOrColumn(e,l){return l?_xeUtils.default.isString(l)?e.getColumnByField(l):l:null}function assembleColumn(e){var{$el:l,$xetable:t,$xecolumn:r,columnConfig:o}=e,n=r?r.columnConfig:null;o.slots=e.$scopedSlots,n?("development"===process.env.NODE_ENV&&("vxe-table-column"===r.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${r.title} ...>`,`<vxe-table-column title=${r.title} ...>`]):"vxe-column"===r.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${r.title} ...>`,`<vxe-column title=${r.title} ...>`])),n.children||(n.children=[]),n.children.splice(_xeUtils.default.arrayIndexOf(r.$el.children,l),0,o)):t.staticColumns.splice(_xeUtils.default.arrayIndexOf(t.$refs.hideColumn.children,l),0,o)}function destroyColumn(e){let{$xetable:l,columnConfig:t}=e;e=_xeUtils.default.findTree(l.staticColumns,e=>e===t);e&&e.items.splice(e.index,1)}function getRootColumn(e,l){var t=e.fullColumnIdData;if(!l)return null;let r=l.parentId;for(;t[r];){let e=t[r].column;if(!(r=e.parentId))return e}return l}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:r,checked:o})=>({label:e,value:l,data:t,resetValue:r,checked:!!o,_checked:!!o})):e}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,{showHeaderOverflow:o,resizableOpts:n}=l,n=n.minWidth;if(n){e=_xeUtils.default.isFunction(n)?n(e):n;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var i,u,a,{showHeaderOverflow:n,minWidth:e}=t,t=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?o:n,o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let s=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(o&&(n=getPaddingLeftRightSize(queryCellElement(r,"--title>.vxe-cell--checkbox")),t=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),o=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),i=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),u=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),a=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--filter")),s+=n+t+o+i+u+r+a),e){n=l.$refs.tableBody,t=n?n.$el:null;if(t){if((0,_dom.isScale)(e))return o=(t.clientWidth-1)/100,Math.max(s,Math.floor(_xeUtils.default.toInteger(e)*o));if((0,_dom.isPx)(e))return Math.max(s,_xeUtils.default.toInteger(e))}}return s}function countTreeExpand(e,l){let t=1;if(e){var r=l.$table,o=r.treeOpts,n=e[o.children||o.childrenField];if(n&&r.isTreeExpandByRow(e))for(let e=0;e<n.length;e++)t+=countTreeExpand(n[e],l)}return t}function getOffsetSize(e){e=e.computeSize;return lineOffsetSizes[e]||0}function calcTreeLine(e,l,t){var r=e.$table;let o=1;return t&&(o=countTreeExpand(l[t-1],e)),r.rowHeight*o-(t?1:12-getOffsetSize(r))}function mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:i,colspan:u}=l[e];if(-1<n&&-1<o&&i&&u){if(o===t&&n===r)return{rowspan:i,colspan:u};if(o<=t&&t<o+i&&n<=r&&r<n+u)return{rowspan:0,colspan:0}}}}function getCellValue(e,l){return _xeUtils.default.get(e,l.field)}function setCellValue(e,l,t){return _xeUtils.default.set(e,l.field,t)}function clearTableDefaultStatus(e){return e.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearEdit&&e.clearEdit(),e.clearSelected&&(e.keyboardConfig||e.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&e.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return e instanceof _columnInfo.ColumnInfo}function createColumn(e,l,t){return isColumnInfo(l)?l:new _columnInfo.ColumnInfo(e,l,t)}function rowToVisible(e,l){var t=e.$refs.tableBody,t=t?t.$el:null;if(t){var r=t.querySelector(`[rowid="${getRowid(e,l)}"]`);if(r){var o=t.clientHeight,t=t.scrollTop,n=r.offsetTop+(r.offsetParent?r.offsetParent.offsetTop:0),r=r.clientHeight;if(n<t||t+o<n)return e.scrollTo(null,n);if(o+t<=n+r)return e.scrollTo(null,t+r)}else if(e.scrollYLoad)return e.scrollTo(null,(e.afterFullData.indexOf(l)-1)*e.scrollYStore.rowHeight)}return Promise.resolve()}function colToVisible(e,t){var l=e.$refs.tableBody,l=l?l.$el:null;if(l){var r=l.querySelector("."+t.id);if(r){var o=l.clientWidth,l=l.scrollLeft,n=r.offsetLeft+(r.offsetParent?r.offsetParent.offsetLeft:0),r=r.clientWidth;if(n<l||l+o<n)return e.scrollTo(n);if(o+l<=n+r)return e.scrollTo(l+r)}else if(e.scrollXLoad){var i=e.visibleColumn;let l=0;for(let e=0;e<i.length&&i[e]!==t;e++)l+=i[e].renderWidth;return e.scrollTo(l)}}return Promise.resolve()}
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.removeScrollListener=removeScrollListener,exports.restoreScrollListener=restoreScrollListener,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,l)=>{let t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1,r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t},lineOffsetSizes=(exports.convertHeaderColumnToRows=convertHeaderColumnToRows,{mini:3,small:2,medium:1});function restoreScrollLocation(e,l,t){return e.clearScroll().then(()=>{if(l||t)return e.lastScrollLeft=0,e.lastScrollTop=0,e.scrollTo(l,t)})}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function removeScrollListener(e){e&&e._onscroll&&(e.onscroll=null)}function restoreScrollListener(e){e&&e._onscroll&&(e.onscroll=e._onscroll)}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){return e.rowOpts.keyField||e.rowId||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElemenMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function handleFieldOrColumn(e,l){return l?_xeUtils.default.isString(l)?e.getColumnByField(l):l:null}function assembleColumn(e){var{$el:l,$xetable:t,$xecolumn:r,columnConfig:o}=e,n=r?r.columnConfig:null;o.slots=e.$scopedSlots,n?("development"===process.env.NODE_ENV&&("vxe-table-column"===r.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${r.title} ...>`,`<vxe-table-column title=${r.title} ...>`]):"vxe-column"===r.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${r.title} ...>`,`<vxe-column title=${r.title} ...>`])),n.children||(n.children=[]),n.children.splice(_xeUtils.default.arrayIndexOf(r.$el.children,l),0,o)):t.staticColumns.splice(_xeUtils.default.arrayIndexOf(t.$refs.hideColumn.children,l),0,o)}function destroyColumn(e){let{$xetable:l,columnConfig:t}=e;e=_xeUtils.default.findTree(l.staticColumns,e=>e===t);e&&e.items.splice(e.index,1)}function getRootColumn(e,l){var t=e.fullColumnIdData;if(!l)return null;let r=l.parentId;for(;t[r];){let e=t[r].column;if(!(r=e.parentId))return e}return l}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:r,checked:o})=>({label:e,value:l,data:t,resetValue:r,checked:!!o,_checked:!!o})):e}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,{showHeaderOverflow:o,resizableOpts:n}=l,n=n.minWidth;if(n){e=_xeUtils.default.isFunction(n)?n(e):n;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var i,u,a,{showHeaderOverflow:n,minWidth:e}=t,t=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?o:n,o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let s=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(o&&(n=getPaddingLeftRightSize(queryCellElement(r,"--title>.vxe-cell--checkbox")),t=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),o=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),i=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),u=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),a=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--filter")),s+=n+t+o+i+u+r+a),e){n=l.$refs.tableBody,t=n?n.$el:null;if(t){if((0,_dom.isScale)(e))return o=(t.clientWidth-1)/100,Math.max(s,Math.floor(_xeUtils.default.toInteger(e)*o));if((0,_dom.isPx)(e))return Math.max(s,_xeUtils.default.toInteger(e))}}return s}function countTreeExpand(e,l){let t=1;if(e){var r=l.$table,o=r.treeOpts,n=e[o.children||o.childrenField];if(n&&r.isTreeExpandByRow(e))for(let e=0;e<n.length;e++)t+=countTreeExpand(n[e],l)}return t}function getOffsetSize(e){e=e.computeSize;return lineOffsetSizes[e]||0}function calcTreeLine(e,l,t){var r=e.$table;let o=1;return t&&(o=countTreeExpand(l[t-1],e)),r.rowHeight*o-(t?1:12-getOffsetSize(r))}function mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:i,colspan:u}=l[e];if(-1<n&&-1<o&&i&&u){if(o===t&&n===r)return{rowspan:i,colspan:u};if(o<=t&&t<o+i&&n<=r&&r<n+u)return{rowspan:0,colspan:0}}}}function getCellValue(e,l){return _xeUtils.default.get(e,l.field)}function setCellValue(e,l,t){return _xeUtils.default.set(e,l.field,t)}function clearTableDefaultStatus(e){return e.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearEdit&&e.clearEdit(),e.clearSelected&&(e.keyboardConfig||e.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&e.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return e instanceof _columnInfo.ColumnInfo}function createColumn(e,l,t){return isColumnInfo(l)?l:new _columnInfo.ColumnInfo(e,l,t)}function rowToVisible(e,l){var t=e.$refs.tableBody,t=t?t.$el:null;if(t){var r=t.querySelector(`[rowid="${getRowid(e,l)}"]`);if(r){var o=t.clientHeight,t=t.scrollTop,n=r.offsetTop+(r.offsetParent?r.offsetParent.offsetTop:0),r=r.clientHeight;if(n<t||t+o<n)return e.scrollTo(null,n);if(o+t<=n+r)return e.scrollTo(null,t+r)}else if(e.scrollYLoad)return e.scrollTo(null,(e.afterFullData.indexOf(l)-1)*e.scrollYStore.rowHeight)}return Promise.resolve()}function colToVisible(e,t){var{columnStore:l,scrollXLoad:r,visibleColumn:o}=e,n=e.$refs.tableBody,{leftList:l,rightList:i}=l,n=n?n.$el:null;let u=0,a=(l.forEach(e=>{u+=e.renderWidth}),0);if(i.forEach(e=>{a+=e.renderWidth}),n){l=n.clientWidth,i=n.scrollLeft,n=n.querySelector("."+t.id);if(n){var s=n.offsetLeft+(n.offsetParent?n.offsetParent.offsetLeft:0),n=n.clientWidth;if(s<i+u)return e.scrollTo(s-u-1);if(s+n>=l+i-a)return e.scrollTo(s-u-a+1)}else if(r){let l=0;for(let e=0;e<o.length&&o[e]!==t;e++)l+=o[e].renderWidth;return l<i?e.scrollTo(l-u-1):e.scrollTo(l-u-a+1)}}return Promise.resolve()}
package/lib/ui/index.js CHANGED
@@ -13,9 +13,9 @@ 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.9.7";
16
+ const version = exports.version = "3.9.8";
17
17
  _core.VxeUI.version = version;
18
- _core.VxeUI.tableVersion = "3.9.7";
18
+ _core.VxeUI.tableVersion = "3.9.8";
19
19
  _core.VxeUI.setConfig({
20
20
  emptyCell: ' ',
21
21
  table: {