{"version":3,"file":"kendo.excel.min.js","names":["factory","define","amd","$","window","kendo","excel","getter","map","current","compile","template","TemplateService","Class","extend","defaultGroupHeaderTemplate","data","createArray","length","callback","result","idx","push","defaultItemId","item","id","register","userImplementation","ExcelExporter","init","options","columns","this","_trimColumns","allColumns","_leafColumns","_prepareColumn","_visibleColumns","aggregates","groups","concat","hasGroups","hierarchy","hasGroupHeaderColumn","some","column","groupHeaderColumnTemplate","collapsible","workbook","sheets","_columns","rows","_hierarchyRows","_rows","freezePane","_freezePane","filter","_filter","this$1$1","Boolean","field","value","dataItem","values","forEach","text","groupHeaderTemplate","groupFooterTemplate","footerTemplate","filterable","depth","_depth","from","to","_createPaddingCells","background","color","paddingCellOptions","_dataRow","level","cells","items","_groupHeaderCells","_dataRows","unshift","type","_footer","dataCells","cellIdx","_cell","colSpan","title","group","groupHeaderCellOptions","index","undefined","dataItems","apply","previousItemId","itemLevel","itemId","hasFooter","_hasFooterTemplate","parents","previousLevel","_hierarchyFooterRows","rootAggregate","parentId","_hierarchyFooter","_prependHeaderRows","currentLevel","parent","pop","fieldAggregates","footerCellOptions","templateData","footer","Object","keys","key","groupFooterCellOptions","_isColumnVisible","exportable","visibleInExport","hidden","visibleInExportOnly","visible","_headerRow","row","headers","cell","rowSpan","firstCell","headerPaddingCellOptions","headerRows","_prepareHeaderRows","parentCell","parentRow","childRow","totalColSpan","headerCellOptions","_headerDepth","max","temp","colSplit","locked","rowSplit","cellOptions","width","parseInt","autoWidth","deepExtend","jQuery","dataSource","DataSource","constructor","page","allPages","pageSize","total","sort","aggregate","i","expanded","_data","transport","_isServerGrouped","create","_hierarchy","view","Deferred","d","fetch","then","resolve","bind","promise","ExcelMixin","proto","events","saveAsExcel","proxyURL","fileName","book","trigger","ooxml","Workbook","skipCustomHeight","toDataURLAsync","dataURI","saveAs","forceProxy"],"sources":["kendo.excel.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.data', 'kendo.ooxml'], factory) :\n factory();\n})((function () {\n /***********************************************************************\n * WARNING: this file is auto-generated. If you change it directly,\n * your modifications will eventually be lost. The source code is in\n * `kendo-ooxml` repository, you should make your changes there and\n * run `src-modules/sync.sh` in this repository.\n */\n\n (function($) {\n /* eslint-disable space-before-blocks, space-before-function-paren */\n\n window.kendo.excel = window.kendo.excel || {};\n\n var getter = kendo.getter;\n var map = $.map;\n\n var current = {\n compile: function(template) {\n return template;\n }\n };\n\n var TemplateService = kendo.Class.extend({\n\n });\n\n TemplateService.register = function(userImplementation) {\n current = userImplementation;\n };\n\n TemplateService.compile = function(template) {\n return current.compile(template);\n };\n\n function defaultGroupHeaderTemplate(data) {\n return ((data.title) + \": \" + (data.value));\n }\n\n function createArray(length, callback) {\n var result = [];\n\n for (var idx = 0; idx < length; idx++) {\n result.push(callback(idx));\n }\n\n return result;\n }\n\n function defaultItemId(item) {\n return item.id;\n }\n\n var ExcelExporter = kendo.Class.extend({\n init: function(options) {\n options.columns = this._trimColumns(options.columns || []);\n\n this.allColumns = map(this._leafColumns(options.columns || []), this._prepareColumn);\n\n this.columns = this._visibleColumns(this.allColumns);\n\n this.options = options;\n this.data = options.data || [];\n this.aggregates = options.aggregates || {};\n this.groups = [].concat(options.groups || []);\n this.hasGroups = this.groups.length > 0;\n this.hierarchy = options.hierarchy;\n this.hasGroupHeaderColumn = this.columns.some(function (column) { return column.groupHeaderColumnTemplate; });\n this.collapsible = this.options.collapsible;\n },\n\n workbook: function() {\n var workbook = {\n sheets: [ {\n columns: this._columns(),\n rows: this.hierarchy ? this._hierarchyRows() : this._rows(),\n freezePane: this._freezePane(),\n filter: this._filter()\n } ]\n };\n\n return workbook;\n },\n\n _trimColumns: function(columns) {\n var this$1$1 = this;\n\n return columns.filter(function (column) {\n var result = Boolean(column.field);\n\n if (!result && column.columns) {\n result = this$1$1._trimColumns(column.columns).length > 0;\n }\n\n return result;\n });\n },\n\n _leafColumns: function(columns) {\n var this$1$1 = this;\n\n var result = [];\n\n for (var idx = 0; idx < columns.length; idx++) {\n if (!columns[idx].columns) {\n result.push(columns[idx]);\n } else {\n result = result.concat(this$1$1._leafColumns(columns[idx].columns));\n }\n }\n\n return result;\n },\n\n _prepareColumn: function(column) {\n if (!column.field) {\n return null;\n }\n\n var value = function(dataItem) {\n return getter(column.field, true)(dataItem);\n };\n\n var values = null;\n\n if (column.values) {\n values = {};\n\n column.values.forEach(function(item) {\n values[item.value] = item.text;\n });\n\n value = function(dataItem) {\n return values[getter(column.field, true)(dataItem)];\n };\n }\n\n return $.extend({}, column, {\n value: value,\n values: values,\n groupHeaderTemplate: column.groupHeaderTemplate ? TemplateService.compile(column.groupHeaderTemplate) : defaultGroupHeaderTemplate,\n groupHeaderColumnTemplate: column.groupHeaderColumnTemplate ? TemplateService.compile(column.groupHeaderColumnTemplate) : null,\n groupFooterTemplate: column.groupFooterTemplate ? TemplateService.compile(column.groupFooterTemplate) : null,\n footerTemplate: column.footerTemplate ? TemplateService.compile(column.footerTemplate) : null\n });\n },\n\n _filter: function() {\n if (!this.options.filterable) {\n return null;\n }\n\n var depth = this._depth();\n\n return {\n from: depth,\n to: depth + this.columns.length - 1\n };\n },\n\n _createPaddingCells: function(length) {\n var this$1$1 = this;\n\n return createArray(length, function () { return $.extend({\n background: \"#dfdfdf\",\n color: \"#333\"\n }, this$1$1.options.paddingCellOptions); });\n },\n\n _dataRow: function(dataItem, level, depth) {\n var this$1$1 = this;\n\n var cells = this._createPaddingCells(level);\n\n // grouped\n if (this.hasGroups && depth && dataItem.items) {\n cells = cells.concat(this._groupHeaderCells(dataItem, level, depth));\n var rows = this._dataRows(dataItem.items, level + 1);\n\n rows.unshift({\n type: \"group-header\",\n cells: cells,\n level: this.collapsible ? level : null\n });\n\n return rows.concat(this._footer(dataItem, level));\n }\n\n var dataCells = [];\n\n for (var cellIdx = 0; cellIdx < this.columns.length; cellIdx++) {\n dataCells[cellIdx] = this$1$1._cell(dataItem, this$1$1.columns[cellIdx]);\n }\n\n if (this.hierarchy) {\n dataCells[0].colSpan = depth - level + 1;\n }\n\n return [ {\n type: \"data\",\n cells: cells.concat(dataCells),\n level: this.collapsible ? level : null\n } ];\n },\n\n _groupHeaderCells: function(dataItem, level, depth) {\n var cells = [];\n\n var column = this.allColumns.filter(function(column) {\n return column.field === dataItem.field;\n })[0] || {};\n\n var title = column && column.title ? column.title : dataItem.field;\n var template = column ? column.groupHeaderTemplate || column.groupHeaderColumnTemplate : null;\n var group = $.extend({\n title: title,\n field: dataItem.field,\n value: column && column.values ? column.values[dataItem.value] : dataItem.value,\n aggregates: dataItem.aggregates,\n items: dataItem.items\n }, dataItem.aggregates[dataItem.field]);\n\n var value = template ? template(group) : (title + \": \" + (dataItem.value));\n\n cells.push($.extend({\n value: value,\n background: \"#dfdfdf\",\n color: \"#333\",\n colSpan: (this.hasGroupHeaderColumn ? 1 : this.columns.length) + depth - level\n }, column.groupHeaderCellOptions));\n\n if (this.hasGroupHeaderColumn) {\n this.columns.forEach(function(column, index) {\n if (index > 0) {\n cells.push($.extend({\n background: \"#dfdfdf\",\n color: \"#333\",\n value: column.groupHeaderColumnTemplate ?\n column.groupHeaderColumnTemplate($.extend({ group: group }, group, dataItem.aggregates[column.field])) :\n undefined\n }, column.groupHeaderCellOptions));\n }\n });\n }\n\n return cells;\n },\n\n _dataRows: function(dataItems, level) {\n var this$1$1 = this;\n\n var depth = this._depth();\n var rows = [];\n\n for (var idx = 0; idx < dataItems.length; idx++) {\n rows.push.apply(rows, this$1$1._dataRow(dataItems[idx], level, depth));\n }\n\n return rows;\n },\n\n _hierarchyRows: function() {\n var this$1$1 = this;\n\n var depth = this._depth();\n var data = this.data;\n var itemLevel = this.hierarchy.itemLevel;\n var itemId = this.hierarchy.itemId || defaultItemId;\n var hasFooter = this._hasFooterTemplate();\n var rows = [];\n var parents = [];\n var previousLevel = 0;\n var previousItemId;\n\n if (!hasFooter) {\n this.collapsible = false;\n }\n\n for (var idx = 0; idx < data.length; idx++) {\n var item = data[idx];\n var level = itemLevel(item, idx);\n\n if (hasFooter) {\n if (level > previousLevel) {\n parents.push({ id: previousItemId, level: previousLevel });\n } else if (level < previousLevel) {\n rows.push.apply(rows, this$1$1._hierarchyFooterRows(parents, level, depth));\n }\n\n previousLevel = level;\n previousItemId = itemId(item, idx);\n }\n\n rows.push.apply(rows, this$1$1._dataRow(item, level + 1, depth));\n }\n\n if (hasFooter) {\n rows.push.apply(rows, this._hierarchyFooterRows(parents, 0, depth));\n\n var rootAggregate = data.length ? this.aggregates[data[0].parentId] : {};\n rows.push(this._hierarchyFooter(rootAggregate, 0, depth));\n }\n\n this._prependHeaderRows(rows);\n\n return rows;\n },\n\n _hierarchyFooterRows: function(parents, currentLevel, depth) {\n var this$1$1 = this;\n\n var rows = [];\n while (parents.length && parents[parents.length - 1].level >= currentLevel) {\n var parent = parents.pop();\n rows.push(this$1$1._hierarchyFooter(this$1$1.aggregates[parent.id], parent.level + 1, depth));\n }\n\n return rows;\n },\n\n _hasFooterTemplate: function() {\n var columns = this.columns;\n for (var idx = 0; idx < columns.length; idx++) {\n if (columns[idx].footerTemplate) {\n return true;\n }\n }\n },\n\n _hierarchyFooter: function(aggregates, level, depth) {\n var cells = this.columns.map(function(column, index) {\n var colSpan = index ? 1 : depth - level + 1;\n if (column.footerTemplate) {\n var fieldAggregates = (aggregates || {})[column.field];\n return $.extend({\n background: \"#dfdfdf\",\n color: \"#333\",\n colSpan: colSpan,\n value: column.footerTemplate($.extend({ aggregates: aggregates }, fieldAggregates))\n }, column.footerCellOptions);\n }\n\n return $.extend({\n background: \"#dfdfdf\",\n color: \"#333\",\n colSpan: colSpan\n }, column.footerCellOptions);\n });\n\n return {\n type: \"footer\",\n cells: this._createPaddingCells(level).concat(cells),\n level: this.collapsible ? level : null\n };\n },\n\n _footer: function(dataItem, level) {\n var rows = [];\n var footer = this.columns.some(function (column) { return column.groupFooterTemplate; });\n\n var templateData, group;\n if (footer) {\n group = {\n group: { items: dataItem.items,\n field: dataItem.field,\n value: dataItem.value }\n };\n templateData = {};\n Object.keys(dataItem.aggregates).forEach(function (key) {\n templateData[key] = $.extend({}, dataItem.aggregates[key], group);\n });\n }\n\n var cells = this.columns.map(function (column) {\n if (column.groupFooterTemplate) {\n var data = $.extend({}, templateData, dataItem.aggregates[column.field], group);\n return $.extend({\n background: \"#dfdfdf\",\n color: \"#333\",\n value: column.groupFooterTemplate(data)\n }, column.groupFooterCellOptions);\n }\n\n return $.extend({\n background: \"#dfdfdf\",\n color: \"#333\"\n }, column.groupFooterCellOptions);\n });\n\n if (footer) {\n rows.push({\n type: \"group-footer\",\n cells: this._createPaddingCells(this.groups.length).concat(cells),\n level: this.collapsible ? level : null\n });\n }\n\n return rows;\n },\n\n _isColumnVisible: function(column) {\n return this._visibleColumns([ column ]).length > 0 && (column.field || column.columns);\n },\n\n _visibleColumns: function(columns) {\n var this$1$1 = this;\n\n return columns.filter(function (column) {\n var exportable = column.exportable;\n if (typeof exportable === 'object') {\n exportable = column.exportable.excel;\n }\n\n var visibleInExport = !column.hidden && exportable !== false;\n var visibleInExportOnly = column.hidden && exportable === true;\n var visible = visibleInExport || visibleInExportOnly;\n if (visible && column.columns) {\n visible = this$1$1._visibleColumns(column.columns).length > 0;\n }\n return visible;\n });\n },\n\n _headerRow: function(row, groups) {\n var this$1$1 = this;\n\n var headers = row.cells.map(function(cell) {\n return $.extend(cell, {\n colSpan: cell.colSpan > 1 ? cell.colSpan : 1,\n rowSpan: row.rowSpan > 1 && !cell.colSpan ? row.rowSpan : 1\n });\n });\n\n if (this.hierarchy && headers[0].firstCell) {\n headers[0].colSpan += this._depth();\n }\n\n return {\n type: \"header\",\n cells: createArray(groups.length, function () { return $.extend({\n background: \"#7a7a7a\",\n color: \"#fff\"\n }, this$1$1.options.headerPaddingCellOptions); }).concat(headers)\n };\n },\n\n _prependHeaderRows: function(rows) {\n var this$1$1 = this;\n\n var groups = this.groups;\n\n var headerRows = [ { rowSpan: 1, cells: [], index: 0 } ];\n\n this._prepareHeaderRows(headerRows, this.options.columns);\n\n for (var idx = headerRows.length - 1; idx >= 0; idx--) {\n rows.unshift(this$1$1._headerRow(headerRows[idx], groups));\n }\n },\n\n _prepareHeaderRows: function(rows, columns, parentCell, parentRow) {\n var this$1$1 = this;\n\n var row = parentRow || rows[rows.length - 1];\n var childRow = rows[row.index + 1];\n var totalColSpan = 0;\n\n for (var idx = 0; idx < columns.length; idx++) {\n var column = columns[idx];\n if (this$1$1._isColumnVisible(column)) {\n\n var cell = $.extend({\n background: \"#7a7a7a\",\n color: \"#fff\",\n value: column.title || column.field,\n colSpan: 0,\n firstCell: idx === 0 && (!parentCell || parentCell.firstCell)\n }, column.headerCellOptions);\n row.cells.push(cell);\n\n if (column.columns && column.columns.length) {\n if (!childRow) {\n childRow = { rowSpan: 0, cells: [], index: rows.length };\n rows.push(childRow);\n }\n cell.colSpan = this$1$1._trimColumns(this$1$1._visibleColumns(column.columns)).length;\n this$1$1._prepareHeaderRows(rows, column.columns, cell, childRow);\n totalColSpan += cell.colSpan - 1;\n row.rowSpan = rows.length - row.index;\n }\n }\n }\n\n if (parentCell) {\n parentCell.colSpan += totalColSpan;\n }\n },\n\n _rows: function() {\n var this$1$1 = this;\n\n var rows = this._dataRows(this.data, 0);\n\n if (this.columns.length) {\n this._prependHeaderRows(rows);\n var footer = false;\n\n var cells = this.columns.map(function (column) {\n if (column.footerTemplate) {\n footer = true;\n\n return $.extend({\n background: \"#dfdfdf\",\n color: \"#333\",\n value: column.footerTemplate($.extend({}, this$1$1.aggregates, this$1$1.aggregates[column.field]))\n }, column.footerCellOptions);\n }\n\n return $.extend({\n background: \"#dfdfdf\",\n color: \"#333\"\n }, column.footerCellOptions);\n });\n\n if (footer) {\n rows.push({\n type: \"footer\",\n cells: this._createPaddingCells(this.groups.length).concat(cells)\n });\n }\n }\n\n return rows;\n },\n\n _headerDepth: function(columns) {\n var this$1$1 = this;\n\n var result = 1;\n var max = 0;\n\n for (var idx = 0; idx < columns.length; idx++) {\n if (columns[idx].columns) {\n var temp = this$1$1._headerDepth(columns[idx].columns);\n if (temp > max) {\n max = temp;\n }\n }\n }\n return result + max;\n },\n\n _freezePane: function() {\n var columns = this._visibleColumns(this.options.columns || []);\n\n var colSplit = this._visibleColumns(this._trimColumns(this._leafColumns(columns.filter(function(column) {\n return column.locked;\n })))).length;\n\n return {\n rowSplit: this._headerDepth(columns),\n colSplit: colSplit ? colSplit + this.groups.length : 0\n };\n },\n\n _cell: function(dataItem, column) {\n return $.extend({\n value: column.value(dataItem)\n }, column.cellOptions);\n },\n\n _depth: function() {\n var depth = 0;\n\n if (this.hierarchy) {\n depth = this.hierarchy.depth;\n } else {\n depth = this.groups.length;\n }\n\n return depth;\n },\n\n _columns: function() {\n var depth = this._depth();\n var columns = createArray(depth, function () { return ({ width: 20 }); });\n\n return columns.concat(this.columns.map(function(column) {\n return {\n width: parseInt(column.width, 10),\n autoWidth: column.width ? false : true\n };\n }));\n }\n });\n\n kendo.deepExtend(kendo.excel, {\n ExcelExporter: ExcelExporter,\n TemplateService: TemplateService\n });\n\n })(window.kendo.jQuery);\n\n (function($, kendo) {\n\n var ExcelExporter = kendo.excel.ExcelExporter;\n\n var extend = $.extend;\n\n kendo.excel.TemplateService.register({\n compile: kendo.template\n });\n\n kendo.ExcelExporter = kendo.Class.extend({\n init: function(options) {\n this.options = options;\n var dataSource = options.dataSource;\n\n if (dataSource instanceof kendo.data.DataSource) {\n\n if (!dataSource.filter()) {\n dataSource.options.filter = undefined;\n }\n\n this.dataSource = new dataSource.constructor(extend(\n {},\n dataSource.options,\n {\n page: options.allPages ? 0 : dataSource.page(),\n filter: dataSource.filter(),\n pageSize: options.allPages ? dataSource.total() : dataSource.pageSize() || dataSource.total(),\n sort: dataSource.sort(),\n group: dataSource.group(),\n aggregate: dataSource.aggregate()\n }));\n\n var data = dataSource.data();\n\n if (data.length > 0) {\n if (options.hierarchy) {\n for (var i = 0; i < data.length; i++) {\n if (data[i].expanded === false || data[i].expanded === undefined) {\n data[i].expanded = true;\n }\n }\n }\n // Avoid toJSON() for perf and avoid data() to prevent reparenting.\n this.dataSource._data = data;\n\n var transport = this.dataSource.transport;\n if (dataSource._isServerGrouped() && transport.options && transport.options.data) { // clear the transport data when using aspnet-mvc transport\n transport.options.data = null;\n }\n }\n\n } else {\n this.dataSource = kendo.data.DataSource.create(dataSource);\n }\n },\n\n _hierarchy: function() {\n var hierarchy = this.options.hierarchy;\n var dataSource = this.dataSource;\n\n if (hierarchy && dataSource.level) {\n hierarchy = {\n itemLevel: function(item) {\n return dataSource.level(item);\n }\n };\n\n var view = dataSource.view();\n var depth = 0;\n var level;\n\n for (var idx = 0; idx < view.length; idx++) {\n level = dataSource.level(view[idx]);\n\n if (level > depth) {\n depth = level;\n }\n }\n\n hierarchy.depth = depth + 1;\n } else {\n hierarchy = false;\n }\n\n return {\n hierarchy: hierarchy\n };\n },\n\n workbook: function() {\n return $.Deferred((function(d) {\n this.dataSource.fetch()\n .then((function() {\n\n var workbook = new ExcelExporter(extend({}, this.options, this._hierarchy(), {\n data: this.dataSource.view(),\n groups: this.dataSource.group(),\n aggregates: this.dataSource.aggregates()\n })).workbook();\n\n d.resolve(workbook, this.dataSource.view());\n }).bind(this));\n }).bind(this)).promise();\n }\n });\n\n\n })(kendo.jQuery, kendo);\n\n (function($, kendo) {\n\n\n kendo.ExcelMixin = {\n extend: function(proto) {\n proto.events.push(\"excelExport\");\n proto.options.excel = $.extend(proto.options.excel, this.options);\n proto.saveAsExcel = this.saveAsExcel;\n },\n options: {\n proxyURL: \"\",\n allPages: false,\n filterable: false,\n fileName: \"Export.xlsx\",\n collapsible: false\n },\n saveAsExcel: function() {\n var excel = this.options.excel || {};\n\n var exporter = new kendo.ExcelExporter({\n columns: this.columns,\n dataSource: this.dataSource,\n allPages: excel.allPages,\n filterable: excel.filterable,\n hierarchy: excel.hierarchy,\n collapsible: excel.collapsible\n });\n\n exporter.workbook().then((function(book, data) {\n if (!this.trigger(\"excelExport\", { workbook: book, data: data })) {\n var workbook = new kendo.ooxml.Workbook(book);\n\n if (!workbook.options) {\n workbook.options = {};\n }\n workbook.options.skipCustomHeight = true;\n\n workbook.toDataURLAsync().then(function(dataURI) {\n kendo.saveAs({\n dataURI: dataURI,\n fileName: book.fileName || excel.fileName,\n proxyURL: excel.proxyURL,\n forceProxy: excel.forceProxy\n });\n });\n\n }\n }).bind(this));\n }\n };\n\n })(kendo.jQuery, kendo);\n\n var __meta__ = {\n id: \"excel\",\n name: \"Excel export\",\n category: \"framework\",\n advanced: true,\n mixin: true,\n depends: [ \"data\", \"ooxml\" ]\n };\n\n}));\n"]}