var Unibase;(function(n){let t;(function(t){let i;(function(t){let i;(function(t){let i;(function(t){class i{constructor(){this.hederText={};this.colType={String:"string",Number:"number",Custom:"custom",Formula:"formula",Time:"time",LongDate:"longdate",ShortDate:"shortdate",Scientific:"scientific",Fraction:"fraction",Text:"text",General:"general",Accounting:"accounting",Currency:"currency",Percentage:"percentage",Date:"date",DateTime:"datetime"};this.customList=[["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["January","February","March","April","May","June","July","August","September","October","November","December"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]];this.UC={uniqueOBracket:String.fromCharCode(129),uniqueCBracket:String.fromCharCode(130),uniqueCSeparator:String.fromCharCode(131),uniqueCOperator:String.fromCharCode(132),uniquePOperator:String.fromCharCode(133),uniqueSOperator:String.fromCharCode(134),uniqueMOperator:String.fromCharCode(135),uniqueDOperator:String.fromCharCode(136),uniqueModOperator:String.fromCharCode(137),uniqueConcateOperator:String.fromCharCode(138),uniqueEqualOperator:String.fromCharCode(139),uniqueExpOperator:String.fromCharCode(140),uniqueGTOperator:String.fromCharCode(141),uniqueLTOperator:String.fromCharCode(142)}}init(n){this.base=n;this.ssObj=n.ssObj;this.initProp()}initProp(){this.beforeSelectFn=this.beforeSelect.bind(this);this.base.ssObj.addEventListener("beforeSelect",this.beforeSelectFn);this.selectFn=this.selected.bind(this);this.base.ssObj.addEventListener("select",this.selectFn);this.actionCompleteFn=this.updateAutofill.bind(this);this.base.ssObj.addEventListener("actionComplete",this.actionCompleteFn);this.createdFn=this.created.bind(this);this.base.ssObj.addEventListener("created",this.createdFn);this.dataBoundFn=this.dataBound.bind(this);this.base.ssObj.addEventListener("dataBound",this.dataBoundFn);this.cellEditFn=this.cellEdit.bind(this);this.base.ssObj.addEventListener("cellEditing",this.cellEditFn);this.cellSaveFn=this.cellSave.bind(this);this.base.ssObj.addEventListener("cellSave",this.cellSaveFn);this.base.ssObj.on("activeSheetChanged",this.updateAutofill,this);this.base.ssObj.on("mouseDown",this.mouseDown,this)}destroy(){this.base.ssObj.removeEventListener("beforeSelect",this.beforeSelectFn);this.base.ssObj.removeEventListener("select",this.selectFn);this.base.ssObj.removeEventListener("actionComplete",this.actionCompleteFn);this.base.ssObj.removeEventListener("created",this.createdFn);this.base.ssObj.removeEventListener("dataBound",this.dataBoundFn);this.base.ssObj.removeEventListener("cellEditing",this.cellEditFn);this.base.ssObj.removeEventListener("cellSave",this.cellSaveFn);this.base.ssObj.off("activeSheetChanged",this.updateAutofill);this.base.ssObj.on("mouseDown",this.mouseDown,this);ej.base.EventHandler.remove(this.base.ssObj.element,"mouseup",this.mouseUp);ej.base.EventHandler.remove(this.base.ssObj.element,"keydown",this.keypress);ej.base.EventHandler.remove(this.base.ssObj.element,"dblclick",this.dblClick)}cellEdit(){this.hideAutofill()}cellSave(){this.updateAutofill()}dataBound(){this.updateAutofill()}createBorders(){if(!this.base.ssObj.element.getElementsByClassName("biz-af-bdr")[0]){let n=this.base.ssObj.element.getElementsByClassName("e-sheet-content")[0];this.bdrAF=n.appendChild(ej.base.createElement("div",{className:"biz-af-bdr"}))}}hideBorders(){this.bdrAF&&(this.bdrAF.style.display="none")}showBorders(){this.bdrAF&&(this.bdrAF.style.display="")}updateBorderDirection(n){this.bdrAF.style.borderRightWidth="1px";this.bdrAF.style.borderLeftWidth="1px";this.bdrAF.style.borderTopWidth="1px";this.bdrAF.style.borderBottomWidth="1px";this.bdrAF.style["border"+n+"Width"]="0px"}mouseDown(n){if(n.target.classList.contains("biz-autofill")){this.isDrag=!0;ej.base.EventHandler.add(this.base.ssObj.element,"mousemove",this.mouseMoveHandler,this);this.x=n.clientX;this.y=n.clientY;this.indexes=this.base.ssObj.biz.getIndexes();this.createBorders();let t=this.base.ssObj.element.getElementsByClassName("e-selection")[0],i=this.base.ssObj.element.getElementsByClassName("e-active-cell")[0];this.selection=t.classList.contains("e-hide")?i:t;this.selOffset=this.selection.getBoundingClientRect();this.parentOffset=this.selection.offsetParent.getBoundingClientRect();this.left=parseInt(this.selection.style.left);this.top=parseInt(this.selection.style.top)}}mouseUp(){this.isDrag=!1;ej.base.EventHandler.remove(this.base.ssObj.element,"mousemove",this.mouseMoveHandler);this.direction!=undefined&&this.autoFill();this.direction=undefined;this.hideBorders();this.isDragged=!1;this.prevTarget=undefined}createAutofill(){if(!this.base.ssObj.element.getElementsByClassName("biz-autofill")[0]){this.element=document.createElement("div");this.element.classList.add("biz-autofill");let n=this.base.ssObj.element.getElementsByClassName("e-sheet-content")[0];n&&n.appendChild(this.element)}this.element.classList.remove("biz-hide")}updateAutofill(){this.base.ssObj.isEdit?this.hideAutofill():this.positionAutofill()}dblClick(){setTimeout(()=>{this.hideAutofill()},1)}positionAutofill(){setTimeout(()=>{this.createAutofill();let t=this.base.ssObj.element.getElementsByClassName("e-selection")[0],n=this.base.ssObj.element.getElementsByClassName("e-active-cell")[0];t&&!t.classList.contains("e-hide")&&(n=t);this.element&&n&&(this.element.style.top=parseInt(n.style.top)+parseInt(n.style.height)-6+"px");this.element&&n&&(this.element.style.left=parseInt(n.style.left)+parseInt(n.style.width)+-5+"px")},10)}hideAutofill(){let n=this.base.ssObj.element.getElementsByClassName("biz-autofill")[0];n&&n.classList.add("biz-hide")}mouseMoveHandler(n){n.preventDefault();let v=n.clientX,y=n.clientY;if(n.target!==this.prevTarget){let a=ej.base.closest(n.target,"tr"),l=ej.base.closest(n.target,".e-cell");if(this.isDragged||this.showBorders(),this.isDragged=!0,a&&l){let t=parseInt(l.getAttribute("aria-colindex"))-1,i=parseInt(a.getAttribute("aria-rowindex"))-1;if(this.indexes[0]<=i&&this.indexes[2]>=i&&this.indexes[1]<=t&&this.indexes[3]>=t){this.hideBorders();return}let p=l.getBoundingClientRect(),r="px";this.showBorders();let u=this.base.ssObj.biz.getActiveSheet(),o=this.base.ssObj.frozenRowCount(u),s=this.base.ssObj.frozenColCount(u),f,h,e,c;switch(!0){case this.indexes[3]t&&this.indexes[0]-i<=this.indexes[1]-t&&i-this.indexes[2]i:this.direction="up";e=ej.spreadsheet.getCellPosition(u,[i,t-1],o,s).top;c=this.top-e;this.updateBorderDirection("Bottom");this.bdrAF.style.top=e+r;this.bdrAF.style.left=this.left+r;this.bdrAF.style.height=c+r;this.bdrAF.style.width=this.selOffset.width+r;this.fIndexes=[i,this.indexes[1],this.indexes[0]-1,this.indexes[3]];this.startCell={rowIndex:i,colIndex:this.indexes[1]};this.endCell={rowIndex:this.indexes[2],colIndex:this.indexes[3]};break;case this.indexes[2]-1,a=[v.Up,v.Left].indexOf(this.direction)>-1,ht=this.base.ssObj.biz.getActiveSheet(),pt=w?st-et:ot-ft;while(nt<=pt){if(b=this.updateFillValues(w,ft,et,ot,st,lt,at,vt,yt,nt),k=b.patrnRange,c=b.fillRange,u=this.createPattern(k,{isRFill:a,isVFill:w}),o=this.getData(k),y=this.getRawData(o),it=y.length,!u)return;for(tt=u.length,l=this.getSelectedRange({rowIndex:c[0],colIndex:c[1]},{rowIndex:c[2],colIndex:c[3]}),ut=l.length,a&&(l=l.reverse(),u=u.reverse(),u=this.ensurePattern(u),o=o.reverse(),y=y.reverse()),s=0;s=i.len&&(r=r%i.len);r=i.val[r];a?i.i--:i.i++}d=s%it;let n=ej.spreadsheet.getCell(e.rowIndex,e.colIndex,ht);o[d]?(n=this.formObjFromValues(o[d],["style","format","wrap","isLocked","validation","hyperlink",]),n.value=r):n={};this.base.ssObj.biz.setCell(e.rowIndex,e.colIndex,ht,n);n.validation&&n.validation.isHighlighted&&this.base.ssObj.addInvalidHighlight(this.base.generateHeaderText(e.colIndex+1)+(e.rowIndex+1));s++}nt++}let wt={options:t,direction:this.direction,action:"autofill",origin:"biz",sheetIndex:this.base.getSheetIndex()};n.Apps.Collaboration.Components.Sheets.Base.Instance().bizSignalr(wt)}formObjFromValues(n,t){let i={};for(let r=0;r|<|,|:|\+|-|\*|\/|%|&/g),f=n.length;u0?(this.isUniqueChar(i)&&(r.push(this.getUniqueCharVal(i)),t=t.substr(1)),i=t.indexOf("!")+1,r.push(t.substr(0,i)),r.push(t.substr(i))):this.isUniqueChar(i)?(r.push(this.getUniqueCharVal(i)),r.push(t.substr(1))):r.push(t));u++}return r}getUniqueCharVal(n){switch(n){case this.UC.uniqueOBracket:return"(";case this.UC.uniqueCBracket:return")";case this.UC.uniqueCSeparator:return",";case this.UC.uniqueCOperator:return":";case this.UC.uniquePOperator:return"+";case this.UC.uniqueSOperator:return"-";case this.UC.uniqueMOperator:return"*";case this.UC.uniqueDOperator:return"/";case this.UC.uniqueModOperator:return"%";case this.UC.uniqueConcateOperator:return"&";case this.UC.uniqueEqualOperator:return"=";case this.UC.uniqueExpOperator:return"^";case this.UC.uniqueGTOperator:return">";case this.UC.uniqueLTOperator:return"<"}return""}isUniqueChar(n){var t=n.charCodeAt(n);return t>=129&&t<=142}markSpecialChar(n){return n=n.replace(/\(/g,"("+this.UC.uniqueOBracket).replace(/\)/g,")"+this.UC.uniqueCBracket),n=n.replace(/,/g,","+this.UC.uniqueCSeparator).replace(/:/g,":"+this.UC.uniqueCOperator),n=n.replace(/\+/g,"+"+this.UC.uniquePOperator).replace(/-/g,"-"+this.UC.uniqueSOperator),n=n.replace(/\*/g,"*"+this.UC.uniqueMOperator).replace(/\//g,"/"+this.UC.uniqueDOperator),n=n.replace(/&/g,"&"+this.UC.uniqueConcateOperator),n=n.replace(/=/g,"="+this.UC.uniqueEqualOperator),n=n.replace(/\^/g,"^"+this.UC.uniqueExpOperator),n=n.replace(/>/g,">"+this.UC.uniqueGTOperator).replace(/=0;t--)i+=(n[t].charCodeAt(n[t])-64)*Math.pow(26,t);return i}getData(n){let i=this.base.ssObj.biz.getActiveSheet(),r=[],u,t=this.base.swapRange(n);for(let n=t[0];n<=t[2];n++)for(let f=t[1];f<=t[3];f++)u=i.rows[n]?i.rows[n].cells[f]:undefined,r.push(u);return r}getRawData(n){let i=n.length,t=[];for(let r=0;r-1)return this.colType.Custom+t;return!1}toArrayLowerCase(n){for(let t=0;t=0}round(n,t){let i=n+"e"+t,r="e-"+t;return Number(Math.round(i)+r)}getPredictionValue(n){let t=0,i=0,u=0,f=0,r=0,e=n.length;while(t