Files
vxe-table/lib/table/src/methods.min.js
xuliangzhan 1dfffe8a4c 更新文档
2019-10-24 21:29:55 +08:00

1 line
44 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils/methods/xe-utils")),_cell=_interopRequireDefault(require("../../cell")),_vXETable=_interopRequireWildcard(require("../../v-x-e-table")),_tools=require("../../tools");function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return _getRequireWildcardCache=function(){return e},e}function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t=_getRequireWildcardCache();if(t&&t.has(e))return t.get(e);var i={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if(Object.prototype.hasOwnProperty.call(e,l)){var o=r?Object.getOwnPropertyDescriptor(e,l):null;o&&(o.get||o.set)?Object.defineProperty(i,l,o):i[l]=e[l]}}return i.default=e,t&&t.set(e,i),i}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var rowUniqueId=0,browse=_tools.DomTools.browse,isWebkit=browse["-webkit"]&&!browse.edge,debounceScrollYDuration=browse.msie?40:20,headerProps={children:"children"};function getRowUniqueId(){return"row_".concat(++rowUniqueId)}function isTargetRadioOrCheckbox(e,t,i,r){var l=e.target;return l&&t.type===i&&"input"===l.tagName.toLowerCase()&&l.type===(r||i)}var Methods={getParentElem:function(){return this.$grid?this.$grid.$el.parentNode:this.$el.parentNode},getParentHeight:function(){return this.$grid?this.$grid.getParentHeight():this.getParentElem().clientHeight},getExcludeHeight:function(){return this.$grid?this.$grid.getExcludeHeight():0},clearAll:function(){return this.clearScroll(),this.clearSort(),this.clearCurrentRow(),this.clearCurrentColumn(),this.clearSelection(),this.clearRowExpand(),this.clearTreeExpand(),_vXETable.default._filter&&this.clearFilter(),(this.keyboardConfig||this.mouseConfig)&&(this.clearIndexChecked(),this.clearHeaderChecked(),this.clearChecked(),this.clearSelected(),this.clearCopyed()),this.clearActived()},refreshData:function(){var e=this;return this.$nextTick().then(function(){return e.tableData=[],e.$nextTick().then(function(){return e.loadTableData(e.tableFullData)})})},updateData:function(){return this.handleTableData(!0).then(this.updateFooter).then(this.recalculate)},handleTableData:function(e){var t=this.scrollYLoad,i=this.scrollYStore,r=e?this.updateAfterFullData():this.afterFullData;return this.tableData=t?r.slice(i.startIndex,i.startIndex+i.renderSize):r.slice(0),this.$nextTick()},loadTableData:function(e,t){var i=this,r=this.height,l=this.maxHeight,o=this.treeConfig,n=this.editStore,s=this.optimizeOpts,a=this.lastScrollLeft,c=this.lastScrollTop,h=s.scrollY,u=e?e.slice(0):[],d=!o&&h&&h.gt&&h.gt<u.length;n.insertList=[],n.removeList=[],this.tableFullData=u,this.updateCache(!0),this.tableSynchData=e,this.tableSourceData=_xeUtils.default.clone(u,!0),!(this.scrollYLoad=d)||r||l||_tools.UtilTools.error("vxe.error.scrollYHeight"),this.clearScroll(),this.handleTableData(!0),this.reserveCheckSelection(),this.checkSelectionStatus();var f=this.$nextTick();return t||(f=f.then(this.recalculate)),f.then(function(){if(a||c)return i.scrollTo(a,c)})},loadData:function(e){return this.loadTableData(e).then(this.recalculate)},reloadData:function(e){return this.clearAll(),this.loadTableData(e).then(this.handleDefault)},reloadRow:function(e,t,i){var r=this.tableSourceData,l=this.tableData,o=this.getRowIndex(e),n=r[o];return n&&e&&(i?_xeUtils.default.set(n,i,_xeUtils.default.get(t||e,i)):t?(r[o]=t,_xeUtils.default.clear(e,void 0),Object.assign(e,this.defineField(Object.assign({},t))),this.updateCache(!0)):_xeUtils.default.destructuring(n,_xeUtils.default.clone(e,!0))),this.tableData=l.slice(0),this.$nextTick()},loadColumn:function(e){var t=this;return this.collectColumn=_xeUtils.default.mapTree(e,function(e){return _cell.default.createColumn(t,e)},headerProps),this.$nextTick()},reloadColumn:function(e){return this.clearAll(),this.loadColumn(e)},updateCache:function(l){var o=this,e=this.treeConfig,t=this.tableFullData,n=this.fullDataRowIdData,s=this.fullDataRowMap,a=this.fullAllDataRowMap,c=this.fullAllDataRowIdData,h=_tools.UtilTools.getRowkey(this),i=function(e,t){var i=_tools.UtilTools.getRowid(o,e);i||(i=getRowUniqueId(),_xeUtils.default.set(e,h,i));var r={row:e,rowid:i,index:t};l&&(n[i]=r,s.set(e,r)),c[i]=r,a.set(e,r)};l&&(n=this.fullDataRowIdData={},s.clear()),c=this.fullAllDataRowIdData={},a.clear(),e?_xeUtils.default.eachTree(t,i,e):t.forEach(i)},cacheColumnMap:function(){var e=this.tableFullColumn,r=this.fullColumnMap,l=this.fullColumnIdData={};r.clear(),e.forEach(function(e,t){var i={column:e,colid:e.id,index:t};l[e.id]=i,r.set(e,i)})},getRowNode:function(e){var t=this;if(e){var i=this.treeConfig,r=this.tableFullData,l=this.fullAllDataRowIdData,o=e.getAttribute("data-rowid");if(i){var n=_xeUtils.default.findTree(r,function(e){return _tools.UtilTools.getRowid(t,e)===o},i);if(n)return n}else if(l[o]){var s=l[o];return{item:s.row,index:s.index,items:r}}}return null},getColumnNode:function(e){if(e){var t=this.isGroup,i=this.fullColumnIdData,r=this.tableFullColumn,l=e.getAttribute("data-colid");if(!t){var o=i[l];return{item:o.column,index:o.index,items:r}}var n=_xeUtils.default.findTree(r,function(e){return e.id===l},headerProps);if(n)return n}return null},getRowIndex:function(e){return this.fullDataRowMap.has(e)?this.fullDataRowMap.get(e).index:-1},getColumnIndex:function(e){return this.fullColumnMap.has(e)?this.fullColumnMap.get(e).index:-1},hasIndexColumn:function(e){return e&&"index"===e.type},defineField:function(r){var e=_tools.UtilTools.getRowkey(this);return this.visibleColumn.forEach(function(e){var t=e.property,i=e.editRender;t&&!_xeUtils.default.has(r,t)&&_xeUtils.default.set(r,t,i&&!_xeUtils.default.isUndefined(i.defaultValue)?i.defaultValue:null)}),_xeUtils.default.get(r,e)||_xeUtils.default.set(r,e,getRowUniqueId()),r},createData:function(e){var t=this;return this.$nextTick().then(function(){return e.map(t.defineField)})},createRow:function(t){var i=this,r=_xeUtils.default.isArray(t);return r||(t=[t]),this.$nextTick().then(function(){var e=t.map(function(e){return i.defineField(Object.assign({},e))});return r?e:e[0]})},clearData:function(e,t){var i=this.tableFullData,r=this.visibleColumn;return arguments.length?e&&!_xeUtils.default.isArray(e)&&(e=[e]):e=i,t?e.forEach(function(e){return _xeUtils.default.set(e,t,null)}):e.forEach(function(t){r.forEach(function(e){e.property&&_tools.UtilTools.setCellValue(t,e,null)})}),this.$nextTick()},isInsertByRow:function(e){return-1<this.editStore.insertList.indexOf(e)},hasRowChange:function(e,t){return this.isUpdateByRow(e,t)},isUpdateByRow:function(e,t){var i,r,l=this,o=this.visibleColumn,n=this.treeConfig,s=this.tableSourceData,a=this.fullDataRowIdData,c=_tools.UtilTools.getRowid(this,e);if(!a[c])return!1;if(n){var h=n.children,u=_xeUtils.default.findTree(s,function(e){return c===_tools.UtilTools.getRowid(l,e)},n);e=Object.assign({},e,_defineProperty({},h,null)),u&&(i=Object.assign({},u.item,_defineProperty({},h,null)))}else{i=s[a[c].index]}if(i){if(1<arguments.length)return!_xeUtils.default.isEqual(_xeUtils.default.get(i,t),_xeUtils.default.get(e,t));for(var d=0,f=o.length;d<f;d++)if((r=o[d].property)&&!_xeUtils.default.isEqual(_xeUtils.default.get(i,r),_xeUtils.default.get(e,r)))return!0}return!1},getColumns:function(e){var t=this.visibleColumn;return arguments.length?t[e]:t.slice(0)},getColumnById:function(e){var t=this.fullColumnIdData;return t[e]?t[e].column:null},getColumnByField:function(t){return this.visibleColumn.find(function(e){return e.property===t})},getTableColumn:function(){return{fullColumn:this.tableFullColumn.slice(0),visibleColumn:this.visibleColumn.slice(0),tableColumn:this.tableColumn.slice(0)}},getRecords:function(){return _tools.UtilTools.warn("vxe.error.delFunc",["getRecords","getData"]),this.getData.apply(this,arguments)},getData:function(e){var t=this.data||this.tableSynchData;return arguments.length?t[e]:t.slice(0)},getAllRecords:function(){return _tools.UtilTools.warn("vxe.error.delFunc",["getAllRecords","getRecordset"]),this.getRecordset()},getSelectRecords:function(){var e=this.tableFullData,t=this.editStore,i=this.treeConfig,r=(this.checkboxConfig||this.selectConfig||{}).checkField,l=[],o=[];if(r)l=i?_xeUtils.default.filterTree(e,function(e){return _xeUtils.default.get(e,r)},i):e.filter(function(e){return _xeUtils.default.get(e,r)}),o=t.insertList.filter(function(e){return _xeUtils.default.get(e,r)});else{var n=this.selection;l=i?_xeUtils.default.filterTree(e,function(e){return-1<n.indexOf(e)},i):e.filter(function(e){return-1<n.indexOf(e)}),o=t.insertList.filter(function(e){return-1<n.indexOf(e)})}return l.concat(o)},updateAfterFullData:function(){var e=this.visibleColumn,t=this.tableFullData,i=this.remoteSort,c=this.remoteFilter,r=t,l=e.find(function(e){return e.order}),o=e.filter(function(e){var t=e.filters;return t&&t.length});if((r=r.filter(function(a){return o.every(function(t){var e=t.filters,i=t.filterRender,r=i?_vXETable.Renderer.get(i.name):null,l=[],o=[];if(e&&e.length&&(e.forEach(function(e){e.checked&&(o.push(e),l.push(e.value))}),l.length&&!c)){var n=t.property,s=t.filterMethod;return!s&&r&&r.renderFilter&&(s=r.filterMethod),s?o.some(function(e){return s({value:e.value,option:e,row:a,column:t})}):-1<l.indexOf(_xeUtils.default.get(a,n))}return!0})}),l&&l.order)&&!(_xeUtils.default.isBoolean(l.remoteSort)?l.remoteSort:i))if(this.sortMethod)r=this.sortMethod({data:r,column:l,property:l.property,order:l.order,$table:this})||r;else{var n=l.sortMethod?r.sort(l.sortMethod):_xeUtils.default.sortBy(r,l.property);r="desc"===l.order?n.reverse():n}return this.afterFullData=r},getRowById:function(e){var t=this.fullDataRowIdData;return t[e]?t[e].row:null},getRowid:function(e){var t=this.fullAllDataRowMap;return t.has(e)?t.get(e).rowid:null},getTableData:function(){var e=this.tableFullData,t=this.afterFullData,i=this.tableData,r=this.footerData;return{fullData:e.slice(0),visibleData:t.slice(0),tableData:i.slice(0),footerData:r.slice(0)}},handleDefault:function(){var e=this;(this.checkboxConfig||this.selectConfig)&&this.handleSelectionDefChecked(),this.radioConfig&&this.handleRadioDefChecked(),this.expandConfig&&this.handleDefaultRowExpand(),this.treeConfig&&this.handleDefaultTreeExpand(),this.updateFooter(),this.$nextTick(function(){return setTimeout(e.recalculate)})},mergeCustomColumn:function(i){var e=this.tableFullColumn;this.isUpdateCustoms=!0,i.length&&e.forEach(function(t){var e=i.find(function(e){return t.property&&(e.field||e.prop)===t.property});e&&(_xeUtils.default.isNumber(e.resizeWidth)&&(t.resizeWidth=e.resizeWidth),_xeUtils.default.isBoolean(e.visible)&&(t.visible=e.visible))}),this.$emit("update:customs",e)},resetAll:function(){this.resetCustoms(),this.resetResizable()},hideColumn:function(e){return this.handleVisibleColumn(e,!1)},showColumn:function(e){return this.handleVisibleColumn(e,!0)},resetCustoms:function(){return this.handleVisibleColumn()},handleVisibleColumn:function(e,t){return arguments.length?e.visible=t:this.tableFullColumn.forEach(function(e){e.visible=!0}),this.$toolbar&&this.$toolbar.updateSetting(),this.$nextTick()},reloadCustoms:function(e){var t=this;return this.$nextTick().then(function(){return t.mergeCustomColumn(e),t.refreshColumn().then(function(){return t.tableFullColumn})})},refreshColumn:function(){var i,e=this,r=0,l=[],o=null,n=null,s=[],a=[],t=this.tableFullColumn,c=this.isGroup,h=this.columnStore,u=this.scrollXStore,d=this.optimizeOpts.scrollX;c&&_xeUtils.default.eachTree(this.collectColumn,function(e){e.children&&e.children.length&&(e.visible=!!_xeUtils.default.findTree(e.children,function(e){return e.children&&e.children.length?0:e.visible},headerProps))},headerProps),t.filter(function(e){return e.visible}).forEach(function(e,t){"left"===e.fixed?(null===o&&(o=r),i||(t-r!=0?i=!0:r++),l.push(e)):"right"===e.fixed?(i||(null===n&&(n=t),t-n!=0?i=!0:n++),a.push(e)):s.push(e)});var f=l.concat(s).concat(a),g=d&&d.gt&&d.gt<t.length;return Object.assign(h,{leftList:l,centerList:s,rightList:a}),c&&(i||o||null!==n&&n!==f.length)&&_tools.UtilTools.error("vxe.error.groupFixed"),g&&((this.resizable||f.some(function(e){return e.resizable}))&&_tools.UtilTools.warn("vxe.error.notResizable"),Object.assign(u,{startIndex:0,visibleIndex:0,renderSize:_xeUtils.default.toNumber(d.rSize),offsetSize:_xeUtils.default.toNumber(d.oSize)}),f=f.slice(u.startIndex,u.startIndex+u.renderSize)),this.scrollXLoad=g,this.tableColumn=f,this.$nextTick().then(function(){e.updateFooter(),e.recalculate(!0)})},analyColumnWidth:function(){var t=this.columnWidth,i=this.columnMinWidth,r=[],l=[],o=[],n=[],s=[],a=[];this.tableFullColumn.forEach(function(e){t&&!e.width&&(e.width=t),i&&!e.minWidth&&(e.minWidth=i),e.visible&&(e.resizeWidth?r.push(e):_tools.DomTools.isPx(e.width)?l.push(e):_tools.DomTools.isScale(e.width)?n.push(e):_tools.DomTools.isPx(e.minWidth)?o.push(e):_tools.DomTools.isScale(e.minWidth)?s.push(e):a.push(e))}),Object.assign(this.columnStore,{resizeList:r,pxList:l,pxMinList:o,scaleList:n,scaleMinList:s,autoList:a})},recalculate:function(e){var t=this,i=this.$refs,r=i.tableBody,l=i.tableHeader,o=i.tableFooter,n=r?r.$el:null,s=l?l.$el:null,a=o?o.$el:null;return n&&(this.autoCellWidth(s,n,a),!0===e)?this.computeScrollLoad().then(function(){t.autoCellWidth(s,n,a),t.computeScrollLoad()}):this.computeScrollLoad()},autoCellWidth:function(e,t,i){var l,o=0,n=t.clientWidth,r=n,s=this.fit,a=this.columnStore,c=a.resizeList,h=a.pxMinList,u=a.pxList,d=a.scaleList,f=a.scaleMinList,g=a.autoList;h.forEach(function(e){var t=parseInt(e.minWidth);o+=t,e.renderWidth=t}),l=r/100,f.forEach(function(e){var t=Math.floor(parseInt(e.minWidth)*l);o+=t,e.renderWidth=t}),d.forEach(function(e){var t=Math.floor(parseInt(e.width)*l);o+=t,e.renderWidth=t}),u.forEach(function(e){var t=parseInt(e.width);o+=t,e.renderWidth=t}),c.forEach(function(e){var t=parseInt(e.resizeWidth);o+=t,e.renderWidth=t}),l=0<(r-=o)?Math.floor(r/(f.length+h.length+g.length)):0,s?0<r&&f.concat(h).forEach(function(e){o+=l,e.renderWidth+=l}):l=40,g.forEach(function(e,t){var i=Math.max(l,40);if(e.renderWidth=i,o+=i,s&&t===g.length-1){var r=n-o;0<r&&(e.renderWidth+=r,o=n)}});var v=t.offsetHeight,x=t.scrollHeight>t.clientHeight;if(this.scrollbarWidth=x?t.offsetWidth-n:0,this.overflowY=x,this.tableWidth=o,this.tableHeight=v,this.parentHeight=this.getParentHeight(),e&&(this.headerHeight=e.offsetHeight),i){var p=i.offsetHeight;this.scrollbarHeight=Math.max(p-i.clientHeight,0),this.overflowX=o>i.clientWidth,this.footerHeight=p}else this.scrollbarHeight=Math.max(v-t.clientHeight,0),this.overflowX=n<o;this.overflowX&&this.checkScrolling()},resetResizable:function(){return this.visibleColumn.forEach(function(e){e.resizeWidth=0}),this.$toolbar&&this.$toolbar.resetResizable(),this.analyColumnWidth(),this.recalculate(!0)},updateStyle:function(){var t=this.$refs,v=this.fullColumnIdData,x=this.maxHeight,e=this.height,p=this.parentHeight,w=this.border,m=this.tableColumn,b=this.headerHeight,C=this.showHeaderOverflow,T=this.showFooter,S=this.showOverflow,_=this.footerHeight,R=this.tableHeight,y=this.tableWidth,E=this.overflowY,D=this.scrollbarHeight,k=this.scrollbarWidth,U=this.scrollXLoad,$=this.columnStore,I=this.elemStore,i=this.editStore,r=this.currentRow,l=this.mouseConfig,M="auto"===e?p:(_tools.DomTools.isScale(e)?Math.floor(parseInt(e)/100*p):_xeUtils.default.toNumber(e))-this.getExcludeHeight();return["main","left","right"].forEach(function(u,e){var d=0<e?u:"",f=$["".concat(d,"List")],g=t["".concat(d,"Container")];["header","body","footer"].forEach(function(c){var e=I["".concat(u,"-").concat(c,"-wrapper")],t=I["".concat(u,"-").concat(c,"-table")];if("header"===c){var i=y;U&&(d&&(m=f),i=m.reduce(function(e,t){return e+t.renderWidth},0)),t&&(t.style.width=null===i?i:"".concat(i+k,"px"));var r=I["".concat(u,"-").concat(c,"-repair")];r&&(r.style.width="".concat(y,"px"))}else if("body"===c){var l=I["".concat(u,"-").concat(c,"-emptyBlock")];if(e&&(0<M?e.style.height="".concat(d?(0<M?M-b-_:R)-(T?0:D):M-b-_,"px"):x&&(x=_tools.DomTools.isScale(x)?Math.floor(parseInt(x)/100*p):_xeUtils.default.toNumber(x),e.style.maxHeight="".concat(d?x-b-(T?0:D):x-b,"px"))),g){var o="right"===d,n=$["".concat(d,"List")];e.style.top="".concat(b,"px"),g.style.height="".concat((0<M?M-b-_:R)+b+_-D*(T?2:1),"px"),g.style.width="".concat(n.reduce(function(e,t){return e+t.renderWidth},o?k:0),"px")}var s=y;d&&S?s=(m=f).reduce(function(e,t){return e+t.renderWidth},0):U&&(d&&(m=f),s=m.reduce(function(e,t){return e+t.renderWidth},0)),t&&(t.style.width=s?"".concat(s,"px"):s,E&&d&&(browse["-moz"]||browse.safari)&&(t.style.paddingRight="".concat(k,"px"))),l&&(l.style.width=s?"".concat(s,"px"):s)}else if("footer"===c){var a=y;d&&S?a=(m=f).reduce(function(e,t){return e+t.renderWidth},0):U&&(d&&(m=f),a=m.reduce(function(e,t){return e+t.renderWidth},0)),e&&(g&&(e.style.top="".concat(M?M-_:R+b,"px")),e.style.marginTop="".concat(-D-1,"px")),t&&(t.style.width=null===a?a:"".concat(a+k,"px"))}var h=I["".concat(u,"-").concat(c,"-colgroup")];h&&_xeUtils.default.arrayEach(h.children,function(e){var t=e.getAttribute("name");if("col_gutter"===t&&(e.width="".concat(k||"")),v[t]){var i,r=v[t].column,l=r.showHeaderOverflow,o=r.showOverflow,n=r.renderWidth;e.width="".concat(r.renderWidth||"");var s="title"===(i="header"===c?_xeUtils.default.isUndefined(l)||_xeUtils.default.isNull(l)?C:l:_xeUtils.default.isUndefined(o)||_xeUtils.default.isNull(o)?S:o)||(!0===i||"tooltip"===i)||"ellipsis"===i,a=I["".concat(u,"-").concat(c,"-list")];a&&s&&_xeUtils.default.arrayEach(a.querySelectorAll(".".concat(r.id)),function(e){var t=e.querySelector(".vxe-cell");t&&(t.style.width="".concat(w?n-1:n,"px"))})}})})}),r&&this.setCurrentRow(r),l&&l.selected&&i.selected.row&&i.selected.column&&(this.reColSdCls(),this.addColSdCls()),this.$nextTick()},checkScrolling:function(){var e=this.$refs,t=e.tableBody,i=e.leftContainer,r=e.rightContainer,l=t?t.$el:null;l&&(i&&_tools.DomTools[0<l.scrollLeft?"addClass":"removeClass"](i,"scrolling--middle"),r&&_tools.DomTools[l.clientWidth<l.scrollWidth-l.scrollLeft?"addClass":"removeClass"](r,"scrolling--middle"))},preventEvent:function(t,e,i,r,l){var o=this;_vXETable.Interceptor.get(e).some(function(e){return!1===e(i,t,o)})||r&&r(),l&&l()},handleGlobalMousedownEvent:function(i){var r=this,l=this.$el,e=this.$refs,t=this.editStore,o=this.ctxMenuStore,n=this.editConfig,s=void 0===n?{}:n,a=this.filterStore,c=this.getEventTargetNode,h=this.getRowNode,u=t.actived,d=e.filterWrapper,f=e.validTip;d&&(c(i,l,"vxe-filter-wrapper").flag||c(i,d.$el).flag||this.preventEvent(i,"event.clearFilter",a.args,this.closeFilter)),u.row&&!1!==s.autoClear&&(f&&c(i,f.$el).flag||(!this.lastCallTime||this.lastCallTime+50<Date.now())&&this.preventEvent(i,"event.clearActived",u.args,function(){var e;if("row"===s.mode){var t=c(i,l,"vxe-body--row");e=t.flag?h(t.targetElem).item!==h(u.args.cell.parentNode).item:0}else e=!c(i,l,"col--edit").flag;!e&&c(i,l).flag||setTimeout(function(){return r.clearActived(i)})})),o.visible&&this.$refs.ctxWrapper&&!c(i,this.$refs.ctxWrapper.$el).flag&&this.closeMenu()},handleGlobalBlurEvent:function(e){this.closeFilter(),this.closeMenu()},handleGlobalMousewheelEvent:function(e){this.clostTooltip(),this.closeMenu()},handleGlobalKeydownEvent:function(W){var O=this;this.preventEvent(W,"event.keydown",{$table:this},function(){var e,t=O.isCtxMenu,i=O.ctxMenuStore,r=O.editStore,l=O.mouseConfig,o=void 0===l?{}:l,n=O.keyboardConfig,s=void 0===n?{}:n,a=O.treeConfig,c=O.highlightCurrentRow,h=O.currentRow,u=r.selected,d=r.actived,f=W.keyCode,g=8===f,v=9===f,x=13===f,p=27===f,w=32===f,m=37===f,b=38===f,C=39===f,T=40===f,S=46===f,_=65===f,R=67===f,y=86===f,E=88===f,D=113===f,k=W.ctrlKey,U=W.shiftKey,$=m||b||C||T,I=t&&i.visible&&(x||w||$);if(p)O.closeMenu(),O.closeFilter(),d.row&&(e=d.args,O.clearActived(W),o.selected&&O.$nextTick(function(){return O.handleSelected(e,W)}));else if(w&&(s.isArrow||s.isTab)&&u.row&&u.column&&("checkbox"===u.column.type||"selection"===u.column.type||"radio"===u.column.type))W.preventDefault(),"checkbox"===u.column.type||"selection"===u.column.type?O.handleToggleCheckRowEvent(u.args,W):O.triggerRadioRowEvent(W,u.args);else if(x&&(s.isArrow||s.isTab)&&(u.row||d.row||a&&c&&h)){if(u.row||d.row)O.moveSelected(u.row?u.args:d.args,m,b,C,!0,W);else if(a&&c&&h){var M=h[a.children];if(M&&M.length){W.preventDefault();var F=M[0];e={$table:O,row:F},O.setTreeExpansion(h,!0).then(function(){return O.scrollToRow(F)}).then(function(){return O.triggerCurrentRowEvent(W,e)})}}}else if(I)W.preventDefault(),i.showChild&&_tools.UtilTools.hasChildrenList(i.selected)?O.moveCtxMenu(W,f,i,"selectChild",37,!1,i.selected.children):O.moveCtxMenu(W,f,i,"selected",39,!0,O.ctxMenuList);else if(D)u.row&&u.column&&(W.preventDefault(),O.handleActived(u.args,W));else if($&&s.isArrow)u.row&&u.column?O.moveSelected(u.args,m,b,C,T,W):(b||T)&&c&&h&&O.moveCurrentRow(b,T,W);else if(v&&s.isTab)u.row||u.column?O.moveTabSelected(u.args,U,W):(d.row||d.column)&&O.moveTabSelected(d.args,U,W);else if(S||(a&&c&&h?g&&s.isArrow:g)){if(s.isDel&&(u.row||u.column))_tools.UtilTools.setCellValue(u.row,u.column,null),g&&O.handleActived(u.args,W);else if(g&&s.isArrow&&a&&c&&h){var A=_xeUtils.default.findTree(O.afterFullData,function(e){return e===h},a).parent;A&&(W.preventDefault(),e={$table:O,row:A},O.setTreeExpansion(A,!1).then(function(){return O.scrollToRow(A)}).then(function(){return O.triggerCurrentRowEvent(W,e)}))}}else s.isCut&&k&&(_||E||R||y)?_?O.handleAllChecked(W):E||R?O.handleCopyed(E,W):O.handlePaste(W):s.isEdit&&!k&&(48<=f&&f<=57||65<=f&&f<=90||96<=f&&f<=111||186<=f&&f<=192||219<=f&&f<=222||32===f)&&u.column&&u.row&&u.column.editRender&&(s.editMethod&&!1===s.editMethod(u.args,W)||(_tools.UtilTools.setCellValue(u.row,u.column,null),O.handleActived(u.args,W)))})},handleGlobalResizeEvent:function(){this.recalculate()},triggerHeaderTooltipEvent:function(e,t){var i=this.tooltipStore,r=t.column;i.column===r&&i.visible||this.handleTooltip(e,r)},triggerFooterTooltipEvent:function(e,t){var i=t.column,r=this.tooltipStore;r.column===i&&r.visible||this.handleTooltip(e,i)},triggerTooltipEvent:function(e,t){var i=this.editConfig,r=this.editStore,l=this.tooltipStore,o=r.actived,n=t.row,s=t.column;i&&("row"===i.mode&&o.row===n||o.row===n&&o.column===s)||l.column===s&&l.row===n&&l.visible||this.handleTooltip(e,s,n)},handleTooltip:function(e,t,i){var r=e.currentTarget,l=this.$refs.tooltip,o=r.children[0],n=r.innerText;return n&&o.scrollWidth>o.clientWidth&&(Object.assign(this.tooltipStore,{row:i,column:t,visible:!0}),l&&l.toVisible(r,_tools.UtilTools.formatText(n))),this.$nextTick()},clostTooltip:function(){var e=this.$refs.tooltip;return Object.assign(this.tooltipStore,{row:null,column:null,content:null,visible:!1}),e&&e.close(),this.$nextTick()},handleSelectionDefChecked:function(){var t=this.fullDataRowIdData,e=this.checkboxConfig||this.selectConfig||{},i=e.checkAll,r=e.checkRowKeys;if(i)this.setAllSelection(!0);else if(r){var l=[];r.forEach(function(e){t[e]&&l.push(t[e].row)}),this.setSelection(l,!0)}},setSelection:function(e,t){var i=this;return e&&!_xeUtils.default.isArray(e)&&(e=[e]),e.forEach(function(e){return i.handleSelectRow({row:e},!!t)}),this.$nextTick()},handleSelectRow:function(e,i){var r=e.row,l=this.selection,t=this.tableFullData,o=this.treeConfig,n=this.treeIndeterminates,s=this.checkboxConfig||this.selectConfig||{},a=s.checkField,c=s.checkStrictly,h=s.checkMethod;if(a)if(o&&!c){-1===i?(n.push(r),_xeUtils.default.set(r,a,!1)):(_xeUtils.default.eachTree([r],function(e,t){r!==e&&h&&!h({row:e,$rowIndex:t})||_xeUtils.default.set(e,a,i)},o),_xeUtils.default.remove(n,function(e){return e===r}));var u=_xeUtils.default.findTree(t,function(e){return e===r},o);if(u&&u.parent){var d,f=h?u.items.filter(function(e,t){return h({row:e,$rowIndex:t})}):u.items;if(u.items.find(function(e){return-1<n.indexOf(e)}))d=-1;else{var g=u.items.filter(function(e){return _xeUtils.default.get(e,a)});d=g.filter(function(e){return-1<f.indexOf(e)}).length===f.length||!(!g.length&&-1!==i)&&-1}return this.handleSelectRow({row:u.parent},d)}}else _xeUtils.default.set(r,a,i);else if(o&&!c){-1===i?(n.push(r),_xeUtils.default.remove(l,function(e){return e===r})):(_xeUtils.default.eachTree([r],function(t,e){r!==t&&h&&!h({row:t,$rowIndex:e})||(i?l.push(t):_xeUtils.default.remove(l,function(e){return e===t}))},o),_xeUtils.default.remove(n,function(e){return e===r}));var v=_xeUtils.default.findTree(t,function(e){return e===r},o);if(v&&v.parent){var x,p=h?v.items.filter(function(e,t){return h({row:e,$rowIndex:t})}):v.items;if(v.items.find(function(e){return-1<n.indexOf(e)}))x=-1;else{var w=v.items.filter(function(e){return-1<l.indexOf(e)});x=w.filter(function(e){return-1<p.indexOf(e)}).length===p.length||!(!w.length&&-1!==i)&&-1}return this.handleSelectRow({row:v.parent},x)}}else i?-1===l.indexOf(r)&&l.push(r):_xeUtils.default.remove(l,function(e){return e===r});this.checkSelectionStatus()},handleToggleCheckRowEvent:function(e,t){var i=this.selection,r=(this.checkboxConfig||this.selectConfig||{}).checkField,l=e.row,o=r?!_xeUtils.default.get(l,r):-1===i.indexOf(l);t?this.triggerCheckRowEvent(t,e,o):this.handleSelectRow(e,o)},triggerCheckRowEvent:function(e,t,i){var r=(this.checkboxConfig||this.selectConfig||{}).checkMethod;r&&!r({row:t.row,rowIndex:t.rowIndex,$rowIndex:t.$rowIndex})||(this.handleSelectRow(t,i),_tools.UtilTools.emitEvent(this,"select-change",[Object.assign({selection:this.getSelectRecords(),checked:i,$table:this},t),e]))},toggleRowSelection:function(e){return this.handleToggleCheckRowEvent({row:e}),this.$nextTick()},setAllSelection:function(r){var e=this.tableFullData,t=this.editStore,i=this.treeConfig,l=this.selection,o=this.checkboxConfig||this.selectConfig||{},n=o.checkField,s=o.reserve,a=o.checkStrictly,c=o.checkMethod,h=t.insertList,u=[];if(h.length&&(e=e.concat(h)),!a){if(n){var d="".concat(i?"$":"","rowIndex"),f=function(e,t){var i;c&&!c((_defineProperty(i={row:e},d,t),_defineProperty(i,"$rowIndex",t),i))||_xeUtils.default.set(e,n,r)},g=function(e,t){var i;(!c||!c((_defineProperty(i={row:e},d,t),_defineProperty(i,"$rowIndex",t),i))&&-1<l.indexOf(e))&&_xeUtils.default.set(e,n,r)};i?_xeUtils.default.eachTree(e,r?f:g,i):e.forEach(r?f:g)}else i?r?_xeUtils.default.eachTree(e,function(e,t){c&&!c({row:e,$rowIndex:t})||u.push(e)},i):c&&_xeUtils.default.eachTree(e,function(e,t){!c({row:e,$rowIndex:t})&&-1<l.indexOf(e)&&u.push(e)},i):r?u=c?e.filter(function(e,t){return-1<l.indexOf(e)||c({row:e,rowIndex:t,$rowIndex:t})}):e.slice(0):c&&(u=e.filter(function(e,t){return c({row:e,rowIndex:t,$rowIndex:t})?0:-1<l.indexOf(e)}));this.selection=r&&s?l.concat(u.filter(function(e){return-1===l.indexOf(e)})):u}this.treeIndeterminates=[],this.checkSelectionStatus()},checkSelectionStatus:function(){var e=this.tableFullData,t=this.editStore,i=this.selection,r=this.treeIndeterminates,l=this.checkboxConfig||this.selectConfig||{},o=l.checkField,n=l.checkStrictly,s=l.checkMethod,a=t.insertList;a.length&&(e=e.concat(a)),n||(o?(this.isAllSelected=e.length&&e.every(s?function(e,t){return!s({row:e,rowIndex:t,$rowIndex:t})||_xeUtils.default.get(e,o)}:function(e){return _xeUtils.default.get(e,o)}),this.isIndeterminate=!this.isAllSelected&&e.some(function(e){return _xeUtils.default.get(e,o)||-1<r.indexOf(e)})):(this.isAllSelected=e.length&&e.every(s?function(e,t){return!s({row:e,rowIndex:t,$rowIndex:t})||-1<i.indexOf(e)}:function(e){return-1<i.indexOf(e)}),this.isIndeterminate=!this.isAllSelected&&e.some(function(e){return-1<r.indexOf(e)||-1<i.indexOf(e)})))},reserveCheckSelection:function(){var e=this.selection,i=this.fullDataRowIdData,t=(this.checkboxConfig||this.selectConfig||{}).reserve,r=_tools.UtilTools.getRowkey(this);t&&e.length&&(this.selection=e.map(function(e){var t=""+_xeUtils.default.get(e,r);return i[t]?i[t].row:e}))},triggerCheckAllEvent:function(e,t){this.setAllSelection(t),_tools.UtilTools.emitEvent(this,"select-all",[{selection:this.getSelectRecords(),checked:t,$table:this},e])},toggleAllSelection:function(){return this.triggerCheckAllEvent(null,!this.isAllSelected),this.$nextTick()},clearSelection:function(){var e=this.tableFullData,t=this.treeConfig,i=(this.checkboxConfig||this.selectConfig||{}).checkField;return i&&(t?_xeUtils.default.eachTree(e,function(e){return _xeUtils.default.set(e,i,!1)},t):e.forEach(function(e){return _xeUtils.default.set(e,i,!1)})),this.isAllSelected=!1,this.isIndeterminate=!1,this.selection=[],this.treeIndeterminates=[],this.$nextTick()},handleRadioDefChecked:function(){var e=this.radioConfig,t=void 0===e?{}:e,i=this.fullDataRowIdData,r=t.checkRowKey;r&&i[r]&&this.setRadioRow(i[r].row)},triggerRadioRowEvent:function(e,t){var i=this.radioConfig,r=(void 0===i?{}:i).checkMethod;if(!r||r({row:t.row,rowIndex:t.rowIndex,$rowIndex:t.$rowIndex})){var l=this.selectRow!==t.row;this.setRadioRow(t.row),l&&_tools.UtilTools.emitEvent(this,"radio-change",[t,e])}},triggerCurrentRowEvent:function(e,t){var i=this.currentRow!==t.row;this.setCurrentRow(t.row),i&&_tools.UtilTools.emitEvent(this,"current-change",[t,e])},setCurrentRow:function(e){return this.clearCurrentRow(),this.clearCurrentColumn(),this.currentRow=e,this.highlightCurrentRow&&_xeUtils.default.arrayEach(this.$el.querySelectorAll('[data-rowid="'.concat(_tools.UtilTools.getRowid(this,e),'"]')),function(e){return _tools.DomTools.addClass(e,"row--current")}),this.$nextTick()},setRadioRow:function(e){return this.selectRow!==e&&this.clearRadioRow(),this.selectRow=e,this.$nextTick()},clearCurrentRow:function(){return this.currentRow=null,this.hoverRow=null,_xeUtils.default.arrayEach(this.$el.querySelectorAll(".row--current"),function(e){return _tools.DomTools.removeClass(e,"row--current")}),this.$nextTick()},clearRadioRow:function(){return this.selectRow=null,this.$nextTick()},getCurrentRow:function(){return this.currentRow},getRadioRow:function(){return this.selectRow},triggerHoverEvent:function(e,t){var i=t.row;this.setHoverRow(i)},setHoverRow:function(e){var t=_tools.UtilTools.getRowid(this,e);this.clearHoverRow(),_xeUtils.default.arrayEach(this.$el.querySelectorAll('[data-rowid="'.concat(t,'"]')),function(e){return _tools.DomTools.addClass(e,"row--hover")}),this.hoverRow=e},clearHoverRow:function(){_xeUtils.default.arrayEach(this.$el.querySelectorAll(".vxe-body--row.row--hover"),function(e){return _tools.DomTools.removeClass(e,"row--hover")}),this.hoverRow=null},triggerHeaderCellClickEvent:function(e,t){var i=this._lastResizeTime,r=this.sortOpts,l=t.column,o=t.cell,n=i&&i>Date.now()-300,s=this.getEventTargetNode(e,o,"vxe-sort-wrapper").flag,a=this.getEventTargetNode(e,o,"vxe-filter-wrapper").flag;return"cell"!==r.trigger||n||s||a||this.triggerSortEvent(e,l,"desc"===l.order?"asc":"desc"),_tools.UtilTools.emitEvent(this,"header-cell-click",[Object.assign({triggerResizable:n,triggerSort:s,triggerFilter:a},t),e]),this.highlightCurrentColumn?this.setCurrentColumn(l,!0):this.$nextTick()},setCurrentColumn:function(e){return this.clearCurrentRow(),this.clearCurrentColumn(),this.currentColumn=e,_xeUtils.default.arrayEach(this.$el.querySelectorAll(".".concat(e.id)),function(e){return _tools.DomTools.addClass(e,"col--current")}),this.$nextTick()},clearCurrentColumn:function(){return this.currentColumn=null,_xeUtils.default.arrayEach(this.$el.querySelectorAll(".col--current"),function(e){return _tools.DomTools.removeClass(e,"col--current")}),this.$nextTick()},handleChangeCell:function(e,t){var i=this;this.triggerValidate("blur").catch(function(e){return e}).then(function(){i.handleActived(t,e).then(function(){return i.triggerValidate("change")}).catch(function(e){return e})})},triggerCellClickEvent:function(e,t){var i=this.$el,r=this.highlightCurrentRow,l=this.editStore,o=this.radioConfig,n=void 0===o?{}:o,s=this.expandConfig,a=void 0===s?{}:s,c=this.treeConfig,h=void 0===c?{}:c,u=this.editConfig,d=this.mouseConfig,f=void 0===d?{}:d,g=l.actived,v=t.row,x=t.column,p=t.cell,w=this.checkboxConfig||this.selectConfig||{};isTargetRadioOrCheckbox(e,x,"radio")||isTargetRadioOrCheckbox(e,x,"checkbox","checkbox")||isTargetRadioOrCheckbox(e,x,"selection","checkbox")||("row"!==a.trigger&&("expand"!==x.type||"cell"!==a.trigger)||this.getEventTargetNode(e,i,"vxe-table--expanded").flag||this.triggerRowExpandEvent(e,t),("row"===h.trigger||x.treeNode&&"cell"===h.trigger)&&this.triggerTreeExpandEvent(e,t),x.treeNode&&this.getEventTargetNode(e,i,"vxe-tree-wrapper").flag||"expand"===x.type&&this.getEventTargetNode(e,i,"vxe-table--expanded").flag||(r&&("row"!==n.trigger&&(this.getEventTargetNode(e,i,"vxe-checkbox").flag||this.getEventTargetNode(e,i,"vxe-radio").flag)||this.triggerCurrentRowEvent(e,t)),"row"!==n.trigger&&("radio"!==x.type||"cell"!==n.trigger)||this.getEventTargetNode(e,i,"vxe-radio").flag||this.triggerRadioRowEvent(e,t),"row"!==w.trigger&&("checkbox"!==x.type&&"selection"!==x.type||"cell"!==w.trigger)||this.getEventTargetNode(e,t.cell,"vxe-checkbox").flag||this.handleToggleCheckRowEvent(t,e),f.checked||u&&("manual"===u.trigger?g.args&&g.row===v&&x!==g.column&&this.handleChangeCell(e,t):g.args&&p===g.args.cell||("click"===u.trigger?this.handleChangeCell(e,t):"dblclick"===u.trigger&&("row"===u.mode&&g.row===t.row?this.handleChangeCell(e,t):this.handleSelected(t,e))))),_tools.UtilTools.emitEvent(this,"cell-click",[t,e]))},triggerCellDBLClickEvent:function(e,t){var i=this,r=this.editStore,l=this.editConfig,o=r.actived;l&&"dblclick"===l.trigger&&(o.args&&e.currentTarget===o.args.cell||("row"===l.mode?this.triggerValidate("blur").catch(function(e){return e}).then(function(){i.handleActived(t,e).then(function(){return i.triggerValidate("change")}).catch(function(e){return e})}):"cell"===l.mode&&this.handleActived(t,e).then(function(){return i.triggerValidate("change")}).catch(function(e){return e}))),_tools.UtilTools.emitEvent(this,"cell-dblclick",[t,e])},triggerSortEvent:function(e,t,i){var r=t.property;if(t.sortable||t.remoteSort){var l={column:t,property:r,field:r,prop:r,order:i,$table:this};t.order===i?(l.order=null,this.clearSort(t.property)):this.sort(r,i),_tools.UtilTools.emitEvent(this,"sort-change",[l,e])}},sort:function(t,e){var i=this.visibleColumn,r=this.tableFullColumn,l=this.remoteSort,o=i.find(function(e){return e.property===t}),n=_xeUtils.default.isBoolean(o.remoteSort)?o.remoteSort:l;return o.sortable||o.remoteSort?(e||(e="desc"===o.order?"asc":"desc"),o.order!==e&&(r.forEach(function(e){e.order=null}),o.order=e,n||this.handleTableData(!0)),this.$nextTick().then(this.updateStyle)):this.$nextTick()},clearSort:function(){return this.tableFullColumn.forEach(function(e){e.order=null}),this.handleTableData(!0)},closeFilter:function(e){return Object.assign(this.filterStore,{isAllSelected:!1,isIndeterminate:!1,options:[],visible:!1}),this.$nextTick()},triggerRowExpandEvent:function(e,t){var i=t.row,r=this.toggleRowExpansion(i);return _tools.UtilTools.emitEvent(this,"toggle-expand-change",[{row:i,rowIndex:this.getRowIndex(i),$table:this},e]),r},toggleRowExpansion:function(e){return this.setRowExpansion(e)},handleDefaultRowExpand:function(){var e=this.expandConfig,t=void 0===e?{}:e,i=this.tableFullData,r=this.fullDataRowIdData,l=t.expandAll,o=t.expandRowKeys;if(l)this.expandeds=i.slice(0);else if(o){var n=[];o.forEach(function(e){r[e]&&n.push(r[e].row)}),this.expandeds=n}},setAllRowExpansion:function(e){return this.expandeds=e?this.tableFullData.slice(0):[],this.$nextTick().then(this.recalculate)},setRowExpansion:function(e,i){var r=this.expandeds,t=this.expandConfig,l=void 0===t?{}:t,o=1===arguments.length;return e&&(_xeUtils.default.isArray(e)||(e=[e]),l.accordion&&(r.length=0,e=e.slice(e.length-1,e.length)),e.forEach(function(e){var t=r.indexOf(e);-1<t?!o&&i||r.splice(t,1):(o||i)&&r.push(e)})),this.$nextTick().then(this.recalculate)},hasRowExpand:function(e){return-1<this.expandeds.indexOf(e)},isExpandByRow:function(e){return-1<this.expandeds.indexOf(e)},clearRowExpand:function(){var e=this,t=this.expandeds.length;return this.expandeds=[],this.$nextTick().then(function(){return t?e.recalculate():0})},triggerTreeExpandEvent:function(e,t){var i=this,r=t.row,l=this.toggleTreeExpansion(r);return _tools.UtilTools.emitEvent(this,"toggle-tree-change",[{row:r,rowIndex:this.getRowIndex(r),$table:this},e]),this.$nextTick(function(){var e=i.currentRow,t=i.currentColumn;e?i.setCurrentRow(e):t&&i.setCurrentColumn(t)}),l},toggleTreeExpansion:function(e){return this.setTreeExpansion(e)},handleDefaultTreeExpand:function(){var r=this.treeConfig,l=this.tableFullData;if(r){var e=r.expandAll,t=r.expandRowKeys,o=r.children,n=[];if(e)_xeUtils.default.filterTree(l,function(e){var t=e[o];t&&t.length&&n.push(e)},r),this.treeExpandeds=n;else if(t){var s=_tools.UtilTools.getRowkey(this);t.forEach(function(t){var e=_xeUtils.default.findTree(l,function(e){return t===_xeUtils.default.get(e,s)},r),i=e?e.item[o]:0;i&&i.length&&n.push(e.item)}),this.treeExpandeds=n}}},setAllTreeExpansion:function(e){var t=this.tableFullData,i=this.treeConfig,r=i.children,l=[];return e&&_xeUtils.default.eachTree(t,function(e){var t=e[r];t&&t.length&&l.push(e)},i),this.treeExpandeds=l,this.$nextTick().then(this.recalculate)},setTreeExpansion:function(e,l){var o=this.tableFullData,n=this.treeExpandeds,s=this.treeConfig,a=s.children,c=1===arguments.length;return e&&(_xeUtils.default.isArray(e)||(e=[e]),s.accordion&&(e=e.slice(e.length-1,e.length)),e.forEach(function(t){var e=t[a];if(e&&e.length){var i=n.indexOf(t);if(s.accordion){var r=_xeUtils.default.findTree(o,function(e){return e===t},s);_xeUtils.default.remove(n,function(e){return-1<r.items.indexOf(e)})}-1<i?!c&&l||n.splice(i,1):(c||l)&&n.push(t)}})),this.$nextTick().then(this.recalculate)},hasTreeExpand:function(e){return this.isTreeExpandByRow(e)},isTreeExpandByRow:function(e){return-1<this.treeExpandeds.indexOf(e)},clearTreeExpand:function(){var e=this,t=this.treeExpandeds.length;return this.treeExpandeds=[],this.$nextTick().then(function(){return t?e.recalculate():0})},getVirtualScroller:function(){var e=this.$refs,t=this.scrollXLoad,i=this.scrollYLoad,r=e.tableBody.$el;return{scrollX:t,scrollY:i,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}},triggerScrollXEvent:function(e){for(var t=this.$refs,i=this.visibleColumn,r=this.scrollXStore,l=r.startIndex,o=r.renderSize,n=r.offsetSize,s=r.visibleSize,a=t.tableBody.$el.scrollLeft,c=0,h=0,u=!1,d=0;d<i.length;d++)if(a<(h+=i[d].renderWidth)){c=d;break}if(r.visibleIndex!==c){var f=Math.min(Math.floor((o-s)/2),s);r.visibleIndex>c?(u=c-n<=l)&&(r.startIndex=Math.max(0,c-Math.max(f,o-s))):(u=l+o<=c+s+n)&&(r.startIndex=Math.max(0,Math.min(i.length-o,c-f))),u&&this.updateScrollXData(),r.visibleIndex=c}this.clostTooltip()},triggerScrollYEvent:function(e){isWebkit&&this.scrollYStore.adaptive?this.loadScrollYData(e):this.debounceScrollY(e)},debounceScrollY:_xeUtils.default.debounce(function(e){this.loadScrollYData(e)},debounceScrollYDuration,{leading:!1,trailing:!0}),loadScrollYData:function(e){var t=this.afterFullData,i=this.scrollYStore,r=i.startIndex,l=i.renderSize,o=i.offsetSize,n=i.visibleSize,s=i.rowHeight,a=e.target.scrollTop,c=Math.ceil(a/s),h=!1;if(i.visibleIndex!==c){var u=Math.min(Math.floor((l-n)/2),n);i.visibleIndex>c?(h=c-o<=r)&&(i.startIndex=Math.max(0,c-Math.max(u,l-n))):(h=r+l<=c+n+o)&&(i.startIndex=Math.max(0,Math.min(t.length-l,c-u))),h&&this.updateScrollYData(),i.visibleIndex=c}},computeScrollLoad:function(){var m=this;return this.$nextTick().then(function(){var e=m.vSize,t=m.scrollXLoad,i=m.scrollYLoad,r=m.scrollYStore,l=m.scrollXStore,o=m.visibleColumn,n=m.optimizeOpts,s=m.rowHeightMaps,a=n.scrollX,c=n.scrollY,h=m.$refs.tableBody,u=h?h.$el:null,d=m.$refs.tableHeader;if(u){if(t){var f=o[0],g=f?f.renderWidth:40,v=_xeUtils.default.toNumber(a.vSize||Math.ceil(u.clientWidth/g));l.visibleSize=v,a.oSize||(l.offsetSize=v),a.rSize||(l.renderSize=v+2),m.updateScrollXData()}else m.updateScrollXSpace();if(i){var x;if(c.rHeight)x=c.rHeight;else{var p=u.querySelector("tbody>tr");!p&&d&&(p=d.$el.querySelector("thead>tr")),p&&(x=p.clientHeight)}x||(x=s[e||"default"]);var w=_xeUtils.default.toNumber(c.vSize||Math.ceil(u.clientHeight/x));r.visibleSize=w,r.rowHeight=x,c.oSize||(r.offsetSize=w),c.rSize||(r.renderSize=browse.firefox?6*w:browse.edge?10*w:isWebkit?w+2:6*w),m.updateScrollYData()}else m.updateScrollYSpace()}m.$nextTick(m.updateStyle)})},updateScrollXData:function(){var e=this.visibleColumn,t=this.scrollXStore;this.tableColumn=e.slice(t.startIndex,t.startIndex+t.renderSize),this.updateScrollXSpace()},updateScrollXSpace:function(){var e=this.$refs,r=this.elemStore,t=this.visibleColumn,i=this.scrollXStore,l=this.scrollXLoad,o=this.tableWidth,n=this.scrollbarWidth,s=e.tableHeader,a=e.tableBody,c=e.tableFooter,h=s?s.$el.querySelector(".vxe-table--header"):null,u=a.$el.querySelector(".vxe-table--body"),d=c?c.$el.querySelector(".vxe-table--footer"):null,f=t.slice(0,i.startIndex).reduce(function(e,t){return e+t.renderWidth},0),g="";l&&(g="".concat(f,"px")),h&&(h.style.marginLeft=g),u.style.marginLeft=g,d&&(d.style.marginLeft=g);["main"].forEach(function(i){["header","body","footer"].forEach(function(e){var t=r["".concat(i,"-").concat(e,"-xSpace")];t&&(t.style.width=l?"".concat(o+("header"===e?n:0),"px"):"")})}),this.$nextTick(this.updateStyle)},updateScrollYData:function(){this.handleTableData(),this.updateScrollYSpace()},updateScrollYSpace:function(){var r=this.elemStore,e=this.scrollYStore,t=this.scrollYLoad,i=this.afterFullData.length*e.rowHeight,l=Math.max(e.startIndex*e.rowHeight,0),o="",n="";t&&(o="".concat(l,"px"),n="".concat(i,"px")),["main","left","right"].forEach(function(i){var e=r["".concat(i,"-body-table")];e&&(e.style.marginTop=o),["header","body","footer"].forEach(function(e){var t=r["".concat(i,"-").concat(e,"-ySpace")];t&&(t.style.height=n)})}),this.$nextTick(this.updateStyle)},scrollTo:function(e,t){var i=this,r=this.$refs.tableBody.$el;if(_xeUtils.default.isNumber(e)){var l=this.$refs.tableFooter;l?l.$el.scrollLeft=e:r.scrollLeft=e}if(_xeUtils.default.isNumber(t)){var o=this.$refs.rightBody;o&&(o.$el.scrollTop=t),r.scrollTop=t}return this.scrollXLoad||this.scrollYLoad?new Promise(function(e){return setTimeout(function(){return e(i.$nextTick())},50)}):this.$nextTick()},scrollToRow:function(e,t){var i=[];return e&&this.fullAllDataRowMap.has(e)&&i.push(_tools.DomTools.rowToVisible(this,e)),i.push(this.scrollToColumn(t)),Promise.all(i)},scrollToColumn:function(e){return e&&this.fullColumnMap.has(e)?_tools.DomTools.colToVisible(this,e):this.$nextTick()},scrollToTreeRow:function(t){var i=this,e=this.tableFullData,r=this.treeConfig;if(r){var l=_xeUtils.default.findTree(e,function(e){return e===t},r);if(l){var o=l.nodes;o.forEach(function(e,t){t<o.length-1&&!i.isTreeExpandByRow(e)&&i.setTreeExpansion(e,!0)})}}return this.$nextTick()},clearScroll:function(){var o=this,e=this.scrollXStore,t=this.scrollYStore;return e.startIndex=0,e.visibleIndex=0,t.startIndex=0,t.visibleIndex=0,this.$nextTick().then(function(){var e=o.$refs,t=e.tableBody,i=t?t.$el:null,r=e.tableFooter,l=(r?r.$el:null)||i;i&&(i.scrollTop=0),l&&(l.scrollLeft=0)})},updateFooter:function(){var e=this.showFooter,t=this.tableColumn,i=this.footerMethod;return e&&i&&(this.footerData=t.length?i({columns:t,data:this.afterFullData}):[]),this.$nextTick()},updateStatus:function(a,c){var h=this,u=!_xeUtils.default.isUndefined(c);return this.$nextTick().then(function(){var e=h.$refs,t=h.tableData,i=h.editRules,r=h.validStore;if(a&&e.tableBody&&i){var l=a.row,o=a.column;if(h.hasCellRules("change",l,o)){var n=t.indexOf(l),s=_tools.DomTools.getCell(h,{row:l,rowIndex:n,column:o});if(s)return h.validCellRules("change",l,o,c).then(function(){u&&r.visible&&_tools.UtilTools.setCellValue(l,o,c),h.clearValidate()}).catch(function(e){var t=e.rule;u&&_tools.UtilTools.setCellValue(l,o,c),h.showValidTooltip({rule:t,row:l,column:o,cell:s})})}}})},updateZindex:function(){this.tZindex<_tools.UtilTools.getLastZIndex()&&(this.tZindex=_tools.UtilTools.getZIndex())},connect:function(e){var t=e.toolbar;this.$toolbar=t},getEventTargetNode:_tools.DomTools.getEventTargetNode},funcs="closeMenu,getMouseSelecteds,getMouseCheckeds,clearCopyed,clearChecked,clearHeaderChecked,clearIndexChecked,clearSelected,insert,insertAt,remove,removeSelecteds,revert,revertData,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearActived,getActiveRow,hasActiveRow,isActiveByRow,setActiveRow,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,exportCsv".split(",");funcs.forEach(function(e){Methods[e]=function(){return this["_".concat(e)]?this["_".concat(e)].apply(this,arguments):null}});var _default=Methods;exports.default=_default;