UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines (2 loc) 3.4 kB
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("kendo.core.js"),require("kendo.data.js"),require("kendo.ooxml.cmn.chunk.js"),require("kendo.ooxml.js")):"function"==typeof define&&define.amd?define(["exports","kendo.core.min","kendo.data","kendo.ooxml.cmn.chunk","kendo.ooxml"],o):o(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Excel={}),e.kendo._globals.Core,e.kendo._globals.Data,e.kendo._globals.OoxmlCmnChunk)}(this,(function(e,o,t,a){!function(e,o){var t=e.extend;let n=o.ConvertClass(a.E);a.T.register({compile:o.template}),o.ExcelExporter=o.Class.extend({init:function(e){this.options=e;var a=e.dataSource;if(a instanceof o.data.DataSource){a.filter()||(a.options.filter=void 0),this.dataSource=new a.constructor(t({},a.options,{page:e.allPages?0:a.page(),filter:a.filter(),pageSize:e.allPages||e.groupPaging?a.total():a.pageSize()||a.total(),sort:a.sort(),group:a.group(),aggregate:a.aggregate(),isExcelExportRequest:!0}));var n=a.data();if(n.length>0){if(e.hierarchy)for(var r=0;r<n.length;r++)!1!==n[r].expanded&&void 0!==n[r].expanded||(n[r].expanded=!0,n[r].shouldRestoreExpandedState=!0);this.dataSource._data=n;var i=this.dataSource.transport;a._isServerGrouped()&&i.options&&i.options.data&&(i.options.data=null)}}else this.dataSource=o.data.DataSource.create(a)},_hierarchy:function(){var e=this.options.hierarchy,o=this.dataSource;if(e&&o.level){e={itemLevel:function(e){return o.level(e)}};for(var t,a=o.view(),n=0,r=0;r<a.length;r++)(t=o.level(a[r]))>n&&(n=t);e.depth=n+1}else e=!1;return{hierarchy:e}},_restoreExpandedState:function(){var e=this.options,o=e.dataSource.data(),t=e.hierarchy;if(o.length>0&&t)for(var a=0;a<o.length;a++)o[a].shouldRestoreExpandedState&&(o[a].expanded=!1,delete o[a].shouldRestoreExpandedState)},workbook:function(){return e.Deferred(function(e){this.dataSource.fetch().then(function(){var o=new n(t({},this.options,this._hierarchy(),{data:this.dataSource.view(),groups:this.dataSource.group(),aggregates:this.dataSource.aggregates()})).workbook();e.resolve(o,this.dataSource.view())}.bind(this))}.bind(this)).promise()}}),window.kendo.excel=window.kendo.excel||{},window.kendo.excel.ExcelExporter=n,window.kendo.excel.TemplateService=a.T}(kendo.jQuery,kendo),function(e,o){o.ExcelMixin={extend:function(o){o.events.push("excelExport"),o.options.excel=e.extend(o.options.excel,this.options),o.saveAsExcel=this.saveAsExcel},options:{proxyURL:"",allPages:!1,filterable:!1,fileName:"Export.xlsx",collapsible:!1},saveAsExcel:function(e){var t=this.options.excel||{},a=new o.ExcelExporter({columns:this.columns,dataSource:this.dataSource,allPages:t.allPages,filterable:t.filterable,hierarchy:t.hierarchy,collapsible:t.collapsible});a.workbook().then(function(n,r){if(this.trigger("excelExport",{workbook:n,data:r}))e&&e.resolve();else{var i=new o.ooxml.Workbook(n);i.options||(i.options={}),i.options.skipCustomHeight=!0,i.toDataURLAsync().then((function(r){o.saveAs({dataURI:r,fileName:n.fileName||t.fileName,proxyURL:t.proxyURL,forceProxy:t.forceProxy}),a._restoreExpandedState&&a._restoreExpandedState(),e&&e.resolve()}))}}.bind(this))}}}(kendo.jQuery,kendo);e.__meta__={id:"excel",name:"Excel export",category:"framework",advanced:!0,mixin:!0,depends:["data","ooxml","ooxml.cmn.chunk"]}})); //# sourceMappingURL=kendo.excel.min.js.map