From 0384ccc2f6e85bb7ebb2624183ecb218c31916bb Mon Sep 17 00:00:00 2001 From: xurenda Date: Thu, 7 Sep 2023 14:50:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=80=89=E6=8B=A9=E6=A1=86=E3=80=81=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E8=A1=8C=E5=A4=B4=E3=80=81=E6=98=BE=E7=A4=BA=E5=88=97=E5=A4=B4?= =?UTF-8?q?=20=E4=B8=89=E9=A1=B9=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/index.html | 7 ++++++- dist/xspreadsheet.js | 2 +- dist/xspreadsheet.js.map | 2 +- index.html | 4 ++++ src/component/selector.js | 5 ++++- src/component/sheet.js | 27 ++++++++++++++++----------- src/component/table.js | 14 +++++++------- src/core/data_proxy.js | 33 +++++++++++++++++++++++++-------- src/index.d.ts | 3 +++ 9 files changed, 67 insertions(+), 30 deletions(-) diff --git a/dist/index.html b/dist/index.html index 5876b62b..83c079e3 100644 --- a/dist/index.html +++ b/dist/index.html @@ -4,7 +4,6 @@ x-spreadsheet -
@@ -55,6 +54,10 @@ previewEl.height = 16 var xs = x_spreadsheet('#x-spreadsheet-demo', { + // mode: 'read', + // showSelect: false, + // showRowHeader: false, + // showColHeader: false, showToolbar: true, showGrid: true, showBottomBar: true, @@ -111,6 +114,8 @@ console.log('cell:', cell, ', ri:', ri, ', ci:', ci); }).on('cell-edited', (text, ri, ci) => { console.log('text:', text, ', ri: ', ri, ', ci:', ci); + }).on('pasted-clipboard', (data) => { + console.log('>>>> data is ', data); }); setTimeout(() => { diff --git a/dist/xspreadsheet.js b/dist/xspreadsheet.js index 10f54468..aa609f14 100644 --- a/dist/xspreadsheet.js +++ b/dist/xspreadsheet.js @@ -1,2 +1,2 @@ -!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e){},function(t,e,n){},function(t,e,n){"use strict";function r(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),"string"==typeof e?(this.el=document.createElement(e),this.el.className=n):this.el=e,this.data={}}var e,n,o;return e=t,(n=[{key:"data",value:function(t,e){return void 0!==e?(this.data[t]=e,this):this.data[t]}},{key:"on",value:function(t,e){var n=r(t.split(".")),i=n[0],o=n.slice(1),a=i;return"mousewheel"===a&&/Firefox/i.test(window.navigator.userAgent)&&(a="DOMMouseScroll"),this.el.addEventListener(a,function(t){e(t);for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"active";return this.toggleClass(t)}},{key:"toggleClass",value:function(t){return this.el.classList.toggle(t)}},{key:"active",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"active";return t?this.addClass(e):this.removeClass(e),this}},{key:"checked",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.active(t,"checked"),this}},{key:"disabled",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return t?this.addClass("disabled"):this.removeClass("disabled"),this}},{key:"attr",value:function(t,e){var n=this;if(void 0!==e)this.el.setAttribute(t,e);else{if("string"==typeof t)return this.el.getAttribute(t);Object.keys(t).forEach(function(e){n.el.setAttribute(e,t[e])})}return this}},{key:"removeAttr",value:function(t){return this.el.removeAttribute(t),this}},{key:"html",value:function(t){return void 0!==t?(this.el.innerHTML=t,this):this.el.innerHTML}},{key:"val",value:function(t){return void 0!==t?(this.el.value=t,this):this.el.value}},{key:"focus",value:function(){this.el.focus()}},{key:"cssRemoveKeys",value:function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:"";return new o(t,e)};n(0);function l(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var c=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];function s(t){for(var e="",n=t;n>=c.length;)n/=c.length,n-=1,e+=c[parseInt(n,10)%c.length];var r=t%c.length;return e+=c[r]}function u(t){for(var e=0,n=0;n="0"&&t.charAt(r)<="9"?n+=t.charAt(r):e+=t.charAt(r);return[u(e),parseInt(n,10)-1]}function h(t,e){return"".concat(s(t)).concat(e+1)}function p(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};if(0===e&&0===n)return t;var i=l(f(t),2),o=i[0],a=i[1];return r(o,a)?h(o+e,a+n):t}function d(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function y(t,e){for(var n=0;n4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sri=e,this.sci=n,this.eri=r,this.eci=i,this.w=o,this.h=a}var e,n,r;return e=t,r=[{key:"valueOf",value:function(e){var n=e.split(":"),r=d(f(n[0]),2),i=r[0],o=r[1],a=o,l=i;if(n.length>1){var c=d(f(n[1]),2);l=c[0],a=c[1]}return new t(o,i,a,l)}}],(n=[{key:"set",value:function(t,e,n,r){this.sri=t,this.sci=e,this.eri=n,this.eci=r}},{key:"multiple",value:function(){return this.eri-this.sri>0||this.eci-this.sci>0}},{key:"includes",value:function(){for(var t=0,e=0,n=arguments.length,r=new Array(n),i=0;i1&&void 0!==arguments[1]?arguments[1]:function(){return!0},n=this.sri,r=this.sci,i=this.eri,o=this.eci,a=n;a<=i;a+=1)if(e(a))for(var l=r;l<=o;l+=1)t(a,l)}},{key:"contains",value:function(t){return this.sri<=t.sri&&this.sci<=t.sci&&this.eri>=t.eri&&this.eci>=t.eci}},{key:"within",value:function(t){return this.sri>=t.sri&&this.sci>=t.sci&&this.eri<=t.eri&&this.eci<=t.eci}},{key:"disjoint",value:function(t){return this.sri>t.eri||this.sci>t.eci||t.sri>this.eri||t.sci>this.eci}},{key:"intersects",value:function(t){return this.sri<=t.eri&&this.sci<=t.eci&&t.sri<=this.eri&&t.sci<=this.eci}},{key:"union",value:function(e){var n=this.sri,r=this.sci,i=this.eri,o=this.eci;return new t(e.srii?e.eri:i,e.eci>o?e.eci:o)}},{key:"difference",value:function(e){var n=[],r=function(e,r,i,o){n.push(new t(e,r,i,o))},i=this.sri,o=this.sci,a=this.eri,l=this.eci,c=e.sri-i,s=e.sci-o,u=a-e.eri,f=l-e.eci;return c>0?(r(i,o,e.sri-1,l),u>0?(r(e.eri+1,o,a,l),s>0&&r(e.sri,o,e.eri,e.sci-1),f>0&&r(e.sri,e.eci+1,e.eri,l)):(s>0&&r(e.sri,o,a,e.sci-1),f>0&&r(e.sri,e.eci+1,a,l))):u>0&&(r(e.eri+1,o,a,l),s>0&&r(i,o,e.eri,e.sci-1),f>0&&r(i,e.eci+1,e.eri,l)),s>0?(r(i,o,a,e.sci-1),f>0?(r(i,e.eri+1,a,l),c>0&&r(i,e.sci,e.sri-1,e.eci),u>0&&r(e.sri+1,e.sci,a,e.eci)):(c>0&&r(i,e.sci,e.sri-1,l),u>0&&r(e.sri+1,e.sci,a,l))):f>0&&(r(a,e.eci+1,a,l),c>0&&r(i,o,e.sri-1,e.eci),u>0&&r(e.eri+1,o,a,e.eci)),n}},{key:"size",value:function(){return[this.eri-this.sri+1,this.eci-this.sci+1]}},{key:"toString",value:function(){var t=this.sri,e=this.sci,n=this.eri,r=this.eci,i=h(e,t);return this.multiple()&&(i="".concat(i,":").concat(h(r,n))),i}},{key:"clone",value:function(){return new t(this.sri,this.sci,this.eri,this.eci,this.w,this.h)}},{key:"equals",value:function(t){return this.eri===t.eri&&this.eci===t.eci&&this.sri===t.sri&&this.sci===t.sci}}])&&y(e.prototype,n),r&&y(e,r),t}();function b(t,e){for(var n=0;n0}},{key:"canRedo",value:function(){return this.redoItems.length>0}},{key:"undo",value:function(t,e){var n=this.undoItems,r=this.redoItems;this.canUndo()&&(r.push(JSON.stringify(t)),e(JSON.parse(n.pop())))}},{key:"redo",value:function(t,e){var n=this.undoItems,r=this.redoItems;this.canRedo()&&(n.push(JSON.stringify(t)),e(JSON.parse(r.pop())))}}])&&w(e.prototype,n),r&&w(e,r),t}();function O(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._=e}var e,n,r;return e=t,(n=[{key:"forEach",value:function(t){this._.forEach(t)}},{key:"deleteWithin",value:function(t){this._=this._.filter(function(e){return!e.within(t)})}},{key:"getFirstIncludes",value:function(t,e){for(var n=0;n=e?(s.sri+=n,s.eri+=n):o=e?(s.sci+=n,s.eci+=n):a0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length,r=new Array(n>1?n-1:0),i=1;i5?l.toFixed(2):l;return l.toFixed(Math.max(r,i))}var z={cloneDeep:function(t){return JSON.parse(JSON.stringify(t))},merge:function(){for(var t=arguments.length,e=new Array(t),n=0;n1&&void 0!==arguments[1]?arguments[1]:function(t){return t},n=0,r=0;return Object.keys(t).forEach(function(i){n+=e(t[i],i),r+=1}),[n,r]},rangeEach:function(t,e,n){for(var r=t;ri);c+=1)a+=l=o(c);return[c,a-l,l]},deleteProperty:function(t,e){var n=t["".concat(e)];return delete t["".concat(e)],n},numberCalc:I};function H(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function M(t,e){for(var n=0;n0&&(e-=1,this.isHide(e));)this.setHide(e,!1)}},{key:"isHide",value:function(t){var e=this.get(t);return e&&e.hide}},{key:"setHide",value:function(t,e){var n=this.getOrNew(t);!0===e?n.hide=!0:delete n.hide}},{key:"setStyle",value:function(t,e){this.getOrNew(t).style=e}},{key:"sumHeight",value:function(t,e,n){var r=this;return z.rangeSum(t,e,function(t){return n&&n.has(t)?0:r.getHeight(t)})}},{key:"totalHeight",value:function(){return this.sumHeight(0,this.len)}},{key:"get",value:function(t){return this._[t]}},{key:"getOrNew",value:function(t){return this._[t]=this._[t]||{cells:{}},this._[t]}},{key:"getCell",value:function(t,e){var n=this.get(t);return void 0!==n&&void 0!==n.cells&&void 0!==n.cells[e]?n.cells[e]:null}},{key:"getCellMerge",value:function(t,e){var n=this.getCell(t,e);return n&&n.merge?n.merge:[0,0]}},{key:"getCellOrNew",value:function(t,e){var n=this.getOrNew(t);return n.cells[e]=n.cells[e]||{},n.cells[e]}},{key:"setCell",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"all",i=this.getOrNew(t);"all"===r?i.cells[e]=n:"text"===r?(i.cells[e]=i.cells[e]||{},i.cells[e].text=n.text):"format"===r&&(i.cells[e]=i.cells[e]||{},i.cells[e].style=n.style,n.merge&&(i.cells[e].merge=n.merge))}},{key:"setCellText",value:function(t,e,n){var r=this.getCellOrNew(t,e);!1!==r.editable&&(r.text=n)}},{key:"copyPaste",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},o=t.sri,a=t.sci,l=t.eri,c=t.eci,s=e.sri,u=e.sci,f=e.eri,h=e.eci,d=t.size(),y=H(d,2),v=y[0],b=y[1],g=e.size(),m=H(g,2),w=m[0],k=m[1],O=!0,S=0;(f0&&function(){var t=P.text,e=_-u+(j-s)+2;if(O||(e-=S+1),"="===t[0])P.text=t.replace(/[a-zA-Z]{1,3}\d+/g,function(t){var n=0,r=0;return o===s?n=e-1:r=e-1,/^\d+$/.test(t)?t:p(t,n,r)});else if(v<=1&&b>1&&(s>l||f1&&(u>c||h1&&void 0!==arguments[1]?arguments[1]:1,r={};this.each(function(i,o){var a=parseInt(i,10);a>=t&&(a+=n,e.eachCells(i,function(e,r){r.text&&"="===r.text[0]&&(r.text=r.text.replace(/[a-zA-Z]{1,3}\d+/g,function(e){return p(e,0,n,function(e,n){return n>=t})}))})),r[a]=o}),this._=r,this.len+=n}},{key:"delete",value:function(t,e){var n=this,r=e-t+1,i={};this.each(function(o,a){var l=parseInt(o,10);le&&(i[l-r]=a,n.eachCells(o,function(t,n){n.text&&"="===n.text[0]&&(n.text=n.text.replace(/[a-zA-Z]{1,3}\d+/g,function(t){return p(t,0,-r,function(t,n){return n>e})}))}))}),this._=i,this.len-=r}},{key:"insertColumn",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.each(function(r,i){var o={};e.eachCells(r,function(e,r){var i=parseInt(e,10);i>=t&&(i+=n,r.text&&"="===r.text[0]&&(r.text=r.text.replace(/[a-zA-Z]{1,3}\d+/g,function(e){return p(e,n,0,function(e){return e>=t})}))),o[i]=r}),i.cells=o})}},{key:"deleteColumn",value:function(t,e){var n=this,r=e-t+1;this.each(function(i,o){var a={};n.eachCells(i,function(n,i){var o=parseInt(n,10);oe&&(a[o-r]=i,i.text&&"="===i.text[0]&&(i.text=i.text.replace(/[a-zA-Z]{1,3}\d+/g,function(t){return p(t,-r,0,function(t){return t>e})})))}),o.cells=a})}},{key:"deleteCells",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";t.each(function(t,r){e.deleteCell(t,r,n)})}},{key:"deleteCell",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all",r=this.get(t);if(null!==r){var i=this.getCell(t,e);null!==i&&!1!==i.editable&&("all"===n?delete r.cells[e]:"text"===n?(i.text&&delete i.text,i.value&&delete i.value):"format"===n?(void 0!==i.style&&delete i.style,i.merge&&delete i.merge):"merge"===n&&i.merge&&delete i.merge)}}},{key:"maxCell",value:function(){var t=Object.keys(this._),e=t[t.length-1],n=this._[e];if(n){var r=n.cells,i=Object.keys(r),o=i[i.length-1];return[parseInt(e,10),parseInt(o,10)]}return[0,0]}},{key:"each",value:function(t){Object.entries(this._).forEach(function(e){var n=H(e,2),r=n[0],i=n[1];t(r,i)})}},{key:"eachCells",value:function(t,e){this._[t]&&this._[t].cells&&Object.entries(this._[t].cells).forEach(function(t){var n=H(t,2),r=n[0],i=n[1];e(r,i)})}},{key:"setData",value:function(t){t.len&&(this.len=t.len,delete t.len),this._=t}},{key:"getData",value:function(){var t=this.len;return Object.assign({len:t},this._)}}])&&M(e.prototype,n),r&&M(e,r),t}();function F(t,e){for(var n=0;n0&&(e-=1,this.isHide(e));)this.setHide(e,!1)}},{key:"isHide",value:function(t){var e=this._[t];return e&&e.hide}},{key:"setHide",value:function(t,e){var n=this.getOrNew(t);!0===e?n.hide=!0:delete n.hide}},{key:"setStyle",value:function(t,e){this.getOrNew(t).style=e}},{key:"sumWidth",value:function(t,e){var n=this;return z.rangeSum(t,e,function(t){return n.getWidth(t)})}},{key:"totalWidth",value:function(){return this.sumWidth(0,this.len)}}])&&F(e.prototype,n),r&&F(e,r),t}(),V=["en"],q={en:{toolbar:{undo:"Undo",redo:"Redo",print:"Print",paintformat:"Paint format",clearformat:"Clear format",format:"Format",fontName:"Font",fontSize:"Font size",fontBold:"Font bold",fontItalic:"Font italic",underline:"Underline",strike:"Strike",color:"Text color",bgcolor:"Fill color",border:"Borders",merge:"Merge cells",align:"Horizontal align",valign:"Vertical align",textwrap:"Text wrapping",freeze:"Freeze cell",autofilter:"Filter",formula:"Functions",more:"More"},contextmenu:{copy:"Copy",cut:"Cut",paste:"Paste",pasteValue:"Paste values only",pasteFormat:"Paste format only",hide:"Hide",insertRow:"Insert row",insertColumn:"Insert column",deleteSheet:"Delete",deleteRow:"Delete row",deleteColumn:"Delete column",deleteCell:"Delete cell",deleteCellText:"Delete cell text",validation:"Data validations",cellprintable:"Enable export",cellnonprintable:"Disable export",celleditable:"Enable editing",cellnoneditable:"Disable editing"},print:{size:"Paper size",orientation:"Page orientation",orientations:["Landscape","Portrait"]},format:{normal:"Normal",text:"Plain Text",number:"Number",percent:"Percent",rmb:"RMB",usd:"USD",eur:"EUR",date:"Date",time:"Time",datetime:"Date time",duration:"Duration"},formula:{sum:"Sum",average:"Average",max:"Max",min:"Min",_if:"IF",and:"AND",or:"OR",concat:"Concat"},validation:{required:"it must be required",notMatch:"it not match its validation rule",between:"it is between {} and {}",notBetween:"it is not between {} and {}",notIn:"it is not in list",equal:"it equal to {}",notEqual:"it not equal to {}",lessThan:"it less than {}",lessThanEqual:"it less than or equal to {}",greaterThan:"it greater than {}",greaterThanEqual:"it greater than or equal to {}"},error:{pasteForMergedCell:"Unable to do this for merged cells"},calendar:{weeks:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]},button:{next:"Next",cancel:"Cancel",remove:"Remove",save:"Save",ok:"OK"},sort:{desc:"Sort Z -> A",asc:"Sort A -> Z"},filter:{empty:"empty"},dataValidation:{mode:"Mode",range:"Cell Range",criteria:"Criteria",modeType:{cell:"Cell",column:"Colun",row:"Row"},type:{list:"List",number:"Number",date:"Date",phone:"Phone",email:"Email"},operator:{be:"between",nbe:"not betwwen",lt:"less than",lte:"less than or equal to",gt:"greater than",gte:"greater than or equal to",eq:"equal to",neq:"not equal to"}}}};function B(t,e){if(e)for(var n=0,r=V;n2&&void 0!==arguments[2]&&arguments[2]?V=[t]:V.unshift(t),e&&(q[t]=e)}function $(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function X(t,e){for(var n=0;n2?r-2:0),o=2;o=this.parseValue(l)&&o<=this.parseValue(c),"between",l,c)}if("nbe"===n){var s=$(r,2),u=s[0],f=s[1];return K(othis.parseValue(f),"notBetween",u,f)}if("eq"===n)return K(o===this.parseValue(r),"equal",r);if("neq"===n)return K(o!==this.parseValue(r),"notEqual",r);if("lt"===n)return K(othis.parseValue(r),"greaterThan",r);if("gte"===n)return K(o>=this.parseValue(r),"greaterThanEqual",r)}return[!0]}}])&&X(e.prototype,n),r&&X(e,r),t}();function G(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Q(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function tt(t,e){for(var n=0;n0}).map(function(t){return t.getData()})}},{key:"setData",value:function(t){this._=t.map(function(t){return nt.valueOf(t)})}}]),t}();function it(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:function(){},r=this.merges,i=e.clone(),o=at(t.size(),2),a=o[0],l=o[1],c=at(e.size(),2),s=c[0],u=c[1];return a>s&&(i.eri=e.sri+a-1),l>u&&(i.eci=e.sci+l-1),!r.intersects(i)||(n(L("error.pasteForMergedCell")),!1)}function ut(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.rows,o=this.merges;"all"!==n&&"format"!==n||(i.deleteCells(e,n),o.deleteWithin(e)),i.copyPaste(t,e,n,r,function(t,e,n){if(n&&n.merge){var r=at(n.merge,2),i=r[0],a=r[1];if(i<=0&&a<=0)return;o.add(new v(t,e,t+i,e+a))}})}function ft(t,e){var n=this.clipboard,r=this.rows,i=this.merges;r.cutPaste(t,e),i.move(t,e.sri-t.sri,e.sci-t.sci),n.clear()}function ht(t,e,n){var r=this.styles,i=this.rows.getCellOrNew(t,e),o={};void 0!==i.style&&(o=z.cloneDeep(r[i.style])),o=z.merge(o,{border:n}),i.style=this.addStyle(o)}var pt=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.settings=z.merge(lt,n||{}),this.name=e||"sheet",this.freeze=[0,0],this.styles=[],this.merges=new A,this.rows=new N(this.settings.row),this.cols=new W(this.settings.col),this.validations=new rt,this.hyperlinks={},this.comments={},this.selector=new g,this.scroll=new m,this.history=new k,this.clipboard=new S,this.autoFilter=new T,this.change=function(){},this.exceptRowSet=new Set,this.sortedRowMap=new Map,this.unsortedRowMap=new Map}var e,n,r;return e=t,(n=[{key:"addValidation",value:function(t,e,n){var r=this;this.changeData(function(){r.validations.add(t,e,n)})}},{key:"removeValidation",value:function(){var t=this,e=this.selector.range;this.changeData(function(){t.validations.remove(e)})}},{key:"getSelectedValidator",value:function(){var t=this.selector,e=t.ri,n=t.ci,r=this.validations.get(e,n);return r?r.validator:null}},{key:"getSelectedValidation",value:function(){var t=this.selector,e=t.ri,n=t.ci,r=t.range,i=this.validations.get(e,n),o={ref:r.toString()};return null!==i&&(o.mode=i.mode,o.validator=i.validator),o}},{key:"canUndo",value:function(){return this.history.canUndo()}},{key:"canRedo",value:function(){return this.history.canRedo()}},{key:"undo",value:function(){var t=this;this.history.undo(this.getData(),function(e){t.setData(e)})}},{key:"redo",value:function(){var t=this;this.history.redo(this.getData(),function(e){t.setData(e)})}},{key:"copy",value:function(){this.clipboard.copy(this.selector.range)}},{key:"copyToSystemClipboard",value:function(){if(void 0!==navigator.clipboard){for(var t="",e=this.rows.getData(),n=this.selector.range.sri;n<=this.selector.range.eri;n+=1){if(ct(e,n)){for(var r=this.selector.range.sci;r<=this.selector.range.eci;r+=1)if(r>this.selector.range.sci&&(t+="\t"),ct(e[n].cells,r)){var i=String(e[n].cells[r].text);-1===i.indexOf("\n")&&-1===i.indexOf("\t")&&-1===i.indexOf('"')?t+=i:t+='"'.concat(i,'"')}}else for(var o=this.selector.range.sci;o<=this.selector.range.eci;o+=1)t+="\t";t+="\n"}navigator.clipboard.writeText(t).then(function(){},function(e){console.log("text copy to the system clipboard error ",t,e)})}}},{key:"cut",value:function(){this.clipboard.cut(this.selector.range)}},{key:"paste",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=this.clipboard,i=this.selector;return!r.isClear()&&(!!st.call(this,r.range,i.range,n)&&(this.changeData(function(){r.isCopy()?ut.call(t,r.range,i.range,e):r.isCut()&&ft.call(t,r.range,i.range)}),!0))}},{key:"pasteFromText",value:function(t){var e=t.split("\r\n").map(function(t){return t.replace(/"/g,"").split("\t")});e.length>0&&(e.length-=1);var n=this.rows,r=this.selector;this.changeData(function(){n.paste(e,r.range)})}},{key:"autofill",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},i=this.selector.range;return!!st.call(this,i,t,r)&&(this.changeData(function(){ut.call(n,i,t,e,!0)}),!0)}},{key:"clearClipboard",value:function(){this.clipboard.clear()}},{key:"calSelectedRangeByEnd",value:function(t,e){var n=this.selector,r=this.rows,i=this.cols,o=this.merges,a=n.range,l=a.sri,c=a.sci,s=a.eri,u=a.eci,f=n.ri,h=n.ci,p=t,d=e;return t<0&&(p=r.len-1),e<0&&(d=i.len-1),p>f?(l=f,s=p):(l=p,s=f),d>h?(c=h,u=d):(c=d,u=h),n.range=o.union(new v(l,c,s,u)),n.range=o.union(n.range),n.range}},{key:"calSelectedRangeByStart",value:function(t,e){var n=this.selector,r=this.rows,i=this.cols,o=this.merges.getFirstIncludes(t,e);return null===o&&(o=new v(t,e,t,e),-1===t&&(o.sri=0,o.eri=r.len-1),-1===e&&(o.sci=0,o.eci=i.len-1)),n.range=o,o}},{key:"setSelectedCellAttr",value:function(t,e){var n=this;this.changeData(function(){var r=n.selector,i=n.styles,o=n.rows;if("merge"===t)e?n.merge():n.unmerge();else if("border"===t)(function(t){var e=this,n=t.mode,r=t.style,i=t.color,o=this.styles,a=this.selector,l=this.rows,c=a.range,s=c.sri,u=c.sci,f=c.eri,h=c.eci,p=!this.isSingleSelected();if(p||"inside"!==n&&"horizontal"!==n&&"vertical"!==n)if("outside"!==n||p){if("none"===n)a.range.each(function(t,n){var r=l.getCell(t,n);if(r&&void 0!==r.style){var i=z.cloneDeep(o[r.style]);delete i.border,r.style=e.addStyle(i)}});else if("all"===n||"inside"===n||"outside"===n||"horizontal"===n||"vertical"===n)!function(){for(var t=[],o=s;o<=f;o+=1)for(var a=u;a<=h;a+=1){for(var c=[],d=0;dh)break;var w=l.getCell(o,a),k=0,O=0;if(w&&w.merge){var S=at(w.merge,2);k=S[0],O=S[1],t.push([o,a,k,O])}var x=k>0&&o+k===f,E=O>0&&a+O===h,j={};"all"===n?j={bottom:[r,i],top:[r,i],left:[r,i],right:[r,i]}:"inside"===n?(!E&&a0&&ht.call(e,o,a,j),a+=O}}();else if("top"===n||"bottom"===n)for(var d=u;d<=h;d+=1)"top"===n&&(ht.call(this,s,d,{top:[r,i]}),d+=l.getCellMerge(s,d)[1]),"bottom"===n&&(ht.call(this,f,d,{bottom:[r,i]}),d+=l.getCellMerge(f,d)[1]);else if("left"===n||"right"===n)for(var y=s;y<=f;y+=1)"left"===n&&(ht.call(this,y,u,{left:[r,i]}),y+=l.getCellMerge(y,u)[0]),"right"===n&&(ht.call(this,y,h,{right:[r,i]}),y+=l.getCellMerge(y,h)[0])}else ht.call(this,s,u,{top:[r,i],bottom:[r,i],left:[r,i],right:[r,i]})}).call(n,e);else if("formula"===t){var a=r.ri,l=r.ci,c=r.range;if(r.multiple()){var s=at(r.size(),2),u=s[0],f=s[1],p=c.sri,d=c.sci,y=c.eri,v=c.eci;if(u>1)for(var b=d;b<=v;b+=1){o.getCellOrNew(y+1,b).text="=".concat(e,"(").concat(h(b,p),":").concat(h(b,y),")")}else if(f>1){o.getCellOrNew(a,v+1).text="=".concat(e,"(").concat(h(d,a),":").concat(h(v,a),")")}}else{o.getCellOrNew(a,l).text="=".concat(e,"()")}}else r.range.each(function(r,a){var l=o.getCellOrNew(r,a),c={};if(void 0!==l.style&&(c=z.cloneDeep(i[l.style])),"format"===t)c.format=e,l.style=n.addStyle(c);else if("font-bold"===t||"font-italic"===t||"font-name"===t||"font-size"===t){var s={};s[t.split("-")[1]]=e,c.font=Object.assign(c.font||{},s),l.style=n.addStyle(c)}else"strike"===t||"textwrap"===t||"underline"===t||"align"===t||"valign"===t||"color"===t||"bgcolor"===t?(c[t]=e,l.style=n.addStyle(c)):l[t]=e})})}},{key:"setSelectedCellText",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"input",n=this.autoFilter,r=this.selector,i=this.rows,o=r.ri,a=r.ci,l=o;this.unsortedRowMap.has(o)&&(l=this.unsortedRowMap.get(o));var c=i.getCell(l,a),s=c?c.text:"";if(this.setCellText(l,a,t,e),n.active()){var u=n.getFilter(a);if(u){var f=u.value.findIndex(function(t){return t===s});f>=0&&u.value.splice(f,1,t)}}}},{key:"getSelectedCell",value:function(){var t=this.selector,e=t.ri,n=t.ci,r=e;return this.unsortedRowMap.has(e)&&(r=this.unsortedRowMap.get(e)),this.rows.getCell(r,n)}},{key:"xyInSelectedRect",value:function(t,e){var n=this.getSelectedRect(),r=n.left,i=n.top,o=n.width,a=n.height,l=t-this.cols.indexWidth,c=e-this.rows.height;return l>r&&li&&c0&&v>s&&(p=s),y>0&&y>u&&(d=u),{l:s,t:u,left:p,top:d,height:f,width:h,scroll:e}}},{key:"getCellRectByXY",value:function(t,e){var n=this.scroll,r=this.merges,i=this.rows,o=this.cols,a=function(t,e){var n=this.rows,r=this.freezeTotalHeight(),i=n.height;r+n.heightt);a+=1)o.has(a)||(l+=c=n.getHeight(a));return(l-=c)<=0?{ri:-1,top:0,height:c}:{ri:a-1,top:l,height:c}}.call(this,e,n.y),l=a.ri,c=a.top,s=a.height,u=function(t,e){var n=this.cols,r=this.freezeTotalWidth(),i=n.indexWidth;r+n.indexWidth=0||f>=0){var d=r.getFirstIncludes(l,f);if(d){l=d.sri,f=d.sci;var y=this.cellRect(l,f);h=y.left,c=y.top,p=y.width,s=y.height}}return{ri:l,ci:f,left:h,top:c,width:p,height:s}}},{key:"isSingleSelected",value:function(){var t=this.selector.range,e=t.sri,n=t.sci,r=t.eri,i=t.eci,o=this.getCell(e,n);if(o&&o.merge){var a=at(o.merge,2),l=a[0],c=a[1];if(e+l===r&&n+c===i)return!0}return!this.selector.multiple()}},{key:"canUnmerge",value:function(){var t=this.selector.range,e=t.sri,n=t.sci,r=t.eri,i=t.eci,o=this.getCell(e,n);if(o&&o.merge){var a=at(o.merge,2),l=a[0],c=a[1];if(e+l===r&&n+c===i)return!0}return!1}},{key:"merge",value:function(){var t=this,e=this.selector,n=this.rows;if(!this.isSingleSelected()){var r=at(e.size(),2),i=r[0],o=r[1];if(i>1||o>1){var a=e.range,l=a.sri,c=a.sci;this.changeData(function(){var r=n.getCellOrNew(l,c);r.merge=[i-1,o-1],t.merges.add(e.range),t.rows.deleteCells(e.range),t.rows.setCell(l,c,r)})}}}},{key:"unmerge",value:function(){var t=this,e=this.selector;if(this.isSingleSelected()){var n=e.range,r=n.sri,i=n.sci;this.changeData(function(){t.rows.deleteCell(r,i,"merge"),t.merges.deleteWithin(e.range)})}}},{key:"canAutofilter",value:function(){return!this.autoFilter.active()}},{key:"autofilter",value:function(){var t=this,e=this.autoFilter,n=this.selector;this.changeData(function(){e.active()?(e.clear(),t.exceptRowSet=new Set,t.sortedRowMap=new Map,t.unsortedRowMap=new Map):e.ref=n.range.toString()})}},{key:"setAutoFilter",value:function(t,e,n,r){var i=this.autoFilter;i.addFilter(t,n,r),i.setSort(t,e),this.resetAutoFilter()}},{key:"resetAutoFilter",value:function(){var t=this,e=this.autoFilter,n=this.rows;if(e.active()){var r=e.sort,i=e.filteredRows(function(t,e){return n.getCell(t,e)}),o=i.rset,a=i.fset,l=Array.from(a),c=Array.from(a);r&&l.sort(function(t,e){return"asc"===r.order?t-e:"desc"===r.order?e-t:0}),this.exceptRowSet=o,this.sortedRowMap=new Map,this.unsortedRowMap=new Map,l.forEach(function(e,n){t.sortedRowMap.set(c[n],e),t.unsortedRowMap.set(e,c[n])})}}},{key:"deleteCell",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",n=this.selector;this.changeData(function(){t.rows.deleteCells(n.range,e),"all"!==e&&"format"!==e||t.merges.deleteWithin(n.range)})}},{key:"insert",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.changeData(function(){var r=e.selector.range,i=r.sri,o=r.sci,a=e.rows,l=e.merges,c=e.cols,s=i;"row"===t?a.insert(i,n):"column"===t&&(a.insertColumn(o,n),s=o,c.len+=1),l.shift(t,s,n,function(t,e,n,r){var i=a.getCell(t,e);i.merge[0]+=n,i.merge[1]+=r})})}},{key:"delete",value:function(t){var e=this;this.changeData(function(){var n=e.rows,r=e.merges,i=e.selector,o=e.cols,a=i.range,l=i.range,c=l.sri,s=l.sci,u=l.eri,f=l.eci,h=at(i.range.size(),2),p=h[0],d=h[1],y=c,v=p;"row"===t?n.delete(c,u):"column"===t&&(n.deleteColumn(s,f),y=a.sci,v=d,o.len-=f-s+1),r.shift(t,y,-v,function(t,e,r,i){var o=n.getCell(t,e);o.merge[0]+=r,o.merge[1]+=i,0===o.merge[0]&&0===o.merge[1]&&delete o.merge})})}},{key:"scrollx",value:function(t,e){var n=this.scroll,r=this.freeze,i=this.cols,o=at(r,2)[1],a=at(z.rangeReduceIf(o,i.len,0,0,t,function(t){return i.getWidth(t)}),3),l=a[0],c=a[1],s=a[2],u=c;t>0&&(u+=s),n.x!==u&&(n.ci=t>0?l:0,n.x=u,e())}},{key:"scrolly",value:function(t,e){var n=this.scroll,r=this.freeze,i=this.rows,o=at(r,1)[0],a=at(z.rangeReduceIf(o,i.len,0,0,t,function(t){return i.getHeight(t)}),3),l=a[0],c=a[1],s=a[2],u=c;t>0&&(u+=s),n.y!==u&&(n.ri=t>0?l:0,n.y=u,e())}},{key:"cellRect",value:function(t,e){var n=this.rows,r=this.cols,i=r.sumWidth(0,e),o=n.sumHeight(0,t),a=n.getCell(t,e),l=r.getWidth(e),c=n.getHeight(t);if(null!==a&&a.merge){var s=at(a.merge,2),u=s[0],f=s[1];if(u>0)for(var h=1;h<=u;h+=1)c+=n.getHeight(t+h);if(f>0)for(var p=1;p<=f;p+=1)l+=r.getWidth(e+p)}return{left:i,top:o,width:l,height:c,cell:a}}},{key:"getCell",value:function(t,e){return this.rows.getCell(t,e)}},{key:"getCellTextOrDefault",value:function(t,e){var n=this.getCell(t,e);return n&&n.text?n.text:""}},{key:"getCellStyle",value:function(t,e){var n=this.getCell(t,e);return n&&void 0!==n.style?this.styles[n.style]:null}},{key:"getCellStyleOrDefault",value:function(t,e){var n=this.styles,r=this.rows.getCell(t,e),i=r&&void 0!==r.style?n[r.style]:{};return z.merge(this.defaultStyle(),i)}},{key:"getSelectedCellStyle",value:function(){var t=this.selector,e=t.ri,n=t.ci;return this.getCellStyleOrDefault(e,n)}},{key:"setCellText",value:function(t,e,n,r){var i=this.rows,o=this.history,a=this.validations;"finished"===r?(i.setCellText(t,e,""),o.add(this.getData()),i.setCellText(t,e,n)):(i.setCellText(t,e,n),this.change(this.getData())),a.validate(t,e,n)}},{key:"freezeIsActive",value:function(){var t=at(this.freeze,2),e=t[0],n=t[1];return e>0||n>0}},{key:"setFreeze",value:function(t,e){var n=this;this.changeData(function(){n.freeze=[t,e]})}},{key:"freezeTotalWidth",value:function(){return this.cols.sumWidth(0,this.freeze[1])}},{key:"freezeTotalHeight",value:function(){return this.rows.sumHeight(0,this.freeze[0])}},{key:"setRowHeight",value:function(t,e){var n=this;this.changeData(function(){n.rows.setHeight(t,e)})}},{key:"setColWidth",value:function(t,e){var n=this;this.changeData(function(){n.cols.setWidth(t,e)})}},{key:"viewHeight",value:function(){var t=this.settings,e=t.view,n=t.showToolbar,r=t.showBottomBar,i=e.height();return r&&(i-=41),n&&(i-=41),i}},{key:"viewWidth",value:function(){return this.settings.view.width()}},{key:"freezeViewRange",value:function(){var t=at(this.freeze,2),e=t[0],n=t[1];return new v(0,0,e-1,n-1,this.freezeTotalWidth(),this.freezeTotalHeight())}},{key:"contentRange",value:function(){var t=this.rows,e=this.cols,n=at(t.maxCell(),2),r=n[0],i=n[1],o=t.sumHeight(0,r+1),a=e.sumWidth(0,i+1);return new v(0,0,r,i,a,o)}},{key:"exceptRowTotalHeight",value:function(t,e){var n=this.exceptRowSet,r=this.rows,i=Array.from(n),o=0;return i.forEach(function(n){if(ne){var i=r.getHeight(n);o+=i}}),o}},{key:"viewRange",value:function(){var t=this.scroll,e=this.rows,n=this.cols,r=this.freeze,i=this.exceptRowSet,o=t.ri,a=t.ci;o<=0&&(o=at(r,1)[0]);a<=0&&(a=at(r,2)[1]);for(var l=0,c=0,s=[e.len,n.len],u=s[0],f=s[1],h=o;hthis.viewHeight()));h+=1);for(var p=a;pthis.viewWidth()));p+=1);return new v(o,a,u,f,l,c)}},{key:"eachMergesInView",value:function(t,e){this.merges.filterIntersects(t).forEach(function(t){return e(t)})}},{key:"hideRowsOrCols",value:function(){var t=this.rows,e=this.cols,n=this.selector,r=at(n.size(),2),i=r[0],o=r[1],a=n.range,l=a.sri,c=a.sci,s=a.eri,u=a.eci;if(i===t.len)for(var f=c;f<=u;f+=1)e.setHide(f,!0);else if(o===e.len)for(var h=l;h<=s;h+=1)t.setHide(h,!0)}},{key:"unhideRowsOrCols",value:function(t,e){this["".concat(t,"s")].unhide(e)}},{key:"rowEach",value:function(t,e,n){for(var r=0,i=this.rows,o=this.exceptRowSet,a=it(o),l=0,c=0;c0&&(n(s,r,u),(r+=u)>this.viewHeight()))break}}},{key:"colEach",value:function(t,e,n){for(var r=0,i=this.cols,o=t;o<=e;o+=1){var a=i.getWidth(o);if(a>0&&(n(o,r,a),(r+=a)>this.viewWidth()))break}}},{key:"defaultStyle",value:function(){return this.settings.style}},{key:"addStyle",value:function(t){for(var e=this.styles,n=0;nMath.abs(e)?r(t>0?"right":"left",t,n):r(e>0?"down":"up",e,n)}var kt="x-spreadsheet";window.devicePixelRatio;function Ot(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1?arguments[1]:void 0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.moving=!1,this.vertical=n,this.el=a("div","".concat(kt,"-resizer ").concat(n?"vertical":"horizontal")).children(this.unhideHoverEl=a("div","".concat(kt,"-resizer-hover")).on("dblclick.stop",function(t){return e.mousedblclickHandler(t)}).css("position","absolute").hide(),this.hoverEl=a("div","".concat(kt,"-resizer-hover")).on("mousedown.stop",function(t){return e.mousedownHandler(t)}),this.lineEl=a("div","".concat(kt,"-resizer-line")).hide()).hide(),this.cRect=null,this.finishedFn=null,this.minDistance=r,this.unhideFn=function(){}}var e,n,r;return e=t,(n=[{key:"showUnhide",value:function(t){this.unhideIndex=t,this.unhideHoverEl.show()}},{key:"hideUnhide",value:function(){this.unhideHoverEl.hide()}},{key:"show",value:function(t,e){var n=this.moving,r=this.vertical,i=this.hoverEl,o=this.lineEl,a=this.el,l=this.unhideHoverEl;if(!n){this.cRect=t;var c=t.left,s=t.top,u=t.width,f=t.height;a.offset({left:r?c+u-5:c,top:r?s:s+f-5}).show(),i.offset({width:r?5:u,height:r?f:5}),o.offset({width:r?0:e.width,height:r?e.height:0}),l.offset({left:r?5-u:c,top:r?s:5-f,width:r?5:u,height:r?f:5})}}},{key:"hide",value:function(){this.el.offset({left:0,top:0}).hide(),this.hideUnhide()}},{key:"mousedblclickHandler",value:function(){this.unhideIndex&&this.unhideFn(this.unhideIndex)}},{key:"mousedownHandler",value:function(t){var e=this,n=t,r=this.el,i=this.lineEl,o=this.cRect,a=this.vertical,l=this.minDistance,c=a?o.width:o.height;i.show(),mt(window,function(t){e.moving=!0,null!==n&&1===t.buttons&&(a?(c+=t.movementX)>l&&r.css("left","".concat(o.left+c,"px")):(c+=t.movementY)>l&&r.css("top","".concat(o.top+c,"px")),n=t)},function(){n=null,i.hide(),e.moving=!1,e.hide(),e.finishedFn&&(cn){var r=this.vertical?"height":"width";this.el.css(r,"".concat(n-15,"px")).show(),this.contentEl.css(this.vertical?"width":"height","1px").css(r,"".concat(e,"px"))}else this.el.hide();return this}}])&&xt(e.prototype,n),r&&xt(e,r),t}();function jt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _t(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0];jt(this,t),this.useHideInput=n,this.inputChange=function(){},this.cornerEl=a("div","".concat(kt,"-selector-corner")),this.areaEl=a("div","".concat(kt,"-selector-area")).child(this.cornerEl).hide(),this.clipboardEl=a("div","".concat(kt,"-selector-clipboard")).hide(),this.autofillEl=a("div","".concat(kt,"-selector-autofill")).hide(),this.el=a("div","".concat(kt,"-selector")).css("z-index","".concat(Tt)).children(this.areaEl,this.clipboardEl,this.autofillEl).hide(),n&&(this.hideInput=a("input","").on("compositionend",function(t){e.inputChange(t.target.value)}),this.el.child(this.hideInputDiv=a("div","hide-input").child(this.hideInput)),this.el.child(this.hideInputDiv=a("div","hide-input").child(this.hideInput))),Tt+=1}return Ct(t,[{key:"setOffset",value:function(t){return this.el.offset(t).show(),this}},{key:"hide",value:function(){return this.el.hide(),this}},{key:"setAreaOffset",value:function(t){var e=t.left,n=t.top,r={width:t.width-3+.8,height:t.height-3+.8,left:e-.8,top:n-.8};this.areaEl.offset(r).show(),this.useHideInput&&(this.hideInputDiv.offset(r),this.hideInput.val("").focus())}},{key:"setClipboardOffset",value:function(t){var e=t.left,n=t.top,r=t.width,i=t.height;this.clipboardEl.offset({left:e,top:n,width:r-5,height:i-5})}},{key:"showAutofill",value:function(t){var e=t.left,n=t.top,r=t.width,i=t.height;this.autofillEl.offset({width:r-3,height:i-3,left:e,top:n}).show()}},{key:"hideAutofill",value:function(){this.autofillEl.hide()}},{key:"showClipboard",value:function(){this.clipboardEl.show()}},{key:"hideClipboard",value:function(){this.clipboardEl.hide()}}]),t}();function At(t){var e=this.data,n=t.left,r=t.top,i=t.width,o=t.height,a=t.scroll,l=t.l,c=t.t,s=e.freezeTotalWidth(),u=e.freezeTotalHeight(),f=n-s;s>l&&(f-=a.x);var h=r-u;return u>c&&(h-=a.y),{left:f,top:h,width:i,height:o}}function Rt(t){var e=this.data,n=t.left,r=t.width,i=t.height,o=t.l,a=t.t,l=t.scroll,c=e.freezeTotalWidth(),s=n-c;return c>o&&(s-=l.x),{left:s,top:a,width:r,height:i}}function Dt(t){var e=this.data,n=t.top,r=t.width,i=t.height,o=t.l,a=t.t,l=t.scroll,c=e.freezeTotalHeight(),s=n-c;return c>a&&(s-=l.y),{left:o,top:s,width:r,height:i}}function It(t){this.br.setAreaOffset(At.call(this,t))}function zt(t){this.t.setAreaOffset(Rt.call(this,t))}function Ht(t){this.l.setAreaOffset(Dt.call(this,t))}function Mt(t){this.l.setClipboardOffset(Dt.call(this,t))}function Nt(t){this.br.setClipboardOffset(At.call(this,t))}function Ft(t){this.t.setClipboardOffset(Rt.call(this,t))}function Wt(t){It.call(this,t),function(t){this.tl.setAreaOffset(t)}.call(this,t),zt.call(this,t),Ht.call(this,t)}function Vt(t){Nt.call(this,t),function(t){this.tl.setClipboardOffset(t)}.call(this,t),Ft.call(this,t),Mt.call(this,t)}var qt=function(){function t(e){var n=this;jt(this,t),this.inputChange=function(){},this.data=e,this.br=new Pt(!0),this.t=new Pt,this.l=new Pt,this.tl=new Pt,this.br.inputChange=function(t){n.inputChange(t)},this.br.el.show(),this.offset=null,this.areaOffset=null,this.indexes=null,this.range=null,this.arange=null,this.el=a("div","".concat(kt,"-selectors")).children(this.tl.el,this.t.el,this.l.el,this.br.el).hide(),this.lastri=-1,this.lastci=-1,Tt+=1}return Ct(t,[{key:"resetData",value:function(t){this.data=t,this.range=t.selector.range,this.resetAreaOffset()}},{key:"hide",value:function(){this.el.hide()}},{key:"resetOffset",value:function(){var t=this.data,e=this.tl,n=this.t,r=this.l,i=this.br,o=t.freezeTotalHeight(),a=t.freezeTotalWidth();o>0||a>0?(e.setOffset({width:a,height:o}),n.setOffset({left:a,height:o}),r.setOffset({top:o,width:a}),i.setOffset({left:a,top:o})):(e.hide(),n.hide(),r.hide(),i.setOffset({left:0,top:0}))}},{key:"resetAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();Wt.call(this,t),Vt.call(this,e),this.resetOffset()}},{key:"resetBRTAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();It.call(this,t),zt.call(this,t),Nt.call(this,e),Ft.call(this,e),this.resetOffset()}},{key:"resetBRLAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();It.call(this,t),Ht.call(this,t),Nt.call(this,e),Mt.call(this,e),this.resetOffset()}},{key:"set",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=this.data,i=r.calSelectedRangeByStart(t,e),o=i.sri,a=i.sci;if(n){var l=t,c=e;t<0&&(l=0),e<0&&(c=0),r.selector.setIndexes(l,c),this.indexes=[l,c]}this.moveIndexes=[o,a],this.range=i,this.resetAreaOffset(),this.el.show()}},{key:"setEnd",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=this.data,i=this.lastri,o=this.lastci;if(n){if(t===i&&e===o)return;this.lastri=t,this.lastci=e}this.range=r.calSelectedRangeByEnd(t,e),Wt.call(this,this.data.getSelectedRect())}},{key:"reset",value:function(){var t=this.data.selector.range,e=t.eri,n=t.eci;this.setEnd(e,n)}},{key:"showAutofill",value:function(t,e){if(-1!==t||-1!==e){var n=this.range,r=n.sri,i=n.sci,o=n.eri,a=n.eci,l=t,c=e,s=r-t,u=o-t,f=a-e;if(i-e>0)this.arange=new v(r,c,o,i-1);else if(s>0)this.arange=new v(l,i,r-1,a);else if(f<0)this.arange=new v(r,a+1,o,c);else{if(!(u<0))return void(this.arange=null);this.arange=new v(o+1,i,l,a)}if(null!==this.arange){var h=this.data.getRect(this.arange);h.width+=2,h.height+=2;var p=this.br,d=this.l,y=this.t,b=this.tl;p.showAutofill(At.call(this,h)),d.showAutofill(Dt.call(this,h)),y.showAutofill(Rt.call(this,h)),b.showAutofill(h)}}}},{key:"hideAutofill",value:function(){var t=this;["br","l","t","tl"].forEach(function(e){t[e].hideAutofill()})}},{key:"showClipboard",value:function(){var t=this,e=this.data.getClipboardRect();Vt.call(this,e),["br","l","t","tl"].forEach(function(e){t[e].showClipboard()})}},{key:"hideClipboard",value:function(){var t=this;["br","l","t","tl"].forEach(function(e){t[e].hideClipboard()})}}]),t}();function Bt(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:"200px";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.filterItems=[],this.items=e,this.el=a("div","".concat(kt,"-suggest")).css("width",r).hide(),this.itemClick=n,this.itemIndex=-1}var e,n,r;return e=t,(n=[{key:"setOffset",value:function(t){this.el.cssRemoveKeys("top","bottom").offset(t)}},{key:"hide",value:function(){var t=this.el;this.filterItems=[],this.itemIndex=-1,t.hide(),bt(this.el.parent())}},{key:"setItems",value:function(t){this.items=t}},{key:"search",value:function(t){var e,n=this,r=this.items;if(/^\s*$/.test(t)||(r=r.filter(function(e){return(e.key||e).startsWith(t.toUpperCase())})),r=r.map(function(t){var e=t.title;e?"function"==typeof e&&(e=e()):e=t;var r=a("div","".concat(kt,"-item")).child(e).on("click.stop",function(){n.itemClick(t),n.hide()});return t.label&&r.child(a("div","label").html(t.label)),r}),this.filterItems=r,!(r.length<=0)){var i=this.el;(e=i.html("")).children.apply(e,Bt(r)).show(),gt(i.parent(),function(){n.hide()})}}},{key:"bindInputEvents",value:function(t){var e=this;t.on("keydown",function(t){return function(t){var e=t.keyCode;switch(t.ctrlKey&&t.stopPropagation(),e){case 37:t.stopPropagation();break;case 38:(function(t){t.preventDefault(),t.stopPropagation();var e=this.filterItems;e.length<=0||(this.itemIndex>=0&&e[this.itemIndex].toggle(),this.itemIndex-=1,this.itemIndex<0&&(this.itemIndex=e.length-1),e[this.itemIndex].toggle())}).call(this,t);break;case 39:t.stopPropagation();break;case 40:(function(t){t.stopPropagation();var e=this.filterItems;e.length<=0||(this.itemIndex>=0&&e[this.itemIndex].toggle(),this.itemIndex+=1,this.itemIndex>e.length-1&&(this.itemIndex=0),e[this.itemIndex].toggle())}).call(this,t);break;case 13:case 9:Ut.call(this,t);break;default:t.stopPropagation()}}.call(e,t)})}}])&&Lt(e.prototype,n),r&&Lt(e,r),t}();function $t(t){return($t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Xt(t,e){for(var n=0;nr.width){var u=l;l>c&&(u=c,s+=parseInt(l/c,10),s+=l%c>0?1:0),n.css("width","".concat(u,"px"))}(s*=this.rowHeight)>r.height&&n.css("height","".concat(s,"px"))}}function se(t){var e=t.keyCode,n=t.altKey;13!==e&&9!==e&&t.stopPropagation(),13===e&&n&&(function(t,e){var n=t.target,r=n.value,i=n.selectionEnd,o="".concat(r.slice(0,i)).concat(e).concat(r.slice(i));n.value=o,n.setSelectionRange(i+1,i+1),this.inputText=o,this.textlineEl.html(o),ce.call(this)}.call(this,t,"\n"),t.stopPropagation()),13!==e||n||t.preventDefault()}function ue(t,e){var n=this.textEl,r=this.textlineEl;n.el.blur(),n.val(t),r.html(t),function(t){var e=this.textEl.el;setTimeout(function(){e.focus(),e.setSelectionRange(t,t)},0)}.call(this,e)}var fe=function(){function t(e,n,r){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.viewFn=n,this.rowHeight=r,this.formulas=e,this.suggest=new Yt(e,function(t){(function(t){var e=this.inputText,n=this.validator,r=0;if(n&&"list"===n.type)this.inputText=t,r=this.inputText.length;else{var i=e.lastIndexOf("="),o=e.substring(0,i+1),a=e.substring(i+1);a=-1!==a.indexOf(")")?a.substring(a.indexOf(")")):"",this.inputText="".concat(o+t.key,"("),r=this.inputText.length,this.inputText+=")".concat(a)}ue.call(this,this.inputText,r)}).call(i,t)}),this.datepicker=new oe,this.datepicker.change(function(t){i.setText(function(t){var e=t.getMonth()+1,n=t.getDate();return e<10&&(e="0".concat(e)),n<10&&(n="0".concat(n)),"".concat(t.getFullYear(),"-").concat(e,"-").concat(n)}(t)),i.clear()}),this.areaEl=a("div","".concat(kt,"-editor-area")).children(this.textEl=a("textarea","").on("input",function(t){return function(t){var e=t.target.value,n=this.suggest,r=this.textlineEl,i=this.validator,o=this.cell;if(null!==o)if("editable"in o&&!0===o.editable||void 0===o.editable){if(this.inputText=e,i)"list"===i.type?n.search(e):n.hide();else{var a=e.lastIndexOf("=");-1!==a?n.search(e.substring(a+1)):n.hide()}r.html(e),ce.call(this),this.change("input",e)}else t.target.value=o.text;else{if(this.inputText=e,i)"list"===i.type?n.search(e):n.hide();else{var l=e.lastIndexOf("=");-1!==l?n.search(e.substring(l+1)):n.hide()}r.html(e),ce.call(this),this.change("input",e)}}.call(i,t)}).on("paste.stop",function(){}).on("keydown",function(t){return se.call(i,t)}),this.textlineEl=a("div","textline"),this.suggest.el,this.datepicker.el).on("mousemove.stop",function(){}).on("mousedown.stop",function(){}),this.el=a("div","".concat(kt,"-editor")).child(this.areaEl).hide(),this.suggest.bindInputEvents(this.textEl),this.areaOffset=null,this.freeze={w:0,h:0},this.cell=null,this.inputText="",this.change=function(){}}var e,n,r;return e=t,(n=[{key:"setFreezeLengths",value:function(t,e){this.freeze.w=t,this.freeze.h=e}},{key:"clear",value:function(){""!==this.inputText&&this.change("finished",this.inputText),this.cell=null,this.areaOffset=null,this.inputText="",this.el.hide(),this.textEl.val(""),this.textlineEl.html(""),function(){this.suggest.setItems(this.formulas)}.call(this),this.datepicker.hide()}},{key:"setOffset",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n=this.textEl,r=this.areaEl,i=this.suggest,o=this.freeze,a=this.el;if(t){this.areaOffset=t;var l=t.left,c=t.top,s=t.width,u=t.height,f=t.l,h=t.t,p={left:0,top:0};o.w>f&&o.h>h||(o.wf?p.top=o.h:o.h>h&&(p.left=o.w)),a.offset(p),r.offset({left:l-p.left-.8,top:c-p.top-.8}),n.offset({width:s-9+.8,height:u-3+.8});var d={left:0};d[e]=u,i.setOffset(d),i.hide()}}},{key:"setCell",value:function(t,e){var n=this.el,r=this.datepicker,i=this.suggest;n.show(),this.cell=t;var o=t&&t.text||"";if(this.setText(o),this.validator=e,e){var a=e.type;"date"===a&&(r.show(),/^\s*$/.test(o)||r.setValue(o)),"list"===a&&(i.setItems(e.values()),i.search(""))}}},{key:"setText",value:function(t){this.inputText=t,ue.call(this,t,t.length),ce.call(this)}}])&&ae(e.prototype,n),r&&ae(e,r),t}();function he(t){return(he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function pe(t,e){return!e||"object"!==he(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function de(t){return(de=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ye(t,e){return(ye=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var ve=function(t){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=pe(this,de(e).call(this,"div","".concat(kt,"-button ").concat(r)))).child(L("button.".concat(t))),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ye(t,e)}(e,o),e}();function be(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0?e-.5:.5}var je=function(){function t(e,n,r,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;me(this,t),this.x=e,this.y=n,this.width=r,this.height=i,this.padding=o,this.bgcolor="#ffffff",this.borderTop=null,this.borderRight=null,this.borderBottom=null,this.borderLeft=null}return ke(t,[{key:"setBorders",value:function(t){var e=t.top,n=t.bottom,r=t.left,i=t.right;e&&(this.borderTop=e),i&&(this.borderRight=i),n&&(this.borderBottom=n),r&&(this.borderLeft=r)}},{key:"innerWidth",value:function(){return this.width-2*this.padding-2}},{key:"innerHeight",value:function(){return this.height-2*this.padding-2}},{key:"textx",value:function(t){var e=this.width,n=this.padding,r=this.x;return"left"===t?r+=n:"center"===t?r+=e/2:"right"===t&&(r+=e-n),r}},{key:"texty",value:function(t,e){var n=this.height,r=this.padding,i=this.y;return"top"===t?i+=r:"middle"===t?i+=n/2-e/2:"bottom"===t&&(i+=n-r-e),i}},{key:"topxys",value:function(){var t=this.x,e=this.y;return[[t,e],[t+this.width,e]]}},{key:"rightxys",value:function(){var t=this.x,e=this.y,n=this.width;return[[t+n,e],[t+n,e+this.height]]}},{key:"bottomxys",value:function(){var t=this.x,e=this.y,n=this.width,r=this.height;return[[t,e+r],[t+n,e+r]]}},{key:"leftxys",value:function(){var t=this.x,e=this.y;return[[t,e],[t,e+this.height]]}}]),t}();function _e(t,e,n,r,i,o,a){var l={x:0,y:0};"underline"===t?l.y="bottom"===i?0:"top"===i?-(o+2):-o/2:"strike"===t&&("bottom"===i?l.y=o/2:"top"===i&&(l.y=-(o/2+2))),"center"===r?l.x=a/2:"right"===r&&(l.x=a),this.line([e-l.x,n-l.y],[e-l.x+a,n-l.y])}var Ce=function(){function t(e,n,r){me(this,t),this.el=e,this.ctx=e.getContext("2d"),this.resize(n,r),this.ctx.scale(Oe(),Oe())}return ke(t,[{key:"resize",value:function(t,e){this.el.style.width="".concat(t,"px"),this.el.style.height="".concat(e,"px"),this.el.width=xe(t),this.el.height=xe(e)}},{key:"clear",value:function(){var t=this.el,e=t.width,n=t.height;return this.ctx.clearRect(0,0,e,n),this}},{key:"attr",value:function(t){return Object.assign(this.ctx,t),this}},{key:"save",value:function(){return this.ctx.save(),this.ctx.beginPath(),this}},{key:"restore",value:function(){return this.ctx.restore(),this}},{key:"beginPath",value:function(){return this.ctx.beginPath(),this}},{key:"translate",value:function(t,e){return this.ctx.translate(xe(t),xe(e)),this}},{key:"scale",value:function(t,e){return this.ctx.scale(t,e),this}},{key:"clearRect",value:function(t,e,n,r){return this.ctx.clearRect(t,e,n,r),this}},{key:"fillRect",value:function(t,e,n,r){return this.ctx.fillRect(xe(t)-.5,xe(e)-.5,xe(n),xe(r)),this}},{key:"fillText",value:function(t,e,n){return this.ctx.fillText(t,xe(e),xe(n)),this}},{key:"text",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=this.ctx,a=r.align,l=r.valign,c=r.font,s=r.color,u=r.strike,f=r.underline,h=e.textx(a);o.save(),o.beginPath(),this.attr({textAlign:a,textBaseline:l,font:"".concat(c.italic?"italic":""," ").concat(c.bold?"bold":""," ").concat(xe(c.size),"px ").concat(c.name),fillStyle:s,strokeStyle:s});var p="".concat(t).split("\n"),d=e.innerWidth(),y=[];p.forEach(function(t){var e=o.measureText(t).width;if(i&&e>xe(d)){for(var n={w:0,len:0,start:0},r=0;r=xe(d)&&(y.push(t.substr(n.start,n.len)),n={w:0,len:0,start:r}),n.len+=1,n.w+=o.measureText(t[r]).width+1;n.len>0&&y.push(t.substr(n.start,n.len))}else y.push(t)});var v=(y.length-1)*(c.size+2),b=e.texty(l,v);return y.forEach(function(t){var e=o.measureText(t).width;n.fillText(t,h,b),u&&_e.call(n,"strike",h,b,a,l,c.size,e),f&&_e.call(n,"underline",h,b,a,l,c.size,e),b+=c.size+2}),o.restore(),this}},{key:"border",value:function(t,e){var n=this.ctx;return n.lineWidth=Se,n.strokeStyle=e,"medium"===t?n.lineWidth=xe(2)-.5:"thick"===t?n.lineWidth=xe(3):"dashed"===t?n.setLineDash([xe(3),xe(2)]):"dotted"===t?n.setLineDash([xe(1),xe(1)]):"double"===t&&n.setLineDash([xe(2),0]),this}},{key:"line",value:function(){var t=this.ctx;if(arguments.length>1){t.beginPath();var e=arguments.length<=0?void 0:arguments[0],n=ge(e,2),r=n[0],i=n[1];t.moveTo(Ee(r),Ee(i));for(var o=1;o="a"&&s<="z")r.push(s.toUpperCase());else if(s>="0"&&s<="9"||s>="A"&&s<="Z"||"."===s)r.push(s);else if('"'===s){for(c+=1;'"'!==t.charAt(c);)r.push(t.charAt(c)),c+=1;n.push('"'.concat(r.join(""))),r=[]}else if("-"===s&&/[+\-*/,(]/.test(l))r.push(s);else{if("("!==s&&r.length>0&&n.push(r.join("")),")"===s){var u=e.pop();if(2===i)try{for(var p=Ae(f(n.pop()),2),d=p[0],y=p[1],v=Ae(f(n.pop()),2),b=v[0],g=v[1],m=0,w=b;w<=d;w+=1)for(var k=g;k<=y;k+=1)n.push(h(w,k)),m+=1;n.push([u,m])}catch(t){}else if(1===i||3===i)3===i&&n.push(o),n.push([u,a]),a=1;else for(;"("!==u&&(n.push(u),!(e.length<=0));)u=e.pop();i=0}else if("="===s||">"===s||"<"===s){var O=t.charAt(c+1);o=s,"="!==O&&"-"!==O||(o+=O,c+=1),i=3}else if(":"===s)i=2;else if(","===s)3===i&&n.push(o),i=1,a+=1;else if("("===s&&r.length>0)e.push(r.join(""));else{if(e.length>0&&("+"===s||"-"===s)){var S=e[e.length-1];if("("!==S&&n.push(e.pop()),"*"===S||"/"===S)for(;e.length>0&&"("!==(S=e[e.length-1]);)n.push(e.pop())}else if(e.length>0){var x=e[e.length-1];"*"!==x&&"/"!==x||n.push(e.pop())}e.push(s)}r=[]}l=s}}for(r.length>0&&n.push(r.join(""));e.length>0;)n.push(e.pop());return n},De=function(t,e){var n=Ae(t,1)[0],r=t;if('"'===n)return t.substring(1);var i=1;if("-"===n&&(r=t.substring(1),i=-1),r[0]>="0"&&r[0]<="9")return i*Number(r);var o=Ae(f(r),2);return i*e(o[0],o[1])},Ie=function(t,e,n,r){for(var i=[],o=0;o"===l||"<"===l){var h=i.pop();Number.isNaN(h)||(h=Number(h));var p=i.pop();Number.isNaN(p)||(p=Number(p));var d=!1;"="===l?d=p===h:">"===a?d=p>h:">="===a?d=p>=h:"<"===a?d=p="a"&&l<="z"||l>="A"&&l<="Z")&&r.push(a),i.push(De(a,n)),r.pop()}}return i[0]},ze={render:function t(e,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if("="===e[0]){var o=Re(e.substring(1));return o.length<=0?e:Ie(o,n,function(e,o){return t(r(e,o),n,r,i)},i)}return e}};function He(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Me(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e3&&void 0!==arguments[3]?arguments[3]:0,i=t.cellRect(e,n),o=i.left,a=i.top,l=i.width,c=i.height;return new je(o,a+r,l,c,Ke)}function tn(t,e,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=e.sortedRowMap,a=e.rows,l=e.cols;if(!a.isHide(n)&&!l.isHide(r)){var c=n;o.has(n)&&(c=o.get(n));var s=e.getCell(c,r);if(null!==s){var u=!1;"editable"in s&&!1===s.editable&&(u=!0);var f=e.getCellStyleOrDefault(c,r),h=Qe(e,n,r,i);h.bgcolor=f.bgcolor,void 0!==f.border&&(h.setBorders(f.border),t.strokeBorders(h)),t.rect(h,function(){var i="";i=e.settings.evalPaused?s.text||"":ze.render(s.text||"",We,function(t,n){return e.getCellTextOrDefault(n,t)}),f.format&&(i=$e[f.format].render(i));var o=Object.assign({},f.font);o.size=function(t){for(var e=0;e0&&c.rows.isHide(t-1)&&(l.save(),l.attr({strokeStyle:"#c6c6c6"}),l.line([5,i+5],[n-5,i+5]),l.restore())}),l.line([0,u+h],[n,u+h]),l.line([n,h],[n,u+h])),"all"!==t&&"top"!==t||(c.colEach(e.sci,e.eci,function(t,e,n){var i=p+e,o=t;l.line([i,0],[i,r]),v<=o&&o0&&c.cols.isHide(t-1)&&(l.save(),l.attr({strokeStyle:"#c6c6c6"}),l.line([i+5,5],[i+5,r-5]),l.restore())}),l.line([f+p,0],[f+p,r]),l.line([0,r],[f+p,r])),l.restore()}function on(t,e,n,r,i){var o=t.sri,a=t.sci,l=t.eri,c=t.eci,s=t.w,u=t.h,f=this.draw,h=this.data,p=h.settings;f.save(),f.attr(Ge).translate(e+r,n+i),p.showGrid?(h.rowEach(o,l,function(t,e,n){t!==o&&f.line([0,e],[s,e]),t===l&&f.line([0,e+n],[s,e+n])}),h.colEach(a,c,function(t,e,n){t!==a&&f.line([e,0],[e,u]),t===c&&f.line([e+n,0],[e+n,u])}),f.restore()):f.restore()}var an=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.el=e,this.draw=new Ce(e,n.viewWidth(),n.viewHeight()),this.data=n}var e,n,r;return e=t,(n=[{key:"resetData",value:function(t){this.data=t,this.render()}},{key:"render",value:function(){var t=this.data,e=t.rows,n=t.cols.indexWidth,r=e.height;this.draw.resize(t.viewWidth(),t.viewHeight()),this.clear();var i=t.viewRange(),o=t.freezeTotalWidth(),a=t.freezeTotalHeight(),l=t.scroll,c=l.x,s=l.y;on.call(this,i,n,r,o,a),en.call(this,i,n,r,-c,-s),rn.call(this,"all",i,n,r,o,a),function(t,e){var n=this.draw;n.save(),n.attr({fillStyle:"#f4f5f8"}).fillRect(0,0,t,e),n.restore()}.call(this,n,r);var u=Xe(t.freeze,2),f=u[0],h=u[1];if(f>0||h>0){if(f>0){var p=i.clone();p.sri=0,p.eri=f-1,p.h=a,on.call(this,p,n,r,o,0),en.call(this,p,n,r,-c,0),rn.call(this,"top",p,n,r,o,0)}if(h>0){var d=i.clone();d.sci=0,d.eci=h-1,d.w=o,on.call(this,d,n,r,0,a),rn.call(this,"left",d,n,r,0,a),en.call(this,d,n,r,0,-s)}var y=t.freezeViewRange();on.call(this,y,n,r,0,0),rn.call(this,"all",y,n,r,0,0),en.call(this,y,n,r,0,0),function(t,e,n,r){var i=this.draw,o=this.data,a=o.viewWidth()-t,l=o.viewHeight()-e;i.save().translate(t,e).attr({strokeStyle:"rgba(75, 137, 255, .6)"}),i.line([0,r],[a,r]),i.line([n,0],[n,l]),i.restore()}.call(this,n,r,o,a)}}},{key:"clear",value:function(){this.draw.clear()}}])&&Ze(e.prototype,n),r&&Ze(e,r),t}();function ln(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1&&(h+=(l-s.w)/2);var d=0,y=0;this.contentEl.html(""),this.canvases=[];for(var v={sri:0,sci:0,eri:0,eci:0},b=function(n){var o=0,l=0,u=a("div","".concat(kt,"-canvas-card")),b=a("canvas","".concat(kt,"-canvas"));t.canvases.push(b.el);var g=new Ce(b.el,r,i);for(g.save(),g.translate(h,p),f<1&&g.scale(f,f);d<=s.eri;d+=1){var m=e.rows.getHeight(d);if(!((o+=m)1&&void 0!==arguments[1]&&arguments[1];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.menuItems=bn.call(this),this.el=(n=a("div","".concat(kt,"-contextmenu"))).children.apply(n,dn(this.menuItems)).hide(),this.viewFn=e,this.itemClick=function(){},this.isHide=r,this.setMode("range")}var e,n,r;return e=t,(n=[{key:"setMode",value:function(t){var e=this.menuItems[12];"row-col"===t?e.show():e.hide()}},{key:"hide",value:function(){var t=this.el;t.hide(),bt(t)}},{key:"setPosition",value:function(t,e){if(!this.isHide){var n=this.el,r=n.show().offset().width,i=this.viewFn(),o=i.height/2,a=t;i.width-t<=r&&(a-=r),n.css("left","".concat(a,"px")),e>o?n.css("bottom","".concat(i.height-e,"px")).css("max-height","".concat(e,"px")).css("top","auto"):n.css("top","".concat(e,"px")).css("max-height","".concat(i.height-e,"px")).css("bottom","auto"),gt(n)}}}])&&yn(e.prototype,n),r&&yn(e,r),t}();function mn(t,e){for(var n=0;n4?c-4:0),u=4;u0)&&(t=this.contentEl).children.apply(t,arguments)}},{key:"setTitle",value:function(t){this.title.html(t),this.hide()}},{key:"show",value:function(){var t=this;this.contentEl.show(),this.parent().active(),gt(this.parent(),function(){t.hide()})}},{key:"hide",value:function(){this.parent().active(!1),this.contentEl.hide(),bt(this.parent())}}])&&Tn(n.prototype,r),i&&Tn(n,i),e}();function In(t){return(In="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function zn(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e'],["medium",''],["thick",''],["dashed",''],["dotted",'']],Kr=function(t){function e(t){var n,r;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var i=new Gt("line-type"),o=0,l=Zr.map(function(e,n){return a("div","".concat(kt,"-item state ").concat(t===e[0]?"checked":"")).on("click",function(){l[o].toggle("checked"),l[n].toggle("checked"),o=n,r.hide(),r.change(e)}).child(a("div","".concat(kt,"-line-type")).html(e[1]))});return r=Yr(this,(n=$r(e)).call.apply(n,[this,i,"auto",!1,"bottom-left"].concat(Ur(l))))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Xr(t,e)}(e,Dn),e}();function Jr(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0?i.show():i.hide()}function Ta(t){var e=this,n=new wn;n.el.on("click",function(){t.onClick&&t.onClick(e.data.getData(),e.data)}),n.tip=t.tip||"";var r=t.el;if(t.icon&&(r=a("img").attr("src",t.icon)),r){var i=a("div","".concat(kt,"-icon"));i.child(r),n.el.child(i)}return n}var Pa=function(){function t(e,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=e,this.change=function(){},this.widthFn=n,this.isHide=i;var o=e.defaultStyle();this.items=[[this.undoEl=new oa,this.redoEl=new ta,new ua,this.paintformatEl=new Pi,this.clearformatEl=new xi],_a(),[this.formatEl=new jo],_a(),[this.fontEl=new ho,this.fontSizeEl=new to],_a(),[this.boldEl=new vr,this.italicEl=new kr,this.underlineEl=new Ar,this.strikeEl=new jr,this.textColorEl=new Hi(o.color)],_a(),[this.fillColorEl=new qi(o.bgcolor),this.borderEl=new hi,this.mergeEl=new Zo],_a(),[this.alignEl=new Yn(o.align),this.valignEl=new Gn(o.valign),this.textwrapEl=new ya],_a(),[this.freezeEl=new Bo,this.autofilterEl=new fr,this.formulaEl=new No]];var l=e.settings.extendToolbar,c=void 0===l?{}:l;if(c.left&&c.left.length>0){this.items.unshift(_a());var s=c.left.map(Ta.bind(this));this.items.unshift(s)}if(c.right&&c.right.length>0){this.items.push(_a());var u=c.right.map(Ta.bind(this));this.items.push(u)}this.items.push([this.moreEl=new xa]),this.el=a("div","".concat(kt,"-toolbar")),this.btns=a("div","".concat(kt,"-toolbar-btns")),this.items.forEach(function(t){Array.isArray(t)?t.forEach(function(t){r.btns.child(t.el),t.change=function(){r.change.apply(r,arguments)}}):r.btns.child(t.el)}),this.el.child(this.btns),i?this.el.hide():(this.reset(),setTimeout(function(){(function(){var t=this;this.btns2=[],this.items.forEach(function(e){if(Array.isArray(e))e.forEach(function(e){var n=e.el,r=n.box(),i=n.computedStyle(),o=i.marginLeft,a=i.marginRight;t.btns2.push([n,r.width+parseInt(o,10)+parseInt(a,10)])});else{var n=e.box(),r=e.computedStyle(),i=r.marginLeft,o=r.marginRight;t.btns2.push([e,n.width+parseInt(i,10)+parseInt(o,10)])}})}).call(r),Ca.call(r)},0),yt(window,"resize",function(){Ca.call(r)}))}var e,n,r;return e=t,(n=[{key:"paintformatActive",value:function(){return this.paintformatEl.active()}},{key:"paintformatToggle",value:function(){this.paintformatEl.toggle()}},{key:"trigger",value:function(t){this["".concat(t,"El")].click()}},{key:"resetData",value:function(t){this.data=t,this.reset()}},{key:"reset",value:function(){if(!this.isHide){var t=this.data,e=t.getSelectedCellStyle();this.undoEl.setState(!t.canUndo()),this.redoEl.setState(!t.canRedo()),this.mergeEl.setState(t.canUnmerge(),!t.selector.multiple()),this.autofilterEl.setState(!t.canAutofilter());var n=e.font,r=e.format;this.formatEl.setState(r),this.fontEl.setState(n.name),this.fontSizeEl.setState(n.size),this.boldEl.setState(n.bold),this.italicEl.setState(n.italic),this.underlineEl.setState(e.underline),this.strikeEl.setState(e.strike),this.textColorEl.setState(e.color),this.fillColorEl.setState(e.bgcolor),this.alignEl.setState(e.align),this.valignEl.setState(e.valign),this.textwrapEl.setState(e.textwrap),this.freezeEl.setState(t.freezeIsActive())}}}])&&Ea(e.prototype,n),r&&Ea(e,r),t}();function Aa(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:"600px";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.title=e,this.el=a("div","".concat(kt,"-modal")).css("width",o).children(a("div","".concat(kt,"-modal-header")).children(new Gt("close").on("click.stop",function(){return i.hide()}),this.title),(r=a("div","".concat(kt,"-modal-content"))).children.apply(r,Aa(n))).hide()}var e,n,r;return e=t,(n=[{key:"show",value:function(){var t=this;this.dimmer=a("div","".concat(kt,"-dimmer active")),document.body.appendChild(this.dimmer.el);var e=this.el.show().box(),n=e.width,r=e.height,i=document.documentElement,o=i.clientHeight,l=i.clientWidth;this.el.offset({left:(l-n)/2,top:(o-r)/3}),window.xkeydownEsc=function(e){27===e.keyCode&&t.hide()},yt(window,"keydown",window.xkeydownEsc)}},{key:"hide",value:function(){this.el.hide(),document.body.removeChild(this.dimmer.el),vt(window,"keydown",window.xkeydownEsc),delete window.xkeydownEsc}}])&&Ra(e.prototype,n),r&&Ra(e,r),t}();function Ia(t,e){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:function(t){return t},l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.key=e,this.getTitle=o,this.vchange=function(){},this.el=a("div","".concat(kt,"-form-select")),this.suggest=new Yt(n.map(function(t){return{key:t,title:i.getTitle(t)}}),function(t){i.itemClick(t.key),l(t.key),i.vchange(t.key)},r,this.el),this.el.children(this.itemEl=a("div","input-text").html(this.getTitle(e)),this.suggest.el).on("click",function(){return i.show()})}var e,n,r;return e=t,(n=[{key:"show",value:function(){this.suggest.search("")}},{key:"itemClick",value:function(t){this.key=t,this.itemEl.html(this.getTitle(t))}},{key:"val",value:function(t){return void 0!==t?(this.key=t,this.itemEl.html(this.getTitle(t)),this):this.key}}])&&Ha(e.prototype,n),r&&Ha(e,r),t}();function Na(t,e){for(var n=0;n3&&void 0!==arguments[3])||arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(-1!==e||-1!==n){var o=this.table,a=this.selector,l=this.toolbar,c=this.data;this.contextMenu.setMode(-1===e||-1===n?"row-col":"range");var s=c.getCell(e,n);t?(a.setEnd(e,n,i),this.trigger("cells-selected",s,a.range)):(a.set(e,n,r),this.trigger("cell-selected",s,e,n)),l.reset(),o.render()}}function il(t,e){var n=this.selector,r=this.data,i=r.rows,o=r.cols,a=el(n.indexes,2),l=a[0],c=a[1],s=n.range,u=s.eri,f=s.eci;if(t){var h=el(n.moveIndexes,2);l=h[0],c=h[1]}"left"===e?c>0&&(c-=1):"right"===e?(f!==c&&(c=f),c0&&(l-=1):"down"===e?(u!==l&&(l=u),lu.width)n.move({left:i+c-u.width});else{var f=t.freezeTotalWidth();au.height)e.move({top:o+s-u.height-1});else{var h=t.freezeTotalHeight();l0||o>0){var a=e.freezeTotalWidth(),l=e.freezeTotalHeight();n.setFreezeLengths(a,l)}t.resetAreaOffset()}.call(this),r.render(),i.reset(),o.reset()}function cl(){var t=this.data,e=this.selector;t.clearClipboard(),e.hideClipboard()}function sl(){var t=this.data,e=this.selector;"read"!==t.settings.mode&&(t.copy(),t.copyToSystemClipboard(),e.showClipboard())}function ul(){var t=this.data,e=this.selector;"read"!==t.settings.mode&&(t.cut(),e.showClipboard())}function fl(t,e){var n=this.data;if("read"!==n.settings.mode)if(n.paste(t,function(t){return Qa("Tip",t)}))ll.call(this);else if(e){var r=e.clipboardData.getData("text/plain");this.data.pasteFromText(r),ll.call(this)}}function hl(t,e){this.data.unhideRowsOrCols(t,e),ll.call(this)}function pl(t){var e=this,n=this.selector,r=this.data,i=this.table,o=this.sortFilter,a=t.offsetX,l=t.offsetY,c=t.target.className==="".concat(kt,"-selector-corner"),s=r.getCellRectByXY(a,l),u=s.left,f=s.top,h=s.width,p=s.height,d=s.ri,y=s.ci,v=r.autoFilter;if(v.includes(d,y)&&u+h-20n.height/2&&(r="bottom"),t.setOffset(e,r)}function yl(){var t=this.editor,e=this.data;"read"!==e.settings.mode&&(dl.call(this),t.setCell(e.getSelectedCell(),e.getSelectedValidator()),cl.call(this))}function vl(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"finished",n=this.data,r=this.table;if("read"!==n.settings.mode){n.setSelectedCellText(t,e);var i=n.selector,o=i.ri,a=i.ci;"finished"===e?r.render():this.trigger("cell-edited",t,o,a)}}function bl(t){var e=this.data;"read"!==e.settings.mode&&("insert-row"===t?e.insert("row"):"delete-row"===t?e.delete("row"):"insert-column"===t?e.insert("column"):"delete-column"===t?e.delete("column"):"delete-cell"===t?e.deleteCell():"delete-cell-format"===t?e.deleteCell("format"):"delete-cell-text"===t?e.deleteCell("text"):"cell-printable"===t?e.setSelectedCellAttr("printable",!0):"cell-non-printable"===t?e.setSelectedCellAttr("printable",!1):"cell-editable"===t?e.setSelectedCellAttr("editable",!0):"cell-non-editable"===t&&e.setSelectedCellAttr("editable",!1),cl.call(this),ll.call(this))}function gl(t,e){var n=this.data;if("undo"===t)this.undo();else if("redo"===t)this.redo();else if("print"===t)this.print.preview();else if("paintformat"===t)!0===e?sl.call(this):cl.call(this);else if("clearformat"===t)bl.call(this,"delete-cell-format");else if("link"===t);else if("chart"===t);else if("autofilter"===t)(function(){this.data.autofilter(),ll.call(this)}).call(this);else if("freeze"===t)if(e){var r=n.selector,i=r.ri,o=r.ci;this.freeze(i,o)}else this.freeze(0,0);else n.setSelectedCellAttr(t,e),"formula"!==t||n.selector.multiple()||yl.call(this),ll.call(this)}function ml(){var t,e,n,r,i,o,a=this,l=this.selector,c=this.overlayerEl,s=this.rowResizer,u=this.colResizer,f=this.verticalScrollbar,h=this.horizontalScrollbar,p=this.editor,d=this.contextMenu,y=this.toolbar,v=this.modalValidation,b=this.sortFilter;c.on("mousemove",function(t){(function(t){if(0===t.buttons&&t.target.className!=="".concat(kt,"-resizer-hover")){var e=t.offsetX,n=t.offsetY,r=this.rowResizer,i=this.colResizer,o=this.tableEl,a=this.data,l=a.rows,c=a.cols;if(e>c.indexWidth&&n>l.height)return r.hide(),void i.hide();var s=o.box(),u=a.getCellRectByXY(t.offsetX,t.offsetY);u.ri>=0&&-1===u.ci?(u.width=c.indexWidth,r.show(u,{width:s.width}),l.isHide(u.ri-1)?r.showUnhide(u.ri):r.hideUnhide()):r.hide(),-1===u.ri&&u.ci>=0?(u.height=l.height,i.show(u,{height:s.height}),c.isHide(u.ci-1)?i.showUnhide(u.ci):i.hideUnhide()):i.hide()}}).call(a,t)}).on("mousedown",function(t){p.clear(),d.hide(),2===t.buttons?(a.data.xyInSelectedRect(t.offsetX,t.offsetY)?d.setPosition(t.offsetX,t.offsetY):(pl.call(a,t),d.setPosition(t.offsetX,t.offsetY)),t.stopPropagation()):2===t.detail?yl.call(a):pl.call(a,t)}).on("mousewheel.stop",function(t){(function(t){var e=this.verticalScrollbar,n=this.horizontalScrollbar,r=this.data,i=e.scroll().top,o=n.scroll().left,a=r.rows,l=r.cols,c=t.deltaY,s=t.deltaX,u=function(t,e){var n=t,r=0;do{r=e(n),n+=1}while(r<=0);return r},f=function(t){if(t>0){var n=r.scroll.ri+1;if(n=0){var c=u(l,function(t){return a.getHeight(t)});e.move({top:0===l?0:i-c})}}},h=Math.abs(c),p=Math.abs(s),d=Math.max(h,p);/Firefox/i.test(window.navigator.userAgent)&&nl(f(t.detail),50),d===p&&nl(function(t){if(t>0){var e=r.scroll.ci+1;if(e=0){var c=u(a,function(t){return l.getWidth(t)});n.move({left:0===a?0:o-c})}}}(s),50),d===h&&nl(f(c),50)}).call(a,t)}).on("mouseout",function(t){var e=t.offsetX;t.offsetY<=0&&u.hide(),e<=0&&s.hide()}),l.inputChange=function(t){vl.call(a,t,"input"),yl.call(a)},t=c.el,n=(e={move:function(t,e){(function(t,e){var n=this.verticalScrollbar,r=this.horizontalScrollbar,i=n.scroll().top,o=r.scroll().left;"left"===t||"right"===t?r.move({left:o-e}):"up"!==t&&"down"!==t||n.move({top:i-e})}).call(a,t,e)}}).move,r=e.end,i=0,o=0,yt(t,"touchstart",function(t){var e=t.touches[0],n=e.pageX,r=e.pageY;i=n,o=r}),yt(t,"touchmove",function(t){if(n){var e=t.changedTouches[0],r=e.pageX,a=e.pageY,l=r-i,c=a-o;(Math.abs(l)>10||Math.abs(c)>10)&&(wt(l,c,t,n),i=r,o=a),t.preventDefault()}}),yt(t,"touchend",function(t){if(r){var e=t.changedTouches[0],n=e.pageX,a=e.pageY;wt(n-i,a-o,t,r)}}),y.change=function(t,e){return gl.call(a,t,e)},b.ok=function(t,e,n,r){return function(t,e,n,r){this.data.setAutoFilter(t,e,n,r),ll.call(this)}.call(a,t,e,n,r)},s.finishedFn=function(t,e){(function(t,e){var n=t.ri,r=this.table,i=this.selector;this.data.rows.setHeight(n,e),r.render(),i.resetAreaOffset(),ol.call(this),dl.call(this)}).call(a,t,e)},u.finishedFn=function(t,e){(function(t,e){var n=t.ci,r=this.table,i=this.selector;this.data.cols.setWidth(n,e),r.render(),i.resetAreaOffset(),al.call(this),dl.call(this)}).call(a,t,e)},s.unhideFn=function(t){hl.call(a,"row",t)},u.unhideFn=function(t){hl.call(a,"col",t)},f.moveFn=function(t,e){(function(t){var e=this,n=this.data,r=this.table,i=this.selector;n.scrolly(t,function(){i.resetBRLAreaOffset(),dl.call(e),r.render()})}).call(a,t,e)},h.moveFn=function(t,e){(function(t){var e=this,n=this.data,r=this.table,i=this.selector;n.scrollx(t,function(){i.resetBRTAreaOffset(),dl.call(e),r.render()})}).call(a,t,e)},p.change=function(t,e){vl.call(a,e,t)},v.change=function(t){if("save"===t){for(var e,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i=65&&e<=90||e>=48&&e<=57||e>=96&&e<=105||"="===t.key?(vl.call(a,t.key,"input"),yl.call(a)):113===e&&yl.call(a)}}})}var wl=function(){function t(e,n){var r=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.eventMap=function(){var t=new Map;function e(e,n){var r;return t.has(e)&&(r=t.get(e),Array.isArray(r)&&r.push(n)||!1)||t.set(e,[].concat(n))}function n(e,n){var r,i;return t.has(e)&&(r=t.get(e),(i=r.indexOf(n))>=0&&r.splice(i,1)&&0===t.get(e).length&&t.delete(e))}return{get current(){return t},on:e,once:function(t,r){return e(t,function e(){for(var i=arguments.length,o=new Array(i),a=0;a1?n-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:function(){},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){};xl(this,t),this.swapFunc=r,this.updateFunc=o,this.dataNames=[],this.activeEl=null,this.deleteEl=null,this.items=[],this.moreEl=new Pl(function(t){e.clickSwap2(e.items[t])}),this.contextMenu=new Dl,this.contextMenu.itemClick=i,this.el=a("div","".concat(kt,"-bottombar")).children(this.contextMenu.el,this.menuEl=a("ul","".concat(kt,"-menu")).child(a("li","").children(new Gt("add").on("click",function(){n()}),a("span","").child(this.moreEl))))}return jl(t,[{key:"addItem",value:function(t,e){var n=this;this.dataNames.push(t);var r=a("li",e?"active":"").child(t);r.on("click",function(){n.clickSwap2(r)}).on("contextmenu",function(t){var e=t.target,i=e.offsetLeft,o=e.offsetHeight;n.contextMenu.setOffset({left:i,bottom:o+1}),n.deleteEl=r}).on("dblclick",function(){var t=r.html(),e=new za("auto","");e.val(t),e.input.on("blur",function(e){var r=e.target.value,i=n.dataNames.findIndex(function(e){return e===t});n.renameItem(i,r)}),r.html("").child(e.el),e.focus()}),e&&this.clickSwap(r),this.items.push(r),this.menuEl.child(r),this.moreEl.reset(this.dataNames)}},{key:"renameItem",value:function(t,e){this.dataNames.splice(t,1,e),this.moreEl.reset(this.dataNames),this.items[t].html("").child(e),this.updateFunc(t,e)}},{key:"clear",value:function(){var t=this;this.items.forEach(function(e){t.menuEl.removeChild(e.el)}),this.items=[],this.dataNames=[],this.moreEl.reset(this.dataNames)}},{key:"deleteItem",value:function(){var t=this.activeEl,e=this.deleteEl;if(this.items.length>1){var n=this.items.findIndex(function(t){return t===e});if(this.items.splice(n,1),this.dataNames.splice(n,1),this.menuEl.removeChild(e.el),this.moreEl.reset(this.dataNames),t===e){var r=kl(this.items,1)[0];return this.activeEl=r,this.activeEl.toggle(),[n,0]}return[n,-1]}return[-1]}},{key:"clickSwap2",value:function(t){var e=this.items.findIndex(function(e){return e===t});this.clickSwap(t),this.activeEl.toggle(),this.swapFunc(e)}},{key:"clickSwap",value:function(t){null!==this.activeEl&&this.activeEl.toggle(),this.activeEl=t}}]),t}();n(1);function zl(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Hl(t,e){var n=Object.keys(t);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(t)),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n}function Ml(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Nl(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var i=e;this.options=function(t){for(var e=1;e1&&void 0!==arguments[1])||arguments[1],r=t||"sheet".concat(this.sheetIndex),i=new pt(r,this.options);return i.change=function(){for(var t,n=arguments.length,r=new Array(n),i=0;i=0&&(this.datas.splice(e,1),n>=0&&this.sheet.resetData(this.datas[n]))}}},{key:"loadData",value:function(t){var e=Array.isArray(t)?t:[t];if(null!==this.bottombar&&this.bottombar.clear(),this.datas=[],e.length>0)for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:0;return this.datas[r].setCellText(t,e,n,"finished"),this}},{key:"cell",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.datas[n].getCell(t,e)}},{key:"cellStyle",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.datas[n].getCellStyle(t,e)}},{key:"reRender",value:function(){return this.sheet.table.render(),this}},{key:"on",value:function(t,e){return this.sheet.on(t,e),this}},{key:"validate",value:function(){return this.data.validations.errors.size<=0}},{key:"change",value:function(t){return this.sheet.on("change",t),this}}])&&Nl(e.prototype,n),r&&Nl(e,r),t}(),Wl=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Fl(t,e)};window&&(window.x_spreadsheet=Wl,window.x_spreadsheet.locale=function(t,e){return Y(t,e)});e.default=Fl}]); +!function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e){},function(t,e,r){},function(t,e,r){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(t,e)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&void 0!==arguments[1]?arguments[1]:"";l(this,t),"string"==typeof e?(this.el=document.createElement(e),this.el.className=r):this.el=e,this.data={}}var e,r,n;return e=t,(r=[{key:"data",value:function(t,e){return void 0!==e?(this.data[t]=e,this):this.data[t]}},{key:"on",value:function(t,e){var r=i(t.split(".")),n=r[0],o=r.slice(1),l=n;return"mousewheel"===l&&/Firefox/i.test(window.navigator.userAgent)&&(l="DOMMouseScroll"),this.el.addEventListener(l,(function(t){e(t);for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:"active";return this.toggleClass(t)}},{key:"toggleClass",value:function(t){return this.el.classList.toggle(t)}},{key:"active",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"active";return t?this.addClass(e):this.removeClass(e),this}},{key:"checked",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.active(t,"checked"),this}},{key:"disabled",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return t?this.addClass("disabled"):this.removeClass("disabled"),this}},{key:"attr",value:function(t,e){var r=this;if(void 0!==e)this.el.setAttribute(t,e);else{if("string"==typeof t)return this.el.getAttribute(t);Object.keys(t).forEach((function(e){r.el.setAttribute(e,t[e])}))}return this}},{key:"removeAttr",value:function(t){return this.el.removeAttribute(t),this}},{key:"html",value:function(t){return void 0!==t?(this.el.innerHTML=t,this):this.el.innerHTML}},{key:"val",value:function(t){return void 0!==t?(this.el.value=t,this):this.el.value}},{key:"focus",value:function(){this.el.focus()}},{key:"cssRemoveKeys",value:function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:"";return new u(t,e)};r(0);function f(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return s(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return s(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=h.length;)r/=h.length,r-=1,e+=h[parseInt(r,10)%h.length];return e+=h[t%h.length]}function p(t){for(var e=0,r=0;r!==t.length;++r)e=26*e+t.charCodeAt(r)-64;return e-1}function v(t){for(var e="",r="",n=0;n="0"&&t.charAt(n)<="9"?r+=t.charAt(n):e+=t.charAt(n);return[p(e),parseInt(r,10)-1]}function d(t,e){return"".concat(y(t)).concat(e+1)}function b(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};if(0===e&&0===r)return t;var i=v(t),o=f(i,2),l=o[0],a=o[1];return n(l,a)?d(l+e,a+r):t}function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function g(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return w(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return w(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r4&&void 0!==arguments[4]?arguments[4]:0,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;S(this,t),this.sri=e,this.sci=r,this.eri=n,this.eci=i,this.w=o,this.h=l}var e,r,n;return e=t,n=[{key:"valueOf",value:function(e){var r=e.split(":"),n=g(v(r[0]),2),i=n[0],o=n[1],l=o,a=i;if(r.length>1){var u=g(v(r[1]),2);a=u[0],l=u[1]}return new t(o,i,l,a)}}],(r=[{key:"set",value:function(t,e,r,n){this.sri=t,this.sci=e,this.eri=r,this.eci=n}},{key:"multiple",value:function(){return this.eri-this.sri>0||this.eci-this.sci>0}},{key:"includes",value:function(){for(var t=0,e=0,r=arguments.length,n=new Array(r),i=0;i1&&void 0!==arguments[1]?arguments[1]:function(){return!0},r=this.sri,n=this.sci,i=this.eri,o=this.eci,l=r;l<=i;l+=1)if(e(l))for(var a=n;a<=o;a+=1)t(l,a)}},{key:"contains",value:function(t){return this.sri<=t.sri&&this.sci<=t.sci&&this.eri>=t.eri&&this.eci>=t.eci}},{key:"within",value:function(t){return this.sri>=t.sri&&this.sci>=t.sci&&this.eri<=t.eri&&this.eci<=t.eci}},{key:"disjoint",value:function(t){return this.sri>t.eri||this.sci>t.eci||t.sri>this.eri||t.sci>this.eci}},{key:"intersects",value:function(t){return this.sri<=t.eri&&this.sci<=t.eci&&t.sri<=this.eri&&t.sci<=this.eci}},{key:"union",value:function(e){var r=this.sri,n=this.sci,i=this.eri,o=this.eci;return new t(e.srii?e.eri:i,e.eci>o?e.eci:o)}},{key:"difference",value:function(e){var r=[],n=function(e,n,i,o){r.push(new t(e,n,i,o))},i=this.sri,o=this.sci,l=this.eri,a=this.eci,u=e.sri-i,c=e.sci-o,f=l-e.eri,s=a-e.eci;return u>0?(n(i,o,e.sri-1,a),f>0?(n(e.eri+1,o,l,a),c>0&&n(e.sri,o,e.eri,e.sci-1),s>0&&n(e.sri,e.eci+1,e.eri,a)):(c>0&&n(e.sri,o,l,e.sci-1),s>0&&n(e.sri,e.eci+1,l,a))):f>0&&(n(e.eri+1,o,l,a),c>0&&n(i,o,e.eri,e.sci-1),s>0&&n(i,e.eci+1,e.eri,a)),c>0?(n(i,o,l,e.sci-1),s>0?(n(i,e.eri+1,l,a),u>0&&n(i,e.sci,e.sri-1,e.eci),f>0&&n(e.sri+1,e.sci,l,e.eci)):(u>0&&n(i,e.sci,e.sri-1,a),f>0&&n(e.sri+1,e.sci,l,a))):s>0&&(n(l,e.eci+1,l,a),u>0&&n(i,o,e.sri-1,e.eci),f>0&&n(e.eri+1,o,l,e.eci)),r}},{key:"size",value:function(){return[this.eri-this.sri+1,this.eci-this.sci+1]}},{key:"toString",value:function(){var t=this.sri,e=this.sci,r=this.eri,n=this.eci,i=d(e,t);return this.multiple()&&(i="".concat(i,":").concat(d(n,r))),i}},{key:"clone",value:function(){return new t(this.sri,this.sci,this.eri,this.eci,this.w,this.h)}},{key:"equals",value:function(t){return this.eri===t.eri&&this.eci===t.eci&&this.sri===t.sri&&this.sci===t.sci}}])&&O(e.prototype,r),n&&O(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function k(t){return(k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function P(t,e){for(var r=0;r0}},{key:"canRedo",value:function(){return this.redoItems.length>0}},{key:"undo",value:function(t,e){var r=this.undoItems,n=this.redoItems;this.canUndo()&&(n.push(JSON.stringify(t)),e(JSON.parse(r.pop())))}},{key:"redo",value:function(t,e){var r=this.undoItems,n=this.redoItems;this.canRedo()&&(r.push(JSON.stringify(t)),e(JSON.parse(n.pop())))}}])&&A(e.prototype,r),n&&A(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function D(t){return(D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function N(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:[];q(this,t),this._=e}var e,r,n;return e=t,(r=[{key:"forEach",value:function(t){this._.forEach(t)}},{key:"deleteWithin",value:function(t){this._=this._.filter((function(e){return!e.within(t)}))}},{key:"getFirstIncludes",value:function(t,e){for(var r=0;r=e?(c.sri+=r,c.eri+=r):o=e?(c.sci+=r,c.eci+=r):l0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length,n=new Array(r>1?r-1:0),i=1;i5?a.toFixed(2):a;return a.toFixed(Math.max(n,i))}var J={cloneDeep:function(t){return JSON.parse(JSON.stringify(t))},merge:function(){for(var t=arguments.length,e=new Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:function(t){return t},r=0,n=0;return Object.keys(t).forEach((function(i){r+=e(t[i],i),n+=1})),[r,n]},rangeEach:function(t,e,r){for(var n=t;ni);u+=1)l+=a=o(u);return[u,l-a,a]},deleteProperty:function(t,e){var r=t["".concat(e)];return delete t["".concat(e)],r},numberCalc:K};function G(t){return(G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Q(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return tt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return tt(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&(e-=1,this.isHide(e));)this.setHide(e,!1)}},{key:"isHide",value:function(t){var e=this.get(t);return e&&e.hide}},{key:"setHide",value:function(t,e){var r=this.getOrNew(t);!0===e?r.hide=!0:delete r.hide}},{key:"setStyle",value:function(t,e){this.getOrNew(t).style=e}},{key:"sumHeight",value:function(t,e,r){var n=this;return J.rangeSum(t,e,(function(t){return r&&r.has(t)?0:n.getHeight(t)}))}},{key:"totalHeight",value:function(){return this.sumHeight(0,this.len)}},{key:"get",value:function(t){return this._[t]}},{key:"getOrNew",value:function(t){return this._[t]=this._[t]||{cells:{}},this._[t]}},{key:"getCell",value:function(t,e){var r=this.get(t);return void 0!==r&&void 0!==r.cells&&void 0!==r.cells[e]?r.cells[e]:null}},{key:"getCellMerge",value:function(t,e){var r=this.getCell(t,e);return r&&r.merge?r.merge:[0,0]}},{key:"getCellOrNew",value:function(t,e){var r=this.getOrNew(t);return r.cells[e]=r.cells[e]||{},r.cells[e]}},{key:"setCell",value:function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"all",i=this.getOrNew(t);"all"===n?i.cells[e]=r:"text"===n?(i.cells[e]=i.cells[e]||{},i.cells[e].text=r.text):"format"===n&&(i.cells[e]=i.cells[e]||{},i.cells[e].style=r.style,r.merge&&(i.cells[e].merge=r.merge))}},{key:"setCellText",value:function(t,e,r){var n=this.getCellOrNew(t,e);!1!==n.editable&&(n.text=r)}},{key:"copyPaste",value:function(t,e,r){var n=this,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},l=t.sri,a=t.sci,u=t.eri,c=t.eci,f=e.sri,s=e.sci,h=e.eri,y=e.eci,p=t.size(),v=Q(p,2),d=v[0],m=v[1],g=e.size(),w=Q(g,2),S=w[0],O=w[1],j=!0,k=0;(h0){var v=p.text,g=_-s+(x-f)+2;if(j||(g-=k+1),"="===v[0])p.text=v.replace(/[a-zA-Z]{1,3}\d+/g,(function(t){var e=0,r=0;return l===f?e=g-1:r=g-1,/^\d+$/.test(t)?t:b(t,e,r)}));else if(d<=1&&m>1&&(f>u||h1&&(s>c||y1&&void 0!==arguments[1]?arguments[1]:1,n={};this.each((function(i,o){var l=parseInt(i,10);l>=t&&(l+=r,e.eachCells(i,(function(e,n){n.text&&"="===n.text[0]&&(n.text=n.text.replace(/[a-zA-Z]{1,3}\d+/g,(function(e){return b(e,0,r,(function(e,r){return r>=t}))})))}))),n[l]=o})),this._=n,this.len+=r}},{key:"delete",value:function(t,e){var r=this,n=e-t+1,i={};this.each((function(o,l){var a=parseInt(o,10);ae&&(i[a-n]=l,r.eachCells(o,(function(t,r){r.text&&"="===r.text[0]&&(r.text=r.text.replace(/[a-zA-Z]{1,3}\d+/g,(function(t){return b(t,0,-n,(function(t,r){return r>e}))})))})))})),this._=i,this.len-=n}},{key:"insertColumn",value:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.each((function(n,i){var o={};e.eachCells(n,(function(e,n){var i=parseInt(e,10);i>=t&&(i+=r,n.text&&"="===n.text[0]&&(n.text=n.text.replace(/[a-zA-Z]{1,3}\d+/g,(function(e){return b(e,r,0,(function(e){return e>=t}))})))),o[i]=n})),i.cells=o}))}},{key:"deleteColumn",value:function(t,e){var r=this,n=e-t+1;this.each((function(i,o){var l={};r.eachCells(i,(function(r,i){var o=parseInt(r,10);oe&&(l[o-n]=i,i.text&&"="===i.text[0]&&(i.text=i.text.replace(/[a-zA-Z]{1,3}\d+/g,(function(t){return b(t,-n,0,(function(t){return t>e}))}))))})),o.cells=l}))}},{key:"deleteCells",value:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";t.each((function(t,n){e.deleteCell(t,n,r)}))}},{key:"deleteCell",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all",n=this.get(t);if(null!==n){var i=this.getCell(t,e);null!==i&&!1!==i.editable&&("all"===r?delete n.cells[e]:"text"===r?(i.text&&delete i.text,i.value&&delete i.value):"format"===r?(void 0!==i.style&&delete i.style,i.merge&&delete i.merge):"merge"===r&&i.merge&&delete i.merge)}}},{key:"maxCell",value:function(){var t=Object.keys(this._),e=t[t.length-1],r=this._[e];if(r){var n=r.cells,i=Object.keys(n),o=i[i.length-1];return[parseInt(e,10),parseInt(o,10)]}return[0,0]}},{key:"each",value:function(t){Object.entries(this._).forEach((function(e){var r=Q(e,2),n=r[0],i=r[1];t(n,i)}))}},{key:"eachCells",value:function(t,e){this._[t]&&this._[t].cells&&Object.entries(this._[t].cells).forEach((function(t){var r=Q(t,2),n=r[0],i=r[1];e(n,i)}))}},{key:"setData",value:function(t){t.len&&(this.len=t.len,delete t.len),this._=t}},{key:"getData",value:function(){var t=this.len;return Object.assign({len:t},this._)}}])&&et(e.prototype,r),n&&et(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function nt(t){return(nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function it(t,e){for(var r=0;r0&&(e-=1,this.isHide(e));)this.setHide(e,!1)}},{key:"isHide",value:function(t){var e=this._[t];return e&&e.hide}},{key:"setHide",value:function(t,e){var r=this.getOrNew(t);!0===e?r.hide=!0:delete r.hide}},{key:"setStyle",value:function(t,e){this.getOrNew(t).style=e}},{key:"sumWidth",value:function(t,e){var r=this;return J.rangeSum(t,e,(function(t){return r.getWidth(t)}))}},{key:"totalWidth",value:function(){return this.sumWidth(0,this.len)}}])&&it(e.prototype,r),n&&it(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function lt(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return at(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return at(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,a=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return l=t.done,t},e:function(t){a=!0,o=t},f:function(){try{l||null==r.return||r.return()}finally{if(a)throw o}}}}function at(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r A",asc:"Sort A -> Z"},filter:{empty:"empty"},dataValidation:{mode:"Mode",range:"Cell Range",criteria:"Criteria",modeType:{cell:"Cell",column:"Colun",row:"Row"},type:{list:"List",number:"Number",date:"Date",phone:"Phone",email:"Email"},operator:{be:"between",nbe:"not betwwen",lt:"less than",lte:"less than or equal to",gt:"greater than",gte:"greater than or equal to",eq:"equal to",neq:"not equal to"}}}};function ft(t,e){if(e){var r,n=lt(ut);try{for(n.s();!(r=n.n()).done;){var i=r.value;if(!e[i])break;for(var o=e[i],l=t.match(/(?:\\.|[^.])+/g),a=0;a2&&void 0!==arguments[2]&&arguments[2];r?ut=[t]:ut.unshift(t),e&&(ct[t]=e)}function pt(t){return(pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function vt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return dt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return dt(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r2?n-2:0),o=2;o=this.parseValue(a)&&o<=this.parseValue(u),"between",a,u)}if("nbe"===r){var c=vt(n,2),f=c[0],s=c[1];return gt(othis.parseValue(s),"notBetween",f,s)}if("eq"===r)return gt(o===this.parseValue(n),"equal",n);if("neq"===r)return gt(o!==this.parseValue(n),"notEqual",n);if("lt"===r)return gt(othis.parseValue(n),"greaterThan",n);if("gte"===r)return gt(o>=this.parseValue(n),"greaterThanEqual",n)}return[!0]}}])&&bt(e.prototype,r),n&&bt(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function St(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Ot(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ot(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ot(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0})).map((function(t){return t.getData()}))}},{key:"setData",value:function(t){this._=t.map((function(t){return xt.valueOf(t)}))}}]),t}();function _t(t){return(_t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ct(t){return function(t){if(Array.isArray(t))return Dt(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||It(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rt(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r2&&void 0!==arguments[2]?arguments[2]:function(){},n=this.merges,i=e.clone(),o=t.size(),l=At(o,2),a=l[0],u=l[1],c=e.size(),f=At(c,2),s=f[0],h=f[1];return a>s&&(i.eri=e.sri+a-1),u>h&&(i.eci=e.sci+u-1),!n.intersects(i)||(r(st("error.pasteForMergedCell")),!1)}function Mt(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.rows,o=this.merges;"all"!==r&&"format"!==r||(i.deleteCells(e,r),o.deleteWithin(e)),i.copyPaste(t,e,r,n,(function(t,e,r){if(r&&r.merge){var n=At(r.merge,2),i=n[0],l=n[1];if(i<=0&&l<=0)return;o.add(new j(t,e,t+i,e+l))}}))}function Bt(t,e){var r=this.clipboard,n=this.rows,i=this.merges;n.cutPaste(t,e),i.move(t,e.sri-t.sri,e.sci-t.sci),r.clear()}function Ht(t,e,r){var n=this.styles,i=this.rows.getCellOrNew(t,e),o={};void 0!==i.style&&(o=J.cloneDeep(n[i.style])),o=J.merge(o,{border:r}),i.style=this.addStyle(o)}function Ft(t){var e=this,r=t.mode,n=t.style,i=t.color,o=this.styles,l=this.selector,a=this.rows,u=l.range,c=u.sri,f=u.sci,s=u.eri,h=u.eci,y=!this.isSingleSelected();if(y||"inside"!==r&&"horizontal"!==r&&"vertical"!==r)if("outside"!==r||y){if("none"===r)l.range.each((function(t,r){var n=a.getCell(t,r);if(n&&void 0!==n.style){var i=J.cloneDeep(o[n.style]);delete i.border,n.style=e.addStyle(i)}}));else if("all"===r||"inside"===r||"outside"===r||"horizontal"===r||"vertical"===r)for(var p=[],v=c;v<=s;v+=1)for(var d=f;d<=h;d+=1){for(var b=[],m=0;mh)break;var k=a.getCell(v,d),P=0,E=0;if(k&&k.merge){var x=At(k.merge,2);P=x[0],E=x[1],p.push([v,d,P,E])}var T=P>0&&v+P===s,_=E>0&&d+E===h,C={};"all"===r?C={bottom:[n,i],top:[n,i],left:[n,i],right:[n,i]}:"inside"===r?(!_&&d0&&Ht.call(this,v,d,C),d+=E}else if("top"===r||"bottom"===r)for(var R=f;R<=h;R+=1)"top"===r&&(Ht.call(this,c,R,{top:[n,i]}),R+=a.getCellMerge(c,R)[1]),"bottom"===r&&(Ht.call(this,s,R,{bottom:[n,i]}),R+=a.getCellMerge(s,R)[1]);else if("left"===r||"right"===r)for(var A=c;A<=s;A+=1)"left"===r&&(Ht.call(this,A,f,{left:[n,i]}),A+=a.getCellMerge(A,f)[0]),"right"===r&&(Ht.call(this,A,h,{right:[n,i]}),A+=a.getCellMerge(A,h)[0])}else Ht.call(this,c,f,{top:[n,i],bottom:[n,i],left:[n,i],right:[n,i]})}function Wt(t,e){var r=this.rows,n=this.freezeTotalHeight(),i=this.getFh(),o=i;n+it);a+=1)l.has(a)||(u+=c=r.getHeight(a));return(u-=c)<=0?{ri:-1,top:0,height:c}:{ri:a-1,top:u,height:c}}function Vt(t,e){var r=this.cols,n=this.freezeTotalWidth(),i=this.getFw(),o=i;n+i0&&void 0!==arguments[0]?arguments[0]:"all",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=this.clipboard,i=this.selector;return!n.isClear()&&!!zt.call(this,n.range,i.range,r)&&(this.changeData((function(){n.isCopy()?Mt.call(t,n.range,i.range,e):n.isCut()&&Bt.call(t,n.range,i.range)})),!0)}},{key:"pasteFromSystemClipboard",value:function(t,e){var r=this,n=this.selector;navigator.clipboard.readText().then((function(i){var o=r.parseClipboardContent(i),l=n.ri;o.forEach((function(t){var e=n.ci;t.forEach((function(t){r.setCellText(l,e,t,"input"),e+=1})),l+=1})),t(),e(r.rows.getData())}))}},{key:"parseClipboardContent",value:function(t){var e=[],r=t.split("\n"),n=0;return r.forEach((function(t){e[n]=t.split("\t"),n+=1})),e}},{key:"pasteFromText",value:function(t){var e=[];if((e=/\r\n/.test(t)?t.split("\r\n").map((function(t){return t.replace(/"/g,"").split("\t")})):t.split("\n").map((function(t){return t.replace(/"/g,"").split("\t")}))).length){var r=this.rows,n=this.selector;this.changeData((function(){r.paste(e,n.range)}))}}},{key:"autofill",value:function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},i=this.selector.range;return!!zt.call(this,i,t,n)&&(this.changeData((function(){Mt.call(r,i,t,e,!0)})),!0)}},{key:"clearClipboard",value:function(){this.clipboard.clear()}},{key:"calSelectedRangeByEnd",value:function(t,e){var r=this.selector,n=this.rows,i=this.cols,o=this.merges,l=r.range,a=l.sri,u=l.sci,c=l.eri,f=l.eci,s=r.ri,h=r.ci,y=t,p=e;return t<0&&(y=n.len-1),e<0&&(p=i.len-1),y>s?(a=s,c=y):(a=y,c=s),p>h?(u=h,f=p):(u=p,f=h),r.range=o.union(new j(a,u,c,f)),r.range=o.union(r.range),r.range}},{key:"calSelectedRangeByStart",value:function(t,e){var r=this.selector,n=this.rows,i=this.cols,o=this.merges.getFirstIncludes(t,e);return null===o&&(o=new j(t,e,t,e),-1===t&&(o.sri=0,o.eri=n.len-1),-1===e&&(o.sci=0,o.eci=i.len-1)),r.range=o,o}},{key:"setSelectedCellAttr",value:function(t,e){var r=this;this.changeData((function(){var n=r.selector,i=r.styles,o=r.rows;if("merge"===t)e?r.merge():r.unmerge();else if("border"===t)Ft.call(r,e);else if("formula"===t){var l=n.ri,a=n.ci,u=n.range;if(n.multiple()){var c=At(n.size(),2),f=c[0],s=c[1],h=u.sri,y=u.sci,p=u.eri,v=u.eci;if(f>1)for(var b=y;b<=v;b+=1)o.getCellOrNew(p+1,b).text="=".concat(e,"(").concat(d(b,h),":").concat(d(b,p),")");else s>1&&(o.getCellOrNew(l,v+1).text="=".concat(e,"(").concat(d(y,l),":").concat(d(v,l),")"))}else o.getCellOrNew(l,a).text="=".concat(e,"()")}else n.range.each((function(n,l){var a=o.getCellOrNew(n,l),u={};if(void 0!==a.style&&(u=J.cloneDeep(i[a.style])),"format"===t)u.format=e,a.style=r.addStyle(u);else if("font-bold"===t||"font-italic"===t||"font-name"===t||"font-size"===t){var c={};c[t.split("-")[1]]=e,u.font=Object.assign(u.font||{},c),a.style=r.addStyle(u)}else"strike"===t||"textwrap"===t||"underline"===t||"align"===t||"valign"===t||"color"===t||"bgcolor"===t?(u[t]=e,a.style=r.addStyle(u)):a[t]=e}))}))}},{key:"setSelectedCellText",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"input",r=this.autoFilter,n=this.selector,i=this.rows,o=n.ri,l=n.ci,a=o;this.unsortedRowMap.has(o)&&(a=this.unsortedRowMap.get(o));var u=i.getCell(a,l),c=u?u.text:"";if(this.setCellText(a,l,t,e),r.active()){var f=r.getFilter(l);if(f){var s=f.value.findIndex((function(t){return t===c}));s>=0&&f.value.splice(s,1,t)}}}},{key:"getSelectedCell",value:function(){var t=this.selector,e=t.ri,r=t.ci,n=e;return this.unsortedRowMap.has(e)&&(n=this.unsortedRowMap.get(e)),this.rows.getCell(n,r)}},{key:"xyInSelectedRect",value:function(t,e){var r=this.getSelectedRect(),n=r.left,i=r.top,o=r.width,l=r.height,a=t-this.getFw(),u=e-this.getFh();return a>n&&ai&&u0&&d>c&&(y=c),v>0&&v>f&&(p=f),{l:c,t:f,left:y,top:p,height:s,width:h,scroll:e}}},{key:"getCellRectByXY",value:function(t,e){var r=this.scroll,n=this.merges,i=this.rows,o=this.cols,l=Wt.call(this,e,r.y),a=l.ri,u=l.top,c=l.height,f=Vt.call(this,t,r.x),s=f.ci,h=f.left,y=f.width;if(-1===s&&(y=o.totalWidth()),-1===a&&(c=i.totalHeight()),a>=0||s>=0){var p=n.getFirstIncludes(a,s);if(p){a=p.sri,s=p.sci;var v=this.cellRect(a,s);h=v.left,u=v.top,y=v.width,c=v.height}}return{ri:a,ci:s,left:h,top:u,width:y,height:c}}},{key:"isSingleSelected",value:function(){var t=this.selector.range,e=t.sri,r=t.sci,n=t.eri,i=t.eci,o=this.getCell(e,r);if(o&&o.merge){var l=At(o.merge,2),a=l[0],u=l[1];if(e+a===n&&r+u===i)return!0}return!this.selector.multiple()}},{key:"canUnmerge",value:function(){var t=this.selector.range,e=t.sri,r=t.sci,n=t.eri,i=t.eci,o=this.getCell(e,r);if(o&&o.merge){var l=At(o.merge,2),a=l[0],u=l[1];if(e+a===n&&r+u===i)return!0}return!1}},{key:"merge",value:function(){var t=this,e=this.selector,r=this.rows;if(!this.isSingleSelected()){var n=At(e.size(),2),i=n[0],o=n[1];if(i>1||o>1){var l=e.range,a=l.sri,u=l.sci;this.changeData((function(){var n=r.getCellOrNew(a,u);n.merge=[i-1,o-1],t.merges.add(e.range),t.rows.deleteCells(e.range),t.rows.setCell(a,u,n)}))}}}},{key:"unmerge",value:function(){var t=this,e=this.selector;if(this.isSingleSelected()){var r=e.range,n=r.sri,i=r.sci;this.changeData((function(){t.rows.deleteCell(n,i,"merge"),t.merges.deleteWithin(e.range)}))}}},{key:"canAutofilter",value:function(){return!this.autoFilter.active()}},{key:"autofilter",value:function(){var t=this,e=this.autoFilter,r=this.selector;this.changeData((function(){e.active()?(e.clear(),t.exceptRowSet=new Set,t.sortedRowMap=new Map,t.unsortedRowMap=new Map):e.ref=r.range.toString()}))}},{key:"setAutoFilter",value:function(t,e,r,n){var i=this.autoFilter;i.addFilter(t,r,n),i.setSort(t,e),this.resetAutoFilter()}},{key:"resetAutoFilter",value:function(){var t=this,e=this.autoFilter,r=this.rows;if(e.active()){var n=e.sort,i=e.filteredRows((function(t,e){return r.getCell(t,e)})),o=i.rset,l=i.fset,a=Array.from(l),u=Array.from(l);n&&a.sort((function(t,e){return"asc"===n.order?t-e:"desc"===n.order?e-t:0})),this.exceptRowSet=o,this.sortedRowMap=new Map,this.unsortedRowMap=new Map,a.forEach((function(e,r){t.sortedRowMap.set(u[r],e),t.unsortedRowMap.set(e,u[r])}))}}},{key:"deleteCell",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",r=this.selector;this.changeData((function(){t.rows.deleteCells(r.range,e),"all"!==e&&"format"!==e||t.merges.deleteWithin(r.range)}))}},{key:"insert",value:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.changeData((function(){var n=e.selector.range,i=n.sri,o=n.sci,l=e.rows,a=e.merges,u=e.cols,c=i;"row"===t?l.insert(i,r):"column"===t&&(l.insertColumn(o,r),c=o,u.len+=r,Object.keys(u._).reverse().forEach((function(t){var e=parseInt(t,10);e>=o&&(u._[e+r]=u._[e],delete u._[e])}))),a.shift(t,c,r,(function(t,e,r,n){var i=l.getCell(t,e);i.merge[0]+=r,i.merge[1]+=n}))}))}},{key:"delete",value:function(t){var e=this;this.changeData((function(){var r=e.rows,n=e.merges,i=e.selector,o=e.cols,l=i.range,a=i.range,u=a.sri,c=a.sci,f=a.eri,s=a.eci,h=At(i.range.size(),2),y=h[0],p=h[1],v=u,d=y;"row"===t?r.delete(u,f):"column"===t&&(r.deleteColumn(c,s),v=l.sci,d=p,o.len-=s-c+1,Object.keys(o._).forEach((function(t){var e=parseInt(t,10);e>=c&&(e>s&&(o._[e-(s-c+1)]=o._[e]),delete o._[e])}))),n.shift(t,v,-d,(function(t,e,n,i){var o=r.getCell(t,e);o.merge[0]+=n,o.merge[1]+=i,0===o.merge[0]&&0===o.merge[1]&&delete o.merge}))}))}},{key:"scrollx",value:function(t,e){var r=this.scroll,n=this.freeze,i=this.cols,o=At(n,2)[1],l=At(J.rangeReduceIf(o,i.len,0,0,t,(function(t){return i.getWidth(t)})),3),a=l[0],u=l[1],c=l[2],f=u;t>0&&(f+=c),r.x!==f&&(r.ci=t>0?a:0,r.x=f,e())}},{key:"scrolly",value:function(t,e){var r=this.scroll,n=this.freeze,i=this.rows,o=At(n,1)[0],l=At(J.rangeReduceIf(o,i.len,0,0,t,(function(t){return i.getHeight(t)})),3),a=l[0],u=l[1],c=l[2],f=u;t>0&&(f+=c),r.y!==f&&(r.ri=t>0?a:0,r.y=f,e())}},{key:"cellRect",value:function(t,e){var r=this.rows,n=this.cols,i=n.sumWidth(0,e),o=r.sumHeight(0,t),l=r.getCell(t,e),a=n.getWidth(e),u=r.getHeight(t);if(null!==l&&l.merge){var c=At(l.merge,2),f=c[0],s=c[1];if(f>0)for(var h=1;h<=f;h+=1)u+=r.getHeight(t+h);if(s>0)for(var y=1;y<=s;y+=1)a+=n.getWidth(e+y)}return{left:i,top:o,width:a,height:u,cell:l}}},{key:"getCell",value:function(t,e){return this.rows.getCell(t,e)}},{key:"getCellTextOrDefault",value:function(t,e){var r=this.getCell(t,e);return r&&r.text?r.text:""}},{key:"getCellStyle",value:function(t,e){var r=this.getCell(t,e);return r&&void 0!==r.style?this.styles[r.style]:null}},{key:"getCellStyleOrDefault",value:function(t,e){var r=this.styles,n=this.rows.getCell(t,e),i=n&&void 0!==n.style?r[n.style]:{};return J.merge(this.defaultStyle(),i)}},{key:"getSelectedCellStyle",value:function(){var t=this.selector,e=t.ri,r=t.ci;return this.getCellStyleOrDefault(e,r)}},{key:"setCellText",value:function(t,e,r,n){var i=this.rows,o=this.history,l=this.validations;"finished"===n?(i.setCellText(t,e,""),o.add(this.getData()),i.setCellText(t,e,r)):(i.setCellText(t,e,r),this.change(this.getData())),l.validate(t,e,r)}},{key:"freezeIsActive",value:function(){var t=At(this.freeze,2),e=t[0],r=t[1];return e>0||r>0}},{key:"setFreeze",value:function(t,e){var r=this;this.changeData((function(){r.freeze=[t,e]}))}},{key:"freezeTotalWidth",value:function(){return this.cols.sumWidth(0,this.freeze[1])}},{key:"freezeTotalHeight",value:function(){return this.rows.sumHeight(0,this.freeze[0])}},{key:"setRowHeight",value:function(t,e){var r=this;this.changeData((function(){r.rows.setHeight(t,e)}))}},{key:"setColWidth",value:function(t,e){var r=this;this.changeData((function(){r.cols.setWidth(t,e)}))}},{key:"viewHeight",value:function(){var t=this.settings,e=t.view,r=t.showToolbar,n=t.showBottomBar,i=e.height();return n&&(i-=41),r&&(i-=41),i}},{key:"viewWidth",value:function(){return this.settings.view.width()}},{key:"freezeViewRange",value:function(){var t=At(this.freeze,2),e=t[0],r=t[1];return new j(0,0,e-1,r-1,this.freezeTotalWidth(),this.freezeTotalHeight())}},{key:"contentRange",value:function(){var t=this.rows,e=this.cols,r=At(t.maxCell(),2),n=r[0],i=r[1],o=t.sumHeight(0,n+1),l=e.sumWidth(0,i+1);return new j(0,0,n,i,l,o)}},{key:"exceptRowTotalHeight",value:function(t,e){var r=this.exceptRowSet,n=this.rows,i=Array.from(r),o=0;return i.forEach((function(r){if(re){var i=n.getHeight(r);o+=i}})),o}},{key:"viewRange",value:function(){var t=this.scroll,e=this.rows,r=this.cols,n=this.freeze,i=this.exceptRowSet,o=t.ri,l=t.ci;o<=0&&(o=At(n,1)[0]),l<=0&&(l=At(n,2)[1]);for(var a=0,u=0,c=[e.len,r.len],f=c[0],s=c[1],h=o;hthis.viewHeight()));h+=1);for(var y=l;ythis.viewWidth()));y+=1);return new j(o,l,f,s,a,u)}},{key:"eachMergesInView",value:function(t,e){this.merges.filterIntersects(t).forEach((function(t){return e(t)}))}},{key:"hideRowsOrCols",value:function(){var t=this.rows,e=this.cols,r=this.selector,n=At(r.size(),2),i=n[0],o=n[1],l=r.range,a=l.sri,u=l.sci,c=l.eri,f=l.eci;if(i===t.len)for(var s=u;s<=f;s+=1)e.setHide(s,!0);else if(o===e.len)for(var h=a;h<=c;h+=1)t.setHide(h,!0)}},{key:"unhideRowsOrCols",value:function(t,e){this["".concat(t,"s")].unhide(e)}},{key:"rowEach",value:function(t,e,r){for(var n=0,i=this.rows,o=this.exceptRowSet,l=Ct(o),a=0,u=0;u0&&(r(c,n,f),(n+=f)>this.viewHeight()))break}}},{key:"colEach",value:function(t,e,r){for(var n=0,i=this.cols,o=t;o<=e;o+=1){var l=i.getWidth(o);if(l>0&&(r(o,n,l),(n+=l)>this.viewWidth()))break}}},{key:"defaultStyle",value:function(){return this.settings.style}},{key:"addStyle",value:function(t){for(var e=this.styles,r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rMath.abs(e)?n(t>0?"right":"left",t,r):n(e>0?"down":"up",e,r)}function Qt(){var t=new Map;function e(e,r){var n;return t.has(e)&&(n=t.get(e),Array.isArray(n)&&n.push(r)||!1)||t.set(e,[].concat(r))}function r(e,r){var n,i;return t.has(e)&&(n=t.get(e),(i=n.indexOf(r))>=0&&n.splice(i,1)&&0===t.get(e).length&&t.delete(e))}return{get current(){return t},on:e,once:function(t,n){return e(t,(function e(){for(var i=arguments.length,o=new Array(i),l=0;l=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,a=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return l=t.done,t},e:function(t){a=!0,o=t},f:function(){try{l||null==r.return||r.return()}finally{if(a)throw o}}}}(t.get(e));try{for(i.s();!(n=i.n()).done;){var o=n.value;o.call.apply(o,[null].concat($t(r)))}}catch(t){i.e(t)}finally{i.f()}}()},removeListener:r,removeAllListeners:function(){t.clear()}}}var te="x-spreadsheet";window.devicePixelRatio;function ee(t){return(ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function re(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ne(t,e){for(var r=0;r0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1?arguments[1]:void 0;re(this,t),this.moving=!1,this.vertical=r,this.el=c("div","".concat(te,"-resizer ").concat(r?"vertical":"horizontal")).children(this.unhideHoverEl=c("div","".concat(te,"-resizer-hover")).on("dblclick.stop",(function(t){return e.mousedblclickHandler(t)})).css("position","absolute").hide(),this.hoverEl=c("div","".concat(te,"-resizer-hover")).on("mousedown.stop",(function(t){return e.mousedownHandler(t)})),this.lineEl=c("div","".concat(te,"-resizer-line")).hide()).hide(),this.cRect=null,this.finishedFn=null,this.minDistance=n,this.unhideFn=function(){}}var e,r,n;return e=t,(r=[{key:"showUnhide",value:function(t){this.unhideIndex=t,this.unhideHoverEl.show()}},{key:"hideUnhide",value:function(){this.unhideHoverEl.hide()}},{key:"show",value:function(t,e){var r=this.moving,n=this.vertical,i=this.hoverEl,o=this.lineEl,l=this.el,a=this.unhideHoverEl;if(!r){this.cRect=t;var u=t.left,c=t.top,f=t.width,s=t.height;l.offset({left:n?u+f-5:u,top:n?c:c+s-5}).show(),i.offset({width:n?5:f,height:n?s:5}),o.offset({width:n?0:e.width,height:n?e.height:0}),a.offset({left:n?5-f:u,top:n?c:5-s,width:n?5:f,height:n?s:5})}}},{key:"hide",value:function(){this.el.offset({left:0,top:0}).hide(),this.hideUnhide()}},{key:"mousedblclickHandler",value:function(){this.unhideIndex&&this.unhideFn(this.unhideIndex)}},{key:"mousedownHandler",value:function(t){var e=this,r=t,n=this.el,i=this.lineEl,o=this.cRect,l=this.vertical,a=this.minDistance,u=l?o.width:o.height;i.show(),Jt(window,(function(t){e.moving=!0,null!==r&&1===t.buttons&&(l?(u+=t.movementX)>a&&n.css("left","".concat(o.left+u,"px")):(u+=t.movementY)>a&&n.css("top","".concat(o.top+u,"px")),r=t)}),(function(){r=null,i.hide(),e.moving=!1,e.hide(),e.finishedFn&&(ur){var n=this.vertical?"height":"width";this.el.css(n,"".concat(r-15,"px")).show(),this.contentEl.css(this.vertical?"width":"height","1px").css(n,"".concat(e,"px"))}else this.el.hide();return this}}])&&le(e.prototype,r),n&&le(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function ue(t){return(ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ce(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function fe(t,e){for(var r=0;r0&&void 0!==arguments[0]&&arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];ce(this,t),this.useHideInput=r,this.autoFocus=n,this.inputChange=function(){},this.cornerEl=c("div","".concat(te,"-selector-corner")),this.areaEl=c("div","".concat(te,"-selector-area")).child(this.cornerEl).hide(),this.clipboardEl=c("div","".concat(te,"-selector-clipboard")).hide(),this.autofillEl=c("div","".concat(te,"-selector-autofill")).hide(),this.el=c("div","".concat(te,"-selector")).css("z-index","".concat(he)).children(this.areaEl,this.clipboardEl,this.autofillEl).hide(),r&&(this.hideInput=c("input","").on("compositionend",(function(t){e.inputChange(t.target.value)})),this.el.child(this.hideInputDiv=c("div","hide-input").child(this.hideInput)),this.el.child(this.hideInputDiv=c("div","hide-input").child(this.hideInput))),he+=1}return se(t,[{key:"setOffset",value:function(t){return this.el.offset(t).show(),this}},{key:"hide",value:function(){return this.el.hide(),this}},{key:"setAreaOffset",value:function(t){var e=t.left,r=t.top,n={width:t.width-3+.8,height:t.height-3+.8,left:e-.8,top:r-.8};this.areaEl.offset(n).show(),this.useHideInput&&(this.hideInputDiv.offset(n),this.autoFocus?this.hideInput.val("").focus():this.hideInput.val(""))}},{key:"setClipboardOffset",value:function(t){var e=t.left,r=t.top,n=t.width,i=t.height;this.clipboardEl.offset({left:e,top:r,width:n-5,height:i-5})}},{key:"showAutofill",value:function(t){var e=t.left,r=t.top,n=t.width,i=t.height;this.autofillEl.offset({width:n-3,height:i-3,left:e,top:r}).show()}},{key:"hideAutofill",value:function(){this.autofillEl.hide()}},{key:"showClipboard",value:function(){this.clipboardEl.show()}},{key:"hideClipboard",value:function(){this.clipboardEl.hide()}}]),t}();function pe(t){var e=this.data,r=t.left,n=t.top,i=t.width,o=t.height,l=t.scroll,a=t.l,u=t.t,c=e.freezeTotalWidth(),f=e.freezeTotalHeight(),s=r-c;c>a&&(s-=l.x);var h=n-f;return f>u&&(h-=l.y),{left:s,top:h,width:i,height:o}}function ve(t){var e=this.data,r=t.left,n=t.width,i=t.height,o=t.l,l=t.t,a=t.scroll,u=e.freezeTotalWidth(),c=r-u;return u>o&&(c-=a.x),{left:c,top:l,width:n,height:i}}function de(t){var e=this.data,r=t.top,n=t.width,i=t.height,o=t.l,l=t.t,a=t.scroll,u=e.freezeTotalHeight(),c=r-u;return u>l&&(c-=a.y),{left:o,top:c,width:n,height:i}}function be(t){this.br.setAreaOffset(pe.call(this,t))}function me(t){this.tl.setAreaOffset(t)}function ge(t){this.t.setAreaOffset(ve.call(this,t))}function we(t){this.l.setAreaOffset(de.call(this,t))}function Se(t){this.l.setClipboardOffset(de.call(this,t))}function Oe(t){this.br.setClipboardOffset(pe.call(this,t))}function je(t){this.tl.setClipboardOffset(t)}function ke(t){this.t.setClipboardOffset(ve.call(this,t))}function Pe(t){be.call(this,t),me.call(this,t),ge.call(this,t),we.call(this,t)}function Ee(t){Oe.call(this,t),je.call(this,t),ke.call(this,t),Se.call(this,t)}var xe=function(){function t(e){var r=this;ce(this,t);var n=e.settings.autoFocus;this.inputChange=function(){},this.data=e,this.br=new ye(!0,n),this.t=new ye,this.l=new ye,this.tl=new ye,this.br.inputChange=function(t){r.inputChange(t)},this.br.el.show(),this.offset=null,this.areaOffset=null,this.indexes=null,this.range=null,this.arange=null,this.el=c("div","".concat(te,"-selectors")).children(this.tl.el,this.t.el,this.l.el,this.br.el).hide(),this.lastri=-1,this.lastci=-1,he+=1}return se(t,[{key:"resetData",value:function(t){this.data=t,this.range=t.selector.range,this.resetAreaOffset()}},{key:"hide",value:function(){this.el.hide()}},{key:"resetOffset",value:function(){var t=this.data,e=this.tl,r=this.t,n=this.l,i=this.br,o=t.freezeTotalHeight(),l=t.freezeTotalWidth();o>0||l>0?(e.setOffset({width:l,height:o}),r.setOffset({left:l,height:o}),n.setOffset({top:o,width:l}),i.setOffset({left:l,top:o})):(e.hide(),r.hide(),n.hide(),i.setOffset({left:0,top:0}))}},{key:"resetAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();Pe.call(this,t),Ee.call(this,e),this.resetOffset()}},{key:"resetBRTAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();be.call(this,t),ge.call(this,t),Oe.call(this,e),ke.call(this,e),this.resetOffset()}},{key:"resetBRLAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();be.call(this,t),we.call(this,t),Oe.call(this,e),Se.call(this,e),this.resetOffset()}},{key:"set",value:function(t,e){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=this.data,i=n.settings.showSelect,o=n.calSelectedRangeByStart(t,e),l=o.sri,a=o.sci;if(r){var u=t,c=e;t<0&&(u=0),e<0&&(c=0),n.selector.setIndexes(u,c),this.indexes=[u,c]}this.moveIndexes=[l,a],this.range=o,this.resetAreaOffset(),i&&this.el.show()}},{key:"setEnd",value:function(t,e){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=this.data,i=this.lastri,o=this.lastci;if(r){if(t===i&&e===o)return;this.lastri=t,this.lastci=e}this.range=n.calSelectedRangeByEnd(t,e),Pe.call(this,this.data.getSelectedRect())}},{key:"reset",value:function(){var t=this.data.selector.range,e=t.eri,r=t.eci;this.setEnd(e,r)}},{key:"showAutofill",value:function(t,e){if(-1!==t||-1!==e){var r=this.range,n=r.sri,i=r.sci,o=r.eri,l=r.eci,a=t,u=e,c=n-t,f=o-t,s=l-e;if(i-e>0)this.arange=new j(n,u,o,i-1);else if(c>0)this.arange=new j(a,i,n-1,l);else if(s<0)this.arange=new j(n,l+1,o,u);else{if(!(f<0))return void(this.arange=null);this.arange=new j(o+1,i,a,l)}if(null!==this.arange){var h=this.data.getRect(this.arange);h.width+=2,h.height+=2;var y=this.br,p=this.l,v=this.t,d=this.tl;y.showAutofill(pe.call(this,h)),p.showAutofill(de.call(this,h)),v.showAutofill(ve.call(this,h)),d.showAutofill(h)}}}},{key:"hideAutofill",value:function(){var t=this;["br","l","t","tl"].forEach((function(e){t[e].hideAutofill()}))}},{key:"showClipboard",value:function(){var t=this,e=this.data.getClipboardRect();Ee.call(this,e),["br","l","t","tl"].forEach((function(e){t[e].showClipboard()}))}},{key:"hideClipboard",value:function(){var t=this;["br","l","t","tl"].forEach((function(e){t[e].hideClipboard()}))}}]),t}();function Te(t){return(Te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _e(t){return function(t){if(Array.isArray(t))return Ce(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Ce(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ce(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ce(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0&&e[this.itemIndex].toggle(),this.itemIndex-=1,this.itemIndex<0&&(this.itemIndex=e.length-1),e[this.itemIndex].toggle())}function De(t){t.stopPropagation();var e=this.filterItems;e.length<=0||(this.itemIndex>=0&&e[this.itemIndex].toggle(),this.itemIndex+=1,this.itemIndex>e.length-1&&(this.itemIndex=0),e[this.itemIndex].toggle())}function Ne(t){t.preventDefault();var e=this.filterItems;e.length<=0||(t.stopPropagation(),this.itemIndex<0&&(this.itemIndex=0),e[this.itemIndex].el.click(),this.hide())}function ze(t){var e=t.keyCode;switch(t.ctrlKey&&t.stopPropagation(),e){case 37:t.stopPropagation();break;case 38:Ie.call(this,t);break;case 39:t.stopPropagation();break;case 40:De.call(this,t);break;case 13:case 9:Ne.call(this,t);break;default:t.stopPropagation()}}var Me=function(){function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"200px";Re(this,t),this.filterItems=[],this.items=e,this.el=c("div","".concat(te,"-suggest")).css("width",n).hide(),this.itemClick=r,this.itemIndex=-1}var e,r,n;return e=t,(r=[{key:"setOffset",value:function(t){this.el.cssRemoveKeys("top","bottom").offset(t)}},{key:"hide",value:function(){var t=this.el;this.filterItems=[],this.itemIndex=-1,t.hide(),Zt(this.el.parent())}},{key:"setItems",value:function(t){this.items=t}},{key:"search",value:function(t){var e,r=this,n=this.items;if(/^\s*$/.test(t)||(n=n.filter((function(e){return(e.key||e).startsWith(t.toUpperCase())}))),n=n.map((function(t){var e=t.title;e?"function"==typeof e&&(e=e()):e=t;var n=c("div","".concat(te,"-item")).child(e).on("click.stop",(function(){r.itemClick(t),r.hide()}));return t.label&&n.child(c("div","label").html(t.label)),n})),this.filterItems=n,!(n.length<=0)){var i=this.el;(e=i.html("")).children.apply(e,_e(n)).show(),Kt(i.parent(),(function(){r.hide()}))}}},{key:"bindInputEvents",value:function(t){var e=this;t.on("keydown",(function(t){return ze.call(e,t)}))}}])&&Ae(e.prototype,r),n&&Ae(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Be(t){return(Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function He(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rn.width){var f=a;a>u&&(f=u,c+=parseInt(a/u,10),c+=a%u>0?1:0),r.css("width","".concat(f,"px"))}(c*=this.rowHeight)>n.height&&r.css("height","".concat(c,"px"))}}function lr(t,e){var r=t.target,n=r.value,i=r.selectionEnd,o="".concat(n.slice(0,i)).concat(e).concat(n.slice(i));r.value=o,r.setSelectionRange(i+1,i+1),this.inputText=o,this.textlineEl.html(o),or.call(this)}function ar(t){var e=t.keyCode,r=t.altKey;13!==e&&9!==e&&t.stopPropagation(),13===e&&r&&(lr.call(this,t,"\n"),t.stopPropagation()),13!==e||r||t.preventDefault()}function ur(t){var e=t.target.value,r=this.suggest,n=this.textlineEl,i=this.validator,o=this.cell;if(null!==o)if("editable"in o&&!0===o.editable||void 0===o.editable){if(this.inputText=e,i)"list"===i.type?r.search(e):r.hide();else{var l=e.lastIndexOf("=");-1!==l?r.search(e.substring(l+1)):r.hide()}n.html(e),or.call(this),this.change("input",e)}else t.target.value=o.text||"";else{if(this.inputText=e,i)"list"===i.type?r.search(e):r.hide();else{var a=e.lastIndexOf("=");-1!==a?r.search(e.substring(a+1)):r.hide()}n.html(e),or.call(this),this.change("input",e)}}function cr(t){var e=this.textEl.el;setTimeout((function(){e.focus(),e.setSelectionRange(t,t)}),0)}function fr(t,e){var r=this.textEl,n=this.textlineEl;r.el.blur(),r.val(t),n.html(t),cr.call(this,e)}function sr(t){var e=this.inputText,r=this.validator,n=0;if(r&&"list"===r.type)this.inputText=t,n=this.inputText.length;else{var i=e.lastIndexOf("="),o=e.substring(0,i+1),l=e.substring(i+1);l=-1!==l.indexOf(")")?l.substring(l.indexOf(")")):"",this.inputText="".concat(o+t.key,"("),n=this.inputText.length,this.inputText+=")".concat(l)}fr.call(this,this.inputText,n)}function hr(){this.suggest.setItems(this.formulas)}var yr=function(){function t(e,r,n){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.viewFn=r,this.rowHeight=n,this.formulas=e,this.suggest=new Me(e,(function(t){sr.call(i,t)})),this.datepicker=new tr,this.datepicker.change((function(t){i.setText(function(t){var e=t.getMonth()+1,r=t.getDate();return e<10&&(e="0".concat(e)),r<10&&(r="0".concat(r)),"".concat(t.getFullYear(),"-").concat(e,"-").concat(r)}(t)),i.clear()})),this.areaEl=c("div","".concat(te,"-editor-area")).children(this.textEl=c("textarea","").on("input",(function(t){return ur.call(i,t)})).on("paste.stop",(function(){})).on("keydown",(function(t){return ar.call(i,t)})),this.textlineEl=c("div","textline"),this.suggest.el,this.datepicker.el).on("mousemove.stop",(function(){})).on("mousedown.stop",(function(){})),this.el=c("div","".concat(te,"-editor")).child(this.areaEl).hide(),this.suggest.bindInputEvents(this.textEl),this.areaOffset=null,this.freeze={w:0,h:0},this.cell=null,this.inputText="",this.change=function(){}}var e,r,n;return e=t,(r=[{key:"setFreezeLengths",value:function(t,e){this.freeze.w=t,this.freeze.h=e}},{key:"clear",value:function(){""!==this.inputText&&this.change("finished",this.inputText),this.cell=null,this.areaOffset=null,this.inputText="",this.el.hide(),this.textEl.val(""),this.textlineEl.html(""),hr.call(this),this.datepicker.hide()}},{key:"setOffset",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",r=this.textEl,n=this.areaEl,i=this.suggest,o=this.freeze,l=this.el;if(t){this.areaOffset=t;var a=t.left,u=t.top,c=t.width,f=t.height,s=t.l,h=t.t,y={left:0,top:0};o.w>s&&o.h>h||(o.ws?y.top=o.h:o.h>h&&(y.left=o.w)),l.offset(y),n.offset({left:a-y.left-.8,top:u-y.top-.8}),r.offset({width:c-9+.8,height:f-3+.8});var p={left:0};p[e]=f,i.setOffset(p),i.hide()}}},{key:"setCell",value:function(t,e){if(!t||!1!==t.editable){var r=this.el,n=this.datepicker,i=this.suggest;r.show(),this.cell=t;var o=t&&t.text||"";if(this.setText(o),this.validator=e,e){var l=e.type;"date"===l&&(n.show(),/^\s*$/.test(o)||n.setValue(o)),"list"===l&&(i.setItems(e.values()),i.search(""))}}}},{key:"setText",value:function(t){this.inputText=t,fr.call(this,t,t.length),or.call(this)}}])&&rr(e.prototype,r),n&&rr(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function pr(t){return(pr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function vr(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"";return dr(this,o),(e=i.call(this,"div","".concat(te,"-button ").concat(r))).child(st("button.".concat(t))),e}return e=o,r&&vr(e.prototype,r),n&&vr(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}(u);function Or(t){return function(t){if(Array.isArray(t))return Pr(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||kr(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jr(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,e)||kr(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kr(t,e){if(t){if("string"==typeof t)return Pr(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Pr(t,e):void 0}}function Pr(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0?e-.5:.5}var Dr=function(){function t(e,r,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;xr(this,t),this.x=e,this.y=r,this.width=n,this.height=i,this.padding=o,this.bgcolor="#ffffff",this.borderTop=null,this.borderRight=null,this.borderBottom=null,this.borderLeft=null}return _r(t,[{key:"setBorders",value:function(t){var e=t.top,r=t.bottom,n=t.left,i=t.right;e&&(this.borderTop=e),i&&(this.borderRight=i),r&&(this.borderBottom=r),n&&(this.borderLeft=n)}},{key:"innerWidth",value:function(){return this.width-2*this.padding-2}},{key:"innerHeight",value:function(){return this.height-2*this.padding-2}},{key:"textx",value:function(t){var e=this.width,r=this.padding,n=this.x;return"left"===t?n+=r:"center"===t?n+=e/2:"right"===t&&(n+=e-r),n}},{key:"texty",value:function(t,e){var r=this.height,n=this.padding,i=this.y;return"top"===t?i+=n:"middle"===t?i+=r/2-e/2:"bottom"===t&&(i+=r-n-e),i}},{key:"topxys",value:function(){var t=this.x,e=this.y;return[[t,e],[t+this.width,e]]}},{key:"rightxys",value:function(){var t=this.x,e=this.y,r=this.width;return[[t+r,e],[t+r,e+this.height]]}},{key:"bottomxys",value:function(){var t=this.x,e=this.y,r=this.width,n=this.height;return[[t,e+n],[t+r,e+n]]}},{key:"leftxys",value:function(){var t=this.x,e=this.y;return[[t,e],[t,e+this.height]]}}]),t}();function Nr(t,e,r,n,i,o,l){var a={x:0,y:0};"underline"===t?a.y="bottom"===i?0:"top"===i?-(o+2):-o/2:"strike"===t&&("bottom"===i?a.y=o/2:"top"===i&&(a.y=-(o/2+2))),"center"===n?a.x=l/2:"right"===n&&(a.x=l),this.line([e-a.x,r-a.y],[e-a.x+l,r-a.y])}var zr=function(){function t(e,r,n){xr(this,t),this.el=e,this.ctx=e.getContext("2d"),this.resize(r,n),this.ctx.scale(Cr(),Cr())}return _r(t,[{key:"resize",value:function(t,e){this.el.style.width="".concat(t,"px"),this.el.style.height="".concat(e,"px"),this.el.width=Ar(t),this.el.height=Ar(e)}},{key:"clear",value:function(){var t=this.el,e=t.width,r=t.height;return this.ctx.clearRect(0,0,e,r),this}},{key:"attr",value:function(t){return Object.assign(this.ctx,t),this}},{key:"save",value:function(){return this.ctx.save(),this.ctx.beginPath(),this}},{key:"restore",value:function(){return this.ctx.restore(),this}},{key:"beginPath",value:function(){return this.ctx.beginPath(),this}},{key:"translate",value:function(t,e){return this.ctx.translate(Ar(t),Ar(e)),this}},{key:"scale",value:function(t,e){return this.ctx.scale(t,e),this}},{key:"clearRect",value:function(t,e,r,n){return this.ctx.clearRect(t,e,r,n),this}},{key:"fillRect",value:function(t,e,r,n){return this.ctx.fillRect(Ar(t)-.5,Ar(e)-.5,Ar(r),Ar(n)),this}},{key:"fillText",value:function(t,e,r){return this.ctx.fillText(t,Ar(e),Ar(r)),this}},{key:"text",value:function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=this.ctx,l=n.align,a=n.valign,u=n.font,c=n.color,f=n.strike,s=n.underline,h=e.textx(l);o.save(),o.beginPath(),this.attr({textAlign:l,textBaseline:a,font:"".concat(u.italic?"italic":""," ").concat(u.bold?"bold":""," ").concat(Ar(u.size),"px ").concat(u.name),fillStyle:c,strokeStyle:c});var y="".concat(t).split("\n"),p=e.innerWidth(),v=[];y.forEach((function(t){var e=o.measureText(t).width;if(i&&e>Ar(p)){for(var r={w:0,len:0,start:0},n=0;n=Ar(p)&&(v.push(t.substr(r.start,r.len)),r={w:0,len:0,start:n}),r.len+=1,r.w+=o.measureText(t[n]).width+1;r.len>0&&v.push(t.substr(r.start,r.len))}else v.push(t)}));var d=(v.length-1)*(u.size+2),b=e.texty(a,d);return v.forEach((function(t){var e=o.measureText(t).width;r.fillText(t,h,b),f&&Nr.call(r,"strike",h,b,l,a,u.size,e),s&&Nr.call(r,"underline",h,b,l,a,u.size,e),b+=u.size+2})),o.restore(),this}},{key:"border",value:function(t,e){var r=this.ctx;return r.lineWidth=Rr,r.strokeStyle=e,"medium"===t?r.lineWidth=Ar(2)-.5:"thick"===t?r.lineWidth=Ar(3):"dashed"===t?r.setLineDash([Ar(3),Ar(2)]):"dotted"===t?r.setLineDash([Ar(1),Ar(1)]):"double"===t&&r.setLineDash([Ar(2),0]),this}},{key:"line",value:function(){var t=this.ctx;if(arguments.length>1){t.beginPath();var e=arguments.length<=0?void 0:arguments[0],r=jr(e,2),n=r[0],i=r[1];t.moveTo(Ir(n),Ir(i));for(var o=1;ot.length)&&(e=t.length);for(var r=0,n=new Array(e);r="a"&&c<="z")n.push(c.toUpperCase());else if(c>="0"&&c<="9"||c>="A"&&c<="Z"||"."===c)n.push(c);else if('"'===c){for(u+=1;'"'!==t.charAt(u);)n.push(t.charAt(u)),u+=1;r.push('"'.concat(n.join(""))),n=[]}else if("-"===c&&/[+\-*/,(]/.test(a))n.push(c);else{if("("!==c&&n.length>0&&r.push(n.join("")),")"===c){var f=e.pop();if(2===i)try{for(var s=Fr(v(r.pop()),2),h=s[0],y=s[1],p=Fr(v(r.pop()),2),b=p[0],m=p[1],g=0,w=b;w<=h;w+=1)for(var S=m;S<=y;S+=1)r.push(d(w,S)),g+=1;r.push([f,g])}catch(t){}else if(1===i||3===i)3===i&&r.push(o),r.push([f,l]),l=1;else for(;"("!==f&&(r.push(f),!(e.length<=0));)f=e.pop();i=0}else if("="===c||">"===c||"<"===c){var O=t.charAt(u+1);o=c,"="!==O&&"-"!==O||(o+=O,u+=1),i=3}else if(":"===c)i=2;else if(","===c)3===i&&r.push(o),i=1,l+=1;else if("("===c&&n.length>0)e.push(n.join(""));else{if(e.length>0&&("+"===c||"-"===c)){var j=e[e.length-1];if("("!==j&&r.push(e.pop()),"*"===j||"/"===j)for(;e.length>0&&"("!==(j=e[e.length-1]);)r.push(e.pop())}else if(e.length>0){var k=e[e.length-1];"*"!==k&&"/"!==k||r.push(e.pop())}e.push(c)}n=[]}a=c}}for(n.length>0&&r.push(n.join(""));e.length>0;)r.push(e.pop());return r},Ur=function(t,e){var r=Fr(t,1)[0],n=t;if('"'===r)return t.substring(1);var i=1;if("-"===r&&(n=t.substring(1),i=-1),n[0]>="0"&&n[0]<="9")return i*Number(n);var o=Fr(v(n),2);return i*e(o[0],o[1])},$r=function(t,e,r,n){for(var i=[],o=0;o"===a||"<"===a){var h=i.pop();Number.isNaN(h)||(h=Number(h));var y=i.pop();Number.isNaN(y)||(y=Number(y));var p=!1;"="===a?p=y===h:">"===l?p=y>h:">="===l?p=y>=h:"<"===l?p=y="a"&&a<="z"||a>="A"&&a<="Z")&&n.push(l),i.push(Ur(l,r)),n.pop()}}return i[0]},qr=function t(e,r,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if("="===e[0]){var o=Vr(e.substring(1));return o.length<=0?e:$r(o,r,(function(e,o){return t(n(e,o),r,n,i)}),i)}return e};function Lr(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,e)||Xr(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yr(t){return function(t){if(Array.isArray(t))return Zr(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||Xr(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xr(t,e){if(t){if("string"==typeof t)return Zr(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Zr(t,e):void 0}}function Zr(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r3&&void 0!==arguments[3]?arguments[3]:0,i=t.cellRect(e,r),o=i.left,l=i.top,a=i.width,u=i.height;return new Dr(o,l+n,a,u,5)}function dn(t,e,r,n){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=e.sortedRowMap,l=e.rows,a=e.cols;if(!l.isHide(r)&&!a.isHide(n)){var u=r;o.has(r)&&(u=o.get(r));var c=e.getCell(u,n);if(null!==c){var f=!1;"editable"in c&&!1===c.editable&&(f=!0);var s=e.getCellStyleOrDefault(u,n),h=vn(e,r,n,i);h.bgcolor=s.bgcolor,void 0!==s.border&&(h.setBorders(s.border),t.strokeBorders(h)),t.rect(h,(function(){var i="";i=e.settings.evalPaused?c.text||"":qr(c.text||"",Gr,(function(t,r){return e.getCellTextOrDefault(r,t)})),s.format&&(i=un[s.format].render(i));var o=Object.assign({},s.font);o.size=Hr(o.size),t.text(i,h,{align:s.align,valign:s.valign,font:o,color:s.color,strike:s.strike,underline:s.underline},s.textwrap),e.validations.getError(r,n)&&t.error(h),f&&t.frozen(h)}))}}}function bn(t){var e=this.data,r=this.draw;if(t){var n=e.autoFilter;if(!n.active())return;var i=n.hrange();t.intersects(i)&&i.each((function(t,n){var i=vn(e,t,n);r.dropdown(i)}))}}function mn(t,e,r,n,i){var o=this.draw,l=this.data;o.save(),o.translate(e,r).translate(n,i);var a=l.exceptRowSet,u=l.exceptRowTotalHeight(t.sri,t.eri);o.save(),o.translate(0,-u),t.each((function(t,e){dn(o,l,t,e)}),(function(t){return function(t){var e=a.has(t);if(e){var r=l.rows.getHeight(t);o.translate(0,-r)}return!e}(t)})),o.restore();var c=new Set;o.save(),o.translate(0,-u),l.eachMergesInView(t,(function(t){var e=t.sri,r=t.sci,n=t.eri;if(a.has(e)){if(!c.has(e)){c.add(e);var i=l.rows.sumHeight(e,n+1);o.translate(0,-i)}}else dn(o,l,e,r)})),o.restore(),bn.call(this,t),o.restore()}function gn(t,e,r,n){var i=this.draw;i.save(),i.attr({fillStyle:"rgba(75, 137, 255, 0.08)"}).fillRect(t,e,r,n),i.restore()}function wn(t,e,r,n,i,o){var l=this,a=this.draw,u=this.data,c=u.settings,f=c.showRowHeader,s=c.showColHeader,h=e.h,p=e.w,v=o+n,d=i+r;a.save(),a.attr(yn),!f||"all"!==t&&"left"!==t||a.fillRect(0,v,r,h),!s||"all"!==t&&"top"!==t||a.fillRect(d,0,p,n);var b=u.selector.range,m=b.sri,g=b.sci,w=b.eri,S=b.eci;a.attr({textAlign:"center",textBaseline:"middle",font:"500 ".concat(Ar(12),"px Source Sans Pro"),fillStyle:"#585757",lineWidth:Rr(),strokeStyle:"#e6e6e6"}),!f||"all"!==t&&"left"!==t||(u.rowEach(e.sri,e.eri,(function(t,e,n){var i=v+e,o=t;a.line([0,i],[r,i]),m<=o&&o0&&u.rows.isHide(t-1)&&(a.save(),a.attr({strokeStyle:"#c6c6c6"}),a.line([5,i+5],[r-5,i+5]),a.restore())})),a.line([0,h+v],[r,h+v]),a.line([r,v],[r,h+v])),!s||"all"!==t&&"top"!==t||(u.colEach(e.sci,e.eci,(function(t,e,r){var i=d+e,o=t;a.line([i,0],[i,n]),g<=o&&o0&&u.cols.isHide(t-1)&&(a.save(),a.attr({strokeStyle:"#c6c6c6"}),a.line([i+5,5],[i+5,n-5]),a.restore())})),a.line([p+d,0],[p+d,n]),a.line([0,n],[p+d,n])),a.restore()}function Sn(t,e){var r=this.draw;r.save(),r.attr({fillStyle:"#f4f5f8"}).fillRect(0,0,t,e),r.restore()}function On(t,e,r,n,i){var o=t.sri,l=t.sci,a=t.eri,u=t.eci,c=t.w,f=t.h,s=this.draw,h=this.data,y=h.settings;s.save(),s.attr(pn).translate(e+n,r+i),y.showGrid?(h.rowEach(o,a,(function(t,e,r){t!==o&&s.line([0,e],[c,e]),t===a&&s.line([0,e+r],[c,e+r])})),h.colEach(l,u,(function(t,e,r){t!==l&&s.line([e,0],[e,f]),t===u&&s.line([e+r,0],[e+r,f])})),s.restore()):s.restore()}function jn(t,e,r,n){var i=this.draw,o=this.data,l=o.viewWidth()-t,a=o.viewHeight()-e;i.save().translate(t,e).attr({strokeStyle:"rgba(75, 137, 255, .6)"}),i.line([0,n],[l,n]),i.line([r,0],[r,a]),i.restore()}var kn=function(){function t(e,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.el=e,this.draw=new zr(e,r.viewWidth(),r.viewHeight()),this.data=r}var e,r,n;return e=t,(r=[{key:"resetData",value:function(t){this.data=t,this.render()}},{key:"render",value:function(){var t=this.data,e=t.getFw(),r=t.getFh();this.draw.resize(t.viewWidth(),t.viewHeight()),this.clear();var n=t.viewRange(),i=t.freezeTotalWidth(),o=t.freezeTotalHeight(),l=t.scroll,a=l.x,u=l.y;On.call(this,n,e,r,i,o),mn.call(this,n,e,r,-a,-u),wn.call(this,"all",n,e,r,i,o),Sn.call(this,e,r);var c=fn(t.freeze,2),f=c[0],s=c[1];if(f>0||s>0){if(f>0){var h=n.clone();h.sri=0,h.eri=f-1,h.h=o,On.call(this,h,e,r,i,0),mn.call(this,h,e,r,-a,0),wn.call(this,"top",h,e,r,i,0)}if(s>0){var y=n.clone();y.sci=0,y.eci=s-1,y.w=i,On.call(this,y,e,r,0,o),wn.call(this,"left",y,e,r,0,o),mn.call(this,y,e,r,0,-u)}var p=t.freezeViewRange();On.call(this,p,e,r,0,0),wn.call(this,"all",p,e,r,0,0),mn.call(this,p,e,r,0,0),jn.call(this,e,r,i,o)}}},{key:"clear",value:function(){this.draw.clear()}}])&&hn(e.prototype,r),n&&hn(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Pn(t){return(Pn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function En(t){return function(t){if(Array.isArray(t))return xn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return xn(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xn(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xn(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&(h+=(l-u.w)/2);var p=0,v=0;this.contentEl.html(""),this.canvases=[];for(var d={sri:0,sci:0,eri:0,eci:0},b=function(){var r=0,o=0,l=c("div","".concat(te,"-canvas-card")),f=c("canvas","".concat(te,"-canvas"));t.canvases.push(f.el);var b=new zr(f.el,n,i);for(b.save(),b.translate(h,y),s<1&&b.scale(s,s);p<=u.eri;p+=1){var m=e.rows.getHeight(p);if(!((r+=m)t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&void 0!==arguments[1]&&arguments[1];Hn(this,t),this.menuItems=Un.call(this),this.el=(r=c("div","".concat(te,"-contextmenu"))).children.apply(r,Mn(this.menuItems)).hide(),this.viewFn=e,this.itemClick=function(){},this.isHide=n,this.setMode("range")}var e,r,n;return e=t,(r=[{key:"setMode",value:function(t){var e=this.menuItems[12];"row-col"===t?e.show():e.hide()}},{key:"hide",value:function(){var t=this.el;t.hide(),Zt(t)}},{key:"setPosition",value:function(t,e){if(!this.isHide){var r=this.el,n=r.show().offset().width,i=this.viewFn(),o=i.height/2,l=t;i.width-t<=n&&(l-=n),r.css("left","".concat(l,"px")),e>o?r.css("bottom","".concat(i.height-e,"px")).css("max-height","".concat(e,"px")).css("top","auto"):r.css("top","".concat(e,"px")).css("max-height","".concat(i.height-e,"px")).css("bottom","auto"),Kt(r)}}}])&&Fn(e.prototype,r),n&&Fn(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function qn(t){return(qn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ln(t,e){for(var r=0;r4?u-4:0),s=4;s0&&(t=this.contentEl).children.apply(t,arguments)}},{key:"setTitle",value:function(t){this.title.html(t),this.hide()}},{key:"show",value:function(){var t=this;this.contentEl.show(),this.parent().active(),Kt(this.parent(),(function(){t.hide()}))}},{key:"hide",value:function(){this.parent().active(!1),this.contentEl.hide(),Zt(this.parent())}}])&&li(e.prototype,r),n&&li(e,n),Object.defineProperty(e,"prototype",{writable:!1}),o}(u);function hi(t){return(hi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function yi(t){return function(t){if(Array.isArray(t))return pi(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return pi(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return pi(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pi(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r'],["medium",''],["thick",''],["dashed",''],["dotted",'']],Qo=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Xo(t,e)}(o,t);var e,r,n,i=Zo(o);function o(t){var e;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o);var r=new $e("line-type"),n=0,l=Go.map((function(r,i){return c("div","".concat(te,"-item state ").concat(t===r[0]?"checked":"")).on("click",(function(){l[n].toggle("checked"),l[i].toggle("checked"),n=i,e.hide(),e.change(r)})).child(c("div","".concat(te,"-line-type")).html(r[1]))}));return e=i.call.apply(i,[this,r,"auto",!1,"bottom-left"].concat(qo(l)))}return e=o,r&&Yo(e.prototype,r),n&&Yo(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}(si);function tl(t){return(tl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function el(t){return function(t){if(Array.isArray(t))return il(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||nl(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rl(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,e)||nl(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function nl(t,e){if(t){if("string"==typeof t)return il(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?il(t,e):void 0}}function il(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0?i.show():i.hide()}function Pc(t){var e=this,r=new Yn;r.el.on("click",(function(){t.onClick&&t.onClick(e.data.getData(),e.data)})),r.tip=t.tip||"";var n=t.el;if(t.icon&&(n=c("img").attr("src",t.icon)),n){var i=c("div","".concat(te,"-icon"));i.child(n),r.el.child(i)}return r}var Ec=function(){function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];mc(this,t),this.data=e,this.change=function(){},this.widthFn=r,this.isHide=i;var o=e.defaultStyle();this.items=[[this.undoEl=new qu,this.redoEl=new Bu,new Gu,this.paintformatEl=new Yl,this.clearformatEl=new Fl],Oc(),[this.formatEl=new eu],Oc(),[this.fontEl=new Ha,this.fontSizeEl=new ja],Oc(),[this.boldEl=new io,this.italicEl=new so,this.underlineEl=new Eo,this.strikeEl=new go,this.textColorEl=new ta(o.color)],Oc(),[this.fillColorEl=new aa(o.bgcolor),this.borderEl=new jl,this.mergeEl=new Ru],Oc(),[this.alignEl=new xi(o.align),this.valignEl=new Di(o.valign),this.textwrapEl=new oc],Oc(),[this.freezeEl=new ku,this.autofilterEl=new Ji,this.formulaEl=new bu]];var l=e.settings.extendToolbar,a=void 0===l?{}:l;if(a.left&&a.left.length>0){this.items.unshift(Oc());var u=a.left.map(Pc.bind(this));this.items.unshift(u)}if(a.right&&a.right.length>0){this.items.push(Oc());var f=a.right.map(Pc.bind(this));this.items.push(f)}this.items.push([this.moreEl=new dc]),this.el=c("div","".concat(te,"-toolbar")),this.btns=c("div","".concat(te,"-toolbar-btns")),this.items.forEach((function(t){Array.isArray(t)?t.forEach((function(t){n.btns.child(t.el),t.change=function(){n.change.apply(n,arguments)}})):n.btns.child(t.el)})),this.el.child(this.btns),i?this.el.hide():(this.reset(),setTimeout((function(){jc.call(n),kc.call(n)}),0),Yt(window,"resize",(function(){kc.call(n)})))}var e,r,n;return e=t,(r=[{key:"paintformatActive",value:function(){return this.paintformatEl.active()}},{key:"paintformatToggle",value:function(){this.paintformatEl.toggle()}},{key:"trigger",value:function(t){this["".concat(t,"El")].click()}},{key:"resetData",value:function(t){this.data=t,this.reset()}},{key:"reset",value:function(){if(!this.isHide){var t=this.data,e=t.getSelectedCellStyle();this.undoEl.setState(!t.canUndo()),this.redoEl.setState(!t.canRedo()),this.mergeEl.setState(t.canUnmerge(),!t.selector.multiple()),this.autofilterEl.setState(!t.canAutofilter());var r=e.font,n=e.format;this.formatEl.setState(n),this.fontEl.setState(r.name),this.fontSizeEl.setState(r.size),this.boldEl.setState(r.bold),this.italicEl.setState(r.italic),this.underlineEl.setState(e.underline),this.strikeEl.setState(e.strike),this.textColorEl.setState(e.color),this.fillColorEl.setState(e.bgcolor),this.alignEl.setState(e.align),this.valignEl.setState(e.valign),this.textwrapEl.setState(e.textwrap),this.freezeEl.setState(t.freezeIsActive())}}}])&&gc(e.prototype,r),n&&gc(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function xc(t){return(xc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Tc(t){return function(t){if(Array.isArray(t))return _c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return _c(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _c(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _c(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r2&&void 0!==arguments[2]?arguments[2]:"600px";Cc(this,t),this.title=e,this.el=c("div","".concat(te,"-modal")).css("width",o).children(c("div","".concat(te,"-modal-header")).children(new $e("close").on("click.stop",(function(){return i.hide()})),this.title),(n=c("div","".concat(te,"-modal-content"))).children.apply(n,Tc(r))).hide()}var e,r,n;return e=t,(r=[{key:"show",value:function(){var t=this;this.dimmer=c("div","".concat(te,"-dimmer active")),document.body.appendChild(this.dimmer.el);var e=this.el.show().box(),r=e.width,n=e.height,i=document.documentElement,o=i.clientHeight,l=i.clientWidth;this.el.offset({left:(l-r)/2,top:(o-n)/3}),window.xkeydownEsc=function(e){27===e.keyCode&&t.hide()},Yt(window,"keydown",window.xkeydownEsc)}},{key:"hide",value:function(){this.el.hide(),document.body.removeChild(this.dimmer.el),Xt(window,"keydown",window.xkeydownEsc),delete window.xkeydownEsc}}])&&Rc(e.prototype,r),n&&Rc(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Ic(t){return(Ic="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Dc(t,e){for(var r=0;r3&&void 0!==arguments[3]?arguments[3]:function(t){return t},l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){};Mc(this,t),this.key=e,this.getTitle=o,this.vchange=function(){},this.el=c("div","".concat(te,"-form-select")),this.suggest=new Me(r.map((function(t){return{key:t,title:i.getTitle(t)}})),(function(t){i.itemClick(t.key),l(t.key),i.vchange(t.key)}),n,this.el),this.el.children(this.itemEl=c("div","input-text").html(this.getTitle(e)),this.suggest.el).on("click",(function(){return i.show()}))}var e,r,n;return e=t,(r=[{key:"show",value:function(){this.suggest.search("")}},{key:"itemClick",value:function(t){this.key=t,this.itemEl.html(this.getTitle(t))}},{key:"val",value:function(t){return void 0!==t?(this.key=t,this.itemEl.html(this.getTitle(t)),this):this.key}}])&&Bc(e.prototype,r),n&&Bc(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Fc(t){return(Fc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Wc(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rf.width)r.move({left:i+u-f.width});else{var s=t.freezeTotalWidth();lf.height)e.move({top:o+c-f.height-1});else{var h=t.freezeTotalHeight();a3&&void 0!==arguments[3])||arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.data.settings,l=o.showColHeader,a=o.showRowHeader,u=l||-1!==e?e:0,c=a||-1!==r?r:0;if(-1!==u||-1!==c){var f=this.table,s=this.selector,h=this.toolbar,y=this.data,p=this.contextMenu,v=y.getCell(u,c);t?(s.setEnd(u,c,i),this.trigger("cells-selected",v,s.range)):(s.set(u,c,n),this.trigger("cell-selected",v,u,c)),p.setMode(-1===u||-1===c?"row-col":"range"),h.reset(),f.render()}}function yf(t,e){var r=this.selector,n=this.data,i=n.rows,o=n.cols,l=uf(r.indexes,2),a=l[0],u=l[1],c=r.range,f=c.eri,s=c.eci;if(t){var h=uf(r.moveIndexes,2);a=h[0],u=h[1]}"left"===e?u>0&&(u-=1):"right"===e?(s!==u&&(u=s),u0&&(a-=1):"down"===e?(f!==a&&(a=f),al.getFw()&&r>l.getFh())return n.hide(),void i.hide();var c=o.box(),f=l.getCellRectByXY(t.offsetX,t.offsetY);f.ri>=0&&-1===f.ci?(f.width=l.getFw(),n.show(f,{width:c.width}),a.isHide(f.ri-1)?n.showUnhide(f.ri):n.hideUnhide()):n.hide(),-1===f.ri&&f.ci>=0?(f.height=l.getFh(),i.show(f,{height:c.height}),u.isHide(f.ci-1)?i.showUnhide(f.ci):i.hideUnhide()):i.hide()}}function vf(t){var e=this.verticalScrollbar,r=this.horizontalScrollbar,n=this.data,i=e.scroll().top,o=r.scroll().left,l=n.rows,a=n.cols,u=t.deltaY,c=t.deltaX,f=function(t,e){var r=t,n=0;do{n=e(r),r+=1}while(n<=0);return n},s=function(t){if(t>0){var r=n.scroll.ri+1;if(r=0){var u=f(a,(function(t){return l.getHeight(t)}));e.move({top:0===a?0:i-u})}}},h=Math.abs(u),y=Math.abs(c),p=Math.max(h,y);/Firefox/i.test(window.navigator.userAgent)&&ff(s(t.detail),50),p===y&&ff(function(t){if(t>0){var e=n.scroll.ci+1;if(e=0){var u=f(l,(function(t){return a.getWidth(t)}));r.move({left:0===l?0:o-u})}}}(c),50),p===h&&ff(s(u),50)}function df(t,e){var r=this.verticalScrollbar,n=this.horizontalScrollbar,i=r.scroll().top,o=n.scroll().left;"left"===t||"right"===t?n.move({left:o-e}):"up"!==t&&"down"!==t||r.move({top:i-e})}function bf(){var t=this.data,e=this.verticalScrollbar,r=this.getTableOffset().height,n=t.exceptRowTotalHeight(0,-1);e.set(r,t.rows.totalHeight()-n)}function mf(){var t=this.data,e=this.horizontalScrollbar,r=this.getTableOffset().width;t&&e.set(r,t.cols.totalWidth())}function gf(){var t=this.selector,e=this.data,r=this.editor,n=uf(e.freeze,2),i=n[0],o=n[1];if(i>0||o>0){var l=e.freezeTotalWidth(),a=e.freezeTotalHeight();r.setFreezeLengths(l,a)}t.resetAreaOffset()}function wf(){var t=this.tableEl,e=this.overlayerEl,r=this.overlayerCEl,n=this.table,i=this.toolbar,o=this.selector,l=this.el,a=this.getTableOffset(),u=this.getRect();t.attr(u),e.offset(u),r.offset(a),l.css("width","".concat(u.width,"px")),bf.call(this),mf.call(this),gf.call(this),n.render(),i.reset(),o.reset()}function Sf(){var t=this.data,e=this.selector;t.clearClipboard(),e.hideClipboard()}function Of(t){var e=this.data,r=this.selector;"read"!==e.settings.mode&&(e.copy(),e.copyToSystemClipboard(t),r.showClipboard())}function jf(){var t=this.data,e=this.selector;"read"!==t.settings.mode&&(t.cut(),e.showClipboard())}function kf(t,e){var r=this,n=this.data;if("read"!==n.settings.mode)if(n.clipboard.isClear()){n.pasteFromSystemClipboard((function(){return wf.call(r)}),(function(t){r.trigger("pasted-clipboard",t)}))}else if(n.paste(t,(function(t){return of("Tip",t)})))wf.call(this);else if(e){var i=e.clipboardData.getData("text/plain");this.data.pasteFromText(i),wf.call(this)}}function Pf(){this.data.hideRowsOrCols(),wf.call(this)}function Ef(t,e){this.data.unhideRowsOrCols(t,e),wf.call(this)}function xf(){this.data.autofilter(),wf.call(this)}function Tf(){var t=this.toolbar;t.paintformatActive()&&(kf.call(this,"format"),Sf.call(this),t.paintformatToggle())}function _f(t){var e=this,r=this.selector,n=this.data,i=this.table,o=this.sortFilter,l=t.offsetX,a=t.offsetY,u=t.target.className==="".concat(te,"-selector-corner"),c=n.getCellRectByXY(l,a),f=c.left,s=c.top,h=c.width,y=c.height,p=c.ri,v=c.ci,d=n.autoFilter;if(d.includes(p,v)&&f+h-20r.height/2&&(n="bottom"),t.setOffset(e,n)}function Rf(){var t=this.editor,e=this.data;"read"!==e.settings.mode&&(Cf.call(this),t.setCell(e.getSelectedCell(),e.getSelectedValidator()),Sf.call(this))}function Af(t){var e=this,r=this.data,n=this.table,i=this.selector;r.scrolly(t,(function(){i.resetBRLAreaOffset(),Cf.call(e),n.render()}))}function If(t){var e=this,r=this.data,n=this.table,i=this.selector;r.scrollx(t,(function(){i.resetBRTAreaOffset(),Cf.call(e),n.render()}))}function Df(t,e){var r=t.ri,n=this.table,i=this.selector,o=this.data,l=i.range,a=l.sri,u=l.eri;if(r>=a&&r<=u)for(var c=a;c<=u;c+=1)o.rows.setHeight(c,e);else o.rows.setHeight(r,e);n.render(),i.resetAreaOffset(),bf.call(this),Cf.call(this)}function Nf(t,e){var r=t.ci,n=this.table,i=this.selector,o=this.data,l=i.range,a=l.sci,u=l.eci;if(r>=a&&r<=u)for(var c=a;c<=u;c+=1)o.cols.setWidth(c,e);else o.cols.setWidth(r,e);n.render(),i.resetAreaOffset(),mf.call(this),Cf.call(this)}function zf(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"finished",r=this.data,n=this.table;if("read"!==r.settings.mode){r.setSelectedCellText(t,e);var i=r.selector,o=i.ri,l=i.ci;"finished"===e?n.render():this.trigger("cell-edited",t,o,l)}}function Mf(t){var e=this.data;"read"!==e.settings.mode&&("insert-row"===t?e.insert("row"):"delete-row"===t?e.delete("row"):"insert-column"===t?e.insert("column"):"delete-column"===t?e.delete("column"):"delete-cell"===t?e.deleteCell():"delete-cell-format"===t?e.deleteCell("format"):"delete-cell-text"===t?e.deleteCell("text"):"cell-printable"===t?e.setSelectedCellAttr("printable",!0):"cell-non-printable"===t?e.setSelectedCellAttr("printable",!1):"cell-editable"===t?e.setSelectedCellAttr("editable",!0):"cell-non-editable"===t&&e.setSelectedCellAttr("editable",!1),Sf.call(this),wf.call(this))}function Bf(t,e){var r=this.data;if("undo"===t)this.undo();else if("redo"===t)this.redo();else if("print"===t)this.print.preview();else if("paintformat"===t)!0===e?Of.call(this):Sf.call(this);else if("clearformat"===t)Mf.call(this,"delete-cell-format");else if("link"===t);else if("chart"===t);else if("autofilter"===t)xf.call(this);else if("freeze"===t)if(e){var n=r.selector,i=n.ri,o=n.ci;this.freeze(i,o)}else this.freeze(0,0);else r.setSelectedCellAttr(t,e),"formula"!==t||r.selector.multiple()||Rf.call(this),wf.call(this)}function Hf(t,e,r,n){this.data.setAutoFilter(t,e,r,n),wf.call(this)}function Ff(){var t,e,r,n,i,o,l=this,a=this.selector,u=this.overlayerEl,c=this.rowResizer,f=this.colResizer,s=this.verticalScrollbar,h=this.horizontalScrollbar,y=this.editor,p=this.contextMenu,v=this.toolbar,d=this.modalValidation,b=this.sortFilter;u.on("mousemove",(function(t){pf.call(l,t)})).on("mousedown",(function(t){y.clear(),p.hide(),2===t.buttons?(l.data.xyInSelectedRect(t.offsetX,t.offsetY)||_f.call(l,t),p.setPosition(t.offsetX,t.offsetY),t.stopPropagation()):2===t.detail?Rf.call(l):_f.call(l,t)})).on("mousewheel.stop",(function(t){vf.call(l,t)})).on("mouseout",(function(t){var e=t.offsetX;t.offsetY<=0&&f.hide(),e<=0&&c.hide()})),a.inputChange=function(t){zf.call(l,t,"input"),Rf.call(l)},t=u.el,r=(e={move:function(t,e){df.call(l,t,e)}}).move,n=e.end,i=0,o=0,Yt(t,"touchstart",(function(t){var e=t.touches[0],r=e.pageX,n=e.pageY;i=r,o=n})),Yt(t,"touchmove",(function(t){if(r){var e=t.changedTouches[0],n=e.pageX,l=e.pageY,a=n-i,u=l-o;(Math.abs(a)>10||Math.abs(u)>10)&&(Gt(a,u,t,r),i=n,o=l),t.preventDefault()}})),Yt(t,"touchend",(function(t){if(n){var e=t.changedTouches[0],r=e.pageX,l=e.pageY;Gt(r-i,l-o,t,n)}})),v.change=function(t,e){return Bf.call(l,t,e)},b.ok=function(t,e,r,n){return Hf.call(l,t,e,r,n)},c.finishedFn=function(t,e){Df.call(l,t,e)},f.finishedFn=function(t,e){Nf.call(l,t,e)},c.unhideFn=function(t){Ef.call(l,"row",t)},f.unhideFn=function(t){Ef.call(l,"col",t)},s.moveFn=function(t,e){Af.call(l,t,e)},h.moveFn=function(t,e){If.call(l,t,e)},y.change=function(t,e){zf.call(l,e,t)},d.change=function(t){if("save"===t){for(var e,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i=65&&e<=90||e>=48&&e<=57||e>=96&&e<=105||"="===t.key?(zf.call(l,t.key,"input"),Rf.call(l)):113===e&&Rf.call(l)}}}))}var Wf=function(){function t(e,r){var n=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.eventMap=Qt();var i=r.settings,o=i.view,l=i.showToolbar,a=i.showContextmenu;this.el=c("div","".concat(te,"-sheet")),this.toolbar=new Ec(r,o.width,!l),this.print=new Nn(r),e.children(this.toolbar.el,this.el,this.print.el),this.data=r,this.tableEl=c("canvas","".concat(te,"-table")),this.rowResizer=new ie(!1,r.getFh()),this.colResizer=new ie(!0,r.cols.minWidth),this.verticalScrollbar=new ae(!0),this.horizontalScrollbar=new ae(!1),this.editor=new yr(Jr,(function(){return n.getTableOffset()}),r.getFh()),this.modalValidation=new Kc,this.contextMenu=new $n((function(){return n.getRect()}),!a),this.selector=new xe(r),this.overlayerCEl=c("div","".concat(te,"-overlayer-content")).children(this.editor.el,this.selector.el),this.overlayerEl=c("div","".concat(te,"-overlayer")).child(this.overlayerCEl),this.sortFilter=new nf,this.el.children(this.tableEl,this.overlayerEl.el,this.rowResizer.el,this.colResizer.el,this.verticalScrollbar.el,this.horizontalScrollbar.el,this.contextMenu.el,this.modalValidation.el,this.sortFilter.el),this.table=new kn(this.tableEl.el,r),Ff.call(this),wf.call(this),hf.call(this,!1,0,0)}var e,r,n;return e=t,(r=[{key:"on",value:function(t,e){return this.eventMap.on(t,e),this}},{key:"trigger",value:function(t){for(var e=this.eventMap,r=arguments.length,n=new Array(r>1?r-1:0),i=1;it.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:function(){},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){};Yf(this,t),this.swapFunc=n,this.updateFunc=o,this.dataNames=[],this.activeEl=null,this.deleteEl=null,this.items=[],this.moreEl=new ts((function(t){e.clickSwap2(e.items[t])})),this.contextMenu=new is,this.contextMenu.itemClick=i,this.el=c("div","".concat(te,"-bottombar")).children(this.contextMenu.el,this.menuEl=c("ul","".concat(te,"-menu")).child(c("li","").children(new $e("add").on("click",(function(){r()})),c("span","").child(this.moreEl))))}return Zf(t,[{key:"addItem",value:function(t,e,r){var n=this;this.dataNames.push(t);var i=c("li",e?"active":"").child(t);i.on("click",(function(){n.clickSwap2(i)})).on("contextmenu",(function(t){if("read"!==r.mode){var e=t.target,o=e.offsetLeft,l=e.offsetHeight;n.contextMenu.setOffset({left:o,bottom:l+1}),n.deleteEl=i}})).on("dblclick",(function(){if("read"!==r.mode){var t=i.html(),e=new Nc("auto","");e.val(t),e.input.on("blur",(function(e){var r=e.target.value,i=n.dataNames.findIndex((function(e){return e===t}));n.renameItem(i,r)})),i.html("").child(e.el),e.focus()}})),e&&this.clickSwap(i),this.items.push(i),this.menuEl.child(i),this.moreEl.reset(this.dataNames)}},{key:"renameItem",value:function(t,e){this.dataNames.splice(t,1,e),this.moreEl.reset(this.dataNames),this.items[t].html("").child(e),this.updateFunc(t,e)}},{key:"clear",value:function(){var t=this;this.items.forEach((function(e){t.menuEl.removeChild(e.el)})),this.items=[],this.dataNames=[],this.moreEl.reset(this.dataNames)}},{key:"deleteItem",value:function(){var t=this.activeEl,e=this.deleteEl;if(this.items.length>1){var r=this.items.findIndex((function(t){return t===e}));if(this.items.splice(r,1),this.dataNames.splice(r,1),this.menuEl.removeChild(e.el),this.moreEl.reset(this.dataNames),t===e){var n=Uf(this.items,1)[0];return this.activeEl=n,this.activeEl.toggle(),[r,0]}return[r,-1]}return[-1]}},{key:"clickSwap2",value:function(t){var e=this.items.findIndex((function(e){return e===t}));this.clickSwap(t),this.activeEl.toggle(),this.swapFunc(e)}},{key:"clickSwap",value:function(t){null!==this.activeEl&&this.activeEl.toggle(),this.activeEl=t}}]),t}();r(1);function ls(t){return(ls="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function as(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return us(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return us(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function us(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&void 0!==arguments[1]?arguments[1]:{};hs(this,t);var i=e;this.options=fs({showBottomBar:!0},n),this.sheetIndex=1,this.datas=[],"string"==typeof e&&(i=document.querySelector(e)),this.bottombar=this.options.showBottomBar?new os((function(){if("read"!==r.options.mode){var t=r.addSheet();r.sheet.resetData(t)}}),(function(t){var e=r.datas[t];r.sheet.resetData(e)}),(function(){r.deleteSheet()}),(function(t,e){r.datas[t].name=e,r.sheet.trigger("change")})):null,this.data=this.addSheet();var o=c("div","".concat(te)).on("contextmenu",(function(t){return t.preventDefault()}));i.appendChild(o.el),this.sheet=new Wf(o,this.data),null!==this.bottombar&&o.child(this.bottombar.el)}var e,r,n;return e=t,n=[{key:"locale",value:function(t,e){yt(t,e)}}],(r=[{key:"addSheet",value:function(t){var e=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=t||"sheet".concat(this.sheetIndex),i=new Ut(n,this.options);return i.change=function(){for(var t,r=arguments.length,n=new Array(r),i=0;i=0&&(this.datas.splice(e,1),r>=0&&this.sheet.resetData(this.datas[r]),this.sheet.trigger("change"))}}},{key:"loadData",value:function(t){var e=Array.isArray(t)?t:[t];if(null!==this.bottombar&&this.bottombar.clear(),this.datas=[],e.length>0)for(var r=0;r3&&void 0!==arguments[3]?arguments[3]:0;return this.datas[n].setCellText(t,e,r,"finished"),this}},{key:"cell",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.datas[r].getCell(t,e)}},{key:"cellStyle",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.datas[r].getCellStyle(t,e)}},{key:"reRender",value:function(){return this.sheet.table.render(),this}},{key:"on",value:function(t,e){return this.sheet.on(t,e),this}},{key:"validate",value:function(){return this.data.validations.errors.size<=0}},{key:"change",value:function(t){return this.sheet.on("change",t),this}}])&&ys(e.prototype,r),n&&ys(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}(),ds=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new vs(t,e)};window&&(window.x_spreadsheet=ds,window.x_spreadsheet.locale=function(t,e){return yt(t,e)});e.default=vs}]); //# sourceMappingURL=xspreadsheet.js.map \ No newline at end of file diff --git a/dist/xspreadsheet.js.map b/dist/xspreadsheet.js.map index 5312ba8e..c7ba5e24 100644 --- a/dist/xspreadsheet.js.map +++ b/dist/xspreadsheet.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/component/element.js","webpack:///./src/core/alphabet.js","webpack:///./src/core/cell_range.js","webpack:///./src/core/selector.js","webpack:///./src/core/scroll.js","webpack:///./src/core/history.js","webpack:///./src/core/clipboard.js","webpack:///./src/core/auto_filter.js","webpack:///./src/core/merge.js","webpack:///./src/core/helper.js","webpack:///./src/core/row.js","webpack:///./src/core/col.js","webpack:///./src/locale/locale.js","webpack:///./src/locale/en.js","webpack:///./src/core/validator.js","webpack:///./src/core/validation.js","webpack:///./src/core/data_proxy.js","webpack:///./src/component/event.js","webpack:///./src/config.js","webpack:///./src/component/resizer.js","webpack:///./src/component/scrollbar.js","webpack:///./src/component/selector.js","webpack:///./src/component/suggest.js","webpack:///./src/component/icon.js","webpack:///./src/component/calendar.js","webpack:///./src/component/datepicker.js","webpack:///./src/component/editor.js","webpack:///./src/component/button.js","webpack:///./src/canvas/draw.js","webpack:///./src/core/font.js","webpack:///./src/core/cell.js","webpack:///./src/core/formula.js","webpack:///./src/core/format.js","webpack:///./src/component/table.js","webpack:///./src/component/print.js","webpack:///./src/component/contextmenu.js","webpack:///./src/component/toolbar/item.js","webpack:///./src/component/tooltip.js","webpack:///./src/component/toolbar/dropdown_item.js","webpack:///./src/component/dropdown.js","webpack:///./src/component/dropdown_align.js","webpack:///./src/component/toolbar/align.js","webpack:///./src/component/toolbar/valign.js","webpack:///./src/component/toolbar/toggle_item.js","webpack:///./src/component/toolbar/autofilter.js","webpack:///./src/component/toolbar/bold.js","webpack:///./src/component/toolbar/italic.js","webpack:///./src/component/toolbar/strike.js","webpack:///./src/component/toolbar/underline.js","webpack:///./src/component/color_palette.js","webpack:///./src/component/dropdown_color.js","webpack:///./src/component/dropdown_linetype.js","webpack:///./src/component/border_palette.js","webpack:///./src/component/dropdown_border.js","webpack:///./src/component/toolbar/border.js","webpack:///./src/component/toolbar/icon_item.js","webpack:///./src/component/toolbar/clearformat.js","webpack:///./src/component/toolbar/paintformat.js","webpack:///./src/component/toolbar/text_color.js","webpack:///./src/component/toolbar/fill_color.js","webpack:///./src/component/dropdown_fontsize.js","webpack:///./src/component/toolbar/font_size.js","webpack:///./src/component/dropdown_font.js","webpack:///./src/component/toolbar/font.js","webpack:///./src/component/dropdown_format.js","webpack:///./src/component/toolbar/format.js","webpack:///./src/component/dropdown_formula.js","webpack:///./src/component/toolbar/formula.js","webpack:///./src/component/toolbar/freeze.js","webpack:///./src/component/toolbar/merge.js","webpack:///./src/component/toolbar/redo.js","webpack:///./src/component/toolbar/undo.js","webpack:///./src/component/toolbar/print.js","webpack:///./src/component/toolbar/textwrap.js","webpack:///./src/component/toolbar/more.js","webpack:///./src/component/toolbar/index.js","webpack:///./src/component/modal.js","webpack:///./src/component/form_input.js","webpack:///./src/component/form_select.js","webpack:///./src/component/form_field.js","webpack:///./src/component/modal_validation.js","webpack:///./src/component/sort_filter.js","webpack:///./src/component/message.js","webpack:///./src/component/sheet.js","webpack:///./src/component/bottombar.js","webpack:///./src/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","Element","tag","className","arguments","length","undefined","_classCallCheck","this","el","document","createElement","data","eventNames","handler","_eventNames$split2","_toArray","split","fen","oen","slice","eventName","test","window","navigator","userAgent","addEventListener","evt","k","button","stopPropagation","_this","keys","forEach","css","concat","_this$el","top","offsetTop","left","offsetLeft","height","offsetHeight","width","offsetWidth","v","scrollLeft","scrollTop","getBoundingClientRect","parentNode","_this2","_len","eles","Array","_key","childNodes","ele","child","removeChild","arg","createTextNode","appendChild","contains","classList","add","remove","cls","toggleClass","toggle","flag","addClass","removeClass","active","_this3","setAttribute","getAttribute","removeAttribute","content","innerHTML","focus","_this4","_len2","_key2","style","removeProperty","_this5","getComputedStyle","h","alphabets","stringAt","index","str","cindex","parseInt","last","indexAt","ret","charCodeAt","exponet","Math","pow","expr2xy","src","x","y","charAt","xy2expr","expr2expr","xn","yn","condition","_expr2xy2","_slicedToArray","CellRange","sri","sci","eri","eci","w","cell_range_classCallCheck","ref","refs","_expr2xy4","cell_range_slicedToArray","_expr2xy6","ri","ci","args","_expr2xy","cb","rowFilter","j","other","addRet","push","dsr","dsc","der","dec","multiple","Selector","selector_classCallCheck","range","size","Scroll","scroll_classCallCheck","History","history_classCallCheck","undoItems","redoItems","JSON","stringify","currentd","canUndo","parse","pop","canRedo","Clipboard","clipboard_classCallCheck","state","cellRange","Filter","operator","auto_filter_classCallCheck","includes","Sort","order","AutoFilter","filters","sort","_ref","map","it","getData","filter","getFilter","set","hrange","getCell","rset","Set","fset","_this$range","cell","ctext","text","_this$range2","cnt","valueOf","Merges","merge_classCallCheck","_","cr","within","intersects","union","deleteWithin","type","cbWithin","rn","cn","it1","merges","merge","toString","mergeDeep","sources","source","isArray","digits","a","numberCalc","a1","a2","Number","isNaN","al1","al2","num1","num2","toFixed","max","helper","cloneDeep","obj","apply","equals","obj1","obj2","v1","v2","ai","arrayEquals","sum","objOrAry","total","rangeEach","min","rangeSum","getv","rangeReduceIf","inits","initv","ifv","deleteProperty","oldv","Rows","len","row_classCallCheck","isHide","row","getOrNew","idx","setHide","hide","exceptSet","has","getHeight","sumHeight","cells","what","getCellOrNew","editable","srcCellRange","dstCellRange","autofill","dsri","dsci","deri","deci","_srcCellRange$size","_srcCellRange$size2","row_slicedToArray","_dstCellRange$size","_dstCellRange$size2","drn","dcn","isAdd","dn","ii","jj","nri","nci","ncell","replace","word","result","exec","substring","setCell","ncellmm","each","eachCells","setCellText","ndata","_this6","rndata","_this7","_this8","deleteCell","col","ks","entries","_ref2","_ref3","_ref4","_ref5","assign","Cols","indexWidth","minWidth","col_classCallCheck","getWidth","sumWidth","$languages","$messages","en","toolbar","undo","redo","print","paintformat","clearformat","format","fontName","fontSize","fontBold","fontItalic","underline","strike","color","bgcolor","border","align","valign","textwrap","freeze","autofilter","formula","more","contextmenu","copy","cut","paste","pasteValue","pasteFormat","insertRow","insertColumn","deleteSheet","deleteRow","deleteColumn","deleteCellText","validation","cellprintable","cellnonprintable","celleditable","cellnoneditable","orientation","orientations","normal","number","percent","rmb","usd","eur","date","time","datetime","duration","average","_if","and","or","required","notMatch","between","notBetween","notIn","equal","notEqual","lessThan","lessThanEqual","greaterThan","greaterThanEqual","error","pasteForMergedCell","calendar","weeks","months","next","cancel","save","ok","desc","asc","empty","dataValidation","criteria","modeType","column","list","phone","email","be","nbe","lt","lte","gt","gte","eq","neq","translate","messages","_i","_$languages","lang","message","match","x_spreadsheet","tf","locale","unshift","rules","returnMessage","Validator","validator_classCallCheck","Date","values","parseValue","_value","validator_slicedToArray","_value2","Validation","validator","validation_classCallCheck","nrefs","difference","Validations","errors","Map","_v$validator$validate2","validation_slicedToArray","validate","getByValidator","addRef","defaultSettings","view","documentElement","clientHeight","clientWidth","showGrid","showToolbar","showContextmenu","showBottomBar","font","bold","italic","canPaste","dst","clone","_src$size2","data_proxy_slicedToArray","srn","scn","_dst$size2","copyPaste","rows","deleteCells","_cell$merge","cutPaste","clipboard","move","clear","setStyleBorder","bss","styles","cstyle","addStyle","DataProxy","settings","data_proxy_classCallCheck","cols","validations","hyperlinks","comments","selector","scroll","history","autoFilter","change","exceptRowSet","sortedRowMap","unsortedRowMap","changeData","_this$selector","_this$selector2","setData","copyText","rowData","cellText","String","indexOf","writeText","then","err","console","log","isClear","isCopy","isCut","txt","lines","srcRange","_selector$range2","cri","cci","getFirstIncludes","unmerge","_selector$range","isSingleSelected","mergeIndexes","_merges$ii","mri","mci","splice","_cell$merge2","mrl","mcl","bottom","right","getCellMerge","_selector$size2","nfont","oldCell","oldText","vIndex","findIndex","_this$selector3","_this$getSelectedRect","getSelectedRect","x1","y1","getRect","left0","top0","fsh","freezeTotalHeight","fsw","freezeTotalWidth","_getCellRowByY$call","scrollOffsety","frset","_getCellColByX$call","scrollOffsetx","_helper$rangeReduceIf2","totalWidth","totalHeight","_this$cellRect","cellRect","_this$selector$range","_cell$merge3","_this$selector$range2","_cell$merge4","_this9","_selector$size4","_selector$range3","_this10","_selector$range4","_this11","addFilter","setSort","resetAutoFilter","_this12","_autoFilter$filteredR","filteredRows","fary","from","oldAry","b","_this13","_this14","_this14$selector$rang","si","insert","shift","_this15","_selector$range5","_selector$range$size2","rsize","csize","fci","_helper$rangeReduceIf4","fri","_helper$rangeReduceIf6","_cell$merge5","cellStyle","defaultStyle","_this$selector4","getCellStyleOrDefault","_this$freeze","_this16","_this17","setHeight","_this18","setWidth","_this$settings","_this$freeze2","_rows$maxCell2","maxCell","exceptRows","exceptRowTH","viewHeight","viewWidth","viewRange","filterIntersects","_selector$size6","rlen","clen","_selector$range6","unhide","frary","_toConsumableArray","offset","rowHeight","colWidth","nstyle","_this19","target","fn","unbind","removeEventListener","unbindClickoutside","xclickoutside","body","bindClickoutside","detail","mouseMoveUp","movefunc","upfunc","xEvtUp","calTouchDirection","spanx","spany","abs","cssPrefix","devicePixelRatio","Resizer","vertical","minDistance","resizer_classCallCheck","moving","children","unhideHoverEl","on","mousedblclickHandler","hoverEl","mousedownHandler","lineEl","cRect","finishedFn","unhideFn","unhideIndex","show","rect","line","hideUnhide","startEvt","distance","e","buttons","movementX","movementY","Scrollbar","scrollbar_classCallCheck","moveFn","contentEl","_evt$target","contentDistance","cssKey","startZIndex","SelectorElement","useHideInput","component_selector_classCallCheck","inputChange","cornerEl","areaEl","clipboardEl","autofillEl","hideInput","hideInputDiv","of","val","calBRAreaOffset","ftwidth","ftheight","calTAreaOffset","calLAreaOffset","setBRAreaOffset","br","setAreaOffset","setTAreaOffset","setLAreaOffset","setLClipboardOffset","setClipboardOffset","setBRClipboardOffset","setTClipboardOffset","setAllAreaOffset","tl","setAllClipboardOffset","areaOffset","indexes","arange","lastri","lastci","resetAreaOffset","freezeHeight","freezeWidth","setOffset","coffset","getClipboardRect","resetOffset","indexesUpdated","calSelectedRangeByStart","setIndexes","moveIndexes","calSelectedRangeByEnd","_this$data$selector$r","setEnd","ern","ecn","showAutofill","hideAutofill","showClipboard","hideClipboard","inputEnter","preventDefault","filterItems","itemIndex","click","Suggest","items","itemClick","suggest_classCallCheck","cssRemoveKeys","parent","_el$html","startsWith","toUpperCase","title","item","label","html","suggest_toConsumableArray","input","keyCode","ctrlKey","Icon","icon_classCallCheck","_possibleConstructorReturn","_getPrototypeOf","iconNameEl","addMonth","step","setMonth","getMonth","weekday","setDate","getDay","Calendar","_h","calendar_classCallCheck","cvalue","headerLeftEl","bodyEl","buildAll","prev","calendar_toConsumableArray","week","selectChange","buildHeaderLeft","buildBody","getFullYear","_bodyEl$html","trs","year","month","cdate","startDate","datess","disabled","getDate","monthDays","_h2","tds","Datepicker","datepicker_classCallCheck","setValue","RegExp","resetTextareaSize","inputText","textlineEl","textEl","txts","maxTxtSize","editor_toConsumableArray","fontWidth","tlineWidth","maxWidth","viewFn","h1","twidth","keydownEventHandler","altKey","itxt","selectionEnd","ntxt","setSelectionRange","setText","position","blur","setTimeout","Editor","formulas","editor_classCallCheck","suggest","start","lastIndexOf","sit","eit","datepicker","dateFormat","search","bindInputEvents","setItems","suggestPosition","elOffset","sOffset","Button","button_classCallCheck","button_possibleConstructorReturn","button_getPrototypeOf","dpr","thinLineWidth","npx","px","npxLine","DrawBox","padding","draw_classCallCheck","borderTop","borderRight","borderBottom","borderLeft","drawFontLine","tx","ty","blheight","blwidth","floffset","Draw","ctx","getContext","resize","scale","clearRect","options","beginPath","restore","fillRect","fillText","mtxt","box","attr","textWrap","textx","textAlign","textBaseline","fillStyle","strokeStyle","biw","innerWidth","ntxts","txtWidth","measureText","textLine","substr","txtHeight","texty","lineWidth","setLineDash","draw_slicedToArray","moveTo","lineTo","stroke","draw_toConsumableArray","topxys","rightxys","bottomxys","leftxys","sx","sy","closePath","fill","dtextcb","clip","baseFonts","fontSizes","pt","infixExprToSuffixExpr","operatorStack","stack","subStrs","fnArgType","fnArgOperator","fnArgsLen","oldc","join","c1","cell_slicedToArray","ex","ey","rangelen","nc","evalSubExpr","subExpr","cellRender","fl","expr","evalSuffixExpr","srcStack","formulaMap","cellList","fc","_expr","params","render","reverse","core_cell","getCellText","baseFormulas","ary","reduce","formula_toConsumableArray","formula_slicedToArray","f","every","some","formulam","formatStringRender","formatNumberRender","_v1$split2","format_toArray","first","parts","format_toConsumableArray","baseFormats","formatm","cellPaddingWidth","tableFixedHeaderCleanStyle","tableGridStyle","getDrawBox","rindex","yoffset","_data$cellRect","renderCell","draw","nrindex","frozen","dbox","setBorders","strokeBorders","evalPaused","_cell","getCellTextOrDefault","getFontSizePxByPt","getError","renderContent","fw","fh","exceptRowTotalHeight","filteredTranslateFunc","eachMergesInView","afRange","dropdown","renderSelectedHeaderCell","renderFixedHeaders","nty","ntx","_data$selector$range","rowEach","colEach","renderContentGrid","ch","cw","Table","table_classCallCheck","_data$scroll","_data$freeze","table_slicedToArray","vr","freezeViewRange","ftw","fth","theight","PAGER_SIZES","PAGER_ORIENTATIONS","inches2px","inc","btnClick","toPrint","Print","print_classCallCheck","paper","print_toConsumableArray","ps","preview","iwidth","iheight","contentRange","pages","canvases","mViewRange","_loop","th","yo","wrap","canvas","rh","yof","contentWindow","idoc","head","cloneNode","drawImage","menuItems","buildMenu","ContextMenu","contextmenu_classCallCheck","contextmenu_toConsumableArray","setMode","hideEl","vhf","Item","shortcut","item_classCallCheck","tip","element","_target$getBoundingCl","elBox","tooltip","DropdownItem","dd","getValue","_get","dropdown_item_getPrototypeOf","setTitle","Dropdown","showArrow","placement","dropdown_classCallCheck","dropdown_possibleConstructorReturn","dropdown_getPrototypeOf","headerClick","setContentChildren","headerEl","_this$contentEl","DropdownAlign","aligns","_getPrototypeOf2","dropdown_align_classCallCheck","icon","naligns","iconName","dropdown_align_possibleConstructorReturn","dropdown_align_getPrototypeOf","dropdown_align_toConsumableArray","setName","Align","align_classCallCheck","align_possibleConstructorReturn","align_getPrototypeOf","Valign","valign_classCallCheck","valign_possibleConstructorReturn","valign_getPrototypeOf","ToggleItem","toggle_item_get","toggle_item_getPrototypeOf","hasClass","Autofilter","autofilter_classCallCheck","autofilter_possibleConstructorReturn","autofilter_getPrototypeOf","Bold","bold_classCallCheck","bold_possibleConstructorReturn","bold_getPrototypeOf","Italic","italic_classCallCheck","italic_possibleConstructorReturn","italic_getPrototypeOf","Strike","strike_classCallCheck","strike_possibleConstructorReturn","strike_getPrototypeOf","Underline","underline_classCallCheck","underline_possibleConstructorReturn","underline_getPrototypeOf","themeColorPlaceHolders","themeColors","standardColors","buildTd","ColorPalette","_h4","color_palette_classCallCheck","table","color_palette_toConsumableArray","_h3","DropdownColor","dropdown_color_classCallCheck","colorPalette","dropdown_color_possibleConstructorReturn","dropdown_color_getPrototypeOf","lineTypes","DropdownLineType","dropdown_linetype_classCallCheck","beforei","lineTypeEls","iti","dropdown_linetype_possibleConstructorReturn","dropdown_linetype_getPrototypeOf","dropdown_linetype_toConsumableArray","buildTable","BorderPalette","border_palette_classCallCheck","ddColor","ddType","border_palette_slicedToArray","border_palette_toConsumableArray","DropdownBorder","dropdown_border_classCallCheck","borderPalette","dropdown_border_possibleConstructorReturn","dropdown_border_getPrototypeOf","Border","border_classCallCheck","border_possibleConstructorReturn","border_getPrototypeOf","IconItem","icon_item_get","icon_item_getPrototypeOf","Clearformat","clearformat_classCallCheck","clearformat_possibleConstructorReturn","clearformat_getPrototypeOf","Paintformat","paintformat_classCallCheck","paintformat_possibleConstructorReturn","paintformat_getPrototypeOf","TextColor","text_color_classCallCheck","text_color_possibleConstructorReturn","text_color_getPrototypeOf","FillColor","fill_color_classCallCheck","fill_color_possibleConstructorReturn","fill_color_getPrototypeOf","DropdownFontSize","dropdown_fontsize_classCallCheck","nfontSizes","dropdown_fontsize_possibleConstructorReturn","dropdown_fontsize_getPrototypeOf","dropdown_fontsize_toConsumableArray","Format","font_size_classCallCheck","font_size_possibleConstructorReturn","font_size_getPrototypeOf","DropdownFontsize","DropdownFont","dropdown_font_classCallCheck","nfonts","dropdown_font_possibleConstructorReturn","dropdown_font_getPrototypeOf","dropdown_font_toConsumableArray","Font","font_classCallCheck","font_possibleConstructorReturn","font_getPrototypeOf","DropdownFormat","dropdown_format_classCallCheck","nformats","dropdown_format_possibleConstructorReturn","dropdown_format_getPrototypeOf","dropdown_format_toConsumableArray","format_classCallCheck","format_possibleConstructorReturn","format_getPrototypeOf","DropdownFormula","dropdown_formula_classCallCheck","nformulas","dropdown_formula_possibleConstructorReturn","dropdown_formula_getPrototypeOf","dropdown_formula_toConsumableArray","formula_classCallCheck","formula_possibleConstructorReturn","formula_getPrototypeOf","Freeze","freeze_classCallCheck","freeze_possibleConstructorReturn","freeze_getPrototypeOf","Merge","toolbar_merge_classCallCheck","merge_possibleConstructorReturn","merge_getPrototypeOf","Redo","redo_classCallCheck","redo_possibleConstructorReturn","redo_getPrototypeOf","Undo","undo_classCallCheck","undo_possibleConstructorReturn","undo_getPrototypeOf","toolbar_print_classCallCheck","print_possibleConstructorReturn","print_getPrototypeOf","Textwrap","textwrap_classCallCheck","textwrap_possibleConstructorReturn","textwrap_getPrototypeOf","DropdownMore","more_classCallCheck","moreBtns","more_possibleConstructorReturn","more_getPrototypeOf","More","buildDivider","moreResize","_btns$html","_moreBtns$html","btns","moreEl","btns2","_moreEl$dd","widthFn","sumWidth2","list1","list2","toolbar_slicedToArray","genBtn","btn","onClick","Toolbar","toolbar_classCallCheck","undoEl","redoEl","paintformatEl","clearformatEl","formatEl","fontEl","fontSizeEl","FontSize","boldEl","italicEl","underlineEl","strikeEl","textColorEl","fillColorEl","borderEl","mergeEl","alignEl","valignEl","textwrapEl","freezeEl","autofilterEl","formulaEl","Formula","_data$settings$extend","extendToolbar","reset","_el$computedStyle","computedStyle","marginLeft","marginRight","_it$computedStyle","getSelectedCellStyle","setState","canUnmerge","canAutofilter","freezeIsActive","Modal","modal_classCallCheck","modal_toConsumableArray","dimmer","_this$el$show$box","_document$documentEle","xkeydownEsc","FormInput","hint","form_input_classCallCheck","vchange","FormSelect","getTitle","form_select_classCallCheck","itemEl","patterns","FormField","rule","labelWidth","form_field_classCallCheck","pattern","fieldLabelWidth","ModalValidation","modal_validation_classCallCheck","mf","rf","cf","criteriaSelected","criteriaOperatorSelected","minvf","maxvf","svf","vf","modal_validation_possibleConstructorReturn","modal_validation_getPrototypeOf","action","attrs","field","isShow","clsName","buildSortItem","resetFilterHeader","filterhEl","filterValues","checked","SortFilter","sort_filter_classCallCheck","filterbEl","filterClick","sortAscEl","sortDescEl","sortDesc","tindex","xtoast","_el$box","throttle","func","wait","timeout","that","selectorSet","contextMenu","trigger","selectorMove","direction","_selector$indexes","sheet_slicedToArray","_selector$moveIndexes","verticalScrollbar","horizontalScrollbar","_data$getSelectedRect","tableOffset","getTableOffset","verticalScrollbarSet","erth","horizontalScrollbarSet","sheetReset","tableEl","overlayerEl","overlayerCEl","tOffset","vRect","editor","fwidth","fheight","setFreezeLengths","clearClipboard","copyToSystemClipboard","msg","cdata","clipboardData","pasteFromText","unhideRowsOrCols","overlayerMousedown","sortFilter","offsetX","offsetY","isAutofillEl","getCellRectByXY","getSort","shiftKey","_data$getCellRectByXY","paintformatActive","paintformatToggle","editorSetOffset","sPosition","editorSet","getSelectedCell","getSelectedValidator","dataSetCellText","setSelectedCellText","_data$selector","insertDeleteRowColumn","setSelectedCellAttr","toolbarChange","_data$selector2","sheetInitEvents","end","startx","starty","rowResizer","colResizer","modalValidation","tRect","showUnhide","xyInSelectedRect","setPosition","deltaY","deltaX","loopValue","vFunc","moveY","tempY","tempX","temp","horizontal","moveX","_evt$touches$","touches","pageX","pageY","_evt$changedTouches$","changedTouches","_evt$changedTouches$2","setAutoFilter","scrolly","resetBRLAreaOffset","scrollx","resetBRTAreaOffset","itext","_this5$data","addValidation","removeValidation","getSelectedValidation","hideRowsOrCols","reload","focusing","which","metaKey","Sheet","targetEl","sheet_classCallCheck","eventMap","listeners","callback","currentListener","removeListener","current","once","execCalllback","fire","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","iterator","done","event_toConsumableArray","removeAllListeners","createEventEmitter","_data$settings","_len3","_key3","resetData","setFreeze","_this$data","_this$getRect","bottombar_classCallCheck","bottombar_possibleConstructorReturn","bottombar_getPrototypeOf","contentClick","bottombar_toConsumableArray","_h$css","Bottombar","addFunc","swapFunc","deleteFunc","updateFunc","dataNames","activeEl","deleteEl","clickSwap2","menuEl","nindex","renameItem","clickSwap","bottombar_slicedToArray","Spreadsheet","selectors","src_classCallCheck","_objectSpread","sheetIndex","datas","querySelector","bottombar","addSheet","sheet","rootEl","_this2$sheet","addItem","_this$bottombar$delet2","src_slicedToArray","deleteItem","oldIndex","ds","nd","getCellStyle","spreadsheet"],"mappings":"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","file":"xspreadsheet.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n","/* global document */\n/* global window */\nclass Element {\n constructor(tag, className = '') {\n if (typeof tag === 'string') {\n this.el = document.createElement(tag);\n this.el.className = className;\n } else {\n this.el = tag;\n }\n this.data = {};\n }\n\n data(key, value) {\n if (value !== undefined) {\n this.data[key] = value;\n return this;\n }\n return this.data[key];\n }\n\n on(eventNames, handler) {\n const [fen, ...oen] = eventNames.split('.');\n let eventName = fen;\n if (eventName === 'mousewheel' && /Firefox/i.test(window.navigator.userAgent)) {\n eventName = 'DOMMouseScroll';\n }\n this.el.addEventListener(eventName, (evt) => {\n handler(evt);\n for (let i = 0; i < oen.length; i += 1) {\n const k = oen[i];\n if (k === 'left' && evt.button !== 0) {\n return;\n }\n if (k === 'right' && evt.button !== 2) {\n return;\n }\n if (k === 'stop') {\n evt.stopPropagation();\n }\n }\n });\n return this;\n }\n\n offset(value) {\n if (value !== undefined) {\n Object.keys(value).forEach((k) => {\n this.css(k, `${value[k]}px`);\n });\n return this;\n }\n const {\n offsetTop, offsetLeft, offsetHeight, offsetWidth,\n } = this.el;\n return {\n top: offsetTop,\n left: offsetLeft,\n height: offsetHeight,\n width: offsetWidth,\n };\n }\n\n scroll(v) {\n const { el } = this;\n if (v !== undefined) {\n if (v.left !== undefined) {\n el.scrollLeft = v.left;\n }\n if (v.top !== undefined) {\n el.scrollTop = v.top;\n }\n }\n return { left: el.scrollLeft, top: el.scrollTop };\n }\n\n box() {\n return this.el.getBoundingClientRect();\n }\n\n parent() {\n return new Element(this.el.parentNode);\n }\n\n children(...eles) {\n if (arguments.length === 0) {\n return this.el.childNodes;\n }\n eles.forEach(ele => this.child(ele));\n return this;\n }\n\n removeChild(el) {\n this.el.removeChild(el);\n }\n\n /*\n first() {\n return this.el.firstChild;\n }\n\n last() {\n return this.el.lastChild;\n }\n\n remove(ele) {\n return this.el.removeChild(ele);\n }\n\n prepend(ele) {\n const { el } = this;\n if (el.children.length > 0) {\n el.insertBefore(ele, el.firstChild);\n } else {\n el.appendChild(ele);\n }\n return this;\n }\n\n prev() {\n return this.el.previousSibling;\n }\n\n next() {\n return this.el.nextSibling;\n }\n */\n\n child(arg) {\n let ele = arg;\n if (typeof arg === 'string') {\n ele = document.createTextNode(arg);\n } else if (arg instanceof Element) {\n ele = arg.el;\n }\n this.el.appendChild(ele);\n return this;\n }\n\n contains(ele) {\n return this.el.contains(ele);\n }\n\n className(v) {\n if (v !== undefined) {\n this.el.className = v;\n return this;\n }\n return this.el.className;\n }\n\n addClass(name) {\n this.el.classList.add(name);\n return this;\n }\n\n hasClass(name) {\n return this.el.classList.contains(name);\n }\n\n removeClass(name) {\n this.el.classList.remove(name);\n return this;\n }\n\n toggle(cls = 'active') {\n return this.toggleClass(cls);\n }\n\n toggleClass(name) {\n return this.el.classList.toggle(name);\n }\n\n active(flag = true, cls = 'active') {\n if (flag) this.addClass(cls);\n else this.removeClass(cls);\n return this;\n }\n\n checked(flag = true) {\n this.active(flag, 'checked');\n return this;\n }\n\n disabled(flag = true) {\n if (flag) this.addClass('disabled');\n else this.removeClass('disabled');\n return this;\n }\n\n // key, value\n // key\n // {k, v}...\n attr(key, value) {\n if (value !== undefined) {\n this.el.setAttribute(key, value);\n } else {\n if (typeof key === 'string') {\n return this.el.getAttribute(key);\n }\n Object.keys(key).forEach((k) => {\n this.el.setAttribute(k, key[k]);\n });\n }\n return this;\n }\n\n removeAttr(key) {\n this.el.removeAttribute(key);\n return this;\n }\n\n html(content) {\n if (content !== undefined) {\n this.el.innerHTML = content;\n return this;\n }\n return this.el.innerHTML;\n }\n\n val(v) {\n if (v !== undefined) {\n this.el.value = v;\n return this;\n }\n return this.el.value;\n }\n\n focus() {\n this.el.focus();\n }\n\n cssRemoveKeys(...keys) {\n keys.forEach(k => this.el.style.removeProperty(k));\n return this;\n }\n\n // css( propertyName )\n // css( propertyName, value )\n // css( properties )\n css(name, value) {\n if (value === undefined && typeof name !== 'string') {\n Object.keys(name).forEach((k) => {\n this.el.style[k] = name[k];\n });\n return this;\n }\n if (value !== undefined) {\n this.el.style[name] = value;\n return this;\n }\n return this.el.style[name];\n }\n\n computedStyle() {\n return window.getComputedStyle(this.el, null);\n }\n\n show() {\n this.css('display', 'block');\n return this;\n }\n\n hide() {\n this.css('display', 'none');\n return this;\n }\n}\n\nconst h = (tag, className = '') => new Element(tag, className);\n\nexport {\n Element,\n h,\n};\n","import './_.prototypes';\n\nconst alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];\n\n/** index number 2 letters\n * @example stringAt(26) ==> 'AA'\n * @date 2019-10-10\n * @export\n * @param {number} index\n * @returns {string}\n */\nexport function stringAt(index) {\n let str = '';\n let cindex = index;\n while (cindex >= alphabets.length) {\n cindex /= alphabets.length;\n cindex -= 1;\n str += alphabets[parseInt(cindex, 10) % alphabets.length];\n }\n const last = index % alphabets.length;\n str += alphabets[last];\n return str;\n}\n\n/** translate letter in A1-tag to number\n * @date 2019-10-10\n * @export\n * @param {string} str \"AA\" in A1-tag \"AA1\"\n * @returns {number}\n */\nexport function indexAt(str) {\n let ret = 0;\n for (let i = 0; i < str.length - 1; i += 1) {\n const cindex = str.charCodeAt(i) - 65;\n const exponet = str.length - 1 - i;\n ret += (alphabets.length ** exponet) + (alphabets.length * cindex);\n }\n ret += str.charCodeAt(str.length - 1) - 65;\n return ret;\n}\n\n// B10 => x,y\n/** translate A1-tag to XY-tag\n * @date 2019-10-10\n * @export\n * @param {tagA1} src\n * @returns {tagXY}\n */\nexport function expr2xy(src) {\n let x = '';\n let y = '';\n for (let i = 0; i < src.length; i += 1) {\n if (src.charAt(i) >= '0' && src.charAt(i) <= '9') {\n y += src.charAt(i);\n } else {\n x += src.charAt(i);\n }\n }\n return [indexAt(x), parseInt(y, 10) - 1];\n}\n\n/** translate XY-tag to A1-tag\n * @example x,y => B10\n * @date 2019-10-10\n * @export\n * @param {number} x\n * @param {number} y\n * @returns {tagA1}\n */\nexport function xy2expr(x, y) {\n return `${stringAt(x)}${y + 1}`;\n}\n\n/** translate A1-tag src by (xn, yn)\n * @date 2019-10-10\n * @export\n * @param {tagA1} src\n * @param {number} xn\n * @param {number} yn\n * @returns {tagA1}\n */\nexport function expr2expr(src, xn, yn, condition = () => true) {\n if (xn === 0 && yn === 0) return src;\n const [x, y] = expr2xy(src);\n if (!condition(x, y)) return src;\n return xy2expr(x + xn, y + yn);\n}\n\nexport default {\n stringAt,\n indexAt,\n expr2xy,\n xy2expr,\n expr2expr,\n};\n","import { xy2expr, expr2xy } from './alphabet';\n\nclass CellRange {\n constructor(sri, sci, eri, eci, w = 0, h = 0) {\n this.sri = sri;\n this.sci = sci;\n this.eri = eri;\n this.eci = eci;\n this.w = w;\n this.h = h;\n }\n\n set(sri, sci, eri, eci) {\n this.sri = sri;\n this.sci = sci;\n this.eri = eri;\n this.eci = eci;\n }\n\n multiple() {\n return this.eri - this.sri > 0 || this.eci - this.sci > 0;\n }\n\n // cell-index: ri, ci\n // cell-ref: A10\n includes(...args) {\n let [ri, ci] = [0, 0];\n if (args.length === 1) {\n [ci, ri] = expr2xy(args[0]);\n } else if (args.length === 2) {\n [ri, ci] = args;\n }\n const {\n sri, sci, eri, eci,\n } = this;\n return sri <= ri && ri <= eri && sci <= ci && ci <= eci;\n }\n\n each(cb, rowFilter = () => true) {\n const {\n sri, sci, eri, eci,\n } = this;\n for (let i = sri; i <= eri; i += 1) {\n if (rowFilter(i)) {\n for (let j = sci; j <= eci; j += 1) {\n cb(i, j);\n }\n }\n }\n }\n\n contains(other) {\n return this.sri <= other.sri\n && this.sci <= other.sci\n && this.eri >= other.eri\n && this.eci >= other.eci;\n }\n\n // within\n within(other) {\n return this.sri >= other.sri\n && this.sci >= other.sci\n && this.eri <= other.eri\n && this.eci <= other.eci;\n }\n\n // disjoint\n disjoint(other) {\n return this.sri > other.eri\n || this.sci > other.eci\n || other.sri > this.eri\n || other.sci > this.eci;\n }\n\n // intersects\n intersects(other) {\n return this.sri <= other.eri\n && this.sci <= other.eci\n && other.sri <= this.eri\n && other.sci <= this.eci;\n }\n\n // union\n union(other) {\n const {\n sri, sci, eri, eci,\n } = this;\n return new CellRange(\n other.sri < sri ? other.sri : sri,\n other.sci < sci ? other.sci : sci,\n other.eri > eri ? other.eri : eri,\n other.eci > eci ? other.eci : eci,\n );\n }\n\n // intersection\n // intersection(other) {}\n\n // Returns Array that represents that part of this that does not intersect with other\n // difference\n difference(other) {\n const ret = [];\n const addRet = (sri, sci, eri, eci) => {\n ret.push(new CellRange(sri, sci, eri, eci));\n };\n const {\n sri, sci, eri, eci,\n } = this;\n const dsr = other.sri - sri;\n const dsc = other.sci - sci;\n const der = eri - other.eri;\n const dec = eci - other.eci;\n if (dsr > 0) {\n addRet(sri, sci, other.sri - 1, eci);\n if (der > 0) {\n addRet(other.eri + 1, sci, eri, eci);\n if (dsc > 0) {\n addRet(other.sri, sci, other.eri, other.sci - 1);\n }\n if (dec > 0) {\n addRet(other.sri, other.eci + 1, other.eri, eci);\n }\n } else {\n if (dsc > 0) {\n addRet(other.sri, sci, eri, other.sci - 1);\n }\n if (dec > 0) {\n addRet(other.sri, other.eci + 1, eri, eci);\n }\n }\n } else if (der > 0) {\n addRet(other.eri + 1, sci, eri, eci);\n if (dsc > 0) {\n addRet(sri, sci, other.eri, other.sci - 1);\n }\n if (dec > 0) {\n addRet(sri, other.eci + 1, other.eri, eci);\n }\n }\n if (dsc > 0) {\n addRet(sri, sci, eri, other.sci - 1);\n if (dec > 0) {\n addRet(sri, other.eri + 1, eri, eci);\n if (dsr > 0) {\n addRet(sri, other.sci, other.sri - 1, other.eci);\n }\n if (der > 0) {\n addRet(other.sri + 1, other.sci, eri, other.eci);\n }\n } else {\n if (dsr > 0) {\n addRet(sri, other.sci, other.sri - 1, eci);\n }\n if (der > 0) {\n addRet(other.sri + 1, other.sci, eri, eci);\n }\n }\n } else if (dec > 0) {\n addRet(eri, other.eci + 1, eri, eci);\n if (dsr > 0) {\n addRet(sri, sci, other.sri - 1, other.eci);\n }\n if (der > 0) {\n addRet(other.eri + 1, sci, eri, other.eci);\n }\n }\n return ret;\n }\n\n size() {\n return [\n this.eri - this.sri + 1,\n this.eci - this.sci + 1,\n ];\n }\n\n toString() {\n const {\n sri, sci, eri, eci,\n } = this;\n let ref = xy2expr(sci, sri);\n if (this.multiple()) {\n ref = `${ref}:${xy2expr(eci, eri)}`;\n }\n return ref;\n }\n\n clone() {\n const {\n sri, sci, eri, eci, w, h,\n } = this;\n return new CellRange(sri, sci, eri, eci, w, h);\n }\n\n /*\n toJSON() {\n return this.toString();\n }\n */\n\n equals(other) {\n return this.eri === other.eri\n && this.eci === other.eci\n && this.sri === other.sri\n && this.sci === other.sci;\n }\n\n static valueOf(ref) {\n // B1:B8, B1 => 1 x 1 cell range\n const refs = ref.split(':');\n const [sci, sri] = expr2xy(refs[0]);\n let [eri, eci] = [sri, sci];\n if (refs.length > 1) {\n [eci, eri] = expr2xy(refs[1]);\n }\n return new CellRange(sri, sci, eri, eci);\n }\n}\n\nexport default CellRange;\n\nexport {\n CellRange,\n};\n","import { CellRange } from './cell_range';\n\nexport default class Selector {\n constructor() {\n this.range = new CellRange(0, 0, 0, 0);\n this.ri = 0;\n this.ci = 0;\n }\n\n multiple() {\n return this.range.multiple();\n }\n\n setIndexes(ri, ci) {\n this.ri = ri;\n this.ci = ci;\n }\n\n size() {\n return this.range.size();\n }\n}\n","export default class Scroll {\n constructor() {\n this.x = 0; // left\n this.y = 0; // top\n this.ri = 0; // cell row-index\n this.ci = 0; // cell col-index\n }\n}\n","// import helper from '../helper';\n\nexport default class History {\n constructor() {\n this.undoItems = [];\n this.redoItems = [];\n }\n\n add(data) {\n this.undoItems.push(JSON.stringify(data));\n this.redoItems = [];\n }\n\n canUndo() {\n return this.undoItems.length > 0;\n }\n\n canRedo() {\n return this.redoItems.length > 0;\n }\n\n undo(currentd, cb) {\n const { undoItems, redoItems } = this;\n if (this.canUndo()) {\n redoItems.push(JSON.stringify(currentd));\n cb(JSON.parse(undoItems.pop()));\n }\n }\n\n redo(currentd, cb) {\n const { undoItems, redoItems } = this;\n if (this.canRedo()) {\n undoItems.push(JSON.stringify(currentd));\n cb(JSON.parse(redoItems.pop()));\n }\n }\n}\n","export default class Clipboard {\n constructor() {\n this.range = null; // CellRange\n this.state = 'clear';\n }\n\n copy(cellRange) {\n this.range = cellRange;\n this.state = 'copy';\n return this;\n }\n\n cut(cellRange) {\n this.range = cellRange;\n this.state = 'cut';\n return this;\n }\n\n isCopy() {\n return this.state === 'copy';\n }\n\n isCut() {\n return this.state === 'cut';\n }\n\n isClear() {\n return this.state === 'clear';\n }\n\n clear() {\n this.range = null;\n this.state = 'clear';\n }\n}\n","import { CellRange } from './cell_range';\n// operator: all|eq|neq|gt|gte|lt|lte|in|be\n// value:\n// in => []\n// be => [min, max]\nclass Filter {\n constructor(ci, operator, value) {\n this.ci = ci;\n this.operator = operator;\n this.value = value;\n }\n\n set(operator, value) {\n this.operator = operator;\n this.value = value;\n }\n\n includes(v) {\n const { operator, value } = this;\n if (operator === 'all') {\n return true;\n }\n if (operator === 'in') {\n return value.includes(v);\n }\n return false;\n }\n\n vlength() {\n const { operator, value } = this;\n if (operator === 'in') {\n return value.length;\n }\n return 0;\n }\n\n getData() {\n const { ci, operator, value } = this;\n return { ci, operator, value };\n }\n}\n\nclass Sort {\n constructor(ci, order) {\n this.ci = ci;\n this.order = order;\n }\n\n asc() {\n return this.order === 'asc';\n }\n\n desc() {\n return this.order === 'desc';\n }\n}\n\nexport default class AutoFilter {\n constructor() {\n this.ref = null;\n this.filters = [];\n this.sort = null;\n }\n\n setData({ ref, filters, sort }) {\n if (ref != null) {\n this.ref = ref;\n this.filters = filters.map(it => new Filter(it.ci, it.operator, it.value));\n if (sort) {\n this.sort = new Sort(sort.ci, sort.order);\n }\n }\n }\n\n getData() {\n if (this.active()) {\n const { ref, filters, sort } = this;\n return { ref, filters: filters.map(it => it.getData()), sort };\n }\n return {};\n }\n\n addFilter(ci, operator, value) {\n const filter = this.getFilter(ci);\n if (filter == null) {\n this.filters.push(new Filter(ci, operator, value));\n } else {\n filter.set(operator, value);\n }\n }\n\n setSort(ci, order) {\n this.sort = order ? new Sort(ci, order) : null;\n }\n\n includes(ri, ci) {\n if (this.active()) {\n return this.hrange().includes(ri, ci);\n }\n return false;\n }\n\n getSort(ci) {\n const { sort } = this;\n if (sort && sort.ci === ci) {\n return sort;\n }\n return null;\n }\n\n getFilter(ci) {\n const { filters } = this;\n for (let i = 0; i < filters.length; i += 1) {\n if (filters[i].ci === ci) {\n return filters[i];\n }\n }\n return null;\n }\n\n filteredRows(getCell) {\n // const ary = [];\n // let lastri = 0;\n const rset = new Set();\n const fset = new Set();\n if (this.active()) {\n const { sri, eri } = this.range();\n const { filters } = this;\n for (let ri = sri + 1; ri <= eri; ri += 1) {\n for (let i = 0; i < filters.length; i += 1) {\n const filter = filters[i];\n const cell = getCell(ri, filter.ci);\n const ctext = cell ? cell.text : '';\n if (!filter.includes(ctext)) {\n rset.add(ri);\n break;\n } else {\n fset.add(ri);\n }\n }\n }\n }\n return { rset, fset };\n }\n\n items(ci, getCell) {\n const m = {};\n if (this.active()) {\n const { sri, eri } = this.range();\n for (let ri = sri + 1; ri <= eri; ri += 1) {\n const cell = getCell(ri, ci);\n if (cell !== null && !/^\\s*$/.test(cell.text)) {\n const key = cell.text;\n const cnt = (m[key] || 0) + 1;\n m[key] = cnt;\n } else {\n m[''] = (m[''] || 0) + 1;\n }\n }\n }\n return m;\n }\n\n range() {\n return CellRange.valueOf(this.ref);\n }\n\n hrange() {\n const r = this.range();\n r.eri = r.sri;\n return r;\n }\n\n clear() {\n this.ref = null;\n this.filters = [];\n this.sort = null;\n }\n\n active() {\n return this.ref !== null;\n }\n}\n","import { CellRange } from './cell_range';\n\nclass Merges {\n constructor(d = []) {\n this._ = d;\n }\n\n forEach(cb) {\n this._.forEach(cb);\n }\n\n deleteWithin(cr) {\n this._ = this._.filter(it => !it.within(cr));\n }\n\n getFirstIncludes(ri, ci) {\n for (let i = 0; i < this._.length; i += 1) {\n const it = this._[i];\n if (it.includes(ri, ci)) {\n return it;\n }\n }\n return null;\n }\n\n filterIntersects(cellRange) {\n return new Merges(this._.filter(it => it.intersects(cellRange)));\n }\n\n intersects(cellRange) {\n for (let i = 0; i < this._.length; i += 1) {\n const it = this._[i];\n if (it.intersects(cellRange)) {\n // console.log('intersects');\n return true;\n }\n }\n return false;\n }\n\n union(cellRange) {\n let cr = cellRange;\n this._.forEach((it) => {\n if (it.intersects(cr)) {\n cr = it.union(cr);\n }\n });\n return cr;\n }\n\n add(cr) {\n this.deleteWithin(cr);\n this._.push(cr);\n }\n\n // type: row | column\n shift(type, index, n, cbWithin) {\n this._.forEach((cellRange) => {\n const {\n sri, sci, eri, eci,\n } = cellRange;\n const range = cellRange;\n if (type === 'row') {\n if (sri >= index) {\n range.sri += n;\n range.eri += n;\n } else if (sri < index && index <= eri) {\n range.eri += n;\n cbWithin(sri, sci, n, 0);\n }\n } else if (type === 'column') {\n if (sci >= index) {\n range.sci += n;\n range.eci += n;\n } else if (sci < index && index <= eci) {\n range.eci += n;\n cbWithin(sri, sci, 0, n);\n }\n }\n });\n }\n\n move(cellRange, rn, cn) {\n this._.forEach((it1) => {\n const it = it1;\n if (it.within(cellRange)) {\n it.eri += rn;\n it.sri += rn;\n it.sci += cn;\n it.eci += cn;\n }\n });\n }\n\n setData(merges) {\n this._ = merges.map(merge => CellRange.valueOf(merge));\n return this;\n }\n\n getData() {\n return this._.map(merge => merge.toString());\n }\n}\n\nexport default {};\nexport {\n Merges,\n};\n","/* eslint-disable no-param-reassign */\nfunction cloneDeep(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nconst mergeDeep = (object = {}, ...sources) => {\n sources.forEach((source) => {\n Object.keys(source).forEach((key) => {\n const v = source[key];\n // console.log('k:', key, ', v:', source[key], typeof v, v instanceof Object);\n if (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean') {\n object[key] = v;\n } else if (typeof v !== 'function' && !Array.isArray(v) && v instanceof Object) {\n object[key] = object[key] || {};\n mergeDeep(object[key], v);\n } else {\n object[key] = v;\n }\n });\n });\n // console.log('::', object);\n return object;\n};\n\nfunction equals(obj1, obj2) {\n const keys = Object.keys(obj1);\n if (keys.length !== Object.keys(obj2).length) return false;\n for (let i = 0; i < keys.length; i += 1) {\n const k = keys[i];\n const v1 = obj1[k];\n const v2 = obj2[k];\n if (v2 === undefined) return false;\n if (typeof v1 === 'string' || typeof v1 === 'number' || typeof v1 === 'boolean') {\n if (v1 !== v2) return false;\n } else if (Array.isArray(v1)) {\n if (v1.length !== v2.length) return false;\n for (let ai = 0; ai < v1.length; ai += 1) {\n if (!equals(v1[ai], v2[ai])) return false;\n }\n } else if (typeof v1 !== 'function' && !Array.isArray(v1) && v1 instanceof Object) {\n if (!equals(v1, v2)) return false;\n }\n }\n return true;\n}\n\n/*\n objOrAry: obejct or Array\n cb: (value, index | key) => { return value }\n*/\nconst sum = (objOrAry, cb = value => value) => {\n let total = 0;\n let size = 0;\n Object.keys(objOrAry).forEach((key) => {\n total += cb(objOrAry[key], key);\n size += 1;\n });\n return [total, size];\n};\n\nfunction deleteProperty(obj, property) {\n const oldv = obj[`${property}`];\n delete obj[`${property}`];\n return oldv;\n}\n\nfunction rangeReduceIf(min, max, inits, initv, ifv, getv) {\n let s = inits;\n let v = initv;\n let i = min;\n for (; i < max; i += 1) {\n if (s > ifv) break;\n v = getv(i);\n s += v;\n }\n return [i, s - v, v];\n}\n\nfunction rangeSum(min, max, getv) {\n let s = 0;\n for (let i = min; i < max; i += 1) {\n s += getv(i);\n }\n return s;\n}\n\nfunction rangeEach(min, max, cb) {\n for (let i = min; i < max; i += 1) {\n cb(i);\n }\n}\n\nfunction arrayEquals(a1, a2) {\n if (a1.length === a2.length) {\n for (let i = 0; i < a1.length; i += 1) {\n if (a1[i] !== a2[i]) return false;\n }\n } else return false;\n return true;\n}\n\nfunction digits(a) {\n const v = `${a}`;\n let ret = 0;\n let flag = false;\n for (let i = 0; i < v.length; i += 1) {\n if (flag === true) ret += 1;\n if (v.charAt(i) === '.') flag = true;\n }\n return ret;\n}\n\nexport function numberCalc(type, a1, a2) {\n if (Number.isNaN(a1) || Number.isNaN(a2)) {\n return a1 + type + a2;\n }\n const al1 = digits(a1);\n const al2 = digits(a2);\n const num1 = Number(a1);\n const num2 = Number(a2);\n let ret = 0;\n if (type === '-') {\n ret = num1 - num2;\n } else if (type === '+') {\n ret = num1 + num2;\n } else if (type === '*') {\n ret = num1 * num2;\n } else if (type === '/') {\n ret = num1 / num2;\n if (digits(ret) > 5) return ret.toFixed(2);\n return ret;\n }\n return ret.toFixed(Math.max(al1, al2));\n}\n\nexport default {\n cloneDeep,\n merge: (...sources) => mergeDeep({}, ...sources),\n equals,\n arrayEquals,\n sum,\n rangeEach,\n rangeSum,\n rangeReduceIf,\n deleteProperty,\n numberCalc,\n};\n","import helper from './helper';\nimport { expr2expr } from './alphabet';\n\nclass Rows {\n constructor({ len, height }) {\n this._ = {};\n this.len = len;\n // default row height\n this.height = height;\n }\n\n getHeight(ri) {\n if (this.isHide(ri)) return 0;\n const row = this.get(ri);\n if (row && row.height) {\n return row.height;\n }\n return this.height;\n }\n\n setHeight(ri, v) {\n const row = this.getOrNew(ri);\n row.height = v;\n }\n\n unhide(idx) {\n let index = idx;\n while (index > 0) {\n index -= 1;\n if (this.isHide(index)) {\n this.setHide(index, false);\n } else break;\n }\n }\n\n isHide(ri) {\n const row = this.get(ri);\n return row && row.hide;\n }\n\n setHide(ri, v) {\n const row = this.getOrNew(ri);\n if (v === true) row.hide = true;\n else delete row.hide;\n }\n\n setStyle(ri, style) {\n const row = this.getOrNew(ri);\n row.style = style;\n }\n\n sumHeight(min, max, exceptSet) {\n return helper.rangeSum(min, max, (i) => {\n if (exceptSet && exceptSet.has(i)) return 0;\n return this.getHeight(i);\n });\n }\n\n totalHeight() {\n return this.sumHeight(0, this.len);\n }\n\n get(ri) {\n return this._[ri];\n }\n\n getOrNew(ri) {\n this._[ri] = this._[ri] || { cells: {} };\n return this._[ri];\n }\n\n getCell(ri, ci) {\n const row = this.get(ri);\n if (row !== undefined && row.cells !== undefined && row.cells[ci] !== undefined) {\n return row.cells[ci];\n }\n return null;\n }\n\n getCellMerge(ri, ci) {\n const cell = this.getCell(ri, ci);\n if (cell && cell.merge) return cell.merge;\n return [0, 0];\n }\n\n getCellOrNew(ri, ci) {\n const row = this.getOrNew(ri);\n row.cells[ci] = row.cells[ci] || {};\n return row.cells[ci];\n }\n\n // what: all | text | format\n setCell(ri, ci, cell, what = 'all') {\n const row = this.getOrNew(ri);\n if (what === 'all') {\n row.cells[ci] = cell;\n } else if (what === 'text') {\n row.cells[ci] = row.cells[ci] || {};\n row.cells[ci].text = cell.text;\n } else if (what === 'format') {\n row.cells[ci] = row.cells[ci] || {};\n row.cells[ci].style = cell.style;\n if (cell.merge) row.cells[ci].merge = cell.merge;\n }\n }\n\n setCellText(ri, ci, text) {\n const cell = this.getCellOrNew(ri, ci);\n if (cell.editable !== false) cell.text = text;\n }\n\n // what: all | format | text\n copyPaste(srcCellRange, dstCellRange, what, autofill = false, cb = () => {}) {\n const {\n sri, sci, eri, eci,\n } = srcCellRange;\n const dsri = dstCellRange.sri;\n const dsci = dstCellRange.sci;\n const deri = dstCellRange.eri;\n const deci = dstCellRange.eci;\n const [rn, cn] = srcCellRange.size();\n const [drn, dcn] = dstCellRange.size();\n // console.log(srcIndexes, dstIndexes);\n let isAdd = true;\n let dn = 0;\n if (deri < sri || deci < sci) {\n isAdd = false;\n if (deri < sri) dn = drn;\n else dn = dcn;\n }\n for (let i = sri; i <= eri; i += 1) {\n if (this._[i]) {\n for (let j = sci; j <= eci; j += 1) {\n if (this._[i].cells && this._[i].cells[j]) {\n for (let ii = dsri; ii <= deri; ii += rn) {\n for (let jj = dsci; jj <= deci; jj += cn) {\n const nri = ii + (i - sri);\n const nci = jj + (j - sci);\n const ncell = helper.cloneDeep(this._[i].cells[j]);\n // ncell.text\n if (autofill && ncell && ncell.text && ncell.text.length > 0) {\n const { text } = ncell;\n let n = (jj - dsci) + (ii - dsri) + 2;\n if (!isAdd) {\n n -= dn + 1;\n }\n if (text[0] === '=') {\n ncell.text = text.replace(/[a-zA-Z]{1,3}\\d+/g, (word) => {\n let [xn, yn] = [0, 0];\n if (sri === dsri) {\n xn = n - 1;\n // if (isAdd) xn -= 1;\n } else {\n yn = n - 1;\n }\n if (/^\\d+$/.test(word)) return word;\n return expr2expr(word, xn, yn);\n });\n } else if ((rn <= 1 && cn > 1 && (dsri > eri || deri < sri))\n || (cn <= 1 && rn > 1 && (dsci > eci || deci < sci))\n || (rn <= 1 && cn <= 1)) {\n const result = /[\\\\.\\d]+$/.exec(text);\n // console.log('result:', result);\n if (result !== null) {\n const index = Number(result[0]) + n - 1;\n ncell.text = text.substring(0, result.index) + index;\n }\n }\n }\n this.setCell(nri, nci, ncell, what);\n cb(nri, nci, ncell);\n }\n }\n }\n }\n }\n }\n }\n\n cutPaste(srcCellRange, dstCellRange) {\n const ncellmm = {};\n this.each((ri) => {\n this.eachCells(ri, (ci) => {\n let nri = parseInt(ri, 10);\n let nci = parseInt(ci, 10);\n if (srcCellRange.includes(ri, ci)) {\n nri = dstCellRange.sri + (nri - srcCellRange.sri);\n nci = dstCellRange.sci + (nci - srcCellRange.sci);\n }\n ncellmm[nri] = ncellmm[nri] || { cells: {} };\n ncellmm[nri].cells[nci] = this._[ri].cells[ci];\n });\n });\n this._ = ncellmm;\n }\n\n // src: Array>\n paste(src, dstCellRange) {\n if (src.length <= 0) return;\n const { sri, sci } = dstCellRange;\n src.forEach((row, i) => {\n const ri = sri + i;\n row.forEach((cell, j) => {\n const ci = sci + j;\n this.setCellText(ri, ci, cell);\n });\n });\n }\n\n insert(sri, n = 1) {\n const ndata = {};\n this.each((ri, row) => {\n let nri = parseInt(ri, 10);\n if (nri >= sri) {\n nri += n;\n this.eachCells(ri, (ci, cell) => {\n if (cell.text && cell.text[0] === '=') {\n cell.text = cell.text.replace(/[a-zA-Z]{1,3}\\d+/g, word => expr2expr(word, 0, n, (x, y) => y >= sri));\n }\n });\n }\n ndata[nri] = row;\n });\n this._ = ndata;\n this.len += n;\n }\n\n delete(sri, eri) {\n const n = eri - sri + 1;\n const ndata = {};\n this.each((ri, row) => {\n const nri = parseInt(ri, 10);\n if (nri < sri) {\n ndata[nri] = row;\n } else if (ri > eri) {\n ndata[nri - n] = row;\n this.eachCells(ri, (ci, cell) => {\n if (cell.text && cell.text[0] === '=') {\n cell.text = cell.text.replace(/[a-zA-Z]{1,3}\\d+/g, word => expr2expr(word, 0, -n, (x, y) => y > eri));\n }\n });\n }\n });\n this._ = ndata;\n this.len -= n;\n }\n\n insertColumn(sci, n = 1) {\n this.each((ri, row) => {\n const rndata = {};\n this.eachCells(ri, (ci, cell) => {\n let nci = parseInt(ci, 10);\n if (nci >= sci) {\n nci += n;\n if (cell.text && cell.text[0] === '=') {\n cell.text = cell.text.replace(/[a-zA-Z]{1,3}\\d+/g, word => expr2expr(word, n, 0, x => x >= sci));\n }\n }\n rndata[nci] = cell;\n });\n row.cells = rndata;\n });\n }\n\n deleteColumn(sci, eci) {\n const n = eci - sci + 1;\n this.each((ri, row) => {\n const rndata = {};\n this.eachCells(ri, (ci, cell) => {\n const nci = parseInt(ci, 10);\n if (nci < sci) {\n rndata[nci] = cell;\n } else if (nci > eci) {\n rndata[nci - n] = cell;\n if (cell.text && cell.text[0] === '=') {\n cell.text = cell.text.replace(/[a-zA-Z]{1,3}\\d+/g, word => expr2expr(word, -n, 0, x => x > eci));\n }\n }\n });\n row.cells = rndata;\n });\n }\n\n // what: all | text | format | merge\n deleteCells(cellRange, what = 'all') {\n cellRange.each((i, j) => {\n this.deleteCell(i, j, what);\n });\n }\n\n // what: all | text | format | merge\n deleteCell(ri, ci, what = 'all') {\n const row = this.get(ri);\n if (row !== null) {\n const cell = this.getCell(ri, ci);\n if (cell !== null && cell.editable !== false) {\n if (what === 'all') {\n delete row.cells[ci];\n } else if (what === 'text') {\n if (cell.text) delete cell.text;\n if (cell.value) delete cell.value;\n } else if (what === 'format') {\n if (cell.style !== undefined) delete cell.style;\n if (cell.merge) delete cell.merge;\n } else if (what === 'merge') {\n if (cell.merge) delete cell.merge;\n }\n }\n }\n }\n\n maxCell() {\n const keys = Object.keys(this._);\n const ri = keys[keys.length - 1];\n const col = this._[ri];\n if (col) {\n const { cells } = col;\n const ks = Object.keys(cells);\n const ci = ks[ks.length - 1];\n return [parseInt(ri, 10), parseInt(ci, 10)];\n }\n return [0, 0];\n }\n\n each(cb) {\n Object.entries(this._).forEach(([ri, row]) => {\n cb(ri, row);\n });\n }\n\n eachCells(ri, cb) {\n if (this._[ri] && this._[ri].cells) {\n Object.entries(this._[ri].cells).forEach(([ci, cell]) => {\n cb(ci, cell);\n });\n }\n }\n\n setData(d) {\n if (d.len) {\n this.len = d.len;\n delete d.len;\n }\n this._ = d;\n }\n\n getData() {\n const { len } = this;\n return Object.assign({ len }, this._);\n }\n}\n\nexport default {};\nexport {\n Rows,\n};\n","import helper from './helper';\n\nclass Cols {\n constructor({\n len, width, indexWidth, minWidth,\n }) {\n this._ = {};\n this.len = len;\n this.width = width;\n this.indexWidth = indexWidth;\n this.minWidth = minWidth;\n }\n\n setData(d) {\n if (d.len) {\n this.len = d.len;\n delete d.len;\n }\n this._ = d;\n }\n\n getData() {\n const { len } = this;\n return Object.assign({ len }, this._);\n }\n\n getWidth(i) {\n if (this.isHide(i)) return 0;\n const col = this._[i];\n if (col && col.width) {\n return col.width;\n }\n return this.width;\n }\n\n getOrNew(ci) {\n this._[ci] = this._[ci] || {};\n return this._[ci];\n }\n\n setWidth(ci, width) {\n const col = this.getOrNew(ci);\n col.width = width;\n }\n\n unhide(idx) {\n let index = idx;\n while (index > 0) {\n index -= 1;\n if (this.isHide(index)) {\n this.setHide(index, false);\n } else break;\n }\n }\n\n isHide(ci) {\n const col = this._[ci];\n return col && col.hide;\n }\n\n setHide(ci, v) {\n const col = this.getOrNew(ci);\n if (v === true) col.hide = true;\n else delete col.hide;\n }\n\n setStyle(ci, style) {\n const col = this.getOrNew(ci);\n col.style = style;\n }\n\n sumWidth(min, max) {\n return helper.rangeSum(min, max, i => this.getWidth(i));\n }\n\n totalWidth() {\n return this.sumWidth(0, this.len);\n }\n}\n\nexport default {};\nexport {\n Cols,\n};\n","/* global window */\nimport en from './en';\n\n// Defines the fallback language as English\nlet $languages = ['en'];\nconst $messages = {\n en,\n};\n\nfunction translate(key, messages) {\n if (messages) {\n // Return the translation from the first language in the languages array\n // that has a value for the provided key.\n for (const lang of $languages) {\n if (!messages[lang]) break;\n\n let message = messages[lang];\n\n // Splits the key at '.' except where escaped as '\\.'\n const keys = key.match(/(?:\\\\.|[^.])+/g);\n\n for (let i = 0; i < keys.length; i += 1) {\n const property = keys[i];\n const value = message[property];\n\n // If value doesn't exist, try next language\n if (!value) break;\n\n if (i === keys.length - 1) return value;\n\n // Move down to the next level of the messages object\n message = value;\n }\n }\n }\n\n return undefined;\n}\n\nfunction t(key) {\n let v = translate(key, $messages);\n if (!v && window && window.x_spreadsheet && window.x_spreadsheet.$messages) {\n v = translate(key, window.x_spreadsheet.$messages);\n }\n return v || '';\n}\n\nfunction tf(key) {\n return () => t(key);\n}\n\n// If clearLangList is set to false, lang will be added to the front of the\n// languages array. The languages in the language array are searched in order\n// to find a translation. This allows the use of other languages as a fallback\n// if lang is missing some keys. The language array is preloaded with English.\n// To set the languages array to only include lang, set clearLangList to true.\nfunction locale(lang, message, clearLangList = false) {\n if (clearLangList) {\n $languages = [lang];\n } else {\n // Append to front of array.\n // Translation method will use the first language in the list that has a\n // matching key.\n $languages.unshift(lang);\n }\n\n if (message) {\n $messages[lang] = message;\n }\n}\n\nexport default {\n t,\n};\n\nexport {\n locale,\n t,\n tf,\n};\n","export default {\n toolbar: {\n undo: 'Undo',\n redo: 'Redo',\n print: 'Print',\n paintformat: 'Paint format',\n clearformat: 'Clear format',\n format: 'Format',\n fontName: 'Font',\n fontSize: 'Font size',\n fontBold: 'Font bold',\n fontItalic: 'Font italic',\n underline: 'Underline',\n strike: 'Strike',\n color: 'Text color',\n bgcolor: 'Fill color',\n border: 'Borders',\n merge: 'Merge cells',\n align: 'Horizontal align',\n valign: 'Vertical align',\n textwrap: 'Text wrapping',\n freeze: 'Freeze cell',\n autofilter: 'Filter',\n formula: 'Functions',\n more: 'More',\n },\n contextmenu: {\n copy: 'Copy',\n cut: 'Cut',\n paste: 'Paste',\n pasteValue: 'Paste values only',\n pasteFormat: 'Paste format only',\n hide: 'Hide',\n insertRow: 'Insert row',\n insertColumn: 'Insert column',\n deleteSheet: 'Delete',\n deleteRow: 'Delete row',\n deleteColumn: 'Delete column',\n deleteCell: 'Delete cell',\n deleteCellText: 'Delete cell text',\n validation: 'Data validations',\n cellprintable: 'Enable export',\n cellnonprintable: 'Disable export',\n celleditable: 'Enable editing',\n cellnoneditable: 'Disable editing',\n },\n print: {\n size: 'Paper size',\n orientation: 'Page orientation',\n orientations: ['Landscape', 'Portrait'],\n },\n format: {\n normal: 'Normal',\n text: 'Plain Text',\n number: 'Number',\n percent: 'Percent',\n rmb: 'RMB',\n usd: 'USD',\n eur: 'EUR',\n date: 'Date',\n time: 'Time',\n datetime: 'Date time',\n duration: 'Duration',\n },\n formula: {\n sum: 'Sum',\n average: 'Average',\n max: 'Max',\n min: 'Min',\n _if: 'IF',\n and: 'AND',\n or: 'OR',\n concat: 'Concat',\n },\n validation: {\n required: 'it must be required',\n notMatch: 'it not match its validation rule',\n between: 'it is between {} and {}',\n notBetween: 'it is not between {} and {}',\n notIn: 'it is not in list',\n equal: 'it equal to {}',\n notEqual: 'it not equal to {}',\n lessThan: 'it less than {}',\n lessThanEqual: 'it less than or equal to {}',\n greaterThan: 'it greater than {}',\n greaterThanEqual: 'it greater than or equal to {}',\n },\n error: {\n pasteForMergedCell: 'Unable to do this for merged cells',\n },\n calendar: {\n weeks: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n },\n button: {\n next: 'Next',\n cancel: 'Cancel',\n remove: 'Remove',\n save: 'Save',\n ok: 'OK',\n },\n sort: {\n desc: 'Sort Z -> A',\n asc: 'Sort A -> Z',\n },\n filter: {\n empty: 'empty',\n },\n dataValidation: {\n mode: 'Mode',\n range: 'Cell Range',\n criteria: 'Criteria',\n modeType: {\n cell: 'Cell',\n column: 'Colun',\n row: 'Row',\n },\n type: {\n list: 'List',\n number: 'Number',\n date: 'Date',\n phone: 'Phone',\n email: 'Email',\n },\n operator: {\n be: 'between',\n nbe: 'not betwwen',\n lt: 'less than',\n lte: 'less than or equal to',\n gt: 'greater than',\n gte: 'greater than or equal to',\n eq: 'equal to',\n neq: 'not equal to',\n },\n },\n};\n","import { t } from '../locale/locale';\nimport helper from './helper';\n\nconst rules = {\n phone: /^[1-9]\\d{10}$/,\n email: /w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/,\n};\n\nfunction returnMessage(flag, key, ...arg) {\n let message = '';\n if (!flag) {\n message = t(`validation.${key}`, ...arg);\n }\n return [flag, message];\n}\n\nexport default class Validator {\n // operator: b|nb|eq|neq|lt|lte|gt|gte\n // type: date|number|list|phone|email\n constructor(type, required, value, operator) {\n this.required = required;\n this.value = value;\n this.type = type;\n this.operator = operator;\n this.message = '';\n }\n\n parseValue(v) {\n const { type } = this;\n if (type === 'date') {\n return new Date(v);\n }\n if (type === 'number') {\n return Number(v);\n }\n return v;\n }\n\n equals(other) {\n let flag = this.type === other.type\n && this.required === other.required\n && this.operator === other.operator;\n if (flag) {\n if (Array.isArray(this.value)) {\n flag = helper.arrayEquals(this.value, other.value);\n } else {\n flag = this.value === other.value;\n }\n }\n return flag;\n }\n\n values() {\n return this.value.split(',');\n }\n\n validate(v) {\n const {\n required, operator, value, type,\n } = this;\n if (required && /^\\s*$/.test(v)) {\n return returnMessage(false, 'required');\n }\n if (/^\\s*$/.test(v)) return [true];\n if (rules[type] && !rules[type].test(v)) {\n return returnMessage(false, 'notMatch');\n }\n if (type === 'list') {\n return returnMessage(this.values().includes(v), 'notIn');\n }\n if (operator) {\n const v1 = this.parseValue(v);\n if (operator === 'be') {\n const [min, max] = value;\n return returnMessage(\n v1 >= this.parseValue(min) && v1 <= this.parseValue(max),\n 'between',\n min,\n max,\n );\n }\n if (operator === 'nbe') {\n const [min, max] = value;\n return returnMessage(\n v1 < this.parseValue(min) || v1 > this.parseValue(max),\n 'notBetween',\n min,\n max,\n );\n }\n if (operator === 'eq') {\n return returnMessage(\n v1 === this.parseValue(value),\n 'equal',\n value,\n );\n }\n if (operator === 'neq') {\n return returnMessage(\n v1 !== this.parseValue(value),\n 'notEqual',\n value,\n );\n }\n if (operator === 'lt') {\n return returnMessage(\n v1 < this.parseValue(value),\n 'lessThan',\n value,\n );\n }\n if (operator === 'lte') {\n return returnMessage(\n v1 <= this.parseValue(value),\n 'lessThanEqual',\n value,\n );\n }\n if (operator === 'gt') {\n return returnMessage(\n v1 > this.parseValue(value),\n 'greaterThan',\n value,\n );\n }\n if (operator === 'gte') {\n return returnMessage(\n v1 >= this.parseValue(value),\n 'greaterThanEqual',\n value,\n );\n }\n }\n return [true];\n }\n}\n","import Validator from './validator';\nimport { CellRange } from './cell_range';\n\nclass Validation {\n constructor(mode, refs, validator) {\n this.refs = refs;\n this.mode = mode; // cell\n this.validator = validator;\n }\n\n includes(ri, ci) {\n const { refs } = this;\n for (let i = 0; i < refs.length; i += 1) {\n const cr = CellRange.valueOf(refs[i]);\n if (cr.includes(ri, ci)) return true;\n }\n return false;\n }\n\n addRef(ref) {\n this.remove(CellRange.valueOf(ref));\n this.refs.push(ref);\n }\n\n remove(cellRange) {\n const nrefs = [];\n this.refs.forEach((it) => {\n const cr = CellRange.valueOf(it);\n if (cr.intersects(cellRange)) {\n const crs = cr.difference(cellRange);\n crs.forEach(it1 => nrefs.push(it1.toString()));\n } else {\n nrefs.push(it);\n }\n });\n this.refs = nrefs;\n }\n\n getData() {\n const { refs, mode, validator } = this;\n const {\n type, required, operator, value,\n } = validator;\n return {\n refs, mode, type, required, operator, value,\n };\n }\n\n static valueOf({\n refs, mode, type, required, operator, value,\n }) {\n return new Validation(mode, refs, new Validator(type, required, value, operator));\n }\n}\nclass Validations {\n constructor() {\n this._ = [];\n // ri_ci: errMessage\n this.errors = new Map();\n }\n\n getError(ri, ci) {\n return this.errors.get(`${ri}_${ci}`);\n }\n\n validate(ri, ci, text) {\n const v = this.get(ri, ci);\n const key = `${ri}_${ci}`;\n const { errors } = this;\n if (v !== null) {\n const [flag, message] = v.validator.validate(text);\n if (!flag) {\n errors.set(key, message);\n } else {\n errors.delete(key);\n }\n } else {\n errors.delete(key);\n }\n return true;\n }\n\n // type: date|number|phone|email|list\n // validator: { required, value, operator }\n add(mode, ref, {\n type, required, value, operator,\n }) {\n const validator = new Validator(\n type, required, value, operator,\n );\n const v = this.getByValidator(validator);\n if (v !== null) {\n v.addRef(ref);\n } else {\n this._.push(new Validation(mode, [ref], validator));\n }\n }\n\n getByValidator(validator) {\n for (let i = 0; i < this._.length; i += 1) {\n const v = this._[i];\n if (v.validator.equals(validator)) {\n return v;\n }\n }\n return null;\n }\n\n get(ri, ci) {\n for (let i = 0; i < this._.length; i += 1) {\n const v = this._[i];\n if (v.includes(ri, ci)) return v;\n }\n return null;\n }\n\n remove(cellRange) {\n this.each((it) => {\n it.remove(cellRange);\n });\n }\n\n each(cb) {\n this._.forEach(it => cb(it));\n }\n\n getData() {\n return this._.filter(it => it.refs.length > 0).map(it => it.getData());\n }\n\n setData(d) {\n this._ = d.map(it => Validation.valueOf(it));\n }\n}\n\nexport default {};\nexport {\n Validations,\n};\n","/* global document */\n\nimport Selector from './selector';\nimport Scroll from './scroll';\nimport History from './history';\nimport Clipboard from './clipboard';\nimport AutoFilter from './auto_filter';\nimport { Merges } from './merge';\nimport helper from './helper';\nimport { Rows } from './row';\nimport { Cols } from './col';\nimport { Validations } from './validation';\nimport { CellRange } from './cell_range';\nimport { expr2xy, xy2expr } from './alphabet';\nimport { t } from '../locale/locale';\n\n// private methods\n/*\n * {\n * name: ''\n * freeze: [0, 0],\n * formats: [],\n * styles: [\n * {\n * bgcolor: '',\n * align: '',\n * valign: '',\n * textwrap: false,\n * strike: false,\n * underline: false,\n * color: '',\n * format: 1,\n * border: {\n * left: [style, color],\n * right: [style, color],\n * top: [style, color],\n * bottom: [style, color],\n * },\n * font: {\n * name: 'Helvetica',\n * size: 10,\n * bold: false,\n * italic: false,\n * }\n * }\n * ],\n * merges: [\n * 'A1:F11',\n * ...\n * ],\n * rows: {\n * 1: {\n * height: 50,\n * style: 1,\n * cells: {\n * 1: {\n * style: 2,\n * type: 'string',\n * text: '',\n * value: '', // cal result\n * }\n * }\n * },\n * ...\n * },\n * cols: {\n * 2: { width: 100, style: 1 }\n * }\n * }\n */\nconst defaultSettings = {\n mode: 'edit', // edit | read\n view: {\n height: () => document.documentElement.clientHeight,\n width: () => document.documentElement.clientWidth,\n },\n showGrid: true,\n showToolbar: true,\n showContextmenu: true,\n showBottomBar: true,\n row: {\n len: 100,\n height: 25,\n },\n col: {\n len: 26,\n width: 100,\n indexWidth: 60,\n minWidth: 60,\n },\n style: {\n bgcolor: '#ffffff',\n align: 'left',\n valign: 'middle',\n textwrap: false,\n strike: false,\n underline: false,\n color: '#0a0a0a',\n font: {\n name: 'Arial',\n size: 10,\n bold: false,\n italic: false,\n },\n format: 'normal',\n },\n};\n\nconst toolbarHeight = 41;\nconst bottombarHeight = 41;\n\n\n// Utility functions\nconst hasOwnProperty = (obj, name) => Object.prototype.hasOwnProperty.call(obj, name);\n\n\n// src: cellRange\n// dst: cellRange\nfunction canPaste(src, dst, error = () => {}) {\n const { merges } = this;\n const cellRange = dst.clone();\n const [srn, scn] = src.size();\n const [drn, dcn] = dst.size();\n if (srn > drn) {\n cellRange.eri = dst.sri + srn - 1;\n }\n if (scn > dcn) {\n cellRange.eci = dst.sci + scn - 1;\n }\n if (merges.intersects(cellRange)) {\n error(t('error.pasteForMergedCell'));\n return false;\n }\n return true;\n}\nfunction copyPaste(srcCellRange, dstCellRange, what, autofill = false) {\n const { rows, merges } = this;\n // delete dest merge\n if (what === 'all' || what === 'format') {\n rows.deleteCells(dstCellRange, what);\n merges.deleteWithin(dstCellRange);\n }\n rows.copyPaste(srcCellRange, dstCellRange, what, autofill, (ri, ci, cell) => {\n if (cell && cell.merge) {\n // console.log('cell:', ri, ci, cell);\n const [rn, cn] = cell.merge;\n if (rn <= 0 && cn <= 0) return;\n merges.add(new CellRange(ri, ci, ri + rn, ci + cn));\n }\n });\n}\n\nfunction cutPaste(srcCellRange, dstCellRange) {\n const { clipboard, rows, merges } = this;\n rows.cutPaste(srcCellRange, dstCellRange);\n merges.move(srcCellRange,\n dstCellRange.sri - srcCellRange.sri,\n dstCellRange.sci - srcCellRange.sci);\n clipboard.clear();\n}\n\n// bss: { top, bottom, left, right }\nfunction setStyleBorder(ri, ci, bss) {\n const { styles, rows } = this;\n const cell = rows.getCellOrNew(ri, ci);\n let cstyle = {};\n if (cell.style !== undefined) {\n cstyle = helper.cloneDeep(styles[cell.style]);\n }\n cstyle = helper.merge(cstyle, { border: bss });\n cell.style = this.addStyle(cstyle);\n}\n\nfunction setStyleBorders({ mode, style, color }) {\n const { styles, selector, rows } = this;\n const {\n sri, sci, eri, eci,\n } = selector.range;\n const multiple = !this.isSingleSelected();\n if (!multiple) {\n if (mode === 'inside' || mode === 'horizontal' || mode === 'vertical') {\n return;\n }\n }\n if (mode === 'outside' && !multiple) {\n setStyleBorder.call(this, sri, sci, {\n top: [style, color], bottom: [style, color], left: [style, color], right: [style, color],\n });\n } else if (mode === 'none') {\n selector.range.each((ri, ci) => {\n const cell = rows.getCell(ri, ci);\n if (cell && cell.style !== undefined) {\n const ns = helper.cloneDeep(styles[cell.style]);\n delete ns.border;\n // ['bottom', 'top', 'left', 'right'].forEach((prop) => {\n // if (ns[prop]) delete ns[prop];\n // });\n cell.style = this.addStyle(ns);\n }\n });\n } else if (mode === 'all' || mode === 'inside' || mode === 'outside'\n || mode === 'horizontal' || mode === 'vertical') {\n const merges = [];\n for (let ri = sri; ri <= eri; ri += 1) {\n for (let ci = sci; ci <= eci; ci += 1) {\n // jump merges -- start\n const mergeIndexes = [];\n for (let ii = 0; ii < merges.length; ii += 1) {\n const [mri, mci, rn, cn] = merges[ii];\n if (ri === mri + rn + 1) mergeIndexes.push(ii);\n if (mri <= ri && ri <= mri + rn) {\n if (ci === mci) {\n ci += cn + 1;\n break;\n }\n }\n }\n mergeIndexes.forEach(it => merges.splice(it, 1));\n if (ci > eci) break;\n // jump merges -- end\n const cell = rows.getCell(ri, ci);\n let [rn, cn] = [0, 0];\n if (cell && cell.merge) {\n [rn, cn] = cell.merge;\n merges.push([ri, ci, rn, cn]);\n }\n const mrl = rn > 0 && ri + rn === eri;\n const mcl = cn > 0 && ci + cn === eci;\n let bss = {};\n if (mode === 'all') {\n bss = {\n bottom: [style, color],\n top: [style, color],\n left: [style, color],\n right: [style, color],\n };\n } else if (mode === 'inside') {\n if (!mcl && ci < eci) bss.right = [style, color];\n if (!mrl && ri < eri) bss.bottom = [style, color];\n } else if (mode === 'horizontal') {\n if (!mrl && ri < eri) bss.bottom = [style, color];\n } else if (mode === 'vertical') {\n if (!mcl && ci < eci) bss.right = [style, color];\n } else if (mode === 'outside' && multiple) {\n if (sri === ri) bss.top = [style, color];\n if (mrl || eri === ri) bss.bottom = [style, color];\n if (sci === ci) bss.left = [style, color];\n if (mcl || eci === ci) bss.right = [style, color];\n }\n if (Object.keys(bss).length > 0) {\n setStyleBorder.call(this, ri, ci, bss);\n }\n ci += cn;\n }\n }\n } else if (mode === 'top' || mode === 'bottom') {\n for (let ci = sci; ci <= eci; ci += 1) {\n if (mode === 'top') {\n setStyleBorder.call(this, sri, ci, { top: [style, color] });\n ci += rows.getCellMerge(sri, ci)[1];\n }\n if (mode === 'bottom') {\n setStyleBorder.call(this, eri, ci, { bottom: [style, color] });\n ci += rows.getCellMerge(eri, ci)[1];\n }\n }\n } else if (mode === 'left' || mode === 'right') {\n for (let ri = sri; ri <= eri; ri += 1) {\n if (mode === 'left') {\n setStyleBorder.call(this, ri, sci, { left: [style, color] });\n ri += rows.getCellMerge(ri, sci)[0];\n }\n if (mode === 'right') {\n setStyleBorder.call(this, ri, eci, { right: [style, color] });\n ri += rows.getCellMerge(ri, eci)[0];\n }\n }\n }\n}\n\nfunction getCellRowByY(y, scrollOffsety) {\n const { rows } = this;\n const fsh = this.freezeTotalHeight();\n // console.log('y:', y, ', fsh:', fsh);\n let inits = rows.height;\n if (fsh + rows.height < y) inits -= scrollOffsety;\n\n // handle ri in autofilter\n const frset = this.exceptRowSet;\n\n let ri = 0;\n let top = inits;\n let { height } = rows;\n for (; ri < rows.len; ri += 1) {\n if (top > y) break;\n if (!frset.has(ri)) {\n height = rows.getHeight(ri);\n top += height;\n }\n }\n top -= height;\n // console.log('ri:', ri, ', top:', top, ', height:', height);\n\n if (top <= 0) {\n return { ri: -1, top: 0, height };\n }\n\n return { ri: ri - 1, top, height };\n}\n\nfunction getCellColByX(x, scrollOffsetx) {\n const { cols } = this;\n const fsw = this.freezeTotalWidth();\n let inits = cols.indexWidth;\n if (fsw + cols.indexWidth < x) inits -= scrollOffsetx;\n const [ci, left, width] = helper.rangeReduceIf(\n 0,\n cols.len,\n inits,\n cols.indexWidth,\n x,\n i => cols.getWidth(i),\n );\n if (left <= 0) {\n return { ci: -1, left: 0, width: cols.indexWidth };\n }\n return { ci: ci - 1, left, width };\n}\n\nexport default class DataProxy {\n constructor(name, settings) {\n this.settings = helper.merge(defaultSettings, settings || {});\n // save data begin\n this.name = name || 'sheet';\n this.freeze = [0, 0];\n this.styles = []; // Array