Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let browseObj=_xeUtils.default.browse();function getTargetOffset(e,t){let l=0,o=0;var r,n,i=!browseObj.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,r,n,i){var u=t.showOverflow,{fullAllDataRowIdData:s,isResizeCellHeight:c}=t,d=t.computeRowOpts,h=t.computeCellOpts,a=t.computeDefaultRowHeight,l=l.row;let g=0,m=[],f=0;var C=0f)return m}else for(let e=r;0<=e;e--){var R=w[e],b=s[t.getRowid(R)]||{};if(g+=b.resizeHeight||h.height||d.height||b.height||a,m.push(R),g>f)return m}}else for(var T=C?"next":"previous";o&&g{c.cell=e.getCellElement(c.row,c.column),e.handleSelected(c,t)}),c}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var r=o.editConfig,{afterFullData:n,visibleColumn:i}=o,u=o.computeEditOpts,s=o.computeRowOpts,c=o.computeCurrentRowOpts,d=o.computeColumnOpts,h=o.computeCurrentColumnOpts;let a,g,m,f=Object.assign({},e);var e=o.getVTRowIndex(f.row),C=o.getVTColumnIndex(f.column),t=(l.preventDefault(),t?C<=0?0=i.length-1?e{o.handleSelected(f,l)})):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)}))},moveCurrentRow(e,t,l){let o=this;var r=o,n=o,i=o,r=r.treeConfig;let u=n.currentRow;var n=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let s;if(u?r?({index:r,items:i}=_xeUtils.default.findTree(n,e=>e===u,{children:i}),e&&0o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var r=o.currentColumn,n=o.visibleColumn;let i=null;if(r?(r=o.getVTColumnIndex(r),e&&0o.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeCurrentRowOpts,h=i.computeColumnOpts,a=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);(c.isCurrent||u)&&(d.isFollowSelected?i.triggerCurrentRowEvent(n,e):(l||r)&&(c.isCurrent||u)&&i.moveCurrentRow(l,r,n)),(h.isCurrent||s)&&(a.isFollowSelected?i.triggerCurrentColumnEvent(n,e):(t||o)&&(h.isCurrent||s)&&i.moveCurrentColumn(t,o,n))},moveEnterSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeCurrentRowOpts,h=i.computeColumnOpts,a=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);(c.isCurrent||u)&&d.isFollowSelected&&i.triggerCurrentRowEvent(n,e),(h.isCurrent||s)&&a.isFollowSelected&&i.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){handleMoveSelected(this,n,e,t,l,o,r)},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:r,checkboxConfig:n,checkboxOpts:i,mouseConfig:u,mouseOpts:s}=this;if(u&&s.area&&this.triggerCellAreaModownEvent)return this.triggerCellAreaModownEvent(e,t);n&&i.range&&this.handleCheckboxRangeEvent(e,t),u&&s.selected&&(l&&"cell"!==o.mode||r(t,e))},handleCheckboxRangeEvent(e,S){let _=this;var t=_.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=S;if("checkbox"===r.type){let E=l;if(o&&"left"===r.fixed?E=o:t&&"right"===r.fixed&&(E=t),E){let t=_.$refs.refElem,u=e.clientX,s=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=n.parentNode,h=this.getCheckboxRecords(),a=[],g=1;l=getTargetOffset(e.target,E);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,C=E.scrollTop,i=d.offsetHeight,p=d.getBoundingClientRect(),w=s-p.y,v=null,x=!1,R=1,b=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:()=>this.getCheckboxRecords(),reserves:()=>this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-u,l=l-s+(E.scrollTop-C);let o=Math.abs(l),r=Math.abs(t),n=m,i=f;lf&&(i=g,r=f)):r=Math.min(r,E.clientWidth-f-g),c.style.height=o+"px",c.style.width=r+"px",c.style.left=i+"px",c.style.top=n+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,S,d,p,w,l{_.handleBatchSelectRows([e],-1===h.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},O=()=>{clearTimeout(v),v=null},I=n=>{O(),v=setTimeout(()=>{var e,t,l,o,r;v&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,r=Math.ceil(50*R/i),x?t+l{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(E).boundingTop;tl+E.clientHeight?(x=!0,R=t-l-E.clientHeight,v||I(e)):v&&O(),T(e)},document.onmouseup=e=>{O(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}}}};