@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 8.79 kB
JavaScript
module.exports=function(e){function t(n){if(o[n])return o[n].exports;var r=o[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}({0:function(e,t,o){o(1020),e.exports=o(1020)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},20:function(e,t){e.exports=require("../kendo.core")},1020:function(e,t,o){var n,r,l;!function(i,define){r=[o(20)],n=i,l="function"==typeof n?n.apply(t,r):n,!(void 0!==l&&(e.exports=l))}(function(){!function(e){function t(e){return e.title+": "+e.value}function o(e,t){var o,n=[];for(o=0;o<e;o++)n.push(t(o));return n}function n(e){return e.id}var r,l,i,s,a;window.kendo.excel=window.kendo.excel||{},r=kendo.getter,l=e.map,i={compile:function(e){return e}},s=kendo.Class.extend({}),s.register=function(e){i=e},s.compile=function(e){return i.compile(e)},a=kendo.Class.extend({init:function(e){e.columns=this._trimColumns(e.columns||[]),this.allColumns=l(this._leafColumns(e.columns||[]),this._prepareColumn),this.columns=this._visibleColumns(this.allColumns),this.options=e,this.data=e.data||[],this.aggregates=e.aggregates||{},this.groups=[].concat(e.groups||[]),this.hasGroups=this.groups.length>0,this.hierarchy=e.hierarchy,this.hasGroupHeaderColumn=this.columns.some(function(e){return e.groupHeaderColumnTemplate}),this.collapsible=this.options.collapsible},workbook:function(){var e={sheets:[{columns:this._columns(),rows:this.hierarchy?this._hierarchyRows():this._rows(),freezePane:this._freezePane(),filter:this._filter()}]};return e},_trimColumns:function(e){var t=this;return e.filter(function(e){var o=!!e.field;return!o&&e.columns&&(o=t._trimColumns(e.columns).length>0),o})},_leafColumns:function(e){var t,o=this,n=[];for(t=0;t<e.length;t++)e[t].columns?n=n.concat(o._leafColumns(e[t].columns)):n.push(e[t]);return n},_prepareColumn:function(o){var n,l;return o.field?(n=function(e){return r(o.field,!0)(e)},l=null,o.values&&(l={},o.values.forEach(function(e){l[e.value]=e.text}),n=function(e){return l[r(o.field,!0)(e)]}),e.extend({},o,{value:n,values:l,groupHeaderTemplate:o.groupHeaderTemplate?s.compile(o.groupHeaderTemplate):t,groupHeaderColumnTemplate:o.groupHeaderColumnTemplate?s.compile(o.groupHeaderColumnTemplate):null,groupFooterTemplate:o.groupFooterTemplate?s.compile(o.groupFooterTemplate):null,footerTemplate:o.footerTemplate?s.compile(o.footerTemplate):null})):null},_filter:function(){if(!this.options.filterable)return null;var e=this._depth();return{from:e,to:e+this.columns.length-1}},_createPaddingCells:function(t){var n=this;return o(t,function(){return e.extend({background:"#dfdfdf",color:"#333"},n.options.paddingCellOptions)})},_dataRow:function(e,t,o){var n,r,l,i=this,s=this._createPaddingCells(t);if(this.hasGroups&&o&&e.items)return s=s.concat(this._groupHeaderCells(e,t,o)),n=this._dataRows(e.items,t+1),n.unshift({type:"group-header",cells:s,level:this.collapsible?t:null}),n.concat(this._footer(e,t));for(r=[],l=0;l<this.columns.length;l++)r[l]=i._cell(e,i.columns[l]);return this.hierarchy&&(r[0].colSpan=o-t+1),[{type:"data",cells:s.concat(r),level:this.collapsible?t:null}]},_groupHeaderCells:function(t,o,n){var r=[],l=this.allColumns.filter(function(e){return e.field===t.field})[0]||{},i=l&&l.title?l.title:t.field,s=l?l.groupHeaderTemplate||l.groupHeaderColumnTemplate:null,a=e.extend({title:i,field:t.field,value:l&&l.values?l.values[t.value]:t.value,aggregates:t.aggregates,items:t.items},t.aggregates[t.field]),u=s?s(a):i+": "+t.value;return r.push(e.extend({value:u,background:"#dfdfdf",color:"#333",colSpan:(this.hasGroupHeaderColumn?1:this.columns.length)+n-o},l.groupHeaderCellOptions)),this.hasGroupHeaderColumn&&this.columns.forEach(function(o,n){n>0&&r.push(e.extend({background:"#dfdfdf",color:"#333",value:o.groupHeaderColumnTemplate?o.groupHeaderColumnTemplate(e.extend({group:a},a,t.aggregates[o.field])):void 0},o.groupHeaderCellOptions))}),r},_dataRows:function(e,t){var o,n=this,r=this._depth(),l=[];for(o=0;o<e.length;o++)l.push.apply(l,n._dataRow(e[o],t,r));return l},_hierarchyRows:function(){var e,t,o,r,l,i=this,s=this._depth(),a=this.data,u=this.hierarchy.itemLevel,c=this.hierarchy.itemId||n,h=this._hasFooterTemplate(),p=[],d=[],f=0;for(h||(this.collapsible=!1),t=0;t<a.length;t++)o=a[t],r=u(o,t),h&&(r>f?d.push({id:e,level:f}):r<f&&p.push.apply(p,i._hierarchyFooterRows(d,r,s)),f=r,e=c(o,t)),p.push.apply(p,i._dataRow(o,r+1,s));return h&&(p.push.apply(p,this._hierarchyFooterRows(d,0,s)),l=a.length?this.aggregates[a[0].parentId]:{},p.push(this._hierarchyFooter(l,0,s))),this._prependHeaderRows(p),p},_hierarchyFooterRows:function(e,t,o){for(var n,r=this,l=[];e.length&&e[e.length-1].level>=t;)n=e.pop(),l.push(r._hierarchyFooter(r.aggregates[n.id],n.level+1,o));return l},_hasFooterTemplate:function(){var e,t=this.columns;for(e=0;e<t.length;e++)if(t[e].footerTemplate)return!0},_hierarchyFooter:function(t,o,n){var r=this.columns.map(function(r,l){var i,s=l?1:n-o+1;return r.footerTemplate?(i=(t||{})[r.field],e.extend({background:"#dfdfdf",color:"#333",colSpan:s,value:r.footerTemplate(e.extend({aggregates:t},i))},r.footerCellOptions)):e.extend({background:"#dfdfdf",color:"#333",colSpan:s},r.footerCellOptions)});return{type:"footer",cells:this._createPaddingCells(o).concat(r),level:this.collapsible?o:null}},_footer:function(t,o){var n,r,l,i=[],s=this.columns.some(function(e){return e.groupFooterTemplate});return s&&(r={group:{items:t.items,field:t.field,value:t.value}},n={},Object.keys(t.aggregates).forEach(function(o){n[o]=e.extend({},t.aggregates[o],r)})),l=this.columns.map(function(o){if(o.groupFooterTemplate){var l=e.extend({},n,t.aggregates[o.field],r);return e.extend({background:"#dfdfdf",color:"#333",value:o.groupFooterTemplate(l)},o.groupFooterCellOptions)}return e.extend({background:"#dfdfdf",color:"#333"},o.groupFooterCellOptions)}),s&&i.push({type:"group-footer",cells:this._createPaddingCells(this.groups.length).concat(l),level:this.collapsible?o:null}),i},_isColumnVisible:function(e){return this._visibleColumns([e]).length>0&&(e.field||e.columns)},_visibleColumns:function(e){var t=this;return e.filter(function(e){var o,n,r,l=e.exportable;return"object"==typeof l&&(l=e.exportable.excel),o=!e.hidden&&l!==!1,n=e.hidden&&l===!0,r=o||n,r&&e.columns&&(r=t._visibleColumns(e.columns).length>0),r})},_headerRow:function(t,n){var r=this,l=t.cells.map(function(o){return e.extend(o,{colSpan:o.colSpan>1?o.colSpan:1,rowSpan:t.rowSpan>1&&!o.colSpan?t.rowSpan:1})});return this.hierarchy&&l[0].firstCell&&(l[0].colSpan+=this._depth()),{type:"header",cells:o(n.length,function(){return e.extend({background:"#7a7a7a",color:"#fff"},r.options.headerPaddingCellOptions)}).concat(l)}},_prependHeaderRows:function(e){var t,o=this,n=this.groups,r=[{rowSpan:1,cells:[],index:0}];for(this._prepareHeaderRows(r,this.options.columns),t=r.length-1;t>=0;t--)e.unshift(o._headerRow(r[t],n))},_prepareHeaderRows:function(t,o,n,r){var l,i,s,a=this,u=r||t[t.length-1],c=t[u.index+1],h=0;for(l=0;l<o.length;l++)i=o[l],a._isColumnVisible(i)&&(s=e.extend({background:"#7a7a7a",color:"#fff",value:i.title||i.field,colSpan:0,firstCell:0===l&&(!n||n.firstCell)},i.headerCellOptions),u.cells.push(s),i.columns&&i.columns.length&&(c||(c={rowSpan:0,cells:[],index:t.length},t.push(c)),s.colSpan=a._trimColumns(a._visibleColumns(i.columns)).length,a._prepareHeaderRows(t,i.columns,s,c),h+=s.colSpan-1,u.rowSpan=t.length-u.index));n&&(n.colSpan+=h)},_rows:function(){var t,o,n=this,r=this._dataRows(this.data,0);return this.columns.length&&(this._prependHeaderRows(r),t=!1,o=this.columns.map(function(o){return o.footerTemplate?(t=!0,e.extend({background:"#dfdfdf",color:"#333",value:o.footerTemplate(e.extend({},n.aggregates,n.aggregates[o.field]))},o.footerCellOptions)):e.extend({background:"#dfdfdf",color:"#333"},o.footerCellOptions)}),t&&r.push({type:"footer",cells:this._createPaddingCells(this.groups.length).concat(o)})),r},_headerDepth:function(e){var t,o,n=this,r=1,l=0;for(t=0;t<e.length;t++)e[t].columns&&(o=n._headerDepth(e[t].columns),o>l&&(l=o));return r+l},_freezePane:function(){var e=this._visibleColumns(this.options.columns||[]),t=this._visibleColumns(this._trimColumns(this._leafColumns(e.filter(function(e){return e.locked})))).length;return{rowSplit:this._headerDepth(e),colSplit:t?t+this.groups.length:0}},_cell:function(t,o){return e.extend({value:o.value(t)},o.cellOptions)},_depth:function(){var e=0;return e=this.hierarchy?this.hierarchy.depth:this.groups.length},_columns:function(){var e=this._depth(),t=o(e,function(){return{width:20}});return t.concat(this.columns.map(function(e){return{width:parseInt(e.width,10),autoWidth:!e.width}}))}}),kendo.deepExtend(kendo.excel,{ExcelExporter:a,TemplateService:s})}(window.kendo.jQuery)},o(3))}});