diff --git a/.gitignore b/.gitignore index 3928b093..569b704a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ node_modules yarn.lock - +dist .nyc_output/* diff --git a/build/webpack.config.js b/build/webpack.config.js index 83f0cd62..dffb363a 100644 --- a/build/webpack.config.js +++ b/build/webpack.config.js @@ -7,6 +7,11 @@ module.exports = { entry: { xspreadsheet: './src/index.js', }, + output: { + library: 'Spreadsheet', + libraryTarget: 'umd', + libraryExport: 'default' + }, module: { rules: [ { diff --git a/dist/ece3e4fa05d4292823fdef970eaf1233.svg b/dist/ece3e4fa05d4292823fdef970eaf1233.svg deleted file mode 100644 index f1d112ab..00000000 --- a/dist/ece3e4fa05d4292823fdef970eaf1233.svg +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index e25b778c..23cbf1db 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,96 +1,105 @@ - - - - x-spreadsheet - - - -
- -
-
- - - + setTimeout(() => { + // xs.loadData([{ rows }]); + xs.cellText(14, 3, "cell-text").reRender(); + console.log("cell(8, 8):", xs.cell(8, 8)); + console.log("cellStyle(8, 8):", xs.cellStyle(8, 8)); + }, 5000); + } + + + diff --git a/dist/locale/de.js b/dist/locale/de.js deleted file mode 100644 index 73366138..00000000 --- a/dist/locale/de.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);const r={toolbar:{undo:"Rückgängig machen",redo:"Wiederherstellen",paintformat:"Format kopieren/einfügen",clearformat:"Format löschen",format:"Format",font:"Schriftart",fontSize:"Schriftgrad",fontBold:"Fett",fontItalic:"Kursiv",underline:"Betonen",strike:"Streichen",textColor:"Text Farbe",fillColor:"Füllung Farbe",border:"Umrandung",merge:"Zellen verbinden",align:"Waagrechte Ausrichtung",valign:"Vertikale uitlijning",textwrap:"Textumbruch",freeze:"Zelle sperren",formula:"Funktionen",more:"Mehr"},contextmenu:{copy:"Kopieren",cut:"Ausschneiden",paste:"Einfügen",pasteValue:"Nur Werte einfügen",pasteFormat:"Nur Format einfügen",insertRow:"Zeile einfügen",insertColumn:"Spalte einfügen",deleteRow:"Zeile löschen",deleteColumn:"Spalte löschen",deleteCell:"Zelle löschen",deleteCellText:"Zellentext löschen"},format:{normal:"Regulär",text:"Text",number:"Nummer",percent:"Prozent",rmb:"RMB",usd:"USD",date:"Datum",time:"Termin",datetime:"Datum Termin",duration:"Dauer"},formula:{sum:"Summe",average:"Durchschnittliche",max:"Max",min:"Min",concat:"Concat"}};window&&window.x_spreadsheet&&(window.x_spreadsheet.$messages=window.x_spreadsheet.$messages||{},window.x_spreadsheet.$messages.de=r),t.default=r}]); \ No newline at end of file diff --git a/dist/locale/en.js b/dist/locale/en.js deleted file mode 100644 index 4fdc3ade..00000000 --- a/dist/locale/en.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([,function(e,t,n){"use strict";n.r(t);const r={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"}}};window&&window.x_spreadsheet&&(window.x_spreadsheet.$messages=window.x_spreadsheet.$messages||{},window.x_spreadsheet.$messages.en=r),t.default=r}]); \ No newline at end of file diff --git a/dist/locale/nl.js b/dist/locale/nl.js deleted file mode 100644 index 0262248e..00000000 --- a/dist/locale/nl.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2)}({2:function(e,t,n){"use strict";n.r(t);const r={toolbar:{undo:"Ongedaan maken",redo:"Opnieuw uitvoeren",paintformat:"Opmaak kopiëren/plakken",clearformat:"Opmaak wissen",format:"Opmaak",font:"Lettertype",fontSize:"Tekengrootte",fontBold:"Vet",fontItalic:"Cursief",underline:"Onderstrepen",strike:"Doorstrepen",textColor:"Tekstkleur",fillColor:"Opvulkleur",border:"Randen",merge:"Cellen samenvoegen",align:"Horizontale uitlijning",valign:"Verticale uitlijning",textwrap:"Terugloop",freeze:"Cel bevriezen",formula:"Functies",more:"Meer"},contextmenu:{copy:"Kopiëren",cut:"Knippen",paste:"Plakken",pasteValue:"Alleen waarden plakken",pasteFormat:"Alleen opmaak plakken",insertRow:"Rij invoegen",insertColumn:"Kolom invoegen",deleteRow:"Rij verwijderen",deleteColumn:"Kolom verwijderen",deleteCell:"Cel verwijderen",deleteCellText:"Celtekst verwijderen"},format:{normal:"Standaard",text:"Tekst",number:"Nummer",percent:"Percentage",rmb:"RMB",usd:"USD",date:"Datum",time:"Tijdstip",datetime:"Datum tijd",duration:"Duratie"},formula:{sum:"Som",average:"Gemiddelde",max:"Max",min:"Min",concat:"Concat"}};window&&window.x_spreadsheet&&(window.x_spreadsheet.$messages=window.x_spreadsheet.$messages||{},window.x_spreadsheet.$messages.nl=r),t.default=r}}); \ No newline at end of file diff --git a/dist/locale/zh-cn.js b/dist/locale/zh-cn.js deleted file mode 100644 index 371cd09c..00000000 --- a/dist/locale/zh-cn.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}({3:function(e,t,n){"use strict";n.r(t);const r={toolbar:{undo:"撤销",redo:"恢复",print:"打印",paintformat:"格式刷",clearformat:"清除格式",format:"数据格式",fontName:"字体",fontSize:"字号",fontBold:"加粗",fontItalic:"倾斜",underline:"下划线",strike:"删除线",color:"字体颜色",bgcolor:"填充颜色",border:"边框",merge:"合并单元格",align:"水平对齐",valign:"垂直对齐",textwrap:"自动换行",freeze:"冻结",autofilter:"自动筛选",formula:"函数",more:"更多"},contextmenu:{copy:"复制",cut:"剪切",paste:"粘贴",pasteValue:"粘贴数据",pasteFormat:"粘贴格式",hide:"隐藏",insertRow:"插入行",insertColumn:"插入列",deleteSheet:"删除",deleteRow:"删除行",deleteColumn:"删除列",deleteCell:"删除",deleteCellText:"删除数据",validation:"数据验证",cellprintable:"可打印",cellnonprintable:"不可打印",celleditable:"可编辑",cellnoneditable:"不可编辑"},print:{size:"纸张大小",orientation:"方向",orientations:["横向","纵向"]},format:{normal:"正常",text:"文本",number:"数值",percent:"百分比",rmb:"人民币",usd:"美元",eur:"欧元",date:"短日期",time:"时间",datetime:"长日期",duration:"持续时间"},formula:{sum:"求和",average:"求平均值",max:"求最大值",min:"求最小值",concat:"字符拼接",_if:"条件判断",and:"和",or:"或"},validation:{required:"此值必填",notMatch:"此值不匹配验证规则",between:"此值应在 {} 和 {} 之间",notBetween:"此值不应在 {} 和 {} 之间",notIn:"此值不在列表中",equal:"此值应该等于 {}",notEqual:"此值不应该等于 {}",lessThan:"此值应该小于 {}",lessThanEqual:"此值应该小于等于 {}",greaterThan:"此值应该大于 {}",greaterThanEqual:"此值应该大于等于 {}"},error:{pasteForMergedCell:"无法对合并的单元格执行此操作"},calendar:{weeks:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},button:{next:"下一步",cancel:"取消",remove:"删除",save:"保存",ok:"确认"},sort:{desc:"降序",asc:"升序"},filter:{empty:"空白"},dataValidation:{mode:"模式",range:"单元区间",criteria:"条件",modeType:{cell:"单元格",column:"列模式",row:"行模式"},type:{list:"列表",number:"数字",date:"日期",phone:"手机号",email:"电子邮件"},operator:{be:"在区间",nbe:"不在区间",lt:"小于",lte:"小于等于",gt:"大于",gte:"大于等于",eq:"等于",neq:"不等于"}}};window&&window.x_spreadsheet&&(window.x_spreadsheet.$messages=window.x_spreadsheet.$messages||{},window.x_spreadsheet.$messages["zh-cn"]=r),t.default=r}}); \ No newline at end of file diff --git a/dist/xspreadsheet.js b/dist/xspreadsheet.js index 678af25f..4e449dab 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:D};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){this.getCellOrNew(t,e).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&&("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&&e[V])for(var n=e[V],r=t.split("."),i=0;i2?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 st(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 ut(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 ft(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 ht=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:"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()&&(!!ct.call(this,r.range,i.range,n)&&(this.changeData(function(){r.isCopy()?st.call(t,r.range,i.range,e):r.isCut()&&ut.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!!ct.call(this,i,t,r)&&(this.changeData(function(){st.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.isSignleSelected();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&&ft.call(e,o,a,j),a+=O}}();else if("top"===n||"bottom"===n)for(var d=u;d<=h;d+=1)"top"===n&&(ft.call(this,s,d,{top:[r,i]}),d+=l.getCellMerge(s,d)[1]),"bottom"===n&&(ft.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&&(ft.call(this,y,u,{left:[r,i]}),y+=l.getCellMerge(y,u)[0]),"right"===n&&(ft.call(this,y,h,{right:[r,i]}),y+=l.getCellMerge(y,h)[0])}else ft.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:"isSignleSelected",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.isSignleSelected()){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.isSignleSelected()){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-=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=e.height();return r-=41,n&&(r-=41),r}},{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 mt="x-spreadsheet";window.devicePixelRatio;function wt(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(mt,"-resizer ").concat(n?"vertical":"horizontal")).children(this.unhideHoverEl=a("div","".concat(mt,"-resizer-hover")).on("dblclick.stop",function(t){return e.mousedblclickHandler(t)}).css("position","absolute").hide(),this.hoverEl=a("div","".concat(mt,"-resizer-hover")).on("mousedown.stop",function(t){return e.mousedownHandler(t)}),this.lineEl=a("div","".concat(mt,"-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(),bt(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}}])&&Ot(e.prototype,n),r&&Ot(e,r),t}();function xt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Et(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0];xt(this,t),this.useHideInput=n,this.inputChange=function(){},this.cornerEl=a("div","".concat(mt,"-selector-corner")),this.areaEl=a("div","".concat(mt,"-selector-area")).child(this.cornerEl).hide(),this.clipboardEl=a("div","".concat(mt,"-selector-clipboard")).hide(),this.autofillEl=a("div","".concat(mt,"-selector-autofill")).hide(),this.el=a("div","".concat(mt,"-selector")).css("z-index","".concat(_t)).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))),_t+=1}return jt(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 Tt(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 Pt(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 At(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 Rt(t){this.br.setAreaOffset(Tt.call(this,t))}function It(t){this.t.setAreaOffset(Pt.call(this,t))}function Dt(t){this.l.setAreaOffset(At.call(this,t))}function zt(t){this.l.setClipboardOffset(At.call(this,t))}function Ht(t){this.br.setClipboardOffset(Tt.call(this,t))}function Mt(t){this.t.setClipboardOffset(Pt.call(this,t))}function Nt(t){Rt.call(this,t),function(t){this.tl.setAreaOffset(t)}.call(this,t),It.call(this,t),Dt.call(this,t)}function Ft(t){Ht.call(this,t),function(t){this.tl.setClipboardOffset(t)}.call(this,t),Mt.call(this,t),zt.call(this,t)}var Wt=function(){function t(e){var n=this;xt(this,t),this.inputChange=function(){},this.data=e,this.br=new Ct(!0),this.t=new Ct,this.l=new Ct,this.tl=new Ct,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(mt,"-selectors")).children(this.tl.el,this.t.el,this.l.el,this.br.el).hide(),this.lastri=-1,this.lastci=-1,_t+=1}return jt(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();Nt.call(this,t),Ft.call(this,e),this.resetOffset()}},{key:"resetBRTAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();Rt.call(this,t),It.call(this,t),Ht.call(this,e),Mt.call(this,e),this.resetOffset()}},{key:"resetBRLAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();Rt.call(this,t),Dt.call(this,t),Ht.call(this,e),zt.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),Nt.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(Tt.call(this,h)),d.showAutofill(At.call(this,h)),y.showAutofill(Pt.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();Ft.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 Vt(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(mt,"-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(),yt(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(mt,"-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,Vt(r)).show(),vt(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:Bt.call(this,t);break;default:t.stopPropagation()}}.call(e,t)})}}])&&qt(e.prototype,n),r&&qt(e,r),t}();function Ut(t){return(Ut="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 Yt(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 le(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),ae.call(this)}.call(this,t,"\n"),t.stopPropagation()),13!==e||n||t.preventDefault()}function ce(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 se=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 Lt(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)}ce.call(this,this.inputText,r)}).call(i,t)}),this.datepicker=new re,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(mt,"-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),ae.call(this),this.change("input",e)}else t.target.value="";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),ae.call(this),this.change("input",e)}}.call(i,t)}).on("paste.stop",function(){}).on("keydown",function(t){return le.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(mt,"-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,ce.call(this,t,t.length),ae.call(this)}}])&&ie(e.prototype,n),r&&ie(e,r),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 fe(t,e){return!e||"object"!==ue(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 he(t){return(he=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function pe(t,e){return(pe=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var de=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=fe(this,he(e).call(this,"div","".concat(mt,"-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&&pe(t,e)}(e,o),e}();function ye(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0?e-.5:.5}var xe=function(){function t(e,n,r,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;be(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 me(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 Ee(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 je=function(){function t(e,n,r){be(this,t),this.el=e,this.ctx=e.getContext("2d"),this.resize(n,r),this.ctx.scale(we(),we())}return me(t,[{key:"resize",value:function(t,e){this.el.style.width="".concat(t,"px"),this.el.style.height="".concat(e,"px"),this.el.width=Oe(t),this.el.height=Oe(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(Oe(t),Oe(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(Oe(t)-.5,Oe(e)-.5,Oe(n),Oe(r)),this}},{key:"fillText",value:function(t,e,n){return this.ctx.fillText(t,Oe(e),Oe(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(Oe(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>Oe(d)){for(var n={w:0,len:0,start:0},r=0;r=Oe(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&&Ee.call(n,"strike",h,b,a,l,c.size,e),f&&Ee.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=ke,n.strokeStyle=e,"medium"===t?n.lineWidth=Oe(2)-.5:"thick"===t?n.lineWidth=Oe(3):"dashed"===t?n.setLineDash([Oe(3),Oe(2)]):"dotted"===t?n.setLineDash([Oe(1),Oe(1)]):"double"===t&&n.setLineDash([Oe(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=ve(e,2),r=n[0],i=n[1];t.moveTo(Se(r),Se(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=Te(f(n.pop()),2),d=p[0],y=p[1],v=Te(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},Ae=function(t,e){var n=Te(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=Te(f(r),2);return i*e(o[0],o[1])},Re=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(Ae(a,n)),r.pop()}}return i[0]},Ie={render:function t(e,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if("="===e[0]){var o=Pe(e.substring(1));return o.length<=0?e:Re(o,n,function(e,o){return t(r(e,o),n,r,i)},i)}return e}};function De(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 ze(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 xe(o,a+r,l,c,Xe)}function Ge(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=Je(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=Ie.render(s.text||"",Ne,function(t,n){return e.getCellTextOrDefault(n,t)});f.format&&(i=Ue[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 nn(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(Ke).translate(e+r,n+i),f.clearRect(0,0,s,u),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 rn=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 je(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;nn.call(this,i,n,r,o,a),Qe.call(this,i,n,r,-c,-s),en.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=Ye(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,nn.call(this,p,n,r,o,0),Qe.call(this,p,n,r,-c,0),en.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,nn.call(this,d,n,r,0,a),en.call(this,"left",d,n,r,0,a),Qe.call(this,d,n,r,0,-s)}var y=t.freezeViewRange();nn.call(this,y,n,r,0,0),en.call(this,"all",y,n,r,0,0),Qe.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()}}])&&$e(e.prototype,n),r&&$e(e,r),t}();function on(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(mt,"-canvas-card")),b=a("canvas","".concat(mt,"-canvas"));t.canvases.push(b.el);var g=new je(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=yn.call(this),this.el=(n=a("div","".concat(mt,"-contextmenu"))).children.apply(n,hn(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(),yt(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"),vt(n)}}}])&&pn(e.prototype,n),r&&pn(e,r),t}();function bn(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(),vt(this.parent(),function(){t.hide()})}},{key:"hide",value:function(){this.parent().active(!1),this.contentEl.hide(),yt(this.parent())}}])&&_n(n.prototype,r),i&&_n(n,i),e}();function Rn(t){return(Rn="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 In(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e'],["medium",''],["thick",''],["dashed",''],["dotted",'']],Xr=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 Kt("line-type"),o=0,l=$r.map(function(e,n){return a("div","".concat(mt,"-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(mt,"-line-type")).html(e[1]))});return r=Lr(this,(n=Ur(e)).call.apply(n,[this,i,"auto",!1,"bottom-left"].concat(Br(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&&Yr(t,e)}(e,An),e}();function Zr(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0?i.show():i.hide()}var _a=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 ra,this.redoEl=new Go,new ca,this.paintformatEl=new Ci,this.clearformatEl=new Oi],Ea(),[this.formatEl=new xo],Ea(),[this.fontEl=new uo,this.fontSizeEl=new Gi],Ea(),[this.boldEl=new dr,this.italicEl=new mr,this.underlineEl=new Tr,this.strikeEl=new xr,this.textColorEl=new Di(o.color)],Ea(),[this.fillColorEl=new Wi(o.bgcolor),this.borderEl=new ui,this.mergeEl=new $o],Ea(),[this.alignEl=new Ln(o.align),this.valignEl=new Kn(o.valign),this.textwrapEl=new pa],Ea(),[this.freezeEl=new Vo,this.autofilterEl=new sr,this.formulaEl=new Ho,this.moreEl=new Oa]],this.el=a("div","".concat(mt,"-toolbar")),this.btns=a("div","".concat(mt,"-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),ja.call(r)},0),pt(window,"resize",function(){ja.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())}}}])&&Sa(e.prototype,n),r&&Sa(e,r),t}();function Ca(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(mt,"-modal")).css("width",o).children(a("div","".concat(mt,"-modal-header")).children(new Kt("close").on("click.stop",function(){return i.hide()}),this.title),(r=a("div","".concat(mt,"-modal-content"))).children.apply(r,Ca(n))).hide()}var e,n,r;return e=t,(n=[{key:"show",value:function(){var t=this;this.dimmer=a("div","".concat(mt,"-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()},pt(window,"keydown",window.xkeydownEsc)}},{key:"hide",value:function(){this.el.hide(),document.body.removeChild(this.dimmer.el),dt(window,"keydown",window.xkeydownEsc),delete window.xkeydownEsc}}])&&Ta(e.prototype,n),r&&Ta(e,r),t}();function Aa(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(mt,"-form-select")),this.suggest=new Lt(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}}])&&Ia(e.prototype,n),r&&Ia(e,r),t}();function za(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 el(t,e){var n=this.selector,r=this.data,i=r.rows,o=r.cols,a=Ga(n.indexes,2),l=a[0],c=a[1],s=n.range,u=s.eri,f=s.eci;if(t){var h=Ga(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 ol(){var t=this.data,e=this.selector;t.clearClipboard(),e.hideClipboard()}function al(){var t=this.data,e=this.selector;t.copy(),e.showClipboard()}function ll(){var t=this.data,e=this.selector;t.cut(),e.showClipboard()}function cl(t,e){var n=this.data;if("read"!==n.settings.mode)if(n.paste(t,function(t){return Ka("Tip",t)}))il.call(this);else if(e){var r=e.clipboardData.getData("text/plain");this.data.pasteFromText(r),il.call(this)}}function sl(t,e){this.data.unhideRowsOrCols(t,e),il.call(this)}function ul(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(mt,"-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 hl(){var t=this.editor,e=this.data;"read"!==e.settings.mode&&(fl.call(this),t.setCell(e.getSelectedCell(),e.getSelectedValidator()),ol.call(this))}function pl(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 dl(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),ol.call(this),il.call(this))}function yl(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?al.call(this):ol.call(this);else if("clearformat"===t)dl.call(this,"delete-cell-format");else if("link"===t);else if("chart"===t);else if("autofilter"===t)(function(){this.data.autofilter(),il.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()||hl.call(this),il.call(this)}function vl(){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(mt,"-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):(ul.call(a,t),d.setPosition(t.offsetX,t.offsetY)),t.stopPropagation()):2===t.detail?hl.call(a):ul.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)&&Qa(f(t.detail),50),d===p&&Qa(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&&Qa(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){pl.call(a,t,"input"),hl.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,pt(t,"touchstart",function(t){var e=t.touches[0],n=e.pageX,r=e.pageY;i=n,o=r}),pt(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)&&(gt(l,c,t,n),i=r,o=a),t.preventDefault()}}),pt(t,"touchend",function(t){if(r){var e=t.changedTouches[0],n=e.pageX,a=e.pageY;gt(n-i,a-o,t,r)}}),y.change=function(t,e){return yl.call(a,t,e)},b.ok=function(t,e,n,r){return function(t,e,n,r){this.data.setAutoFilter(t,e,n,r),il.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(),nl.call(this),fl.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(),rl.call(this),fl.call(this)}).call(a,t,e)},s.unhideFn=function(t){sl.call(a,"row",t)},u.unhideFn=function(t){sl.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(),fl.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(),fl.call(e),r.render()})}).call(a,t,e)},p.change=function(t,e){pl.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?(pl.call(a,t.key,"input"),hl.call(a)):113===e&&hl.call(a)}}})}var bl=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=new Map;var i=n.settings,o=i.view,l=i.showToolbar,c=i.showContextmenu;this.el=a("div","".concat(mt,"-sheet")),this.toolbar=new _a(n,o.width,!l),this.print=new fn(n),e.children(this.toolbar.el,this.el,this.print.el),this.data=n,this.tableEl=a("canvas","".concat(mt,"-table")),this.rowResizer=new kt(!1,n.rows.height),this.colResizer=new kt(!0,n.cols.minWidth),this.verticalScrollbar=new St(!0),this.horizontalScrollbar=new St(!1),this.editor=new se(Me,function(){return r.getTableOffset()},n.rows.height),this.modalValidation=new La,this.contextMenu=new vn(function(){return r.getRect()},!c),this.selector=new Wt(n),this.overlayerCEl=a("div","".concat(mt,"-overlayer-content")).children(this.editor.el,this.selector.el),this.overlayerEl=a("div","".concat(mt,"-overlayer")).child(this.overlayerCEl),this.sortFilter=new Za,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 rn(this.tableEl.el,n),vl.call(this),il.call(this),tl.call(this,!1,0,0)}var e,n,r;return e=t,(n=[{key:"on",value:function(t,e){return this.eventMap.set(t,e),this}},{key:"trigger",value:function(t){var e=this.eventMap;if(e.has(t)){for(var n,r=arguments.length,i=new Array(r>1?r-1:0),o=1;o0&&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(){};kl(this,t),this.swapFunc=r,this.updateFunc=o,this.dataNames=[],this.activeEl=null,this.deleteEl=null,this.items=[],this.moreEl=new _l(function(t){e.clickSwap2(e.items[t])}),this.contextMenu=new Pl,this.contextMenu.itemClick=i,this.el=a("div","".concat(mt,"-bottombar")).children(this.contextMenu.el,this.menuEl=a("ul","".concat(mt,"-menu")).child(a("li","").children(new Kt("add").on("click",function(){e.dataNames.length<10?n():Ka("tip","it less than or equal to 10")}),a("span","").child(this.moreEl))))}return Sl(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 Ra("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=gl(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 Rl(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 Il(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=r,this.sheetIndex=1,this.datas=[],"string"==typeof e&&(i=document.querySelector(e)),this.bottombar=new Al(function(){var t=n.addSheet();n.sheet.resetData(t)},function(t){var e=n.datas[t];n.sheet.resetData(e)},function(){n.deleteSheet()},function(t,e){n.datas[t].name=e}),this.data=this.addSheet();var o=a("div","".concat(mt)).on("contextmenu",function(t){return t.preventDefault()});i.appendChild(o.el),this.sheet=new bl(o,this.data),o.child(this.bottombar.el)}var e,n,r;return e=t,r=[{key:"locale",value:function(t,e){Y(t,e)}}],(n=[{key:"addSheet",value:function(t){var e=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=t||"sheet".concat(this.sheetIndex),i=new ht(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(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}}])&&Il(e.prototype,n),r&&Il(e,r),t}(),zl=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Dl(t,e)};window&&(window.x_spreadsheet=zl,window.x_spreadsheet.locale=function(t,e){return Y(t,e)});e.default=Dl}]); +!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("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(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 i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:"";o(this,t),"string"==typeof e?(this.el=document.createElement(e),this.el.className=n):this.el=e,this.data={}}var e,n,i;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 c(t,e)};n(0);function u(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))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 n=0,r=new Array(e);n=f.length;)n/=f.length,n-=1,e+=f[parseInt(n,10)%f.length];return e+=f[t%f.length]}function y(t){for(var e=0,n=0;n="0"&&t.charAt(r)<="9"?n+=t.charAt(r):e+=t.charAt(r);return[y(e),parseInt(n,10)-1]}function d(t,e){return"".concat(h(t)).concat(e+1)}function v(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=p(t),o=u(i,2),a=o[0],c=o[1];return r(a,c)?d(a+e,c+n):t}function b(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return m(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(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 m(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;g(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=b(p(n[0]),2),i=r[0],o=r[1],a=o,c=i;if(n.length>1){var l=b(p(n[1]),2);c=l[0],a=l[1]}return new t(o,i,a,c)}}],(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 c=r;c<=o;c+=1)t(a,c)}},{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,c=this.eci,l=e.sri-i,u=e.sci-o,s=a-e.eri,f=c-e.eci;return l>0?(r(i,o,e.sri-1,c),s>0?(r(e.eri+1,o,a,c),u>0&&r(e.sri,o,e.eri,e.sci-1),f>0&&r(e.sri,e.eci+1,e.eri,c)):(u>0&&r(e.sri,o,a,e.sci-1),f>0&&r(e.sri,e.eci+1,a,c))):s>0&&(r(e.eri+1,o,a,c),u>0&&r(i,o,e.eri,e.sci-1),f>0&&r(i,e.eci+1,e.eri,c)),u>0?(r(i,o,a,e.sci-1),f>0?(r(i,e.eri+1,a,c),l>0&&r(i,e.sci,e.sri-1,e.eci),s>0&&r(e.sri+1,e.sci,a,e.eci)):(l>0&&r(i,e.sci,e.sri-1,c),s>0&&r(e.sri+1,e.sci,a,c))):f>0&&(r(a,e.eci+1,a,c),l>0&&r(i,o,e.sri-1,e.eci),s>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=d(e,t);return this.multiple()&&(i="".concat(i,":").concat(d(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}}])&&w(e.prototype,n),r&&w(e,r),t}();function O(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())))}}])&&j(e.prototype,n),r&&j(e,r),t}();function R(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[];z(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?(u.sri+=n,u.eri+=n):o=e?(u.sci+=n,u.eci+=n):a0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length,r=new Array(n>1?n-1:0),i=1;i5?c.toFixed(2):c;return c.toFixed(Math.max(r,i))}var W={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);l+=1)a+=c=o(l);return[l,a-c,c]},deleteProperty:function(t,e){var n=t["".concat(e)];return delete t["".concat(e)],n},numberCalc:F};function V(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return U(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return U(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 U(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);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 W.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){this.getCellOrNew(t,e).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,c=t.eri,l=t.eci,u=e.sri,s=e.sci,f=e.eri,h=e.eci,y=t.size(),p=V(y,2),d=p[0],b=p[1],m=e.size(),g=V(m,2),w=g[0],k=g[1],O=!0,S=0;(f0&&function(){var t=A.text,e=R-s+(E-u)+2;if(O||(e-=S+1),"="===t[0])A.text=t.replace(/[a-zA-Z]{1,3}\d+/g,(function(t){var n=0,r=0;return o===u?n=e-1:r=e-1,/^\d+$/.test(t)?t:v(t,n,r)}));else if(d<=1&&b>1&&(u>c||f1&&(s>l||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 v(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 c=parseInt(o,10);ce&&(i[c-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 v(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 v(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 v(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=V(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=V(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._)}}])&&$(e.prototype,n),r&&$(e,r),t}();function L(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 W.rangeSum(t,e,(function(t){return n.getWidth(t)}))}},{key:"totalWidth",value:function(){return this.sumWidth(0,this.len)}}])&&L(e.prototype,n),r&&L(e,r),t}();function X(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return Z(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Z(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},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,a=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw o}}}}function Z(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n 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 G(t,e){if(e){var n,r=X(K);try{for(r.s();!(n=r.n()).done;){var i=n.value;if(!e[i])break;for(var o=e[i],a=t.match(/(?:\\.|[^.])+/g),c=0;ct.length)&&(e=t.length);for(var n=0,r=new Array(e);n2?r-2:0),o=2;o=this.parseValue(c)&&o<=this.parseValue(l),"between",c,l)}if("nbe"===n){var u=et(r,2),s=u[0],f=u[1];return ot(othis.parseValue(f),"notBetween",s,f)}if("eq"===n)return ot(o===this.parseValue(r),"equal",r);if("neq"===n)return ot(o!==this.parseValue(r),"notEqual",r);if("lt"===n)return ot(othis.parseValue(r),"greaterThan",r);if("gte"===n)return ot(o>=this.parseValue(r),"greaterThanEqual",r)}return[!0]}}])&&rt(e.prototype,n),r&&rt(e,r),t}();function ct(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return lt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lt(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 lt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0})).map((function(t){return t.getData()}))}},{key:"setData",value:function(t){this._=t.map((function(t){return ht.valueOf(t)}))}}]),t}();function pt(t){return function(t){if(Array.isArray(t))return mt(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||bt(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 dt(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n2&&void 0!==arguments[2]?arguments[2]:function(){},r=this.merges,i=e.clone(),o=t.size(),a=vt(o,2),c=a[0],l=a[1],u=e.size(),s=vt(u,2),f=s[0],h=s[1];return c>f&&(i.eri=e.sri+c-1),l>h&&(i.eci=e.sci+l-1),!r.intersects(i)||(n(Q("error.pasteForMergedCell")),!1)}function kt(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=vt(n.merge,2),i=r[0],a=r[1];if(i<=0&&a<=0)return;o.add(new k(t,e,t+i,e+a))}}))}function Ot(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 St(t,e,n){var r=this.styles,i=this.rows.getCellOrNew(t,e),o={};void 0!==i.style&&(o=W.cloneDeep(r[i.style])),o=W.merge(o,{border:n}),i.style=this.addStyle(o)}function xt(t){var e=this,n=t.mode,r=t.style,i=t.color,o=this.styles,a=this.selector,c=this.rows,l=a.range,u=l.sri,s=l.sci,f=l.eri,h=l.eci,y=!this.isSignleSelected();if(y||"inside"!==n&&"horizontal"!==n&&"vertical"!==n)if("outside"!==n||y){if("none"===n)a.range.each((function(t,n){var r=c.getCell(t,n);if(r&&void 0!==r.style){var i=W.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=u;o<=f;o+=1)for(var a=s;a<=h;a+=1){for(var l=[],p=0;ph)break;var w=c.getCell(o,a),k=0,O=0;if(w&&w.merge){var S=vt(w.merge,2);k=S[0],O=S[1],t.push([o,a,k,O])}var x=k>0&&o+k===f,j=O>0&&a+O===h,E={};"all"===n?E={bottom:[r,i],top:[r,i],left:[r,i],right:[r,i]}:"inside"===n?(!j&&a0&&St.call(e,o,a,E),a+=O}}();else if("top"===n||"bottom"===n)for(var p=s;p<=h;p+=1)"top"===n&&(St.call(this,u,p,{top:[r,i]}),p+=c.getCellMerge(u,p)[1]),"bottom"===n&&(St.call(this,f,p,{bottom:[r,i]}),p+=c.getCellMerge(f,p)[1]);else if("left"===n||"right"===n)for(var d=u;d<=f;d+=1)"left"===n&&(St.call(this,d,s,{left:[r,i]}),d+=c.getCellMerge(d,s)[0]),"right"===n&&(St.call(this,d,h,{right:[r,i]}),d+=c.getCellMerge(d,h)[0])}else St.call(this,u,s,{top:[r,i],bottom:[r,i],left:[r,i],right:[r,i]})}function jt(t,e){var n=this.rows,r=this.freezeTotalHeight(),i=n.height;r+n.heightt);a+=1)o.has(a)||(c+=l=n.getHeight(a));return(c-=l)<=0?{ri:-1,top:0,height:l}:{ri:a-1,top:c,height:l}}function Et(t,e){var n=this.cols,r=this.freezeTotalWidth(),i=n.indexWidth;r+n.indexWidththis.selector.range.sci&&(t+="\t"),e[n].cells.hasOwnProperty(r)){var i=String(e[n].cells[r].text);-1==i.indexOf("\n")&&-1==i.indexOf("\t")&&-1==i.indexOf('"')?t+=i:t+='"'+i+'"'}}else for(r=this.selector.range.sci;r<=this.selector.range.eci;r++)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()&&!!wt.call(this,r.range,i.range,n)&&(this.changeData((function(){r.isCopy()?kt.call(t,r.range,i.range,e):r.isCut()&&Ot.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!!wt.call(this,i,t,r)&&(this.changeData((function(){kt.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,c=a.sri,l=a.sci,u=a.eri,s=a.eci,f=n.ri,h=n.ci,y=t,p=e;return t<0&&(y=r.len-1),e<0&&(p=i.len-1),y>f?(c=f,u=y):(c=y,u=f),p>h?(l=h,s=p):(l=p,s=h),n.range=o.union(new k(c,l,u,s)),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 k(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)xt.call(n,e);else if("formula"===t){var a=r.ri,c=r.ci,l=r.range;if(r.multiple()){var u=vt(r.size(),2),s=u[0],f=u[1],h=l.sri,y=l.sci,p=l.eri,v=l.eci;if(s>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 f>1&&(o.getCellOrNew(a,v+1).text="=".concat(e,"(").concat(d(y,a),":").concat(d(v,a),")"))}else o.getCellOrNew(a,c).text="=".concat(e,"()")}else r.range.each((function(r,a){var c=o.getCellOrNew(r,a),l={};if(void 0!==c.style&&(l=W.cloneDeep(i[c.style])),"format"===t)l.format=e,c.style=n.addStyle(l);else if("font-bold"===t||"font-italic"===t||"font-name"===t||"font-size"===t){var u={};u[t.split("-")[1]]=e,l.font=Object.assign(l.font||{},u),c.style=n.addStyle(l)}else"strike"===t||"textwrap"===t||"underline"===t||"align"===t||"valign"===t||"color"===t||"bgcolor"===t?(l[t]=e,c.style=n.addStyle(l)):c[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,c=o;this.unsortedRowMap.has(o)&&(c=this.unsortedRowMap.get(o));var l=i.getCell(c,a),u=l?l.text:"";if(this.setCellText(c,a,t,e),n.active()){var s=n.getFilter(a);if(s){var f=s.value.findIndex((function(t){return t===u}));f>=0&&s.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,c=t-this.cols.indexWidth,l=e-this.rows.height;return c>r&&ci&&l0&&v>u&&(y=u),d>0&&d>s&&(p=s),{l:u,t:s,left:y,top:p,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=jt.call(this,e,n.y),c=a.ri,l=a.top,u=a.height,s=Et.call(this,t,n.x),f=s.ci,h=s.left,y=s.width;if(-1===f&&(y=o.totalWidth()),-1===c&&(u=i.totalHeight()),c>=0||f>=0){var p=r.getFirstIncludes(c,f);if(p){c=p.sri,f=p.sci;var d=this.cellRect(c,f);h=d.left,l=d.top,y=d.width,u=d.height}}return{ri:c,ci:f,left:h,top:l,width:y,height:u}}},{key:"isSignleSelected",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=vt(o.merge,2),c=a[0],l=a[1];if(e+c===r&&n+l===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=vt(o.merge,2),c=a[0],l=a[1];if(e+c===r&&n+l===i)return!0}return!1}},{key:"merge",value:function(){var t=this,e=this.selector,n=this.rows;if(!this.isSignleSelected()){var r=vt(e.size(),2),i=r[0],o=r[1];if(i>1||o>1){var a=e.range,c=a.sri,l=a.sci;this.changeData((function(){var r=n.getCellOrNew(c,l);r.merge=[i-1,o-1],t.merges.add(e.range),t.rows.deleteCells(e.range),t.rows.setCell(c,l,r)}))}}}},{key:"unmerge",value:function(){var t=this,e=this.selector;if(this.isSignleSelected()){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,c=Array.from(a),l=Array.from(a);r&&c.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,c.forEach((function(e,n){t.sortedRowMap.set(l[n],e),t.unsortedRowMap.set(e,l[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,c=e.merges,l=e.cols,u=i;"row"===t?a.insert(i,n):"column"===t&&(a.insertColumn(o,n),u=o,l.len+=1),c.shift(t,u,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,c=i.range,l=c.sri,u=c.sci,s=c.eri,f=c.eci,h=vt(i.range.size(),2),y=h[0],p=h[1],d=l,v=y;"row"===t?n.delete(l,s):"column"===t&&(n.deleteColumn(u,f),d=a.sci,v=p,o.len-=1),r.shift(t,d,-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=vt(r,2)[1],a=vt(W.rangeReduceIf(o,i.len,0,0,t,(function(t){return i.getWidth(t)})),3),c=a[0],l=a[1],u=a[2],s=l;t>0&&(s+=u),n.x!==s&&(n.ci=t>0?c:0,n.x=s,e())}},{key:"scrolly",value:function(t,e){var n=this.scroll,r=this.freeze,i=this.rows,o=vt(r,1)[0],a=vt(W.rangeReduceIf(o,i.len,0,0,t,(function(t){return i.getHeight(t)})),3),c=a[0],l=a[1],u=a[2],s=l;t>0&&(s+=u),n.y!==s&&(n.ri=t>0?c:0,n.y=s,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),c=r.getWidth(e),l=n.getHeight(t);if(null!==a&&a.merge){var u=vt(a.merge,2),s=u[0],f=u[1];if(s>0)for(var h=1;h<=s;h+=1)l+=n.getHeight(t+h);if(f>0)for(var y=1;y<=f;y+=1)c+=r.getWidth(e+y)}return{left:i,top:o,width:c,height:l,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 W.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=vt(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=e.height();return r-=41,n&&(r-=41),r}},{key:"viewWidth",value:function(){return this.settings.view.width()}},{key:"freezeViewRange",value:function(){var t=vt(this.freeze,2),e=t[0],n=t[1];return new k(0,0,e-1,n-1,this.freezeTotalWidth(),this.freezeTotalHeight())}},{key:"contentRange",value:function(){var t=this.rows,e=this.cols,n=vt(t.maxCell(),2),r=n[0],i=n[1],o=t.sumHeight(0,r+1),a=e.sumWidth(0,i+1);return new k(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=vt(r,1)[0]),a<=0&&(a=vt(r,2)[1]);for(var c=0,l=0,u=[e.len,n.len],s=u[0],f=u[1],h=o;hthis.viewHeight()));h+=1);for(var y=a;ythis.viewWidth()));y+=1);return new k(o,a,s,f,c,l)}},{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=vt(n.size(),2),i=r[0],o=r[1],a=n.range,c=a.sri,l=a.sci,u=a.eri,s=a.eci;if(i===t.len)for(var f=l;f<=s;f+=1)e.setHide(f,!0);else if(o===e.len)for(var h=c;h<=u;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=pt(o),c=0,l=0;l0&&(n(u,r,s),(r+=s)>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;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nMath.abs(e)?r(t>0?"right":"left",t,n):r(e>0?"down":"up",e,n)}function Bt(){var t=new Map;function e(e,n){if(t.has(e)){var r=t.get(e);Array.isArray(r)&&r.push(n)}else t.set(e,[].concat(n))}function n(e,n){if(t.has(e)){var r=t.get(e),i=r.indexOf(n);i&&i>=0&&r.splice(i,1)}}return{getAllListeners:function(){return t},on:e,once:function(t,r){e(t,(function e(){for(var i=arguments.length,o=new Array(i),a=0;a=t.length?{done:!0}:{done:!1,value:t[r++]}},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,a=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw o}}}}(t.get(e));try{for(i.s();!(r=i.n()).done;){var o=r.value;o.call.apply(o,[null].concat(_t(n)))}}catch(t){i.e(t)}finally{i.f()}}},removeListener:n,removeAllListeners:function(){t.clear()}}}var Ht="x-spreadsheet",Nt=window.devicePixelRatio||1;function Ft(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Wt(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1?arguments[1]:void 0;Ft(this,t),this.moving=!1,this.vertical=n,this.el=l("div","".concat(Ht,"-resizer ").concat(n?"vertical":"horizontal")).children(this.unhideHoverEl=l("div","".concat(Ht,"-resizer-hover")).on("dblclick.stop",(function(t){return e.mousedblclickHandler(t)})).css("position","absolute").hide(),this.hoverEl=l("div","".concat(Ht,"-resizer-hover")).on("mousedown.stop",(function(t){return e.mousedownHandler(t)})),this.lineEl=l("div","".concat(Ht,"-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,c=this.unhideHoverEl;if(!n){this.cRect=t;var l=t.left,u=t.top,s=t.width,f=t.height;a.offset({left:r?l+s-5:l,top:r?u:u+f-5}).show(),i.offset({width:r?5:s,height:r?f:5}),o.offset({width:r?0:e.width,height:r?e.height:0}),c.offset({left:r?5-s:l,top:r?u:5-f,width:r?5:s,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,c=this.minDistance,l=a?o.width:o.height;i.show(),zt(window,(function(t){e.moving=!0,null!==n&&1===t.buttons&&(a?(l+=t.movementX)>c&&r.css("left","".concat(o.left+l,"px")):(l+=t.movementY)>c&&r.css("top","".concat(o.top+l,"px")),n=t)}),(function(){n=null,i.hide(),e.moving=!1,e.hide(),e.finishedFn&&(ln){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}}])&&Ut(e.prototype,n),r&&Ut(e,r),t}();function qt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Lt(t,e){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0];qt(this,t),this.useHideInput=n,this.inputChange=function(){},this.cornerEl=l("div","".concat(Ht,"-selector-corner")),this.areaEl=l("div","".concat(Ht,"-selector-area")).child(this.cornerEl).hide(),this.clipboardEl=l("div","".concat(Ht,"-selector-clipboard")).hide(),this.autofillEl=l("div","".concat(Ht,"-selector-autofill")).hide(),this.el=l("div","".concat(Ht,"-selector")).css("z-index","".concat(Xt)).children(this.areaEl,this.clipboardEl,this.autofillEl).hide(),n&&(this.hideInput=l("input","").on("compositionend",(function(t){e.inputChange(t.target.value)})),this.el.child(this.hideInputDiv=l("div","hide-input").child(this.hideInput)),this.el.child(this.hideInputDiv=l("div","hide-input").child(this.hideInput))),Xt+=1}return Yt(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 Kt(t){var e=this.data,n=t.left,r=t.top,i=t.width,o=t.height,a=t.scroll,c=t.l,l=t.t,u=e.freezeTotalWidth(),s=e.freezeTotalHeight(),f=n-u;u>c&&(f-=a.x);var h=r-s;return s>l&&(h-=a.y),{left:f,top:h,width:i,height:o}}function Jt(t){var e=this.data,n=t.left,r=t.width,i=t.height,o=t.l,a=t.t,c=t.scroll,l=e.freezeTotalWidth(),u=n-l;return l>o&&(u-=c.x),{left:u,top:a,width:r,height:i}}function Gt(t){var e=this.data,n=t.top,r=t.width,i=t.height,o=t.l,a=t.t,c=t.scroll,l=e.freezeTotalHeight(),u=n-l;return l>a&&(u-=c.y),{left:o,top:u,width:r,height:i}}function Qt(t){this.br.setAreaOffset(Kt.call(this,t))}function te(t){this.tl.setAreaOffset(t)}function ee(t){this.t.setAreaOffset(Jt.call(this,t))}function ne(t){this.l.setAreaOffset(Gt.call(this,t))}function re(t){this.l.setClipboardOffset(Gt.call(this,t))}function ie(t){this.br.setClipboardOffset(Kt.call(this,t))}function oe(t){this.tl.setClipboardOffset(t)}function ae(t){this.t.setClipboardOffset(Jt.call(this,t))}function ce(t){Qt.call(this,t),te.call(this,t),ee.call(this,t),ne.call(this,t)}function le(t){ie.call(this,t),oe.call(this,t),ae.call(this,t),re.call(this,t)}var ue=function(){function t(e){var n=this;qt(this,t),this.inputChange=function(){},this.data=e,this.br=new Zt(!0),this.t=new Zt,this.l=new Zt,this.tl=new Zt,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=l("div","".concat(Ht,"-selectors")).children(this.tl.el,this.t.el,this.l.el,this.br.el).hide(),this.lastri=-1,this.lastci=-1,Xt+=1}return Yt(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();ce.call(this,t),le.call(this,e),this.resetOffset()}},{key:"resetBRTAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();Qt.call(this,t),ee.call(this,t),ie.call(this,e),ae.call(this,e),this.resetOffset()}},{key:"resetBRLAreaOffset",value:function(){var t=this.data.getSelectedRect(),e=this.data.getClipboardRect();Qt.call(this,t),ne.call(this,t),ie.call(this,e),re.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 c=t,l=e;t<0&&(c=0),e<0&&(l=0),r.selector.setIndexes(c,l),this.indexes=[c,l]}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),ce.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,c=t,l=e,u=r-t,s=o-t,f=a-e;if(i-e>0)this.arange=new k(r,l,o,i-1);else if(u>0)this.arange=new k(c,i,r-1,a);else if(f<0)this.arange=new k(r,a+1,o,l);else{if(!(s<0))return void(this.arange=null);this.arange=new k(o+1,i,c,a)}if(null!==this.arange){var h=this.data.getRect(this.arange);h.width+=2,h.height+=2;var y=this.br,p=this.l,d=this.t,v=this.tl;y.showAutofill(Kt.call(this,h)),p.showAutofill(Gt.call(this,h)),d.showAutofill(Jt.call(this,h)),v.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();le.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 se(t){return function(t){if(Array.isArray(t))return fe(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return fe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fe(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 fe(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=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 ve(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 be(t){var e=t.keyCode;switch(t.ctrlKey&&t.stopPropagation(),e){case 37:t.stopPropagation();break;case 38:pe.call(this,t);break;case 39:t.stopPropagation();break;case 40:de.call(this,t);break;case 13:case 9:ve.call(this,t);break;default:t.stopPropagation()}}var me=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"200px";he(this,t),this.filterItems=[],this.items=e,this.el=l("div","".concat(Ht,"-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(),It(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=l("div","".concat(Ht,"-item")).child(e).on("click.stop",(function(){n.itemClick(t),n.hide()}));return t.label&&r.child(l("div","label").html(t.label)),r})),this.filterItems=r,!(r.length<=0)){var i=this.el;(e=i.html("")).children.apply(e,se(r)).show(),Dt(i.parent(),(function(){n.hide()}))}}},{key:"bindInputEvents",value:function(t){var e=this;t.on("keydown",(function(t){return be.call(e,t)}))}}])&&ye(e.prototype,n),r&&ye(e,r),t}();function ge(t){return(ge="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 we(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nr.width){var s=c;c>l&&(s=l,u+=parseInt(c/l,10),u+=c%l>0?1:0),n.css("width","".concat(s,"px"))}(u*=this.rowHeight)>r.height&&n.css("height","".concat(u,"px"))}}function He(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),Be.call(this)}function Ne(t){var e=t.keyCode,n=t.altKey;13!==e&&9!==e&&t.stopPropagation(),13===e&&n&&(He.call(this,t,"\n"),t.stopPropagation()),13!==e||n||t.preventDefault()}function Fe(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),Be.call(this),this.change("input",e)}else t.target.value="";else{if(this.inputText=e,i)"list"===i.type?n.search(e):n.hide();else{var c=e.lastIndexOf("=");-1!==c?n.search(e.substring(c+1)):n.hide()}r.html(e),Be.call(this),this.change("input",e)}}function We(t){var e=this.textEl.el;setTimeout((function(){e.focus(),e.setSelectionRange(t,t)}),0)}function Ve(t,e){var n=this.textEl,r=this.textlineEl;n.el.blur(),n.val(t),r.html(t),We.call(this,e)}function Ue(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)}Ve.call(this,this.inputText,r)}function $e(){this.suggest.setItems(this.formulas)}var qe=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 me(e,(function(t){Ue.call(i,t)})),this.datepicker=new Ie,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=l("div","".concat(Ht,"-editor-area")).children(this.textEl=l("textarea","").on("input",(function(t){return Fe.call(i,t)})).on("paste.stop",(function(){})).on("keydown",(function(t){return Ne.call(i,t)})),this.textlineEl=l("div","textline"),this.suggest.el,this.datepicker.el).on("mousemove.stop",(function(){})).on("mousedown.stop",(function(){})),this.el=l("div","".concat(Ht,"-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(""),$e.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 c=t.left,l=t.top,u=t.width,s=t.height,f=t.l,h=t.t,y={left:0,top:0};o.w>f&&o.h>h||(o.wf?y.top=o.h:o.h>h&&(y.left=o.w)),a.offset(y),r.offset({left:c-y.left-.8,top:l-y.top-.8}),n.offset({width:u-9+.8,height:s-3+.8});var p={left:0};p[e]=s,i.setOffset(p),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,Ve.call(this,t,t.length),Be.call(this)}}])&&De(e.prototype,n),r&&De(e,r),t}();function Le(t){return(Le="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 Ye(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Xe(t,e){return(Xe=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function Ze(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=Je(t);if(e){var i=Je(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return Ke(this,n)}}function Ke(t,e){return!e||"object"!==Le(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 Je(t){return(Je=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Ge=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}}),e&&Xe(t,e)}(n,t);var e=Ze(n);function n(t){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return Ye(this,n),(r=e.call(this,"div","".concat(Ht,"-button ").concat(i))).child(Q("button.".concat(t))),r}return n}(c);function Qe(t){return function(t){if(Array.isArray(t))return nn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||en(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 tn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||en(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 en(t,e){if(t){if("string"==typeof t)return nn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?nn(t,e):void 0}}function nn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?e-.5:.5}var sn=function(){function t(e,n,r,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;rn(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 an(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 fn(t,e,n,r,i,o,a){var c={x:0,y:0};"underline"===t?c.y="bottom"===i?0:"top"===i?-(o+2):-o/2:"strike"===t&&("bottom"===i?c.y=o/2:"top"===i&&(c.y=-(o/2+2))),"center"===r?c.x=a/2:"right"===r&&(c.x=a),this.line([e-c.x,n-c.y],[e-c.x+a,n-c.y])}var hn=function(){function t(e,n,r){rn(this,t),this.el=e,this.ctx=e.getContext("2d"),this.resize(n,r),this.ctx.scale(Nt,Nt)}return an(t,[{key:"resize",value:function(t,e){this.el.style.width="".concat(t,"px"),this.el.style.height="".concat(e,"px"),this.el.width=ln(t),this.el.height=ln(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(ln(t),ln(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(ln(t)-.5,ln(e)-.5,ln(n),ln(r)),this}},{key:"fillText",value:function(t,e,n){return this.ctx.fillText(t,ln(e),ln(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,c=r.valign,l=r.font,u=r.color,s=r.strike,f=r.underline,h=e.textx(a);o.save(),o.beginPath(),this.attr({textAlign:a,textBaseline:c,font:"".concat(l.italic?"italic":""," ").concat(l.bold?"bold":""," ").concat(ln(l.size),"px ").concat(l.name),fillStyle:u,strokeStyle:u});var y="".concat(t).split("\n"),p=e.innerWidth(),d=[];y.forEach((function(t){var e=o.measureText(t).width;if(i&&e>ln(p)){for(var n={w:0,len:0,start:0},r=0;r=ln(p)&&(d.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&&d.push(t.substr(n.start,n.len))}else d.push(t)}));var v=(d.length-1)*(l.size+2),b=e.texty(c,v);return d.forEach((function(t){var e=o.measureText(t).width;n.fillText(t,h,b),s&&fn.call(n,"strike",h,b,a,c,l.size,e),f&&fn.call(n,"underline",h,b,a,c,l.size,e),b+=l.size+2})),o.restore(),this}},{key:"border",value:function(t,e){var n=this.ctx;return n.lineWidth=cn,n.strokeStyle=e,"medium"===t?n.lineWidth=ln(2)-.5:"thick"===t?n.lineWidth=ln(3):"dashed"===t?n.setLineDash([ln(3),ln(2)]):"dotted"===t?n.setLineDash([ln(1),ln(1)]):"double"===t&&n.setLineDash([ln(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=tn(e,2),r=n[0],i=n[1];t.moveTo(un(r),un(i));for(var o=1;ot.length)&&(e=t.length);for(var n=0,r=new Array(e);n="a"&&u<="z")r.push(u.toUpperCase());else if(u>="0"&&u<="9"||u>="A"&&u<="Z"||"."===u)r.push(u);else if('"'===u){for(l+=1;'"'!==t.charAt(l);)r.push(t.charAt(l)),l+=1;n.push('"'.concat(r.join(""))),r=[]}else if("-"===u&&/[+\-*/,(]/.test(c))r.push(u);else{if("("!==u&&r.length>0&&n.push(r.join("")),")"===u){var s=e.pop();if(2===i)try{for(var f=vn(p(n.pop()),2),h=f[0],y=f[1],v=vn(p(n.pop()),2),b=v[0],m=v[1],g=0,w=b;w<=h;w+=1)for(var k=m;k<=y;k+=1)n.push(d(w,k)),g+=1;n.push([s,g])}catch(t){}else if(1===i||3===i)3===i&&n.push(o),n.push([s,a]),a=1;else for(;"("!==s&&(n.push(s),!(e.length<=0));)s=e.pop();i=0}else if("="===u||">"===u||"<"===u){var O=t.charAt(l+1);o=u,"="!==O&&"-"!==O||(o+=O,l+=1),i=3}else if(":"===u)i=2;else if(","===u)3===i&&n.push(o),i=1,a+=1;else if("("===u&&r.length>0)e.push(r.join(""));else{if(e.length>0&&("+"===u||"-"===u)){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(u)}r=[]}c=u}}for(r.length>0&&n.push(r.join(""));e.length>0;)n.push(e.pop());return n},gn=function(t,e){var n=vn(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=vn(p(r),2);return i*e(o[0],o[1])},wn=function(t,e,n,r){for(var i=[],o=0;o"===c||"<"===c){var h=i.pop();Number.isNaN(h)||(h=Number(h));var y=i.pop();Number.isNaN(y)||(y=Number(y));var p=!1;"="===c?p=y===h:">"===a?p=y>h:">="===a?p=y>=h:"<"===a?p=y="a"&&c<="z"||c>="A"&&c<="Z")&&r.push(a),i.push(gn(a,n)),r.pop()}}return i[0]},kn=function t(e,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if("="===e[0]){var o=mn(e.substring(1));return o.length<=0?e:wn(o,n,(function(e,o){return t(r(e,o),n,r,i)}),i)}return e};function On(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||xn(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 Sn(t){return function(t){if(Array.isArray(t))return jn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||xn(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){if(t){if("string"==typeof t)return jn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jn(t,e):void 0}}function jn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n3&&void 0!==arguments[3]?arguments[3]:0,i=t.cellRect(e,n),o=i.left,a=i.top,c=i.width,l=i.height;return new sn(o,a+r,c,l,5)}function $n(t,e,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=e.sortedRowMap,a=e.rows,c=e.cols;if(!a.isHide(n)&&!c.isHide(r)){var l=n;o.has(n)&&(l=o.get(n));var u=e.getCell(l,r);if(null!==u){var s=!1;"editable"in u&&!1===u.editable&&(s=!0);var f=e.getCellStyleOrDefault(l,r),h=Un(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?u.text||"":kn(u.text||"",_n,(function(t,n){return e.getCellTextOrDefault(n,t)})),f.format&&(i=Bn[f.format].render(i));var o=Object.assign({},f.font);o.size=dn(o.size),t.text(i,h,{align:f.align,valign:f.valign,font:o,color:f.color,strike:f.strike,underline:f.underline},f.textwrap),e.validations.getError(n,r)&&t.error(h),s&&t.frozen(h)}))}}}function qn(t){var e=this.data,n=this.draw;if(t){var r=e.autoFilter;if(!r.active())return;var i=r.hrange();t.intersects(i)&&i.each((function(t,r){var i=Un(e,t,r);n.dropdown(i)}))}}function Ln(t,e,n,r,i){var o=this.draw,a=this.data;o.save(),o.translate(e,n).translate(r,i);var c=a.exceptRowSet,l=a.exceptRowTotalHeight(t.sri,t.eri);o.save(),o.translate(0,-l),t.each((function(t,e){$n(o,a,t,e)}),(function(t){return function(t){var e=c.has(t);if(e){var n=a.rows.getHeight(t);o.translate(0,-n)}return!e}(t)})),o.restore();var u=new Set;o.save(),o.translate(0,-l),a.eachMergesInView(t,(function(t){var e=t.sri,n=t.sci,r=t.eri;if(c.has(e)){if(!u.has(e)){u.add(e);var i=a.rows.sumHeight(e,r+1);o.translate(0,-i)}}else $n(o,a,e,n)})),o.restore(),qn.call(this,t),o.restore()}function Yn(t,e,n,r){var i=this.draw;i.save(),i.attr({fillStyle:"rgba(75, 137, 255, 0.08)"}).fillRect(t,e,n,r),i.restore()}function Xn(t,e,n,r,i,o){var a=this,c=this.draw,l=this.data,u=e.h,s=e.w,f=o+r,y=i+n;c.save(),c.attr(Wn),"all"!==t&&"left"!==t||c.fillRect(0,f,n,u),"all"!==t&&"top"!==t||c.fillRect(y,0,s,r);var p=l.selector.range,d=p.sri,v=p.sci,b=p.eri,m=p.eci;c.attr({textAlign:"center",textBaseline:"middle",font:"500 ".concat(ln(12),"px Source Sans Pro"),fillStyle:"#585757",lineWidth:cn(),strokeStyle:"#e6e6e6"}),"all"!==t&&"left"!==t||(l.rowEach(e.sri,e.eri,(function(t,e,r){var i=f+e,o=t;c.line([0,i],[n,i]),d<=o&&o0&&l.rows.isHide(t-1)&&(c.save(),c.attr({strokeStyle:"#c6c6c6"}),c.line([5,i+5],[n-5,i+5]),c.restore())})),c.line([0,u+f],[n,u+f]),c.line([n,f],[n,u+f])),"all"!==t&&"top"!==t||(l.colEach(e.sci,e.eci,(function(t,e,n){var i=y+e,o=t;c.line([i,0],[i,r]),v<=o&&o0&&l.cols.isHide(t-1)&&(c.save(),c.attr({strokeStyle:"#c6c6c6"}),c.line([i+5,5],[i+5,r-5]),c.restore())})),c.line([s+y,0],[s+y,r]),c.line([0,r],[s+y,r])),c.restore()}function Zn(t,e){var n=this.draw;n.save(),n.attr({fillStyle:"#f4f5f8"}).fillRect(0,0,t,e),n.restore()}function Kn(t,e,n,r,i){var o=t.sri,a=t.sci,c=t.eri,l=t.eci,u=t.w,s=t.h,f=this.draw,h=this.data,y=h.settings;f.save(),f.attr(Vn).translate(e+r,n+i),y.showGrid?(h.rowEach(o,c,(function(t,e,n){t!==o&&f.line([0,e],[u,e]),t===c&&f.line([0,e+n],[u,e+n])})),h.colEach(a,l,(function(t,e,n){t!==a&&f.line([e,0],[e,s]),t===l&&f.line([e+n,0],[e+n,s])})),f.restore()):f.restore()}function Jn(t,e,n,r){var i=this.draw,o=this.data,a=o.viewWidth()-t,c=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,c]),i.restore()}var Gn=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 hn(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(),c=t.scroll,l=c.x,u=c.y;Kn.call(this,i,n,r,o,a),Ln.call(this,i,n,r,-l,-u),Xn.call(this,"all",i,n,r,o,a),Zn.call(this,n,r);var s=Hn(t.freeze,2),f=s[0],h=s[1];if(f>0||h>0){if(f>0){var y=i.clone();y.sri=0,y.eri=f-1,y.h=a,Kn.call(this,y,n,r,o,0),Ln.call(this,y,n,r,-l,0),Xn.call(this,"top",y,n,r,o,0)}if(h>0){var p=i.clone();p.sci=0,p.eci=h-1,p.w=o,Kn.call(this,p,n,r,0,a),Xn.call(this,"left",p,n,r,0,a),Ln.call(this,p,n,r,0,-u)}var d=t.freezeViewRange();Kn.call(this,d,n,r,0,0),Xn.call(this,"all",d,n,r,0,0),Ln.call(this,d,n,r,0,0),Jn.call(this,n,r,o,a)}}},{key:"clear",value:function(){this.draw.clear()}}])&&Fn(e.prototype,n),r&&Fn(e,r),t}();function Qn(t){return function(t){if(Array.isArray(t))return tr(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return tr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tr(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 tr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&(h+=(a-u.w)/2);var p=0,d=0;this.contentEl.html(""),this.canvases=[];for(var v={sri:0,sci:0,eri:0,eci:0},b=function(n){var o=0,a=0,s=l("div","".concat(Ht,"-canvas-card")),b=l("canvas","".concat(Ht,"-canvas"));t.canvases.push(b.el);var m=new hn(b.el,r,i);for(m.save(),m.translate(h,y),f<1&&m.scale(f,f);p<=u.eri;p+=1){var g=e.rows.getHeight(p);if(!((o+=g)t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]&&arguments[1];fr(this,t),this.menuItems=dr.call(this),this.el=(n=l("div","".concat(Ht,"-contextmenu"))).children.apply(n,ur(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(),It(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"),Dt(n)}}}])&&hr(e.prototype,n),r&&hr(e,r),t}();function br(t){return function(t){if(Array.isArray(t))return mr(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return mr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return mr(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 mr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n2&&void 0!==arguments[2]?arguments[2]:"600px";gr(this,t),this.title=e,this.el=l("div","".concat(Ht,"-modal")).css("width",o).children(l("div","".concat(Ht,"-modal-header")).children(new je("close").on("click.stop",(function(){return i.hide()})),this.title),(r=l("div","".concat(Ht,"-modal-content"))).children.apply(r,br(n))).hide()}var e,n,r;return e=t,(n=[{key:"show",value:function(){var t=this;this.dimmer=l("div","".concat(Ht,"-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,a=i.clientWidth;this.el.offset({left:(a-n)/2,top:(o-r)/3}),window.xkeydownEsc=function(e){27===e.keyCode&&t.hide()},Pt(window,"keydown",window.xkeydownEsc)}},{key:"hide",value:function(){this.el.hide(),document.body.removeChild(this.dimmer.el),Tt(window,"keydown",window.xkeydownEsc),delete window.xkeydownEsc}}])&&wr(e.prototype,n),r&&wr(e,r),t}();function Or(t,e){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:function(t){return t},a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){};xr(this,t),this.key=e,this.getTitle=o,this.vchange=function(){},this.el=l("div","".concat(Ht,"-form-select")),this.suggest=new me(n.map((function(t){return{key:t,title:i.getTitle(t)}})),(function(t){i.itemClick(t.key),a(t.key),i.vchange(t.key)}),r,this.el),this.el.children(this.itemEl=l("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}}])&&jr(e.prototype,n),r&&jr(e,r),t}();function Rr(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);ns.width)n.move({left:i+l-s.width});else{var f=t.freezeTotalWidth();as.height)e.move({top:o+u-s.height-1});else{var h=t.freezeTotalHeight();c3&&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,c=this.toolbar,l=this.data,u=this.contextMenu;u.setMode(-1===e||-1===n?"row-col":"range");var s=l.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)),c.reset(),o.render()}}function Kr(t,e){var n=this.selector,r=this.data,i=r.rows,o=r.cols,a=qr(n.indexes,2),c=a[0],l=a[1],u=n.range,s=u.eri,f=u.eci;if(t){var h=qr(n.moveIndexes,2);c=h[0],l=h[1]}"left"===e?l>0&&(l-=1):"right"===e?(f!==l&&(l=f),l0&&(c-=1):"down"===e?(s!==c&&(c=s),cl.indexWidth&&n>c.height)return r.hide(),void i.hide();var u=o.box(),s=a.getCellRectByXY(t.offsetX,t.offsetY);s.ri>=0&&-1===s.ci?(s.width=l.indexWidth,r.show(s,{width:u.width}),c.isHide(s.ri-1)?r.showUnhide(s.ri):r.hideUnhide()):r.hide(),-1===s.ri&&s.ci>=0?(s.height=c.height,i.show(s,{height:u.height}),l.isHide(s.ci-1)?i.showUnhide(s.ci):i.hideUnhide()):i.hide()}}function Gr(t){var e=this.verticalScrollbar,n=this.horizontalScrollbar,r=this.data,i=e.scroll().top,o=n.scroll().left,a=r.rows,c=r.cols,l=t.deltaY,u=t.deltaX,s=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 l=s(c,(function(t){return a.getHeight(t)}));e.move({top:0===c?0:i-l})}}},h=Math.abs(l),y=Math.abs(u),p=Math.max(h,y);/Firefox/i.test(window.navigator.userAgent)&&Yr(f(t.detail),50),p===y&&Yr(function(t){if(t>0){var e=r.scroll.ci+1;if(e=0){var l=s(a,(function(t){return c.getWidth(t)}));n.move({left:0===a?0:o-l})}}}(u),50),p===h&&Yr(f(l),50)}function Qr(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})}function ti(){var t=this.data,e=this.verticalScrollbar,n=this.getTableOffset().height,r=t.exceptRowTotalHeight(0,-1);e.set(n,t.rows.totalHeight()-r)}function ei(){var t=this.data,e=this.horizontalScrollbar,n=this.getTableOffset().width;t&&e.set(n,t.cols.totalWidth())}function ni(){var t=this.selector,e=this.data,n=this.editor,r=qr(e.freeze,2),i=r[0],o=r[1];if(i>0||o>0){var a=e.freezeTotalWidth(),c=e.freezeTotalHeight();n.setFreezeLengths(a,c)}t.resetAreaOffset()}function ri(){var t=this.tableEl,e=this.overlayerEl,n=this.overlayerCEl,r=this.table,i=this.toolbar,o=this.selector,a=this.el,c=this.getTableOffset(),l=this.getRect();t.attr(l),e.offset(l),n.offset(c),a.css("width","".concat(l.width,"px")),ti.call(this),ei.call(this),ni.call(this),r.render(),i.reset(),o.reset()}function ii(){var t=this.data,e=this.selector;t.clearClipboard(),e.hideClipboard()}function oi(){var t=this.data,e=this.selector;t.copy(),t.copyToSystemClipboard(),e.showClipboard()}function ai(){var t=this.data,e=this.selector;t.cut(),e.showClipboard()}function ci(t,e){var n=this.data;if("read"!==n.settings.mode)if(n.paste(t,(function(t){return Ur("Tip",t)})))ri.call(this);else if(e){var r=e.clipboardData.getData("text/plain");this.data.pasteFromText(r),ri.call(this)}}function li(){this.data.hideRowsOrCols(),ri.call(this)}function ui(t,e){this.data.unhideRowsOrCols(t,e),ri.call(this)}function si(){this.data.autofilter(),ri.call(this)}function fi(){var t=this.toolbar;t.paintformatActive()&&(ci.call(this,"format"),ii.call(this),t.paintformatToggle())}function hi(t){var e=this,n=this.selector,r=this.data,i=this.table,o=this.sortFilter,a=t.offsetX,c=t.offsetY,l=t.target.className==="".concat(Ht,"-selector-corner"),u=r.getCellRectByXY(a,c),s=u.left,f=u.top,h=u.width,y=u.height,p=u.ri,d=u.ci,v=r.autoFilter;if(v.includes(p,d)&&s+h-20n.height/2&&(r="bottom"),t.setOffset(e,r)}function pi(){var t=this.editor,e=this.data;"read"!==e.settings.mode&&(yi.call(this),t.setCell(e.getSelectedCell(),e.getSelectedValidator()),ii.call(this))}function di(t){var e=this,n=this.data,r=this.table,i=this.selector;n.scrolly(t,(function(){i.resetBRLAreaOffset(),yi.call(e),r.render()}))}function vi(t){var e=this,n=this.data,r=this.table,i=this.selector;n.scrollx(t,(function(){i.resetBRTAreaOffset(),yi.call(e),r.render()}))}function bi(t,e){var n=t.ri,r=this.table,i=this.selector;this.data.rows.setHeight(n,e),r.render(),i.resetAreaOffset(),ti.call(this),yi.call(this)}function mi(t,e){var n=t.ci,r=this.table,i=this.selector;this.data.cols.setWidth(n,e),r.render(),i.resetAreaOffset(),ei.call(this),yi.call(this)}function gi(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 wi(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),ii.call(this),ri.call(this))}function ki(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?oi.call(this):ii.call(this);else if("clearformat"===t)wi.call(this,"delete-cell-format");else if("link"===t);else if("chart"===t);else if("autofilter"===t)si.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()||pi.call(this),ri.call(this)}function Oi(t,e,n,r){this.data.setAutoFilter(t,e,n,r),ri.call(this)}function Si(){var t,e,n,r,i,o,a=this,c=this.selector,l=this.overlayerEl,u=this.rowResizer,s=this.colResizer,f=this.verticalScrollbar,h=this.horizontalScrollbar,y=this.editor,p=this.contextMenu,d=this.toolbar,v=this.modalValidation,b=this.sortFilter;l.on("mousemove",(function(t){Jr.call(a,t)})).on("mousedown",(function(t){y.clear(),p.hide(),2===t.buttons?(a.data.xyInSelectedRect(t.offsetX,t.offsetY)||hi.call(a,t),p.setPosition(t.offsetX,t.offsetY),t.stopPropagation()):2===t.detail?pi.call(a):hi.call(a,t)})).on("mousewheel.stop",(function(t){Gr.call(a,t)})).on("mouseout",(function(t){var e=t.offsetX;t.offsetY<=0&&s.hide(),e<=0&&u.hide()})),c.inputChange=function(t){gi.call(a,t,"input"),pi.call(a)},t=l.el,n=(e={move:function(t,e){Qr.call(a,t,e)}}).move,r=e.end,i=0,o=0,Pt(t,"touchstart",(function(t){var e=t.touches[0],n=e.pageX,r=e.pageY;i=n,o=r})),Pt(t,"touchmove",(function(t){if(n){var e=t.changedTouches[0],r=e.pageX,a=e.pageY,c=r-i,l=a-o;(Math.abs(c)>10||Math.abs(l)>10)&&(Mt(c,l,t,n),i=r,o=a),t.preventDefault()}})),Pt(t,"touchend",(function(t){if(r){var e=t.changedTouches[0],n=e.pageX,a=e.pageY;Mt(n-i,a-o,t,r)}})),d.change=function(t,e){return ki.call(a,t,e)},b.ok=function(t,e,n,r){return Oi.call(a,t,e,n,r)},u.finishedFn=function(t,e){bi.call(a,t,e)},s.finishedFn=function(t,e){mi.call(a,t,e)},u.unhideFn=function(t){ui.call(a,"row",t)},s.unhideFn=function(t){ui.call(a,"col",t)},f.moveFn=function(t,e){di.call(a,t,e)},h.moveFn=function(t,e){vi.call(a,t,e)},y.change=function(t,e){gi.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?(gi.call(a,t.key,"input"),pi.call(a)):113===e&&pi.call(a)}}}))}var xi=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.eventMap=Bt();var o=n.settings.showContextmenu;this.el=l("div","".concat(Ht,"-sheet")),this.toolbar=r,this.print=new lr(n),e.children(this.el,this.print.el),this.data=n,this.tableEl=l("canvas","".concat(Ht,"-table")),this.rowResizer=new Vt(!1,n.rows.height),this.colResizer=new Vt(!0,n.cols.minWidth),this.verticalScrollbar=new $t(!0),this.horizontalScrollbar=new $t(!1),this.editor=new qe(Rn,(function(){return i.getTableOffset()}),n.rows.height),this.modalValidation=new Mr,this.contextMenu=new vr((function(){return i.getRect()}),!o),this.selector=new ue(n),this.overlayerCEl=l("div","".concat(Ht,"-overlayer-content")).children(this.editor.el,this.selector.el),this.overlayerEl=l("div","".concat(Ht,"-overlayer")).child(this.overlayerCEl),this.sortFilter=new Vr,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 Gn(this.tableEl.el,n),Si.call(this),ri.call(this),Zr.call(this,!1,0,0)}var e,n,r;return e=t,(n=[{key:"on",value:function(t,e){return this.eventMap.on(t,e),this}},{key:"trigger",value:function(t){for(var e=this.eventMap,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i4?u-4:0),f=4;f0&&(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(),Dt(this.parent(),(function(){t.hide()}))}},{key:"hide",value:function(){this.parent().active(!1),this.contentEl.hide(),It(this.parent())}}])&&Ri(e.prototype,n),r&&Ri(e,r),o}(c);function Ii(t){return(Ii="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 Di(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||Mi(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 zi(t){return function(t){if(Array.isArray(t))return Bi(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||Mi(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 Mi(t,e){if(t){if("string"==typeof t)return Bi(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Bi(t,e):void 0}}function Bi(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&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(){};Hi(this,t),this.swapFunc=r,this.updateFunc=o,this.dataNames=[],this.activeEl=null,this.deleteEl=null,this.items=[],this.moreEl=new qi((function(t){e.clickSwap2(e.items[t])})),this.contextMenu=new Zi,this.contextMenu.itemClick=i,this.el=l("div","".concat(Ht,"-bottombar")).children(this.contextMenu.el,this.menuEl=l("ul","".concat(Ht,"-menu")).child(l("li","").children(new je("add").on("click",(function(){n()})),l("span","").child(this.moreEl))))}return Fi(t,[{key:"addItem",value:function(t,e){var n=this;this.dataNames.push(t);var r=l("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 Sr("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=Di(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}();function Ji(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n'],["medium",''],["thick",''],["dashed",''],["dotted",'']],Fa=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}}),e&&za(t,e)}(n,t);var e=Ma(n);function n(t){var r;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n);var i=new je("line-type"),o=0,a=Na.map((function(e,n){return l("div","".concat(Ht,"-item state ").concat(t===e[0]?"checked":"")).on("click",(function(){a[o].toggle("checked"),a[n].toggle("checked"),o=n,r.hide(),r.change(e)})).child(l("div","".concat(Ht,"-line-type")).html(e[1]))}));return r=e.call.apply(e,[this,i,"auto",!1,"bottom-left"].concat(Ia(a)))}return n}(Ti);function Wa(t){return function(t){if(Array.isArray(t))return $a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||Ua(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 Va(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||Ua(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 Ua(t,e){if(t){if("string"==typeof t)return $a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$a(t,e):void 0}}function $a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?i.show():i.hide()}var Ku=function(){function t(e,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];Uu(this,t),this.data=e,this.change=function(){},this.widthFn=n,this.isHide=i;var o=e.defaultStyle();this.items=[[this.undoEl=new wu,this.redoEl=new pu,new Eu,this.paintformatEl=new _c,this.clearformatEl=new kc],Yu(),[this.formatEl=new Dl],Yu(),[this.fontEl=new ml,this.fontSizeEl=new rl],Yu(),[this.boldEl=new Qo,this.italicEl=new oa,this.underlineEl=new ba,this.strikeEl=new fa,this.textColorEl=new zc(o.color)],Yu(),[this.fillColorEl=new Vc(o.bgcolor),this.borderEl=new ac,this.mergeEl=new lu],Yu(),[this.alignEl=new xo(o.align),this.valignEl=new Po(o.valign),this.textwrapEl=new Tu],Yu(),[this.freezeEl=new eu,this.autofilterEl=new Yo,this.formulaEl=new Zl,this.moreEl=new Vu]],this.el=l("div","".concat(Ht,"-toolbar")),this.btns=l("div","".concat(Ht,"-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(){Xu.call(r),Zu.call(r)}),0),Pt(window,"resize",(function(){Zu.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())}}}])&&$u(e.prototype,n),r&&$u(e,r),t}();n(1);function Ju(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Gu(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Gu(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 Gu(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;Qu(this,t);var o=e;this.options=r,this.sheetIndex=1,this.datas=[],"string"==typeof e&&(o=document.querySelector(e)),this.bottombar=new Ki((function(){var t=n.addSheet();n.sheet.resetData(t)}),(function(t){var e=n.datas[t];n.sheet.resetData(e)}),(function(){n.deleteSheet()}),(function(t,e){n.datas[t].name=e})),this.data=this.addSheet();var a=l("div","".concat(Ht)).on("contextmenu",(function(t){return t.preventDefault()}));o.appendChild(a.el);var c=this.data.settings,u=c.view,s=c.showToolbar,f=new Ku(this.data,u.width,!s),h=i||f;this.sheet=new xi(a,this.data,h),a.child(this.bottombar.el)}var e,n,r;return e=t,r=[{key:"locale",value:function(t,e){!function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];n?K=[t]:K.unshift(t),e&&(J[t]=e)}(t,e)}}],(n=[{key:"addSheet",value:function(t){var e=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=t||"sheet".concat(this.sheetIndex),i=new Rt(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(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}}])&&ts(e.prototype,n),r&&ts(e,r),t}();e.default=es}]); //# sourceMappingURL=xspreadsheet.js.map \ No newline at end of file diff --git a/dist/xspreadsheet.js.map b/dist/xspreadsheet.js.map index 87a1ead5..08cf3c65 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","fitlers","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","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","$lang","$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","message","x_spreadsheet","tf","locale","lang","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","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","isClear","isCopy","isCut","txt","lines","srcRange","_selector$range2","cri","cci","getFirstIncludes","unmerge","_selector$range","isSignleSelected","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","indexOf","datepicker","dateFormat","editable","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","cellText","_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","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","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","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","_data$settings","_eventMap$get","_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","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.fitlers = 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 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) {\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\nlet $lang = 'en';\nconst $messages = {\n en,\n};\n\nfunction translate(key, messages) {\n if (messages && messages[$lang]) {\n let message = messages[$lang];\n const keys = key.split('.');\n for (let i = 0; i < keys.length; i += 1) {\n const property = keys[i];\n const value = message[property];\n if (i === keys.length - 1) return value;\n if (!value) return undefined;\n message = value;\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\nfunction locale(lang, message) {\n $lang = lang;\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 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// 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.isSignleSelected();\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