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