EOS/Scripts/kendo/2015.3.1111/kendo.pivotgrid.min.js
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

10 lines
60 KiB
JavaScript

/*
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
* Copyright 2015 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
!function(e,define){define(["./kendo.dom.min","./kendo.data.min"],e)}(function(){return function(e,t){function n(e){var n="string"==typeof e?[{name:e}]:e,i="[object Array]"===ve.call(n)?n:n!==t?[n]:[];return we(i,function(e){return"string"==typeof e?{name:e}:{name:e.name,type:e.type}})}function i(e){var n="string"==typeof e?[{name:[e],expand:!1}]:e,i="[object Array]"===ve.call(n)?n:n!==t?[n]:[];return we(i,function(e){return"string"==typeof e?{name:[e],expand:!1}:{name:"[object Array]"===ve.call(e.name)?e.name.slice():[e.name],expand:e.expand}})}function o(e){return-1!==e.indexOf(" ")&&(e='["'+e+'"]'),e}function r(e,t,n,i){var o,s,a,l;if(n||(n=t),i||(i=0),l=n.members[i],l&&!l.measure){if(a=l.children,s=a.length,n===t?e[he.stringify([l.name])]=!!s:s&&(e[he.stringify(se(n,i))]=!0),s)for(o=0;s>o;o++)r(e,t,a[o],i);r(e,t,n,i+1)}}function s(t){var n,i,o={};t.length&&r(o,t[0]),n=[];for(i in o)n.push({name:e.parseJSON(i),expand:o[i]});return n}function a(e,t){var n,i,o,r,s=t.tuples||[],a=s[0];if(a&&a.members.length>e.length)for(n=a.members,i=0;n.length>i;i++)if(!n[i].measure){for(o=!1,r=0;e.length>r;r++)if(0===F(e[r]).indexOf(n[i].hierarchy)){o=!0;break}o||e.push({name:[n[i].name],expand:!1})}}function l(e){var t,n=[],i=e.members;for(t=0;i.length>t;t++)i[t].measure||n.push({name:[i[t].name],expand:i[t].children.length>0});return n}function c(e,t,n){var o,r;return e=e||{},a(t,e),n.length>1&&t.push({name:Ce,measure:!0,children:i(n)}),o={members:t},e.tuples&&(r=x(e.tuples,o),r.tuple&&(t=l(r.tuple))),t}function u(e){var t=he.getter(e.field,!0);return function(n,i){return e.aggregate(t(n.dataItem),i,n)}}function d(e){return"number"==typeof e&&!isNaN(e)}function h(e){return e&&e.getTime}function f(e,n,i){return e.tuples.length<v(n.tuples,i)?n:t}function p(e,t,n,i,o){var r,s,a,l=e.length,c=v(t,i),u=i.length||1;for(s=0;n>s;s++)for(r=0;l>r;r++)a=m(e[r],t)*u,a+=r%u,o[s*l+r].ordinal=s*c+a}function g(e,t,n,i,o){var r,s,a,l=e.length,c=i.length||1;for(s=0;l>s;s++)for(a=m(e[s],t),a*=c,a+=s%c,r=0;n>r;r++)o[s*n+r].ordinal=a*n+r}function m(e,t){return x(t,e).index}function v(e,t){var n,i,o;if(!e.length)return 0;for(n=e.slice(),i=n.shift(),o=1;i;)i.members?[].push.apply(n,i.members):i.children&&(i.measure||(o+=i.children.length),[].push.apply(n,i.children)),i=n.shift();return t.length&&(o*=t.length),o}function _(e){return e||(e={tuples:[]}),e.tuples||(e.tuples=[]),e}function w(e,t,n){var i,o,r,s;if(!e)return 0;for(i=Math.max(n.length,1),o=e.members.slice(0,t),r=i,s=o.shift(),i>1&&(i+=1);s;)s.name===Ce?r+=i:s.children?[].push.apply(o,s.children):(r++,[].push.apply(o,s.members)),s=o.shift();return r}function b(e,t,n){var i,o,r,s,a,l;if(!t[0])return{parsedRoot:null,tuples:e,memberIndex:0,index:0};if(i=x(e,t[0]),!i.tuple)return{parsedRoot:null,tuples:t,memberIndex:0,index:0};if(o=i.tuple.members,r=t[0].members,s=-1,o.length!==r.length)return{parsedRoot:null,tuples:t,memberIndex:0,index:0};for(a=0,l=o.length;l>a;a++)!o[a].measure&&r[a].children[0]&&(-1==s&&r[a].children.length&&(s=a),o[a].children=r[a].children);return n=Math.max(n.length,1),{parsedRoot:i.tuple,index:i.index*n,memberIndex:s,tuples:e}}function y(e,t){var n,i,o=!0;for(e=e.members,t=t.members,n=0,i=e.length;i>n;n++)e[n].measure||t[n].measure||(o=o&&F(e[n])===F(t[n]));return o}function x(e,t){var n,i,o,r,s,a,l,c=0;for(n=0,i=e.length;i>n;n++){if(o=e[n],y(o,t))return{tuple:o,index:c};for(c++,s=0,a=o.members.length;a>s;s++)if(l=o.members[s],!l.measure&&(r=x(l.children,t),c+=r.index,r.tuple))return{tuple:r.tuple,index:c}}return{index:c}}function k(e,t){var n,i,o,r="";for(i=0,o=e.length;o>i;i++)n=e[i],r+=n.name,t[r]||(t[r]=n)}function C(e,t){var n,i,o,r,s=e.members,a="",l="";for(n=0,i=s.length;i>n;n++){if(o=s[n],r){if(t[a+o.name]){a+=o.name,r=t[a];continue}return t[a+o.parentName]?t[a+o.parentName]:t[l+o.parentName]?t[l+o.parentName]:t[l]}if(a+=o.name,r=t[o.parentName],!r&&(r=t[a],!r))return null;r&&(l+=r.name)}return r}function S(e,t){var n,i,o,r;if(0===t.length)return-1;for(n=t[0],i=e.members,o=0,r=i.length;r>o;o++)if(i[o].name==n.name)return o}function T(n,i){if(!(0>i)){var o={name:Ce,measure:!0,children:[e.extend({members:[],dataIndex:n.dataIndex},n.members[i])]};n.members.splice(i,1,o),n.dataIndex=t}}function D(e,t){var n,i,o,r,s,a;if(1>e.length)return[];for(n=[],i={},o=S(e[0],t),r=0;e.length>r;r++)s=e[r],s.dataIndex=r,T(s,o),a=C(s,i),a?a.children.push(0>o||!a.measure?s:s.members[o].children[0]):n.push(s),k(s.members,i);return n}function A(e,t){var n,i,o,r,s,a,l,c,u;if(!e||!e.length)return t;for(n=[],i=M(e),o=i.length,r=Math.max(t.length/o,1),s=0;o>s;s++)for(l=r*s,c=r*i[s],a=0;r>a;a++)u=parseInt(c+a,10),n[parseInt(l+a,10)]=t[u]||{value:"",fmtValue:"",ordinal:u};return n}function E(e,t){var n,i,o,r,s,a,l,c;if(!e||!e.length)return t;for(n=[],i=M(e),o=i.length,r=Math.max(t.length/o,1),a=0;r>a;a++)for(l=o*a,s=0;o>s;s++)c=i[s]+l,n[l+s]=t[c]||{value:"",fmtValue:"",ordinal:c};return n}function M(e){var n,i,o,r,s,a,l;for(e=e.slice(),n=[],i=e.shift();i;){for(i.dataIndex!==t&&n.push(i.dataIndex),s=0,o=0,r=i.members.length;r>o;o++)l=i.members[o],a=l.children,l.measure?[].splice.apply(e,[0,0].concat(a)):[].splice.apply(e,[s,0].concat(a)),s+=a.length;i=e.shift()}return n}function P(e){var t=e.split(".");return t.length>2?t[0]+"."+t[1]:e}function I(e,t){var n=e.length-1,i=e[n],o=R(t,i);return o&&o.dir?i="ORDER("+i+".Children,"+o.field+".CurrentMember.MEMBER_CAPTION,"+o.dir+")":i+=".Children",e[n]=i,e}function R(e,t){for(var n=0,i=e.length;i>n;n++)if(0===t.indexOf(e[n].field))return e[n];return null}function B(e){var t,n="CROSSJOIN({";return e.length>2?(t=e.pop(),n+=B(e)):(n+=e.shift(),t=e.pop()),n+="},{",n+=t,n+="})"}function z(e,t){var n=e.slice(0);return t.length>1&&n.push("{"+L(t).join(",")+"}"),B(n)}function L(e){for(var n,i=0,o=e.length,r=[];o>i;i++)n=e[i],r.push(n.name!==t?n.name:n);return r}function F(e){return e=e.name||e,"[object Array]"===ve.call(e)&&(e=e[e.length-1]),e}function O(e){for(var t=e.length,n=[],i=0;t>i;i++)n.push(e[i].name[0]);return n}function N(e,t){var n,i,o,r=0,s=e.length,a=t.length;for(t=t.slice(0);s>r;r++)for(n=e[r],o=0;a>o;o++)if(i=P(t[o]),-1!==n.indexOf(i)){t[o]=n;break}return{names:t,expandedIdx:o,uniquePath:t.slice(0,o+1).join("")}}function H(e){for(var t,n,i,o,r,s,a=[],l=[],c=[],u=0,d=e.length;d>u;u++)if(t=e[u],o=t.name,s=!1,"[object Array]"!==ve.call(o)&&(t.name=o=[o]),o.length>1)l.push(t);else{for(r=P(o[0]),n=0,i=c.length;i>n;n++)if(0===c[n].name[0].indexOf(r)){s=!0;break}s||c.push(t),t.expand&&a.push(t)}return a=a.concat(l),{root:c,expanded:a}}function V(e,t,n){var i,o,r,s,a,l,c,u,d="";if(e=e||[],i=H(e),o=i.root,r=O(o),s=[],i=i.expanded,a=i.length,l=0,u=[],r.length>1||t.length>1){for(s.push(z(r,t));a>l;l++)c=I(i[l].name,n),u=N(c,r).names,s.push(z(u,t));d+=s.join(",")}else{for(;a>l;l++)c=I(i[l].name,n),u.push(c[0]);d+=r.concat(u).join(",")}return d}function U(e){var t="",n=e.value,i=e.field,o=e.operator;return"in"==o?(t+="{",t+=n,t+="}"):(t+="Filter(",t+=i+".MEMBERS",t+=he.format($[o],i,n),t+=")"),t}function W(e,t){var n,i,o="",r=e.filters,s=r.length;for(i=s-1;i>=0;i--)n="SELECT (",n+=U(r[i]),n+=") ON 0",i==s-1?(n+=" FROM ["+t+"]",o=n):o=n+" FROM ( "+o+" )";return o}function j(e,t,n){var i,o,r="";if(t){r+="<"+e+">";for(o in t)i=t[o],n&&(o=o.replace(/([A-Z]+(?=$|[A-Z][a-z])|[A-Z]?[a-z]+)/g,"$1_").toUpperCase().replace(/_$/,"")),r+="<"+o+">"+i+"</"+o+">";r+="</"+e+">"}else r+="<"+e+"/>";return r}function G(e){if(null==e)return[];var t=ve.call(e);return"[object Array]"!==t?[e]:e}function q(e){var t,n,i,o,r={tuples:[]},s=G(he.getter("Tuples.Tuple",!0)(e)),a=he.getter("Caption['#text']"),l=he.getter("UName['#text']"),c=he.getter("LName['#text']"),u=he.getter("LNum['#text']"),d=he.getter("CHILDREN_CARDINALITY['#text']",!0),h=he.getter("['@Hierarchy']"),f=he.getter("PARENT_UNIQUE_NAME['#text']",!0);for(t=0;s.length>t;t++){for(n=[],i=G(s[t].Member),o=0;i.length>o;o++)n.push({children:[],caption:a(i[o]),name:l(i[o]),levelName:c(i[o]),levelNum:u(i[o]),hasChildren:parseInt(d(i[o]),10)>0,parentName:f(i[o]),hierarchy:h(i[o])});r.tuples.push({members:n})}return r}var $,Y,Q,K,X,Z,J,ee,te,ne,ie,oe,re,se,ae,le,ce,ue,de,he=window.kendo,fe=he.ui,pe=he.Class,ge=fe.Widget,me=he.data.DataSource,ve={}.toString,_e=function(e){return e},we=e.map,be=e.extend,ye=he.isFunction,xe="change",ke="error",Ce="Measures",Se="progress",Te="stateReset",De="auto",Ae="<div/>",Ee=".kendoPivotGrid",Me="__row_total__",Pe="dataBinding",Ie="dataBound",Re="expandMember",Be="collapseMember",ze="k-i-arrow-s",Le="k-i-arrow-e",Fe="<span>#: data.member.caption || data.member.name #</span>",Oe='<span class="k-icon k-i-kpi-#=data.dataItem.value > 0 ? "open" : data.dataItem.value < 0 ? "denied" : "hold"#">#:data.dataItem.value#</span>',Ne='<span class="k-icon k-i-kpi-#=data.dataItem.value > 0 ? "increase" : data.dataItem.value < 0 ? "decrease" : "equal"#">#:data.dataItem.value#</span>',He='#= data.dataItem ? kendo.htmlEncode(data.dataItem.fmtValue || data.dataItem.value) || "&nbsp;" : "&nbsp;" #',Ve='<table class="k-pivot-layout"><tr><td><div class="k-pivot-rowheaders"></div></td><td><div class="k-pivot-table k-state-default"></div></td></tr></table>',Ue={sum:function(e,t){var n=t.accumulator;return d(n)?d(e)&&(n+=e):n=e,n},count:function(e,t){return(t.accumulator||0)+1},average:{aggregate:function(e,n){var i=n.accumulator;return n.count===t&&(n.count=0),d(i)?d(e)&&(i+=e):i=e,d(e)&&n.count++,i},result:function(e){var t=e.accumulator;return d(t)&&(t/=e.count),t}},max:function(e,t){var n=t.accumulator;return d(n)||h(n)||(n=e),e>n&&(d(e)||h(e))&&(n=e),n},min:function(e,t){var n=t.accumulator;return d(n)||h(n)||(n=e),n>e&&(d(e)||h(e))&&(n=e),n}},We=pe.extend({init:function(e){this.options=be({},this.options,e),this.dimensions=this._normalizeDescriptors("field",this.options.dimensions),this.measures=this._normalizeDescriptors("name",this.options.measures)},_normalizeDescriptors:function(e,t){var n,i,o,r;if(t=t||{},n={},"[object Array]"===ve.call(t)){for(o=0,r=t.length;r>o;o++)i=t[o],"string"==typeof i?n[i]={}:i[e]&&(n[i[e]]=i);t=n}return t},_rootTuples:function(e,n){var i,o,r,s,a=n.length||1,l=this.dimensions||[],c=0,u=e.length,d=[],h=[];if(u||n.length){for(c=0;a>c;c++){for(i={members:[]},s=0;u>s;s++)o=e[s],r=o.split("&"),i.members[i.members.length]={children:[],caption:(l[o]||{}).caption||"All",name:o,levelName:o,levelNum:"0",hasChildren:!0,parentName:r.length>1?r[0]:t,hierarchy:o};a>1&&(i.members[i.members.length]={children:[],caption:n[c].caption,name:n[c].descriptor.name,levelName:"MEASURES",levelNum:"0",hasChildren:!1,parentName:t,hierarchy:"MEASURES"}),d[d.length]=i}h.push(Me)}return{keys:h,tuples:d}},_expandedTuples:function(e,n,i){var o,r,s,a,l,c,u,d,h,f,p,g=i.length||1,m=this.dimensions||[],v=[],_=[];for(s in e){for(a=e[s],u=this._findExpandedMember(n,a.uniquePath),l=v[u.index]||[],c=_[u.index]||[],d=u.member.names,o=0;g>o;o++){for(r={members:[]},p=0;d.length>p;p++)p===u.member.expandedIdx?(r.members[r.members.length]={children:[],caption:a.value,name:a.name,hasChildren:!1,levelNum:1,levelName:a.parentName+a.name,parentName:a.parentName,hierarchy:a.parentName+a.name},0===o&&c.push(se(r,p).join(""))):(f=d[p],h=f.split("&"),r.members[r.members.length]={children:[],caption:(m[f]||{}).caption||"All",name:f,levelName:f,levelNum:"0",hasChildren:!0,parentName:h.length>1?h[0]:t,hierarchy:f});g>1&&(r.members[r.members.length]={children:[],caption:i[o].caption,name:i[o].descriptor.name,levelName:"MEASURES",levelNum:"0",hasChildren:!0,parentName:t,hierarchy:"MEASURES"}),l[l.length]=r}v[u.index]=l,_[u.index]=c}return{keys:_,tuples:v}},_findExpandedMember:function(e,t){for(var n=0;e.length>n;n++)if(e[n].uniquePath===t)return{member:e[n],index:n}},_asTuples:function(e,t,n){var i,o;return n=n||[],i=this._rootTuples(t.root,n),o=this._expandedTuples(e,t.expanded,n),{keys:[].concat.apply(i.keys,o.keys),tuples:[].concat.apply(i.tuples,o.tuples)}},_measuresInfo:function(e,t){for(var n,i,o=0,r=e&&e.length,s=[],a={},l={},c=this.measures||{};r>o;o++)i=e[o].descriptor.name,n=c[i]||{},s.push(i),n.result&&(a[i]=n.result),n.format&&(l[i]=n.format);return{names:s,formats:l,resultFuncs:a,rowAxis:t}},_toDataArray:function(e,t,n,i){var o,r,s,a,l,c,u,d,h,f,p=[],g=1,m=[],v=n.length||1,_=i.length||1;for(t.rowAxis?(m=t.names,g=m.length):f=t.names,s=0;v>s;s++)for(u=e[n[s]||Me],c=0;g>c;c++)for(t.rowAxis&&(f=[m[c]]),a=0;_>a;a++)for(h=i[a]||Me,d=u.items[h],o=h===Me?u.aggregates:d?d.aggregates:{},l=0;f.length>l;l++)r=f[l],this._addData(p,o[r],t.formats[r],t.resultFuncs[r]);return p},_addData:function(e,t,n,i){var o,r="";t&&(t=i?i(t):t.accumulator,r=n?he.format(n,t):t),o=e.length,e[o]={ordinal:o,value:t||"",fmtValue:r}},_matchDescriptors:function(e,n,i){for(var o,r,s,a,l=n.names,c=n.expandedIdx;c>0;)if(o=l[--c].split("&"),o.length>1&&(r=o[0],s=o[1],a=i[r](e),a=a!==t&&null!==a?""+a:a,a!=s))return!1;return!0},_calculateAggregate:function(e,t,n){var i,o,r,s={};for(r=0;e.length>r;r++)o=e[r].descriptor.name,i=n.aggregates[o]||{},i.accumulator=e[r].aggregator(t,i),s[o]=i;return s},_processColumns:function(e,n,i,o,r,s,a,l){for(var c,u,d,h,f,p,g,m,v=r.dataItem,_=0;n.length>_;_++)u=n[_],this._matchDescriptors(v,u,i)&&(m=u.names.slice(0,u.expandedIdx).join(""),p=u.names[u.expandedIdx],c=i[p](v),c=c!==t&&null!==c?""+c:c,g=p,p=p+"&"+c,f=m+p,d=o[f]||{index:a.columnIndex,parentName:g,name:p,uniquePath:m+g,value:c},h=s.items[f]||{aggregates:{}},s.items[f]={index:d.index,aggregates:this._calculateAggregate(e,r,h)},l&&(o[f]||a.columnIndex++,o[f]=d))},_measureAggregators:function(e){var t,n,i,o,r,s,a=e.measures||[],l=this.measures||{},c=[];if(a.length){for(i=0,o=a.length;o>i;i++)if(t=a[i],n=l[t.name],r=null,n){if(s=n.aggregate,"string"==typeof s){if(r=Ue[s.toLowerCase()],!r)throw Error("There is no such aggregate function");n.aggregate=r.aggregate||r,n.result=r.result}c.push({descriptor:t,caption:n.caption,result:n.result,aggregator:u(n)})}}else c.push({descriptor:{name:"default"},caption:"default",aggregator:function(){return 1}});return c},_buildGetters:function(e){var t,n,i,r={};for(i=0;e.length>i;i++)n=e[i],t=n.split("&"),t.length>1?r[t[0]]=he.getter(t[0],!0):r[n]=he.getter(o(n),!0);return r},_parseDescriptors:function(e){var t,n=H(e),i=O(n.root),o=n.expanded,r=[];for(t=0;o.length>t;t++)r.push(N(o[t].name,i));return{root:i,expanded:r}},_filter:function(e,t){var n,i,o;if(!t)return e;for(i=0,o=t.filters;o.length>i;i++)n=o[i],"in"===n.operator&&(o[i]=this._normalizeFilter(n));return new he.data.Query(e).filter(t).data},_normalizeFilter:function(e){var t,n=e.value.split(","),i=[];if(!n.length)return n;for(t=0;n.length>t;t++)i.push({field:e.field,operator:"eq",value:n[t]});return{logic:"or",filters:i}},process:function(e,n){var o,r,s,a,l,c,u,d,h,f,p,g,m,v,_,w,b,y,x,k,C,S,T,D,A,E,M,P,I,R;if(e=e||[],n=n||{},e=this._filter(e,n.filter),o=n.measures||[],r="rows"===n.measuresAxis,s=n.columns||[],a=n.rows||[],!s.length&&a.length&&(!o.length||o.length&&r)&&(s=a,a=[],r=!1),s.length||a.length||(r=!1),!s.length&&o.length&&(s=i(n.measures)),s=this._parseDescriptors(s),a=this._parseDescriptors(a),l={},c={},u={},h={columnIndex:0},f=this._measureAggregators(n),p=this._buildGetters(s.root),g=this._buildGetters(a.root),m=!1,v=s.expanded,_=a.expanded,y=0!==_.length,I=e.length,R=0,s.root.length||a.root.length)for(m=!0,R=0;I>R;R++)for(w=e[R],b={dataItem:w,index:R},S=l[Me]||{items:{},aggregates:{}},this._processColumns(f,v,p,c,b,S,h,!y),S.aggregates=this._calculateAggregate(f,b,S),l[Me]=S,x=0;_.length>x;x++)k=_[x],this._matchDescriptors(w,k,g)?(D=k.names.slice(0,k.expandedIdx).join(""),C=k.names[k.expandedIdx],A=C,d=g[C](w),d=d!==t?""+d:d,C=C+"&"+d,T=D+C,u[T]={uniquePath:D+A,parentName:A,name:C,value:d},E=l[T]||{items:{},aggregates:{}},this._processColumns(f,v,p,c,b,E,h,!0),E.aggregates=this._calculateAggregate(f,b,E),l[T]=E):this._processColumns(f,v,p,c,b,{items:{},aggregates:{}},h,!0);return m&&I?(!(f.length>1)||n.columns&&n.columns.length||(s={root:[],expanded:[]}),M=this._asTuples(c,s,r?[]:f),P=this._asTuples(u,a,r?f:[]),c=M.tuples,u=P.tuples,l=this._toDataArray(l,this._measuresInfo(f,r),P.keys,M.keys)):l=c=u=[],{axes:{columns:{tuples:c},rows:{tuples:u}},data:l}}}),je=pe.extend({init:function(e,t){this.transport=t,this.options=t.options||{},this.transport.discover||ye(e.discover)&&(this.discover=e.discover)},read:function(e){return this.transport.read(e)},update:function(e){return this.transport.update(e)},create:function(e){return this.transport.create(e)},destroy:function(e){return this.transport.destroy(e)},discover:function(e){return this.transport.discover?this.transport.discover(e):(e.success({}),t)},catalog:function(n){var i,o=this.options||{};return n===t?(o.connection||{}).catalog:(i=o.connection||{},i.catalog=n,this.options.connection=i,e.extend(this.transport.options,{connection:i}),t)},cube:function(e){var n,i=this.options||{};return e===t?(i.connection||{}).cube:(n=i.connection||{},n.cube=e,this.options.connection=n,be(!0,this.transport.options,{connection:n}),t)}}),Ge=me.extend({init:function(t){var o,r=((t||{}).schema||{}).cube,s="columns",a={axes:_e,cubes:_e,catalogs:_e,measures:_e,dimensions:_e,hierarchies:_e,levels:_e,members:_e};r&&(a=e.extend(a,this._cubeSchema(r)),this.cubeBuilder=new We(r)),me.fn.init.call(this,be(!0,{},{schema:a},t)),this.transport=new je(this.options.transport||{},this.transport),this._columns=i(this.options.columns),this._rows=i(this.options.rows),o=this.options.measures||[],"[object Object]"===ve.call(o)&&(s=o.axis||"columns",o=o.values||[]),this._measures=n(o),this._measuresAxis=s,this._skipNormalize=0,this._axes={}},_cubeSchema:function(t){return{dimensions:function(){var e,n=[],i=t.dimensions;for(e in i)n.push({name:e,caption:i[e].caption||e,uniqueName:e,defaultHierarchy:e,type:1});return t.measures&&n.push({name:Ce,caption:Ce,uniqueName:Ce,type:2}),n},hierarchies:function(){return[]},measures:function(){var e,n=[],i=t.measures;for(e in i)n.push({name:e,caption:e,uniqueName:e,aggregator:e});return n},members:e.proxy(function(e,n){var i,r,s=n.levelUniqueName||n.memberUniqueName,a=this.options.data||this._rawData||[],l=[],c=0,u={};if(s&&(s=s.split(".")[0]),!n.treeOp)return l.push({caption:t.dimensions[s].caption||s,childrenCardinality:"1",dimensionUniqueName:s,hierarchyUniqueName:s,levelUniqueName:s,name:s,uniqueName:s}),l;for(i=he.getter(o(s),!0);a.length>c;c++)r=i(a[c]),!r&&0!==r||u[r]||(u[r]=!0,l.push({caption:r,childrenCardinality:"0",dimensionUniqueName:s,hierarchyUniqueName:s,levelUniqueName:s,name:r,uniqueName:r}));return l},this)}},options:{serverSorting:!0,serverPaging:!0,serverFiltering:!0,serverGrouping:!0,serverAggregates:!0},catalog:function(e){return e===t?this.transport.catalog():(this.transport.catalog(e),this._mergeState({}),this._axes={},this.data([]),t)},cube:function(e){return e===t?this.transport.cube():(this.transport.cube(e),this._axes={},this._mergeState({}),this.data([]),t)},axes:function(){return this._axes},columns:function(e){return e===t?this._columns:(this._skipNormalize+=1,this._clearAxesData=!0,this._columns=i(e),this.query({columns:e,rows:this.rowsAxisDescriptors(),measures:this.measures()}),t)},rows:function(e){return e===t?this._rows:(this._skipNormalize+=1,this._clearAxesData=!0,this._rows=i(e),this.query({columns:this.columnsAxisDescriptors(),rows:e,measures:this.measures()}),t)},measures:function(e){return e===t?this._measures:(this._skipNormalize+=1,this._clearAxesData=!0,this.query({columns:this.columnsAxisDescriptors(),rows:this.rowsAxisDescriptors(),measures:n(e)}),t)},measuresAxis:function(){return this._measuresAxis||"columns"},_expandPath:function(e,t){var n,o,r,s="columns"===t?"columns":"rows",a="columns"===t?"rows":"columns",l=i(e),u=F(l[l.length-1]);for(this._lastExpanded=s,l=c(this.axes()[s],l,this.measures()),n=0;l.length>n;n++)if(o=F(l[n]),o===u){if(l[n].expand)return;l[n].expand=!0}else l[n].expand=!1;r={},r[s]=l,r[a]=this._descriptorsForAxis(a),this._query(r)},_descriptorsForAxis:function(e){var t=this.axes(),n=this[e]()||[];return t&&t[e]&&t[e].tuples&&t[e].tuples[0]&&(n=s(t[e].tuples||[])),n},columnsAxisDescriptors:function(){return this._descriptorsForAxis("columns")},rowsAxisDescriptors:function(){return this._descriptorsForAxis("rows")},_process:function(e,t){this._view=e,t=t||{},t.items=t.items||this._view,this.trigger(xe,t)},_query:function(e){var t=this;return e||(this._skipNormalize+=1,this._clearAxesData=!0),t.query(be({},{page:t.page(),pageSize:t.pageSize(),sort:t.sort(),filter:t.filter(),group:t.group(),aggregate:t.aggregate(),columns:this.columnsAxisDescriptors(),rows:this.rowsAxisDescriptors(),measures:this.measures()},e))},query:function(t){var n=this._mergeState(t);return this._data.length&&this.cubeBuilder?(this._params(n),this._updateLocalData(this._pristineData),e.Deferred().resolve().promise()):this.read(n)},_mergeState:function(e){return e=me.fn._mergeState.call(this,e),e!==t&&(this._measures=n(e.measures),e.columns?e.columns=i(e.columns):e.columns||(this._columns=[]),e.rows?e.rows=i(e.rows):e.rows||(this._rows=[])),e},filter:function(e){return e===t?this._filter:(this._skipNormalize+=1,this._clearAxesData=!0,this._query({filter:e,page:1}),t)},expandColumn:function(e){this._expandPath(e,"columns")},expandRow:function(e){this._expandPath(e,"rows")},success:function(e){var t;this.cubeBuilder&&(t=(this.reader.data(e)||[]).slice(0)),me.fn.success.call(this,e),t&&(this._pristineData=t)},_processResult:function(e,t){var n,i,o,r,s,a,l,c,u,d,h;return this.cubeBuilder&&(n=this.cubeBuilder.process(e,this._requestData),e=n.data,t=n.axes),c=this.columns(),u=this.rows(),d=t.columns&&t.columns.tuples,c.length||!u.length||!d||!this._rowMeasures().length&&this.measures().length||(t={columns:{},rows:t.columns}),c.length||u.length||"rows"!==this.measuresAxis()||!d||(t={columns:{},rows:t.columns}),this._axes={columns:_(this._axes.columns),rows:_(this._axes.rows)},t={columns:_(t.columns),rows:_(t.rows)},i=this._normalizeTuples(t.columns.tuples,this._axes.columns.tuples,c,this._columnMeasures()),o=this._normalizeTuples(t.rows.tuples,this._axes.rows.tuples,u,this._rowMeasures()),this._skipNormalize-=1,this.cubeBuilder||(e=this._normalizeData({columnsLength:t.columns.tuples.length,rowsLength:t.rows.tuples.length,columnIndexes:i,rowIndexes:o,data:e})),"rows"==this._lastExpanded?(r=t.columns.tuples,a=this._columnMeasures(),s=f(t.columns,this._axes.columns,a),s&&(l="columns",t.columns=s,p(r,s.tuples,t.rows.tuples.length,a,e),this.cubeBuilder||(e=this._normalizeData({columnsLength:v(t.columns.tuples,a),rowsLength:t.rows.tuples.length,data:e})))):"columns"==this._lastExpanded&&(r=t.rows.tuples,a=this._rowMeasures(),s=f(t.rows,this._axes.rows,a),s&&(l="rows",t.rows=s,g(r,s.tuples,t.columns.tuples.length,a,e),this.cubeBuilder||(e=this._normalizeData({columnsLength:v(t.rows.tuples,a),rowsLength:t.columns.tuples.length,data:e})))),this._lastExpanded=null,h=this._mergeAxes(t,e,l),this._axes=h.axes,h.data},_readData:function(e){var t=this.reader.axes(e),n=this.reader.data(e);return this.cubeBuilder&&(this._rawData=n),this._processResult(n,t)},_createTuple:function(e,t,n){var i,o,r,s,a,l,c,u,d=e.members,h=d.length,f={members:[]},p=0;for(t&&(h-=1);h>p;p++)u=d[p],o=+u.levelNum,r=u.name,s=u.parentName,c=u.caption||r,a=u.hasChildren,l=u.hierarchy,i=u.levelName,n&&(c="All",0===o?s=u.name:o-=1,a=!0,r=l=i=s),f.members.push({name:r,children:[],caption:c,levelName:i,levelNum:""+o,hasChildren:a,hierarchy:l,parentName:n?"":s});return t&&f.members.push({name:t.name,children:[]}),f},_hasRoot:function(e,t,n){var i,o,r,s,a,l,c;if(t.length)return x(t,e).tuple;for(i=e.members,s=!0,l=0,c=i.length;c>l;l++)if(o=i[l],a=+o.levelNum||0,r=n[l],!(0===a||r&&o.name===F(r))){s=!1;break}return s},_mergeAxes:function(e,t,n){var i,o,r,s,a,l=this._columnMeasures(),c=this._rowMeasures(),u=this.axes(),d=e.rows.tuples.length,h=v(u.columns.tuples,l),f=e.columns.tuples.length;return"columns"==n?(f=h,o=e.columns.tuples):(o=D(e.columns.tuples,l),t=E(o,t)),r=b(u.columns.tuples,o,l),"rows"==n?(d=v(e.rows.tuples,c),o=e.rows.tuples):(o=D(e.rows.tuples,c),t=A(o,t)),s=b(u.rows.tuples,o,c),u.columns.tuples=r.tuples,u.rows.tuples=s.tuples,h!==v(u.columns.tuples,l)?(i=r.index+w(r.parsedRoot,r.memberIndex,l),a=h+f,t=this._mergeColumnData(t,i,d,f,a)):(i=s.index+w(s.parsedRoot,s.memberIndex,c),t=this._mergeRowData(t,i,d,f)),{axes:u,data:t}},_mergeColumnData:function(e,t,n,i,o){var r,s,a,l=this.data().toJSON(),c=0,u=Math.max(this._columnMeasures().length,1);for(n=Math.max(n,1),l.length>0&&(c=u,o-=u),r=0;n>r;r++)s=t+r*o,a=e.splice(0,i),a.splice(0,c),[].splice.apply(l,[s,0].concat(a));return l},_mergeRowData:function(e,t,n,i){var o,r,s,a=this.data().toJSON(),l=Math.max(this._rowMeasures().length,1);for(i=Math.max(i,1),a.length>0&&(n-=l,e.splice(0,i*l)),o=0;n>o;o++)s=e.splice(0,i),r=t*i+o*i,[].splice.apply(a,[r,0].concat(s));return a},_columnMeasures:function(){var e=this.measures(),t=[];return"columns"===this.measuresAxis()&&(0===this.columns().length?t=e:e.length>1&&(t=e)),t},_rowMeasures:function(){var e=this.measures(),t=[];return"rows"===this.measuresAxis()&&(0===this.rows().length?t=e:e.length>1&&(t=e)),t},_updateLocalData:function(e,t){this.cubeBuilder&&(t&&(this._requestData=t),e=this._processResult(e)),this._data=this._observe(e),this._ranges=[],this._addRange(this._data),this._total=this._data.length,this._pristineTotal=this._total,this._process(this._data)},data:function(e){var n=this;return e===t?n._data:(this._pristineData=e.slice(0),this._updateLocalData(e,{columns:this.columns(),rows:this.rows(),measures:this.measures()}),t)},_normalizeTuples:function(e,t,n,i){var o,r,s,a=i.length||1,l=0,c=[],u={},d=0;if(e.length){if(0>=this._skipNormalize&&!this._hasRoot(e[0],t,n)){for(this._skipNormalize=0;a>l;l++)c.push(this._createTuple(e[0],i[l],!0)),u[l]=l;e.splice.apply(e,[0,e.length].concat(c).concat(e)),l=a}if(i.length)for(s=o=e[l],r=o.members.length-1;o;){if(d>=a&&(d=0),o.members[r].name!==i[d].name&&(e.splice(l,0,this._createTuple(o,i[d])),u[l]=l),l+=1,d+=1,o=e[l],a>d&&(!o||ae(s,r-1)!==ae(o,r-1))){for(;a>d;d++)e.splice(l,0,this._createTuple(s,i[d])),u[l]=l,l+=1;o=e[l]}s=o}return u}},_normalizeData:function(e){var n,i,o=e.data,r=e.columnIndexes||{},s=e.rowIndexes||{},a=e.columnsLength||1,l=a*(e.rowsLength||1),c=0,u=0,d=0,h=Array(l);if(o.length===l)return o;for(;l>c;c++){for(;s[parseInt(c/a,10)]!==t;)for(i=0;a>i;i++)h[c]={value:"",fmtValue:"",ordinal:c},c+=1;for(;r[c%a]!==t;)h[c]={value:"",fmtValue:"",ordinal:c},c+=1;if(n=o[u]){if(n.ordinal-d>1)for(d+=1;n.ordinal>d;d++)h[c]={value:"",fmtValue:"",ordinal:c},c+=1;d=n.ordinal,n.ordinal=c,h[c]=n,u+=1}else h[c]={value:"",fmtValue:"",ordinal:c}}return h},discover:function(t,n){var i=this,o=i.transport;return e.Deferred(function(e){o.discover(be({success:function(t){t=i.reader.parse(t),i._handleCustomErrors(t)||(n&&(t=n(t)),e.resolve(t))},error:function(t,n,o){e.reject(t),i.error(t,n,o)}},t))}).promise().done(function(){i.trigger("schemaChange")})},schemaMeasures:function(){var e=this;return e.discover({data:{command:"schemaMeasures",restrictions:{catalogName:e.transport.catalog(),cubeName:e.transport.cube()}}},function(t){return e.reader.measures(t)})},schemaKPIs:function(){var e=this;return e.discover({data:{command:"schemaKPIs",restrictions:{catalogName:e.transport.catalog(),cubeName:e.transport.cube()}}},function(t){return e.reader.kpis(t)})},schemaDimensions:function(){var e=this;return e.discover({data:{command:"schemaDimensions",restrictions:{catalogName:e.transport.catalog(),cubeName:e.transport.cube()}}},function(t){return e.reader.dimensions(t)})},schemaHierarchies:function(e){var t=this;return t.discover({data:{command:"schemaHierarchies",restrictions:{catalogName:t.transport.catalog(),cubeName:t.transport.cube(),dimensionUniqueName:e}}},function(e){return t.reader.hierarchies(e)})},schemaLevels:function(e){var t=this;return t.discover({data:{command:"schemaLevels",restrictions:{catalogName:t.transport.catalog(),cubeName:t.transport.cube(),hierarchyUniqueName:e}}},function(e){return t.reader.levels(e)})},schemaCubes:function(){var e=this;return e.discover({data:{command:"schemaCubes",restrictions:{catalogName:e.transport.catalog()}}},function(t){return e.reader.cubes(t)})},schemaCatalogs:function(){var e=this;return e.discover({data:{command:"schemaCatalogs"}},function(t){return e.reader.catalogs(t)})},schemaMembers:function(e){var t=this,n=function(e){return function(n){return t.reader.members(n,e)}}(e);return t.discover({data:{command:"schemaMembers",restrictions:be({catalogName:t.transport.catalog(),cubeName:t.transport.cube()},e)}},n)},_params:function(e){this._clearAxesData&&(this._axes={},this._data=this._observe([]),this._clearAxesData=!1,this.trigger(Te));var t=me.fn._params.call(this,e);return t=be({measures:this.measures(),measuresAxis:this.measuresAxis(),columns:this.columns(),rows:this.rows()},t),this.cubeBuilder&&(this._requestData=t),t}});Ge.create=function(e){e=e&&e.push?{data:e}:e;var t=e||{},n=t.data;if(t.data=n,!(t instanceof Ge)&&t instanceof he.data.DataSource)throw Error("Incorrect DataSource type. Only PivotDataSource instances are supported");return t instanceof Ge?t:new Ge(t)},$={contains:', InStr({0}.CurrentMember.MEMBER_CAPTION,"{1}") > 0',doesnotcontain:', InStr({0}.CurrentMember.MEMBER_CAPTION,"{1}") = 0',startswith:', Left({0}.CurrentMember.MEMBER_CAPTION,Len("{1}"))="{1}"',endswith:', Right({0}.CurrentMember.MEMBER_CAPTION,Len("{1}"))="{1}"',eq:', {0}.CurrentMember.MEMBER_CAPTION = "{1}"',neq:', NOT {0}.CurrentMember.MEMBER_CAPTION = "{1}"'},Y={schemaCubes:"MDSCHEMA_CUBES",schemaCatalogs:"DBSCHEMA_CATALOGS",schemaMeasures:"MDSCHEMA_MEASURES",schemaDimensions:"MDSCHEMA_DIMENSIONS",schemaHierarchies:"MDSCHEMA_HIERARCHIES",schemaLevels:"MDSCHEMA_LEVELS",schemaMembers:"MDSCHEMA_MEMBERS",schemaKPIs:"MDSCHEMA_KPIS"},Q={read:function(e){var t,n,i,o,r,s='<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Header/><Body><Execute xmlns="urn:schemas-microsoft-com:xml-analysis"><Command><Statement>';return s+="SELECT NON EMPTY {",t=e.columns||[],n=e.rows||[],i=e.measures||[],o="rows"===e.measuresAxis,r=e.sort||[],!t.length&&n.length&&(!i.length||i.length&&o)&&(t=n,n=[],o=!1),t.length||n.length||(o=!1),t.length?s+=V(t,o?[]:i,r):i.length&&!o&&(s+=L(i).join(",")),s+="} DIMENSION PROPERTIES CHILDREN_CARDINALITY, PARENT_UNIQUE_NAME ON COLUMNS",(n.length||o&&i.length>1)&&(s+=", NON EMPTY {",s+=n.length?V(n,o?i:[],r):L(i).join(","),s+="} DIMENSION PROPERTIES CHILDREN_CARDINALITY, PARENT_UNIQUE_NAME ON ROWS"),e.filter?(s+=" FROM ",s+="(",s+=W(e.filter,e.connection.cube),s+=")"):s+=" FROM ["+e.connection.cube+"]",1==i.length&&t.length&&(s+=" WHERE ("+L(i).join(",")+")"),s+="</Statement></Command><Properties><PropertyList><Catalog>"+e.connection.catalog+"</Catalog><Format>Multidimensional</Format></PropertyList></Properties></Execute></Body></Envelope>",s.replace(/\&/g,"&amp;")},discover:function(t){t=t||{};var n='<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Header/><Body><Discover xmlns="urn:schemas-microsoft-com:xml-analysis">';return n+="<RequestType>"+(Y[t.command]||t.command)+"</RequestType>",n+="<Restrictions>"+j("RestrictionList",t.restrictions,!0)+"</Restrictions>",t.connection&&t.connection.catalog&&(t.properties=e.extend({},{Catalog:t.connection.catalog},t.properties)),n+="<Properties>"+j("PropertyList",t.properties)+"</Properties>",n+="</Discover></Body></Envelope>"}},K=he.data.RemoteTransport.extend({init:function(e){var t=e;e=this.options=be(!0,{},this.options,e),he.data.RemoteTransport.call(this,e),ye(t.discover)?this.discover=t.discover:"string"==typeof t.discover?this.options.discover={url:t.discover}:t.discover||(this.options.discover=this.options.read)},setup:function(t,n){return t.data=t.data||{},e.extend(!0,t.data,{connection:this.options.connection}),he.data.RemoteTransport.fn.setup.call(this,t,n)},options:{read:{dataType:"text",contentType:"text/xml",type:"POST"},discover:{dataType:"text",contentType:"text/xml",type:"POST"},parameterMap:function(e,t){return Q[t](e,t)}},discover:function(t){return e.ajax(this.setup(t,"discover"));
}}),X={cubes:{name:he.getter("CUBE_NAME['#text']",!0),caption:he.getter("CUBE_CAPTION['#text']",!0),description:he.getter("DESCRIPTION['#text']",!0),type:he.getter("CUBE_TYPE['#text']",!0)},catalogs:{name:he.getter("CATALOG_NAME['#text']",!0),description:he.getter("DESCRIPTION['#text']",!0)},measures:{name:he.getter("MEASURE_NAME['#text']",!0),caption:he.getter("MEASURE_CAPTION['#text']",!0),uniqueName:he.getter("MEASURE_UNIQUE_NAME['#text']",!0),description:he.getter("DESCRIPTION['#text']",!0),aggregator:he.getter("MEASURE_AGGREGATOR['#text']",!0),groupName:he.getter("MEASUREGROUP_NAME['#text']",!0),displayFolder:he.getter("MEASURE_DISPLAY_FOLDER['#text']",!0),defaultFormat:he.getter("DEFAULT_FORMAT_STRING['#text']",!0)},kpis:{name:he.getter("KPI_NAME['#text']",!0),caption:he.getter("KPI_CAPTION['#text']",!0),value:he.getter("KPI_VALUE['#text']",!0),goal:he.getter("KPI_GOAL['#text']",!0),status:he.getter("KPI_STATUS['#text']",!0),trend:he.getter("KPI_TREND['#text']",!0),statusGraphic:he.getter("KPI_STATUS_GRAPHIC['#text']",!0),trendGraphic:he.getter("KPI_TREND_GRAPHIC['#text']",!0),description:he.getter("KPI_DESCRIPTION['#text']",!0),groupName:he.getter("MEASUREGROUP_NAME['#text']",!0)},dimensions:{name:he.getter("DIMENSION_NAME['#text']",!0),caption:he.getter("DIMENSION_CAPTION['#text']",!0),description:he.getter("DESCRIPTION['#text']",!0),uniqueName:he.getter("DIMENSION_UNIQUE_NAME['#text']",!0),defaultHierarchy:he.getter("DEFAULT_HIERARCHY['#text']",!0),type:he.getter("DIMENSION_TYPE['#text']",!0)},hierarchies:{name:he.getter("HIERARCHY_NAME['#text']",!0),caption:he.getter("HIERARCHY_CAPTION['#text']",!0),description:he.getter("DESCRIPTION['#text']",!0),uniqueName:he.getter("HIERARCHY_UNIQUE_NAME['#text']",!0),dimensionUniqueName:he.getter("DIMENSION_UNIQUE_NAME['#text']",!0),displayFolder:he.getter("HIERARCHY_DISPLAY_FOLDER['#text']",!0),origin:he.getter("HIERARCHY_ORIGIN['#text']",!0),defaultMember:he.getter("DEFAULT_MEMBER['#text']",!0)},levels:{name:he.getter("LEVEL_NAME['#text']",!0),caption:he.getter("LEVEL_CAPTION['#text']",!0),description:he.getter("DESCRIPTION['#text']",!0),uniqueName:he.getter("LEVEL_UNIQUE_NAME['#text']",!0),dimensionUniqueName:he.getter("DIMENSION_UNIQUE_NAME['#text']",!0),displayFolder:he.getter("LEVEL_DISPLAY_FOLDER['#text']",!0),orderingProperty:he.getter("LEVEL_ORDERING_PROPERTY['#text']",!0),origin:he.getter("LEVEL_ORIGIN['#text']",!0),hierarchyUniqueName:he.getter("HIERARCHY_UNIQUE_NAME['#text']",!0)},members:{name:he.getter("MEMBER_NAME['#text']",!0),caption:he.getter("MEMBER_CAPTION['#text']",!0),uniqueName:he.getter("MEMBER_UNIQUE_NAME['#text']",!0),dimensionUniqueName:he.getter("DIMENSION_UNIQUE_NAME['#text']",!0),hierarchyUniqueName:he.getter("HIERARCHY_UNIQUE_NAME['#text']",!0),levelUniqueName:he.getter("LEVEL_UNIQUE_NAME['#text']",!0),childrenCardinality:he.getter("CHILDREN_CARDINALITY['#text']",!0)}},Z=["axes","catalogs","cubes","dimensions","hierarchies","levels","measures"],J=he.data.XmlDataReader.extend({init:function(e){he.data.XmlDataReader.call(this,e),this._extend(e)},_extend:function(e){for(var t,n,i=0,o=Z.length;o>i;i++)t=Z[i],n=e[t],n&&n!==_e&&(this[t]=n)},parse:function(e){var t=he.data.XmlDataReader.fn.parse(e.replace(/<(\/?)(\w|-)+:/g,"<$1"));return he.getter("['Envelope']['Body']",!0)(t)},errors:function(e){var t=he.getter("['Fault']",!0)(e);return t?[{faultstring:he.getter("faultstring['#text']",!0)(t),faultcode:he.getter("faultcode['#text']",!0)(t)}]:null},axes:function(e){var t,n,i,o;for(e=he.getter('ExecuteResponse["return"].root',!0)(e),t=G(he.getter("Axes.Axis",!0)(e)),i={columns:{},rows:{}},o=0;t.length>o;o++)n=t[o],"sliceraxis"!==n["@name"].toLowerCase()&&(i.columns.tuples?i.rows=q(n):i.columns=q(n));return i},data:function(e){var t,n,i,o,r,s;for(e=he.getter('ExecuteResponse["return"].root',!0)(e),t=G(he.getter("CellData.Cell",!0)(e)),n=[],i=he.getter("['@CellOrdinal']"),o=he.getter("Value['#text']"),r=he.getter("FmtValue['#text']"),s=0;t.length>s;s++)n.push({value:o(t[s]),fmtValue:r(t[s]),ordinal:parseInt(i(t[s]),10)});return n},_mapSchema:function(e,t){var n,i,o,r,s;for(e=he.getter('DiscoverResponse["return"].root',!0)(e),n=G(he.getter("row",!0)(e)),i=[],o=0;n.length>o;o++){r={};for(s in t)r[s]=t[s](n[o]);i.push(r)}return i},measures:function(e){return this._mapSchema(e,X.measures)},kpis:function(e){return this._mapSchema(e,X.kpis)},hierarchies:function(e){return this._mapSchema(e,X.hierarchies)},levels:function(e){return this._mapSchema(e,X.levels)},dimensions:function(e){return this._mapSchema(e,X.dimensions)},cubes:function(e){return this._mapSchema(e,X.cubes)},catalogs:function(e){return this._mapSchema(e,X.catalogs)},members:function(e){return this._mapSchema(e,X.members)}}),be(!0,he.data,{PivotDataSource:Ge,XmlaTransport:K,XmlaDataReader:J,PivotCubeBuilder:We,transports:{xmla:K},readers:{xmla:J}}),ee=function(e,t){if(!e)return null;for(var n=0,i=e.length;i>n;n++)if(e[n].field===t)return e[n];return null},te=function(e,t){var n,i,o=[];for(n=0,i=e.length;i>n;n++)e[n].field!==t&&o.push(e[n]);return o},he.ui.PivotSettingTarget=ge.extend({init:function(t,n){var i=this;ge.fn.init.call(i,t,n),i.element.addClass("k-pivot-setting"),i.dataSource=he.data.PivotDataSource.create(n.dataSource),i._refreshHandler=e.proxy(i.refresh,i),i.dataSource.first(xe,i._refreshHandler),n.template||(i.options.template="<div data-"+he.ns+'name="${data.name || data}">${data.name || data}'+(i.options.enabled?'<a class="k-button k-button-icon k-button-bare"><span class="k-icon k-setting-delete"></span></a>':"")+"</div>"),i.template=he.template(i.options.template),i.emptyTemplate=he.template(i.options.emptyTemplate),i._sortable(),i.element.on("click"+Ee,".k-button,.k-item",function(t){var n=e(t.target),o=n.closest("["+he.attr("name")+"]").attr(he.attr("name"));o&&(n.hasClass("k-setting-delete")?i.remove(o):i.options.sortable&&n[0]===t.currentTarget&&i.sort({field:o,dir:n.find(".k-i-sort-asc")[0]?"desc":"asc"}))}),(n.filterable||n.sortable)&&(i.fieldMenu=new fe.PivotFieldMenu(i.element,{messages:i.options.messages.fieldMenu,filter:".k-setting-fieldmenu",filterable:n.filterable,sortable:n.sortable,dataSource:i.dataSource})),i.refresh()},options:{name:"PivotSettingTarget",template:null,filterable:!1,sortable:!1,emptyTemplate:"<div class='k-empty'>${data}</div>",setting:"columns",enabled:!0,messages:{empty:"Drop Fields Here"}},setDataSource:function(e){this.dataSource.unbind(xe,this._refreshHandler),this.dataSource=this.options.dataSource=e,this.fieldMenu&&this.fieldMenu.setDataSource(e),e.first(xe,this._refreshHandler),this.refresh()},_sortable:function(){var e=this;e.options.enabled&&(this.sortable=this.element.kendoSortable({connectWith:this.options.connectWith,filter:">:not(.k-empty)",hint:e.options.hint,cursor:"move",start:function(e){e.item.focus().blur()},change:function(t){var n=t.item.attr(he.attr("name"));"receive"==t.action?e.add(n):"remove"==t.action?e.remove(n):"sort"==t.action&&e.move(n,t.newIndex)}}).data("kendoSortable"))},_indexOf:function(e,t){var n,i,o=-1;for(n=0,i=t.length;i>n;n++)if(F(t[n])===e){o=n;break}return o},_isKPI:function(e){return"kpi"===e.type||e.measure},validate:function(e){var t,n,i=2==e.type||"aggregator"in e||this._isKPI(e);return i?"measures"===this.options.setting:"measures"===this.options.setting?i:(t=this.dataSource[this.options.setting](),n=e.defaultHierarchy||e.uniqueName,this._indexOf(n,t)>-1?!1:(t=this.dataSource["columns"===this.options.setting?"rows":"columns"](),this._indexOf(n,t)>-1?!1:!0))},add:function(t){var n,i,o=this.dataSource[this.options.setting]();for(t=e.isArray(t)?t.slice(0):[t],n=0,i=t.length;i>n;n++)-1!==this._indexOf(t[n],o)&&(t.splice(n,1),n-=1,i-=1);t.length&&(o=o.concat(t),this.dataSource[this.options.setting](o))},move:function(e,t){var n=this.dataSource[this.options.setting](),i=this._indexOf(e,n);i>-1&&(e=n.splice(i,1)[0],n.splice(t,0,e),this.dataSource[this.options.setting](n))},remove:function(e){var t=this.dataSource[this.options.setting](),n=this._indexOf(e,t);n>-1&&(t.splice(n,1),this.dataSource[this.options.setting](t))},sort:function(e){var t=this.options.sortable,n=t===!0||t.allowUnsort,i=n&&"asc"===e.dir,o=this.dataSource.sort()||[],r=te(o,e.field);i&&o.length!==r.length&&(e=null),e&&r.push(e),this.dataSource.sort(r)},refresh:function(){var e,n="",i=this.dataSource[this.options.setting](),o=i.length,r=0;if(o)for(;o>r;r++)e=i[r],e=e.name===t?{name:e}:e,n+=this.template(be({sortIcon:this._sortIcon(e.name)},e));else n=this.emptyTemplate(this.options.messages.empty);this.element.html(n)},destroy:function(){ge.fn.destroy.call(this),this.dataSource.unbind(xe,this._refreshHandler),this.element.off(Ee),this.sortable&&this.sortable.destroy(),this.fieldMenu&&this.fieldMenu.destroy(),this.element=null,this._refreshHandler=null},_sortIcon:function(e){var t=this.dataSource.sort(),n=ee(t,F(e)),i="";return n&&(i="k-i-sort-"+n.dir),i}}),ne=ge.extend({init:function(n,i){var o,r,s=this;ge.fn.init.call(s,n,i),s._dataSource(),s._bindConfigurator(),s._wrapper(),s._createLayout(),s._columnBuilder=o=new le,s._rowBuilder=r=new ce,s._contentBuilder=new ue,s._templates(),s.columnsHeader.add(s.rowsHeader).on("click","span.k-icon",function(){var n,i,a,l,c=e(this),u=o,d="expandColumn",h=c.attr(he.attr("path")),f={axis:"columns",path:e.parseJSON(h)};c.parent().is("td")&&(u=r,d="expandRow",f.axis="rows"),i=c.hasClass(ze),a=u.metadata[h],l=a.expanded===t,n=i?Be:Re,f.childrenLoaded=a.maxChildren>a.children,s.trigger(n,f)||(u.metadata[h].expanded=!i,c.toggleClass(ze,!i).toggleClass(Le,i),!i&&l?s.dataSource[d](f.path):s.refresh())}),s._scrollable(),s.options.autoBind&&s.dataSource.fetch(),he.notify(s)},events:[Pe,Ie,Re,Be],options:{name:"PivotGrid",autoBind:!0,reorderable:!0,filterable:!1,sortable:!1,height:null,columnWidth:100,configurator:"",columnHeaderTemplate:null,rowHeaderTemplate:null,dataCellTemplate:null,kpiStatusTemplate:null,kpiTrendTemplate:null,messages:{measureFields:"Drop Data Fields Here",columnFields:"Drop Column Fields Here",rowFields:"Drop Rows Fields Here"}},_templates:function(){var e=this.options.columnHeaderTemplate,t=this.options.rowHeaderTemplate,n=this.options.dataCellTemplate,i=this.options.kpiStatusTemplate,o=this.options.kpiTrendTemplate;this._columnBuilder.template=he.template(e||Fe,{useWithBlock:!!e}),this._contentBuilder.dataTemplate=he.template(n||He,{useWithBlock:!!n}),this._contentBuilder.kpiStatusTemplate=he.template(i||Oe,{useWithBlock:!!i}),this._contentBuilder.kpiTrendTemplate=he.template(o||Ne,{useWithBlock:!!o}),this._rowBuilder.template=he.template(t||Fe,{useWithBlock:!!t})},_bindConfigurator:function(){var t=this.options.configurator;t&&e(t).kendoPivotConfigurator("setDataSource",this.dataSource)},cellInfoByElement:function(t){return t=e(t),this.cellInfo(t.index(),t.parent("tr").index())},cellInfo:function(e,t){var n,i=this._contentBuilder,o=i.columnIndexes[e||0],r=i.rowIndexes[t||0];return o&&r?(n=r.index*i.rowLength+o.index,{columnTuple:o.tuple,rowTuple:r.tuple,measure:o.measure||r.measure,dataItem:this.dataSource.view()[n]}):null},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.measuresTarget&&this.measuresTarget.setDataSource(e),this.rowsTarget&&this.rowsTarget.setDataSource(e),this.columnsTarget&&this.columnsTarget.setDataSource(e),this._bindConfigurator(),this.options.autoBind&&e.fetch()},setOptions:function(e){ge.fn.setOptions.call(this,e),this._templates()},destroy:function(){ge.fn.destroy.call(this),clearTimeout(this._headerReflowTimeout)},_dataSource:function(){var t=this,n=t.options.dataSource;n=e.isArray(n)?{data:n}:n,t.dataSource&&this._refreshHandler?t.dataSource.unbind(xe,t._refreshHandler).unbind(Te,t._stateResetHandler).unbind(Se,t._progressHandler).unbind(ke,t._errorHandler):(t._refreshHandler=e.proxy(t.refresh,t),t._progressHandler=e.proxy(t._requestStart,t),t._stateResetHandler=e.proxy(t._stateReset,t),t._errorHandler=e.proxy(t._error,t)),t.dataSource=he.data.PivotDataSource.create(n).bind(xe,t._refreshHandler).bind(Se,t._progressHandler).bind(Te,t._stateResetHandler).bind(ke,t._errorHandler)},_error:function(){this._progress(!1)},_requestStart:function(){this._progress(!0)},_stateReset:function(){this._columnBuilder.reset(),this._rowBuilder.reset()},_wrapper:function(){var e=this.options.height;this.wrapper=this.element.addClass("k-widget k-pivot"),e&&this.wrapper.css("height",e)},_measureFields:function(){this.measureFields=e(Ae).addClass("k-pivot-toolbar k-header k-settings-measures"),this.measuresTarget=this._createSettingTarget(this.measureFields,{setting:"measures",messages:{empty:this.options.messages.measureFields}})},_createSettingTarget:function(t,n){var i='<span tabindex="0" class="k-button" data-'+he.ns+'name="${data.name}">${data.name}',o=n.sortable,r="";return o&&(r+="#if (data.sortIcon) {#",r+='<span class="k-icon ${data.sortIcon} k-setting-sort"></span>',r+="#}#"),(n.filterable||o)&&(r+='<span class="k-icon k-i-arrowhead-s k-setting-fieldmenu"></span>'),this.options.reorderable&&(r+='<span class="k-icon k-si-close k-setting-delete"></span>'),r&&(i+='<span class="k-field-actions">'+r+"</span>"),i+="</span>",new he.ui.PivotSettingTarget(t,e.extend({template:i,emptyTemplate:'<span class="k-empty">${data}</span>',enabled:this.options.reorderable,dataSource:this.dataSource},n))},_initSettingTargets:function(){this.columnsTarget=this._createSettingTarget(this.columnFields,{connectWith:this.rowFields,setting:"columns",filterable:this.options.filterable,sortable:this.options.sortable,messages:{empty:this.options.messages.columnFields,fieldMenu:this.options.messages.fieldMenu}}),this.rowsTarget=this._createSettingTarget(this.rowFields,{connectWith:this.columnFields,setting:"rows",filterable:this.options.filterable,sortable:this.options.sortable,messages:{empty:this.options.messages.rowFields,fieldMenu:this.options.messages.fieldMenu}})},_createLayout:function(){var t=this,n=e(Ve),i=n.find(".k-pivot-rowheaders"),o=n.find(".k-pivot-table"),r=e(Ae).addClass("k-grid k-widget");t._measureFields(),t.columnFields=e(Ae).addClass("k-pivot-toolbar k-header k-settings-columns"),t.rowFields=e(Ae).addClass("k-pivot-toolbar k-header k-settings-rows"),t.columnsHeader=e('<div class="k-grid-header-wrap" />').wrap('<div class="k-grid-header" />'),t.columnsHeader.parent().css("padding-right",he.support.scrollbar()),t.rowsHeader=e('<div class="k-grid k-widget k-alt"/>'),t.content=e('<div class="k-grid-content" />'),i.append(t.measureFields),i.append(t.rowFields),i.append(t.rowsHeader),r.append(t.columnsHeader.parent()),r.append(t.content),o.append(t.columnFields),o.append(r),t.wrapper.append(n),t.columnsHeaderTree=new he.dom.Tree(t.columnsHeader[0]),t.rowsHeaderTree=new he.dom.Tree(t.rowsHeader[0]),t.contentTree=new he.dom.Tree(t.content[0]),t._initSettingTargets()},_progress:function(e){he.ui.progress(this.wrapper,e)},_resize:function(){this.content[0].firstChild&&(this._setSectionsWidth(),this._setSectionsHeight(),this._setContentWidth(),this._setContentHeight(),this._columnHeaderReflow())},_columnHeaderReflow:function(){var e=this.columnsHeader.children("table");he.support.browser.mozilla&&(clearTimeout(this._headerReflowTimeout),e.css("table-layout","auto"),this._headerReflowTimeout=setTimeout(function(){e.css("table-layout","")}))},_setSectionsWidth:function(){var e=this.rowsHeader,t=e.parent(".k-pivot-rowheaders").width(De),n=Math.max(this.measureFields.outerWidth(),this.rowFields.outerWidth());n=Math.max(e.children("table").width(),n),t.width(n)},_setSectionsHeight:function(){var e=this.measureFields.height(De).height(),t=this.columnFields.height(De).height(),n=this.rowFields.height(De).innerHeight(),i=this.columnsHeader.height(De).innerHeight(),o=n-this.rowFields.height(),r=t>e?t:e,s=i>n?i:n;this.measureFields.height(r),this.columnFields.height(r),this.rowFields.height(s-o),this.columnsHeader.height(s)},_setContentWidth:function(){var e=this.content.find("table"),t=this.columnsHeader.children("table"),n=e.children("colgroup").children().length,i=n*this.options.columnWidth,o=Math.ceil(i/this.content.width()*100);100>o&&(o=100),e.add(t).css("width",o+"%"),this._resetColspan(t)},_setContentHeight:function(){var e=this,n=e.content,i=e.rowsHeader,o=e.wrapper.innerHeight(),r=he.support.scrollbar(),s=n[0].offsetHeight===n[0].clientHeight,a=e.options.height;if(e.wrapper.is(":visible")){if(!o||!a)return s&&(r=0),n.height("auto"),i.height(n.height()-r),t;o-=e.columnFields.outerHeight(),o-=e.columnsHeader.outerHeight(),2*r>=o&&(o=2*r+1,s||(o+=r)),n.height(o),s&&(r=0),i.height(o-r)}},_resetColspan:function(e){var n=this,i=e.children("tbody").children(":first").children(":first");n._colspan===t&&(n._colspan=i.attr("colspan")),i.attr("colspan",1),clearTimeout(n._layoutTimeout),n._layoutTimeout=setTimeout(function(){i.attr("colspan",n._colspan),n._colspan=t})},_axisMeasures:function(e){var t=[],n=this.dataSource,i=n.measures(),o=i.length>1||i[0]&&i[0].type;return n.measuresAxis()===e&&(0===n[e]().length||o)&&(t=i),t},items:function(){return[]},refresh:function(){var e,t=this,n=t.dataSource,i=n.axes(),o=(i.columns||{}).tuples||[],r=(i.rows||{}).tuples||[],s=t._columnBuilder,a=t._rowBuilder,l={},c={};t.trigger(Pe,{action:"rebind"})||(s.measures=t._axisMeasures("columns"),t.columnsHeaderTree.render(s.build(o)),t.rowsHeaderTree.render(a.build(r)),l={indexes:s._indexes,measures:s.measures,metadata:s.metadata},c={indexes:a._indexes,measures:this._axisMeasures("rows"),metadata:a.metadata},t.contentTree.render(t._contentBuilder.build(n.view(),l,c)),t._resize(),t.touchScroller?t.touchScroller.contentResized():(e=he.touchScroller(t.content),e&&e.movable&&(t.touchScroller=e,e.movable.bind("change",function(e){t.columnsHeader.scrollLeft(-e.sender.x),t.rowsHeader.scrollTop(-e.sender.y)}))),t._progress(!1),t.trigger(Ie))},_scrollable:function(){var t=this,n=t.columnsHeader,i=t.rowsHeader;t.content.scroll(function(){n.scrollLeft(this.scrollLeft),i.scrollTop(this.scrollTop)}),i.bind("DOMMouseScroll"+Ee+" mousewheel"+Ee,e.proxy(t._wheelScroll,t))},_wheelScroll:function(t){var n,i;t.ctrlKey||(n=he.wheelDeltaY(t),i=this.content.scrollTop(),n&&(t.preventDefault(),e(t.currentTarget).one("wheel"+Ee,!1),this.rowsHeader.scrollTop(i+-n),this.content.scrollTop(i+-n)))}}),ie=he.dom.element,oe=he.dom.html,re=function(e,t){return{maxChildren:0,children:0,maxMembers:0,members:0,measures:1,levelNum:e,parentMember:0!==t}},se=function(e,t){for(var n=[],i=0;t>=i;i++)n.push(e.members[i].name);return n},ae=function(e,t){for(var n="",i=0;t>=i;i++)n+=e.members[i].name;return n},le=pe.extend({init:function(){this.measures=1,this.metadata={}},build:function(e){var t=this._tbody(e),n=this._colGroup();return[ie("table",null,[n,t])]},reset:function(){this.metadata={}},_colGroup:function(){for(var e=this._rowLength(),t=[],n=0;e>n;n++)t.push(ie("col",null));return ie("colgroup",null,t)},_tbody:function(e){var t=e[0];return this.map={},this.rows=[],this.rootTuple=t,this._indexes=[],t?(this._buildRows(t,0),this._normalize()):this.rows.push(ie("tr",null,[ie("th",null,[oe("&nbsp;")])])),ie("tbody",null,this.rows)},_normalize:function(){for(var e,t,n,i,o,r=this.rows,s=r.length,a=0;s>a;a++)if(e=r[a],1!==e.rowSpan)for(i=e.children,n=0,t=i.length;t>n;n++)o=i[n],o.tupleAll&&(o.attr.rowSpan=e.rowSpan)},_rowIndex:function(e){for(var t=this.rows,n=t.length,i=0;n>i&&t[i]!==e;i++);return i},_rowLength:function(){var e=this.rows[0]?this.rows[0].children:[],t=e.length,n=0,i=0;if(t)for(;t>i;i++)n+=e[i].attr.colSpan||1;return n||(n=this.measures),n},_row:function(e,t,n){var i,o,r=this.rootTuple.members[t].name,s=e.members[t].levelNum,a=r+s,l=this.map,c=l[a];return c?(c.notFirst=!1,c.parentMember&&c.parentMember===n||(c.parentMember=n,c.collapsed=0,c.colSpan=0)):(c=ie("tr",null,[]),c.parentMember=n,c.collapsed=0,c.colSpan=0,c.rowSpan=1,l[a]=c,i=l[r+(+s-1)],i&&(o=i.children,c.notFirst=o[1]&&-1===o[1].attr.className.indexOf("k-alt")?!0:i.notFirst),this.rows.splice(this._rowIndex(i)+1,0,c)),c},_measures:function(e,t,n){var i,o,r,s=this.map,a=s.measureRow;for(a||(a=ie("tr",null,[]),s.measureRow=a,this.rows.push(a)),o=0,r=e.length;r>o;o++)i=e[o],a.children.push(this._cell(n||"",[this._content(i,t)],i));return r},_content:function(e,t){return oe(this.template({member:e,tuple:t}))},_cell:function(e,t,n){var i=ie("th",{className:"k-header"+e},t);return i.value=n.caption||n.name,i},_buildRows:function(e,n,i){var o,r,s,a,l,c,u,d,h,f,p=e.members,g=p[n],m=p[n+1],v=[],_=0,w=0,b=0;if(g.measure)return this._measures(g.children,e),t;if(d=he.stringify(se(e,n)),o=this._row(e,n,i),s=g.children,a=s.length,h=this.metadata[d],h||(this.metadata[d]=h=re(+g.levelNum,n),h.rootLevelNum=+this.rootTuple.members[n].levelNum),this._indexes.push({path:d,tuple:e}),g.hasChildren&&(h.expanded===!1&&(w=h.maxChildren,o.collapsed+=w,h.children=0,a=0),u={className:"k-icon "+(a?ze:Le)},u[he.attr("path")]=d,v.push(ie("span",u))),v.push(this._content(g,e)),l=this._cell(o.notFirst?" k-first":"",v,g),o.children.push(l),o.colSpan+=1,a){for(c=this._cell(" k-alt",[this._content(g,e)],g),o.children.push(c);a>_;_++)r=this._buildRows(s[_],n,g);f=r.colSpan,w=r.collapsed,l.attr.colSpan=f,h.children=f,h.members=1,o.colSpan+=f,o.collapsed+=w,o.rowSpan=r.rowSpan+1,m&&(m.measure?f=this._measures(m.children,e," k-alt"):(r=this._buildRows(e,n+1),f=r.colSpan,o.collapsed+=r.collapsed,b=r.collapsed),c.attr.colSpan=f,f-=1,h.members+=f,o.colSpan+=f)}else m&&(m.measure?f=this._measures(m.children,e):(r=this._buildRows(e,n+1),f=r.colSpan,o.collapsed+=r.collapsed,b=r.collapsed),h.members=f,f>1&&(l.attr.colSpan=f,o.colSpan+=f-1));return h.members+b>h.maxMembers&&(h.maxMembers=h.members+b),s=h.children+w,s>h.maxChildren&&(h.maxChildren=s),(c||l).tupleAll=!0,o}}),ce=pe.extend({init:function(){this.metadata={}},build:function(e){var t=this._tbody(e),n=this._colGroup();return[ie("table",null,[n,t])]},reset:function(){this.metadata={}},_rowLength:function(){for(var e=this.rows[0].children,t=0,n=0,i=e[n];i;)t+=i.attr.colSpan||1,i=e[++n];return t},_colGroup:function(){for(var e=this._rowLength(),t=[],n=0;e>n;n++)t.push(ie("col",null));return ie("colgroup",null,t)},_tbody:function(e){var t=e[0];return this.rootTuple=t,this.rows=[],this.map={},this._indexes=[],t?(this._buildRows(t,0),this._normalize()):this.rows.push(ie("tr",null,[ie("td",null,[oe("&nbsp;")])])),ie("tbody",null,this.rows)},_normalize:function(){for(var e,t,n,i,o=this.rows,r=o.length,s=0,a=this.rootTuple.members,l=a[0].name,c=a.length,u=0,d=this.map;r>s;s++)for(e=o[s],u=0;c>u;u++)n=this[a[u].name],t=e.colSpan["dim"+u],t&&n>t.colSpan&&(t.attr.colSpan=n-t.colSpan+1);e=d[l],i=d[l+"all"],e&&(e.children[0].attr.className="k-first"),i&&(i.children[0].attr.className+=" k-first")},_row:function(e){var t=ie("tr",null,e);return t.rowSpan=1,t.colSpan={},this.rows.push(t),t},_content:function(e,t){return oe(this.template({member:e,tuple:t}))},_cell:function(e,t,n){var i=ie("td",{className:e},t);return i.value=n.caption||n.name,i},_buildRows:function(e,t){var n,i,o,r,s,a,l,c,u,d=this.map,h=e.members,f=h[t],p=h[t+1],g=f.children,m=g.length,v=+f.levelNum,_=this.rootTuple.members[t].name,w=se(e,t-1).join(""),b=+this.rootTuple.members[t].levelNum,y=w+(b===v?"":f.parentName||""),x=d[y+"all"]||d[y],k=v+1,C=[];if(!x||x.hasChild?x=this._row():x.hasChild=!0,f.measure){for(l=x.allCell?"k-grid-footer":"",x.children.push(this._cell(l,[this._content(g[0],e)],g[0])),x.rowSpan=m,u=1;m>u;u++)this._row([this._cell(l,[this._content(g[u],e)],g[u])]);return x}if(d[w+f.name]=x,n=he.stringify(se(e,t)),a=this.metadata[n],a||(this.metadata[n]=a=re(v,t),a.rootLevelNum=b),this._indexes.push({path:n,tuple:e}),f.hasChildren&&(a.expanded===!1&&(m=0,a.children=0),c={className:"k-icon "+(m?ze:Le)},c[he.attr("path")]=n,C.push(ie("span",c))),C.push(this._content(f,e)),l=x.allCell&&!m?"k-grid-footer":"",i=this._cell(l,C,f),i.colSpan=k,x.children.push(i),x.colSpan["dim"+t]=i,(!this[_]||k>this[_])&&(this[_]=k),m){for(x.allCell=!1,x.hasChild=!1,u=0;m>u;u++)r=this._buildRows(g[u],t),x!==r&&(x.rowSpan+=r.rowSpan);x.rowSpan>1&&(i.attr.rowSpan=x.rowSpan),a.children=x.rowSpan,o=this._cell("k-grid-footer",[this._content(f,e)],f),o.colSpan=k,s=this._row([o]),s.colSpan["dim"+t]=o,s.allCell=!0,d[w+f.name+"all"]=s,p&&(r=this._buildRows(e,t+1),o.attr.rowSpan=r.rowSpan),x.rowSpan+=s.rowSpan,a.members=s.rowSpan}else p&&(x.hasChild=!1,this._buildRows(e,t+1),(o||i).attr.rowSpan=x.rowSpan,a.members=x.rowSpan);return a.children>a.maxChildren&&(a.maxChildren=a.children),a.members>a.maxMembers&&(a.maxMembers=a.members),x}}),ue=pe.extend({init:function(){this.columnAxis={},this.rowAxis={}},build:function(e,n,i){var o,r,s=n.indexes[0],a=n.metadata[s?s.path:t];return this.columnAxis=n,this.rowAxis=i,this.data=e,this.rowLength=a?a.maxChildren+a.maxMembers:n.measures.length||1,this.rowLength||(this.rowLength=1),o=this._tbody(),r=this._colGroup(),[ie("table",null,[r,o])]},_colGroup:function(){var e=this.columnAxis.measures.length||1,t=[],n=0;for(this.rows[0]&&(e=this.rows[0].children.length);e>n;n++)t.push(ie("col",null));return ie("colgroup",null,t)},_tbody:function(){return this.rows=[],this.data[0]?(this.columnIndexes=this._indexes(this.columnAxis,this.rowLength),this.rowIndexes=this._indexes(this.rowAxis,Math.ceil(this.data.length/this.rowLength)),this._buildRows()):this.rows.push(ie("tr",null,[ie("td",null,[oe("&nbsp;")])])),ie("tbody",null,this.rows)},_indexes:function(e,n){var i,o,r,s,a,l,c=[],u=e.indexes,d=e.metadata,h=e.measures,f=h.length||1,p=0,g=0,m=0,v=u.length;if(!v){for(r=0;f>r;r++)c[r]={index:r,measure:h[r],tuple:null};return c}for(;v>m;m++){if(i=u[m],o=d[i.path],a=o.children+o.members,l=0,a&&(a-=f),o.expanded===!1&&o.children!==o.maxChildren&&(l=o.maxChildren),o.parentMember&&o.levelNum===o.rootLevelNum&&(a=-1),a>-1){for(r=0;f>r;r++)s=a+r,o.children||(s+=g),c[a+g+r]={children:a,index:p,measure:h[r],tuple:i.tuple},p+=1;for(;c[g]!==t;)g+=1}if(g===n)break;p+=l}return c},_buildRows:function(){for(var e=this.rowIndexes,t=e.length,n=0;t>n;n++)this.rows.push(this._buildRow(e[n]))},_buildRow:function(e){for(var t,n,i,o,r,s,a,l=e.index*this.rowLength,c=this.columnIndexes,u=c.length,d=[],h=0;u>h;h++)t=c[h],r={},t.children&&(r.className="k-alt"),o="",s=this.data[l+t.index],a=t.measure||e.measure,n={columnTuple:t.tuple,rowTuple:e.tuple,measure:a,dataItem:s},""!==s.value&&a&&a.type&&("status"===a.type?o=this.kpiStatusTemplate(n):"trend"===a.type&&(o=this.kpiTrendTemplate(n))),o||(o=this.dataTemplate(n)),i=ie("td",r,[oe(o)]),i.value=s.value,d.push(i);return r={},e.children&&(r.className="k-grid-footer"),ie("tr",r,d)}}),fe.plugin(ne),he.PivotExcelExporter=he.Class.extend({init:function(e){this.options=e,this.widget=e.widget,this.dataSource=this.widget.dataSource},_columns:function(){var e,t=this.widget.columnsHeaderTree.children[0],n=this.widget.rowsHeaderTree.children[0],i=t.children[0].children.length,o=n.children[0].children.length,r=this.widget.options.columnWidth,s=[];if(o&&this.dataSource.data()[0])for(e=0;o>e;e++)s.push({autoWidth:!0});for(e=0;i>e;e++)s.push({autoWidth:!1,width:r});return s},_cells:function(e,t,n){for(var i,o,r,s,a,l=[],c=0,u=e.length;u>c;c++){for(o=[],r=e[c].children,i=r.length,s=0;i>s;s++)a=r[s],o.push({background:"#7a7a7a",color:"#fff",value:a.value,colSpan:a.attr.colSpan||1,rowSpan:a.attr.rowSpan||1});n&&n(o,c),l.push({cells:o,type:t})}return l},_rows:function(){var e,t,n=this.widget.columnsHeaderTree.children[0],i=this.widget.rowsHeaderTree.children[0],o=n.children[0].children.length,r=i.children[0].children.length,s=n.children[1].children,a=i.children[1].children,l=this.widget.contentTree.children[0].children[1].children,c=this._cells(s,"header");return r&&c[0].cells.splice(0,0,{background:"#7a7a7a",color:"#fff",value:"",colSpan:r,rowSpan:s.length}),e=function(e,t){for(var n,i,r=0,s=l[t].children;o>r;r++)n=s[r],i=+n.value,isNaN(i)&&(i=""),e.push({background:"#dfdfdf",color:"#333",value:i,colSpan:1,rowSpan:1})},t=this._cells(a,"data",e),c.concat(t)},_freezePane:function(){var e=this.widget.columnsHeaderTree.children[0],t=this.widget.rowsHeaderTree.children[0],n=t.children[0].children.length,i=e.children[1].children;return{colSplit:n,rowSplit:i.length}},workbook:function(){var t;return this.dataSource.view()[0]?(t=e.Deferred(),t.resolve()):t=this.dataSource.fetch(),t.then(e.proxy(function(){return{sheets:[{columns:this._columns(),rows:this._rows(),freezePane:this._freezePane(),filter:null}]}},this))}}),de={extend:function(t){t.events.push("excelExport"),t.options.excel=e.extend(t.options.excel,this.options),t.saveAsExcel=this.saveAsExcel},options:{proxyURL:"",filterable:!1,fileName:"Export.xlsx"},saveAsExcel:function(){var t=this.options.excel||{},n=new he.PivotExcelExporter({widget:this});n.workbook().then(e.proxy(function(e){if(!this.trigger("excelExport",{workbook:e})){var n=new he.ooxml.Workbook(e);he.saveAs({dataURI:n.toDataURL(),fileName:e.fileName||t.fileName,proxyURL:t.proxyURL,forceProxy:t.forceProxy})}},this))}},he.PivotExcelMixin=de,he.ooxml&&he.ooxml.Workbook&&de.extend(ne.prototype),he.PDFMixin&&(he.PDFMixin.extend(ne.prototype),ne.fn._drawPDF=function(){return this._drawPDFShadow({width:this.wrapper.width()},{avoidLinks:this.options.pdf.avoidLinks})})}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()});