@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 14.3 kB
JavaScript
module.exports=function(i){var n={};function s(e){if(n[e])return n[e].exports;var t=n[e]={exports:{},id:e,loaded:!1};return i[e].call(t.exports,t,t.exports,s),t.loaded=!0,t.exports}return s.m=i,s.c=n,s.p="",s(0)}({0:function(e,t,i){e.exports=i(1740)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},20:function(e,t){e.exports=require("../kendo.core")},1684:function(e,t){e.exports=require("./runtime")},1712:function(e,t){e.exports=require("./references")},1740:function(e,t,i){var n;i(3),i=[i(20),i(1684),i(1712),i(1741)],void 0===(t="function"==typeof(n=function(){var a=kendo,h=a.jQuery,u=a.spreadsheet.calc.runtime.Formula,d=a.spreadsheet.Ref,n=a.spreadsheet.CalcError;function c(e,t){var i=new XMLHttpRequest;i.onload=function(){t(i.response,i.getResponseHeader("Content-Type"))};i.onerror=function(){t(null)};i.open("GET",e);i.responseType="arraybuffer";i.send()}a.spreadsheet.messages.workbook={defaultSheetName:"Sheet"};var e=a.Observable.extend({options:{},init:function(e,t){a.Observable.fn.init.call(this);this.options=e;this._view=t;this._sheets=[];this._images={};this._imgID=0;this._sheetsSearchCache={};this._sheet=this.insertSheet({rows:this.options.rows,columns:this.options.columns,rowHeight:this.options.rowHeight,columnWidth:this.options.columnWidth,headerHeight:this.options.headerHeight,headerWidth:this.options.headerWidth,dataSource:this.options.dataSource});this.undoRedoStack=new a.util.UndoRedoStack;this.undoRedoStack.bind(["undo","redo"],this._onUndoRedo.bind(this));this._context=new a.spreadsheet.FormulaContext(this);this._validationContext=new a.spreadsheet.ValidationFormulaContext(this);this._names=Object.create(null);this.fromJSON(this.options)},clipboard:function(){if(!this._clipboard)this._clipboard=new a.spreadsheet.Clipboard(this);return this._clipboard},destroy:function(){this.unbind();if(this._clipboard)this._clipboard.destroy()},events:["cut","copy","paste","changing","change","excelImport","excelExport","insertSheet","removeSheet","selectSheet","renameSheet","insertRow","insertColumn","deleteRow","deleteColumn","hideRow","hideColumn","unhideRow","unhideColumn","select","changeFormat","dataBinding","dataBound","progress"],_sheetChanging:function(e){if(this.trigger("changing",e))e.preventDefault()},_sheetChange:function(e){this.trigger("change",e)},_sheetInsertRow:function(e){if(this.trigger("insertRow",{sheet:e.sender,index:e.index}))e.preventDefault()},_sheetInsertColumn:function(e){if(this.trigger("insertColumn",{sheet:e.sender,index:e.index}))e.preventDefault()},_sheetDeleteRow:function(e){if(this.trigger("deleteRow",{sheet:e.sender,index:e.index}))e.preventDefault()},_sheetDeleteColumn:function(e){if(this.trigger("deleteColumn",{sheet:e.sender,index:e.index}))e.preventDefault()},_sheetHideRow:function(e){if(this.trigger("hideRow",{sheet:e.sender,index:e.index}))e.preventDefault()},_sheetHideColumn:function(e){if(this.trigger("hideColumn",{sheet:e.sender,index:e.index}))e.preventDefault()},_sheetUnhideRow:function(e){if(this.trigger("unhideRow",{sheet:e.sender,index:e.index}))e.preventDefault()},_sheetUnhideColumn:function(e){if(this.trigger("unhideColumn",{sheet:e.sender,index:e.index}))e.preventDefault()},_sheetSelect:function(e){this.trigger("select",e)},_sheetDataBinding:function(e){if(this.trigger("dataBinding",{sheet:e.sender}))e.preventDefault()},_sheetDataBound:function(e){this.trigger("dataBound",{sheet:e.sender})},_sheetProgress:function(e){var t=this;setTimeout(function(){t.trigger("progress",{toggle:e.toggle})})},_sheetCommandRequest:function(e){this.trigger("commandRequest",e)},_inputForRef:function(e){var t=this;return t._sheet.withCultureDecimals(function(){return new a.spreadsheet.Range(e,t._sheet).input()})},_onUndoRedo:function(e){e.command.range().select()},execute:function(e){var t=h.extend({workbook:this},e.options);var i=new a.spreadsheet[e.command](t);var n=this.activeSheet();if(t.origin)i.origin(t.origin);if(t.operatingRange)i.range(t.operatingRange);else i.range(n.selection());if(t.editRange)i._editRange=t.editRange;var s=i.exec();if(!s||s.reason!=="error")if(!i.cannotUndo)this.undoRedoStack.push(i);this.cleanupImages();return s},resetFormulas:function(){this._sheets.forEach(function(e){e.resetFormulas()})},resetValidations:function(){this._sheets.forEach(function(e){e.resetValidations()})},refresh:function(e){if(e.recalc){this.resetFormulas();this.resetValidations();this._sheet.recalc(this._context);this._sheet.revalidate(this._validationContext)}},activeSheet:function(e){if(e===undefined)return this._sheet;if(!this.sheetByName(e.name()))return;this._sheet=e;e.triggerChange(a.spreadsheet.ALL_REASONS)},moveSheetToIndex:function(e,t){var i=this.sheetIndex(e);var n=this._sheets;if(i===-1)return;this._sheetsSearchCache={};n.splice(t,0,n.splice(i,1)[0]);this.trigger("change",{sheetSelection:true})},insertSheet:function(e){e=e||{};var i=this;var t=typeof e.index==="number"?e.index:i._sheets.length;var n;var s=i._sheets;var r=function(e){e=e?e:1;var t=a.spreadsheet.messages.workbook.defaultSheetName+e;if(!i.sheetByName(t))return t;return r(e+1)};if(e.name&&i.sheetByName(e.name))return;this._sheetsSearchCache={};n=e.name||r();var o=new a.spreadsheet.Sheet(e.rows||this.options.rows,e.columns||this.options.columns,e.rowHeight||this.options.rowHeight,e.columnWidth||this.options.columnWidth,e.headerHeight||this.options.headerHeight,e.headerWidth||this.options.headerWidth,e.defaultCellStyle||this.options.defaultCellStyle);o._workbook=this;o._name(n);this._bindSheetEvents(o);s.splice(t,0,o);if(e.data)o.fromJSON(e.data);if(e.dataSource)o.setDataSource(e.dataSource);this.trigger("change",{sheetSelection:true});return o},_bindSheetEvents:function(e){e.bind("changing",this._sheetChanging.bind(this));e.bind("change",this._sheetChange.bind(this));e.bind("insertRow",this._sheetInsertRow.bind(this));e.bind("insertColumn",this._sheetInsertColumn.bind(this));e.bind("deleteRow",this._sheetDeleteRow.bind(this));e.bind("deleteColumn",this._sheetDeleteColumn.bind(this));e.bind("hideRow",this._sheetHideRow.bind(this));e.bind("hideColumn",this._sheetHideColumn.bind(this));e.bind("unhideRow",this._sheetUnhideRow.bind(this));e.bind("unhideColumn",this._sheetUnhideColumn.bind(this));e.bind("select",this._sheetSelect.bind(this));e.bind("commandRequest",this._sheetCommandRequest.bind(this));e.bind("dataBinding",this._sheetDataBinding.bind(this));e.bind("dataBound",this._sheetDataBound.bind(this));e.bind("progress",this._sheetProgress.bind(this))},sheets:function(){return this._sheets.slice()},sheetByName:function(e){return this._sheets[this.sheetIndex(e)]},sheetByIndex:function(e){return this._sheets[e]},sheetIndex:function(e){var t=this._sheets;var i=(typeof e=="string"?e:e.name()).toLowerCase();var n=this._sheetsSearchCache[i];if(n>=0)return n;for(n=0;n<t.length;n++){var s=t[n].name().toLowerCase();this._sheetsSearchCache[s]=n;if(s===i)return n}return-1},renameSheet:function(e,i){var n=e.name().toLowerCase();if(!i||n===i.toLowerCase()||this.sheetByName(i))return;e=this.sheetByName(n);if(!e)return;this._sheetsSearchCache={};if(this.trigger("renameSheet",{sheet:e,newSheetName:i}))return;this._sheets.forEach(function(e){e._forFormulas(function(e){e.renameSheet(n,i)})});this.forEachName(function(e,t){if(e.nameref.renameSheet(n,i)){this.undefineName(t);e.name=e.nameref.print();this.nameDefinition(e.name,e)}if(e.value instanceof d||e.value instanceof u)e.value.renameSheet(n,i)}.bind(this));e._name(i);this.trigger("change",{sheetSelection:true});return e},removeSheet:function(e){var t=this;var i=t._sheets;var n=e.name();var s=t.sheetIndex(e);if(i.length===1)return;if(this.trigger("removeSheet",{sheet:e}))return;this._sheetsSearchCache={};if(s>-1){e.unbind();i.splice(s,1);if(t.activeSheet().name()===n){var r=i[s===i.length?s-1:s];t.activeSheet(r)}else this.trigger("change",{recalc:true,sheetSelection:true})}},_clearSheets:function(){for(var e=0;e<this._sheets.length;e++){this._sheets[e]._activeDrawing=[];this._sheets[e]._drawings=[];this._sheets[e].unbind()}this._sheets=[];this._sheetsSearchCache={};this._names={};this._images={};this._imgID=0},fromJSON:function(i){if(i.sheets){this._clearSheets();if(i.images){this._imgID=0;this._images={};Object.keys(i.images).forEach(function(e){if(!isNaN(e)){var t=parseFloat(e);if(isFinite(t))this._imgID=Math.max(this._imgID,t)}this._images[e]={url:i.images[e]}},this)}for(var e=0;e<i.sheets.length;e++){var t=i.sheets[e];var n=r(t,this.options);var s=this.insertSheet({rows:n.rowCount,columns:n.columnCount,rowHeight:n.rowHeight,columnWidth:n.columnWidth,headerHeight:n.headerHeight,headerWidth:n.headerWidth,data:t});if(t.dataSource)s.setDataSource(t.dataSource)}}if(i.activeSheet)this.activeSheet(this.sheetByName(i.activeSheet));else this.activeSheet(this._sheets[0]);if(i.names)i.names.forEach(function(e){this.defineName(e.name,e.value,e.hidden)},this)},toJSON:function(){this.resetFormulas();this.resetValidations();var e=Object.keys(this._names).map(function(e){var t=this._names[e];var i=t.value;if(i instanceof d||i instanceof u)i=i.print(0,0,true);else if(i instanceof n)i=i+"";else i=JSON.stringify(i);return{value:i,hidden:t.hidden,name:t.name,sheet:t.nameref.sheet,localName:t.nameref.name}},this);return{activeSheet:this.activeSheet().name(),sheets:this._sheets.map(function(e){e.recalc(this._context);e.revalidate(this._validationContext);return e.toJSON()},this),names:e,columnWidth:this.options.columnWidth,rowHeight:this.options.rowHeight}},saveJSON:function(){var n=this;var e=new h.Deferred;var s=n.toJSON();var t=Object.keys(n._images).filter(function(e){return n.usesImage(e)===1});var i=t.length;s.images={};if(i)t.forEach(function(e){var t=n._images[e];if(t.blob){var i=new FileReader;i.onload=function(){s.images[e]=i.result;r()};i.readAsDataURL(t.blob)}else{s.images[e]=t.url;r()}});else r();return e.promise();function r(){if(--i<=0)e.resolve(s)}},fromFile:function(e){var t=new h.Deferred;var i=t.promise();var n={file:e,promise:i};if(e&&!this.trigger("excelImport",n)){this._clearSheets();a.spreadsheet.readExcel(e,this,t)}else t.reject();return i},saveAsExcel:function(t){var n=this;t=h.extend({},n.options.excel,t);var i=n.toJSON();if(n.trigger("excelExport",{workbook:i}))return;var e=Object.keys(n._images).filter(function(e){return n.usesImage(e)===1});var s=e.length;var r=s?{}:null;if(s)e.forEach(function(i){var e=n._images[i];if(e.blob){var t=new FileReader;t.onload=function(){r[i]={type:e.blob.type,name:e.blob.name,data:t.result};o()};t.readAsArrayBuffer(e.blob)}else c(e.url,function(e,t){r[i]={type:t,data:e};o()})});else o();function o(){if(--s<=0){i.images=r;var e=new a.ooxml.Workbook(i);a.saveAs({dataURI:t.forceProxy?e.toDataURL():e.toBlob(),fileName:i.fileName||t.fileName,proxyURL:t.proxyURL,forceProxy:t.forceProxy})}}},draw:function(n,s){if(typeof n=="function"&&!s){s=n;n={}}var r=[],o=this._sheets;(function t(i){if(i<o.length)o[i].draw(a.spreadsheet.SHEETREF,n,function(e){r.push(e);t(i+1)});else{var e=r[0];for(i=1;i<r.length;++i)e.children=e.children.concat(r[i].children);s(e)}})(0)},nameForRef:function(e,t){if(t===undefined)t=e.sheet;t=t.toLowerCase();var i=e+"";for(var n in this._names){var s=this._names[n];var r=s.value;if(r instanceof d)if(!r.sheet||r.sheet&&t==r.sheet.toLowerCase())if(r+""==i)return s}return{name:i}},defineName:function(e,t,i){var n=a.spreadsheet.calc.parseNameDefinition(e,t);e=n.name.print();this._names[e.toLowerCase()]={value:n.value,hidden:i,name:e,nameref:n.name}},undefineName:function(e){delete this._names[e.toLowerCase()]},nameValue:function(e){e=e.toLowerCase();if(e in this._names)return this._names[e].value;return null},nameDefinition:function(e,t){e=e.toLowerCase();if(arguments.length>1)if(t===undefined)delete this._names[e];else this._names[e]=t;return this._names[e]},forEachName:function(t){Object.keys(this._names).forEach(function(e){t(this._names[e],e)},this)},adjustNames:function(n,s,r,o){n=n.toLowerCase();Object.keys(this._names).forEach(function(e){var t=this._names[e];var i=t.value;if(i instanceof d&&i.sheet.toLowerCase()==n)t.value=i.adjust(null,null,null,null,s,r,o);else if(i instanceof u)i.adjust(n,s?"row":"col",r,o)},this)},addImage:function(e){var t=String(++this._imgID);if(typeof e=="string")this._images[t]={url:e};else this._images[t]={blob:e};return t},imageUrl:function(e){var t=this._images[e];var i=t.url;if(!i)i=t.url=window.URL.createObjectURL(t.blob);return i},cleanupImages:function(){Object.keys(this._images).forEach(function(e){if(!this.usesImage(e)){var t=this._images[e].url;if(t)window.URL.revokeObjectURL(t);delete this._images[e]}},this)},usesImage:function(e){var t;var i=this._sheets;for(t=i.length;--t>=0;)if(i[t].usesImage(e))return 1;var n=this.undoRedoStack.stack;for(t=n.length;--t>=0;)if(n[t].usesImage(e))return 2;return false}});function r(e,t){function i(e,t,i){return e!==undefined?e:t!==undefined?t:i}var n=i(e.rowCount,t.rows,200),s=i(e.columnCount,t.columns,50),d=i(e.rowHeight,t.rowHeight,20),c=i(e.columnWidth,t.columnWidth,64),f=i(e.headerHeight,t.headerHeight,20),l=i(e.headerWidth,t.headerWidth,32);if(e.rows!==undefined)for(var r=0;r<e.rows.length;++r){var o=e.rows[r];var a=i(o.index,r);if(a>=n)n=a+1;if(o.cells)for(var h=0;h<o.cells.length;++h){var m=o.cells[h];var u=i(m.index,h);if(u>=s)s=u+1}}return{rowCount:n,columnCount:s,rowHeight:d,columnWidth:c,headerHeight:f,headerWidth:l}}if(a.spreadsheet.Workbook=e,a.PDFMixin){a.PDFMixin.extend(e.prototype);e.prototype.saveAsPDF=function(t){var i=new h.Deferred;var e=i.promise();var n={promise:e};if(this.trigger("pdfExport",n))return;this._drawPDF(t,i).then(function(e){return t.forceProxy?a.pdf.exportPDF(e):a.pdf.exportPDFToBlob(e)}).done(function(e){a.saveAs({dataURI:e,fileName:t.fileName,proxyURL:t.proxyURL,forceProxy:t.forceProxy,proxyTarget:t.proxyTarget});i.resolve()}).fail(function(e){i.reject(e)});return e};e.prototype._drawPDF=function(e){var t=new h.Deferred;var i=function(e){t.resolve(e)};switch(e.area){case"workbook":e.workbook.draw(e,i);break;case"sheet":e.workbook.activeSheet().draw(e,i);break;case"selection":e.workbook.activeSheet().selection().draw(e,i);break}return t.promise()}}})?n.apply(t,i):n)||(e.exports=t)},1741:function(e,t){e.exports=require("./excel-reader")}});