UNPKG

@progress/kendo-ui

Version:

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

1 lines 85.8 kB
!function(e){"function"==typeof define&&define.amd?define(["kendo.pivot.common.min","kendo.dom.min","kendo.data.min","kendo.icons.min"],e):e()}((function(){!function(e,t){var r=window.kendo,n=r.ui,s=r.htmlEncode,a=r.Class,i=r.data.Comparer,o=n.Widget,l=r.data.DataSource,u=r._outerWidth,c=r._outerHeight,h=window.kendo.pivotgrid.common,d=h.fetchDiscover,m=r.data.Query.normalizeFilter,p=r.data.Query.normalizeSort,f={}.toString,g=function(e){return e},_=e.map,v=e.extend,b=r.isFunction,x=h.fetchData,w=h.createLocalDataState,S=h.createDataTree,N=h.sumAggregate,y=h.averageAggregate,k=h.minAggregate,E=h.maxAggregate,T=h.createDataState,C=h.toColumns,M=h.toRows,A=h.toTree,I=h.toData,H=h.headersReducer,D="resize",R="read",L="change",P="error",O="progress",F="Measures",B="stateReset",U="auto",q="<div></div>",W=".kendoPivotGrid",z="__row_total__",G="dataBinding",j="dataBound",V="expandMember",Y=function(t){var n=t.key,a=t.headerClass,i=t.colspan,o=t.rowspan,l=t.expandable,u=t.iconClass;return'<th data-key="'+s(n)+'" class="k-table-th '+s(a)+'" '+(i?'colspan="'+s(i)+'"':"")+" "+(o?'rowspan="'+s(o)+'"':"")+">"+(l?r.ui.icon(e('<span role="presentation"></span>'),{icon:"chevron-"+s(u)}):"")+"</th>"},K="collapseMember",Q="caret-alt-down",J="caret-alt-right",X=function(e){var t=e.member;return"<span>"+s(t.caption||t.name)+"</span>"},$={"kpi-trend-decrease":"caret-alt-down","kpi-trend-increase":"caret-alt-up","kpi-trend-equal":"minus"},Z=function(t){var n=t.dataItem;return r.ui.icon(e('<span title="'+s(n.value)+'"></span>'),{icon:"kpi-status-"+(n.value>0?"open":n.value<0?"deny":"hold")})},ee=function(t){var n=t.dataItem;return r.ui.icon(e('<span title="'+s(n.value)+'"></span>'),{icon:$["kpi-trend-"+(n.value>0?"increase":n.value<0?"decrease":"equal")]})},te=function(e){var t=e.dataItem;return""+(t&&s(t.fmtValue||t.value)||"&nbsp;")},re="k-table-row",ne="k-header k-table-th",se="k-grid-header-table k-table k-table-md",ae="k-table k-table-md",ie="k-grid-table k-table k-table-md",oe="k-table-tbody",le="k-table-td";function ue(r){var n="string"==typeof r?[{name:r}]:r,s="[object Array]"===f.call(n)?n:n!==t?[n]:[];return _(s,(function(t){return"string"==typeof t?{name:t}:e.extend(!0,t,{name:t.name,type:t.type})}))}function ce(e){var r="string"==typeof e?[{name:[e],expand:!1}]:e,n="[object Array]"===f.call(r)?r:r!==t?[r]:[];return _(n,(function(e){return"string"==typeof e?{name:[e],expand:!1}:{name:"[object Array]"===f.call(e.name)?e.name.slice():[e.name],expand:e.expand}}))}function he(e){return-1!==e.indexOf(" ")&&(e='["'+e+'"]'),e}function de(e,t,n,s){var a,i,o,l;if(n||(n=t),s||(s=0),(l=n.members[s])&&!l.measure){if(i=(o=l.children).length,n===t?e[r.stringify([l.name])]=!!i:i&&(e[r.stringify(bt(n,s))]=!0),i)for(a=0;a<i;a++)de(e,t,o[a],s);de(e,t,n,s+1)}}function me(e){var t={};e.length&&de(t,e[0]);var r=[];for(var n in t)r.push({name:JSON.parse(n),expand:t[n]});return r}function pe(e,t,r){(function(e,t){var r=(t.tuples||[])[0];if(r&&e.length<r.members.length)for(var n=r.members,s=0;s<n.length;s++)if(!n[s].measure){for(var a=!1,i=0;i<e.length;i++)if(0===Ke(e[i]).indexOf(n[s].hierarchy)){a=!0;break}a||e.push({name:[n[s].name],expand:!1})}})(t,e=e||{}),r.length>1&&t.push({name:F,measure:!0,children:ce(r)});var n={members:t};if(e.tuples){var s=Pe(e.tuples,n);s.tuple&&(t=function(e){for(var t=[],r=e.members,n=0;n<r.length;n++)r[n].measure||t.push({name:[r[n].name],expand:r[n].children.length>0});return t}(s.tuple))}return t}function fe(e){var t=r.getter(e.field,!0);return function(r,n){return e.aggregate(t(r.dataItem),n,r)}}function ge(e){return"number"==typeof e&&!isNaN(e)}function _e(e){return e&&e.getTime}function ve(e){for(var t=[],r=0;r<e.length;r++)t.push({dir:e[r].dir,field:e[r].field.split(".").pop()});return t}function be(e,t,n){var s={Sum:N,Average:y,Min:k,Max:E},a={value:function(e){return e[this.field]}.bind({field:e}),aggregate:s[t],caption:t,uniqueName:t,type:2,name:[t]};return n&&(a.aggregate.format=function(e){return r.format(this.format,e)}.bind({format:n})),a}var xe={sum:function(e,t){var r=t.accumulator;return ge(r)?ge(e)&&(r+=e):r=e,r},count:function(e,t){return(t.accumulator||0)+1},average:{aggregate:function(e,r){var n=r.accumulator;return r.count===t&&(r.count=0),ge(n)?ge(e)&&(n+=e):n=e,ge(e)&&r.count++,n},result:function(e){var t=e.accumulator;return ge(t)&&(t/=e.count),t}},max:function(e,t){var r=t.accumulator;return ge(r)||_e(r)||(r=e),r<e&&(ge(e)||_e(e))&&(r=e),r},min:function(e,t){var r=t.accumulator;return ge(r)||_e(r)||(r=e),r>e&&(ge(e)||_e(e))&&(r=e),r}},we=a.extend({init:function(e){this.options=v({},this.options,e),this.dimensions=this._normalizeDescriptors("field",this.options.dimensions),this.measures=this._normalizeDescriptors("name",this.options.measures)},_normalizeDescriptors:function(e,t){t=t||{};var r,n={};if("[object Array]"===f.call(t)){for(var s=0,a=t.length;s<a;s++)"string"==typeof(r=t[s])?n[r]={}:r[e]&&(n[r[e]]=r);t=n}return t},_rootTuples:function(e,r){var n,s,a,i,o=r.length||1,l=this.dimensions||[],u=0,c=e.length,h=[],d=[];if(c||r.length){for(u=0;u<o;u++){for(n={members:[]},i=0;i<c;i++)a=(s=e[i]).split("&"),n.members[n.members.length]={children:[],caption:(l[s]||{}).caption||"All",name:s,levelName:s,levelNum:"0",hasChildren:!0,parentName:a.length>1?a[0]:t,hierarchy:s};o>1&&(n.members[n.members.length]={children:[],caption:r[u].caption,name:r[u].descriptor.name,levelName:"MEASURES",levelNum:"0",hasChildren:!1,parentName:t,hierarchy:"MEASURES"}),h[h.length]=n}d.push(z)}return{keys:d,tuples:h}},_sortMap:function(t,r){var n,s,a,o=[],l=[];for(a in t)t[a].directParentName||l.push(e.extend({},{name:a,parentName:t[a].parentName}));if(!l.length)for(a in t)l.push(e.extend({},{name:a,parentName:t[a].parentName}));Te(l,t);for(var u=0;u<r.length;u++)Ee(r[u].field.split(".").pop(),l,i.create({field:"name",dir:r[u].dir}));n=ke(l);for(var c=0;c<n.length;c++)(s=t[n[c].name]).index=c,o[c]=s;return o},_expandedTuples:function(r,n,s,a){var i,o,l,u,c,h,d,m,p,f,g,_=s.length||1,v=this.dimensions||[],b=[],x=[];for(l in a&&a.length&&!e.isEmptyObject(r)&&(r=this._sortMap(r,a)),r){for(u=r[l],c=b[(d=this._findExpandedMember(n,u.uniquePath)).index]||[],h=x[d.index]||[],m=d.member.names,i=0;i<_;i++){for(o={members:[]},g=0;g<m.length;g++)g===d.member.expandedIdx?(o.members[o.members.length]={children:[],caption:u.value,name:u.name,hasChildren:!1,levelNum:1,levelName:u.parentName+u.name,parentName:u.parentName,hierarchy:u.parentName+u.name},0===i&&h.push(bt(o,g).join(""))):(p=(f=m[g]).split("&"),o.members[o.members.length]={children:[],caption:(v[f]||{}).caption||"All",name:f,levelName:f,levelNum:"0",hasChildren:!0,parentName:p.length>1?p[0]:t,hierarchy:f});_>1&&(o.members[o.members.length]={children:[],caption:s[i].caption,name:s[i].descriptor.name,levelName:"MEASURES",levelNum:"0",hasChildren:!0,parentName:t,hierarchy:"MEASURES"}),c[c.length]=o}b[d.index]=c,x[d.index]=h}return{keys:x,tuples:b}},_findExpandedMember:function(e,t){for(var r=0;r<e.length;r++)if(e[r].uniquePath===t)return{member:e[r],index:r}},_asTuples:function(e,t,r,n){r=r||[];var s=this._rootTuples(t.root,r),a=this._expandedTuples(e,t.expanded,r,n);return{keys:[].concat.apply(s.keys,a.keys),tuples:[].concat.apply(s.tuples,a.tuples)}},_measuresInfo:function(e,t){for(var r,n,s=0,a=e&&e.length,i=[],o={},l={},u=this.measures||{};s<a;s++)r=u[n=e[s].descriptor.name]||{},i.push(n),r.result&&(o[n]=r.result),r.format&&(l[n]=r.format);return{names:i,formats:l,resultFuncs:o,rowAxis:t}},_toDataArray:function(e,t,r,n){var s,a,i,o,l,u,c,h,d,m,p=[],f=1,g=[],_=r.length||1,v=n.length||1;for(t.rowAxis?f=(g=t.names).length:m=t.names,i=0;i<_;i++)for(c=e[r[i]||z],u=0;u<f;u++)for(t.rowAxis&&(m=[g[u]]),o=0;o<v;o++)for(d=n[o]||z,h=c.items[d],s=d===z?c.aggregates:h?h.aggregates:{},l=0;l<m.length;l++)a=m[l],this._addData(p,s[a],t.formats[a],t.resultFuncs[a]);return p},_addData:function(e,t,n,s){var a,i="";t&&(t=s?s(t):t.accumulator,i=n?r.format(n,t):t),e[a=e.length]={ordinal:a,value:t||"",fmtValue:i}},_matchDescriptors:function(e,r,n){for(var s,a,i,o,l=r.names,u=r.expandedIdx;u>0;)if((s=l[--u].split("&")).length>1&&(a=s[0],i=s[1],(o=(o=n[a](e))!==t&&null!==o?o.toString():o)!=i))return!1;return!0},_calculateAggregate:function(e,t,r){for(var n,s,a={},i=0;i<e.length;i++)s=e[i].descriptor.name,(n=r.aggregates[s]||{}).accumulator=e[i].aggregator(t,n),a[s]=n;return a},_processColumns:function(e,r,n,s,a,i,o,l){for(var u,c,h,d,m,p,f,g,_=a.dataItem,v=0;v<r.length;v++)c=r[v],this._matchDescriptors(_,c,n)&&(g=c.names.slice(0,c.expandedIdx).join(""),f=p=c.names[c.expandedIdx],h=s[m=g+(p=p+"&"+(u=(u=n[p](_))!==t&&null!==u?u.toString():u))]||{index:o.columnIndex,parentName:f,name:p,directParentName:-1!==g.indexOf("&")?g:"",uniquePath:g+f,childrenMap:{},value:u},g&&s[g]&&!s[g].childrenMap[g+f+"&"+u]&&(s[g].childrenMap[g+f+"&"+u]=!0),d=i.items[m]||{aggregates:{}},i.items[m]={index:h.index,aggregates:this._calculateAggregate(e,a,d)},l&&(s[m]||o.columnIndex++,s[m]=h))},_measureAggregators:function(e){var t,r,n,s,a,i,o=e.measures||[],l=this.measures||{},u=[];if(o.length){for(n=0,s=o.length;n<s;n++)if(a=null,r=l[(t=o[n]).name]){if("string"==typeof(i=r.aggregate)){if(!(a=xe[i.toLowerCase()]))throw new Error("There is no such aggregate function");r.aggregate=a.aggregate||a,r.result=a.result}u.push({descriptor:t,caption:r.caption,result:r.result,aggregator:fe(r)})}}else u.push({descriptor:{name:"default"},caption:"default",aggregator:function(){return 1}});return u},_buildGetters:function(e){for(var t,n,s={},a=0;a<e.length;a++)(t=(n=e[a]).split("&")).length>1?s[t[0]]=r.getter(t[0],!0):s[n]=r.getter(he(n),!0);return s},_parseDescriptors:function(e){for(var t=Xe(e),r=Qe(t.root),n=t.expanded,s=[],a=0;a<n.length;a++)s.push(Je(n[a].name,r));return{root:r,expanded:s}},_filter:function(e,t){if(!t)return e;for(var n,s=0,a=t.filters;s<a.length;s++)"in"===(n=a[s]).operator&&(a[s]=this._normalizeFilter(n));return new r.data.Query(e).filter(t).data},_normalizeFilter:function(e){var t=e.value.split(","),r=[];if(!t.length)return t;for(var n=0;n<t.length;n++)r.push({field:e.field,operator:"eq",value:t[n]});return{logic:"or",filters:r}},process:function(e,r){e=e||[],r=r||{},e=this._filter(e,r.filter);var n=r.measures||[],s="rows"===r.measuresAxis,a=r.columns||[],i=r.rows||[];!a.length&&i.length&&(!n.length||n.length&&s)&&(a=i,i=[],s=!1),a.length||i.length||(s=!1),!a.length&&n.length&&(a=ce(r.measures)),a=this._parseDescriptors(a),i=this._parseDescriptors(i);var o,l,u,c,h,d,m,p,f,g,_,v,b,x={},w={},S={},N={columnIndex:0},y=this._measureAggregators(r),k=this._buildGetters(a.root),E=this._buildGetters(i.root),T=!1,C=a.expanded,M=i.expanded,A=0!==M.length,I=e.length,H=0;if(a.root.length||i.root.length)for(T=!0,H=0;H<I;H++)for(u={dataItem:l=e[H],index:H},m=x.__row_total__||{items:{},aggregates:{}},this._processColumns(y,C,k,w,u,m,N,!A),m.aggregates=this._calculateAggregate(y,u,m),x.__row_total__=m,c=0;c<M.length;c++)h=M[c],this._matchDescriptors(l,h,E)?(f=h.names.slice(0,h.expandedIdx).join(""),g=d=h.names[h.expandedIdx],S[p=f+(d=d+"&"+(o=(o=E[d](l))!==t?o.toString():o))]={uniquePath:f+g,parentName:g,name:d,value:o},_=x[p]||{items:{},aggregates:{}},this._processColumns(y,C,k,w,u,_,N,!0),_.aggregates=this._calculateAggregate(y,u,_),x[p]=_):this._processColumns(y,C,k,w,u,{items:{},aggregates:{}},N,!0);return T&&I?(!(y.length>1)||r.columns&&r.columns.length||(a={root:[],expanded:[]}),v=this._asTuples(w,a,s?[]:y,r.sort?r.sort:[]),b=this._asTuples(S,i,s?y:[],r.sort?r.sort:[]),w=v.tuples,S=b.tuples,x=this._toDataArray(x,this._measuresInfo(y,s),b.keys,v.keys)):x=w=S=[],{axes:{columns:{tuples:w},rows:{tuples:S}},data:x}}}),Se=a.extend({init:function(e,t){this.transport=t,this.options=t.options||{},this.transport.discover||b(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){if(this.transport.discover)return this.transport.discover(e);e.success({})},catalog:function(r){var n=this.options||{};if(r===t)return(n.connection||{}).catalog;var s=n.connection||{};s.catalog=r,this.options.connection=s,e.extend(this.transport.options,{connection:s})},cube:function(e){var r=this.options||{};if(e===t)return(r.connection||{}).cube;var n=r.connection||{};n.cube=e,this.options.connection=n,v(!0,this.transport.options,{connection:n})}}),Ne=l.extend({init:function(t){var r=((t||{}).schema||{}).cube,n={axes:g,cubes:g,catalogs:g,measures:g,dimensions:g,hierarchies:g,levels:g,members:g};r&&(this.cubeSchema=e.extend(n,this._cubeSchema(r))),l.fn.init.call(this,v(!0,{},{},t));var s=this.options.transport||{};"xmla"===(this.options.type||"xmla").toLowerCase()&&(this._online=!0,this.transport=new at(s)),this._columns=ce(this.options.columns),this._rows=ce(this.options.rows);var a=this.cubeSchema?this.cubeSchema.measures():this.options.measures||[];"[object Object]"===f.call(a)&&(this._measuresAxis=a.axis||"columns",a=a.values||[]),this._measures=ue(a)},options:{serverSorting:!0,serverPaging:!0,serverFiltering:!0,serverGrouping:!0,serverAggregates:!0},axes:function(){return{columns:He(this.columns()),rows:He(this.rows())}},catalog:function(e){if(e===t)return this.transport.catalog();this.transport.catalog(e),this._mergeState({}),this.read()},cube:function(e){if(e===t)return this.transport.cube();this.transport.cube(e),this._mergeState({}),this.read()},measuresAxis:function(){return this._measuresAxis||"columns"},fetch:function(e){var r=this;if(this._data===t||0===this._data.length){return this._query().done((function(){b(e)&&e.call(r)}))}},_createSettings:function(e){for(var t,r=[],n=this.cubeSchema.dimensionsSettings(),s=function(e){return e[this.key]},a=function(e){return e},i=0;i<e.length;i++)t=e[i].name[0],r.push({key:t,displayValue:s.bind({key:t}),sortValue:a,caption:(n[t]||{}).caption||t});return r},_cubeSchema:function(e){return{dimensionsSettings:function(){return e.dimensions},dimensions:function(){var t=[],r=e.dimensions;for(var n in r)t.push({name:n,caption:r[n].caption||n,uniqueName:n,defaultHierarchy:n,type:1});return e.measures&&t.push({name:F,caption:F,uniqueName:F,type:2}),t},restoreMeasure:function(e,t){for(var r=0;r<e.length;r++)e[r].aggregate||(e[r].aggregate=t.aggregate,e[r].value=t.value,e[r].caption=t.caption,e[r].uniqueName=t.uniqueName,e[r].type=2)},measures:function(){var t=[],r=e.measures;for(var n in r)t.push(be(r[n].field,n,r[n].format));return t},memberType:function(e){var t=r.getter(he(e),!0),n=this.options.data||this._pristineData||[];return n.length?typeof t(n[0]):null}.bind(this),members:function(t){var n,s,a=this.options.data||this._pristineData||[],i=[],o={},l=0;if(-1!==t.indexOf("[(ALL)]"))return[{caption:e.dimensions[t.split(".")[0]].caption||t,levelUniqueName:t,name:t,childrenCardinality:1,uniqueName:t}];for(n=r.getter(he(t),!0);l<a.length;l++)!(s=n(a[l]))&&0!==s&&!1!==s||o[s]||(o[s]=!0,i.push({caption:s+"",name:s+"",childrenCardinality:0,uniqueName:s}));return i}.bind(this)}},read:function(t){var r=this,n=r.trigger("requestStart",{type:R}),s=r._params(t),a=e.Deferred();if(!n)if(r.trigger(O),r.options.data){var i=(this.reader.data(this.options.data)||[]).slice(0);i&&!this._pristineData&&(this._pristineData=i);var o=r._createSettings(s.columnAxes),l=r._createSettings(s.rowAxes),u=r.measures(),c={dataTree:S(r.options.data,l,o,u,{dataField:"aggregate",columnsData:"columns"},r.filter()||[]),columnSettings:o,rowSettings:l,columnAxes:s.columnAxes,rowAxes:s.rowAxes,measures:u.map((function(e){return e})).reverse(),fields:{dataField:"aggregate",columnsData:"columns"},sort:ve(s.sort||[])};r._saveState(w(c)),r.trigger(L),a.resolve()}else r.transport.read({data:s,success:function(e){r._saveState(e),r.trigger("requestEnd",{response:e,type:R}),r.trigger(L),r._preventRefresh&&(r._preventRefresh=!1),a.resolve()},error:function(e){r.trigger(P,{error:e})}});return a.promise()},_params:function(e){var t=this,r=l.fn._params.call(t,e);return r=v({columnAxes:JSON.parse(JSON.stringify(t._columns)),rowAxes:JSON.parse(JSON.stringify(t._rows)),measuresAxis:t.measuresAxis(),measureAxes:t._measures},r),"xmla"===(this.options.type||"").toLowerCase()&&(r.connection=t.options.transport.connection),r.filter&&(r.filter=m(r.filter),r.filter=(r.filter||{}).filters),r.sort&&(r.sort=p(r.sort)),r},discover:function(e){var t=this.transport;if(t.discover)return t.discover(e)},schemaMeasures:function(){var e=this;return e.discover({command:"schemaMeasures",restrictions:{catalogName:e.transport.catalog(),cubeName:e.transport.cube()}},(function(e){return e}))},schemaKPIs:function(){var e=this;return e.discover({command:"schemaKPIs",restrictions:{catalogName:e.transport.catalog(),cubeName:e.transport.cube()}},(function(e){return e}))},schemaDimensions:function(){var e=this;return e.discover({command:"schemaDimensions",restrictions:{catalogName:e.transport.catalog(),cubeName:e.transport.cube()}},(function(e){return e}))},schemaHierarchies:function(e){var t=this;return t.discover({command:"schemaHierarchies",restrictions:{catalogName:t.transport.catalog(),cubeName:t.transport.cube(),dimensionUniqueName:e}},(function(e){return e}))},schemaLevels:function(e){var t=this;return t.discover({command:"schemaLevels",restrictions:{catalogName:t.transport.catalog(),cubeName:t.transport.cube(),hierarchyUniqueName:e}},(function(e){return e}))},schemaCubes:function(){return this.discover({command:"schemaCubes",restrictions:{catalogName:this.transport.catalog()}},(function(e){return e}))},schemaCatalogs:function(){return this.discover({command:"schemaCatalogs"},(function(e){return e}))},schemaMembers:function(e){var t=this;return t.discover({command:"schemaMembers",restrictions:v({catalogName:t.transport.catalog(),cubeName:t.transport.cube()},e)},(function(e){return e}))},_saveState:function(e){var t=this;t._columnTuples=e.columns,t._rowTuples=e.rows,t._view=t._data=e.data},columns:function(e){if(e===t)return this._columns;this._columns=ce(e),this.read()},rows:function(e){if(e===t)return this._rows;this._rows=ce(e),this.read()},measures:function(e){if(e===t)return this._measures;this._measures=ue(e),this.read()},_mergeState:function(e){return e=l.fn._mergeState.call(this,e)},_query:function(e){var t=this,r=v({},{sort:t.sort(),measuresAxis:t.measuresAxis(),filter:t.filter()},e);return this._mergeState(r),this.read()}}),ye=l.extend({init:function(t){var r,n=((t||{}).schema||{}).cube,s="columns",a={axes:g,cubes:g,catalogs:g,measures:g,dimensions:g,hierarchies:g,levels:g,members:g};n&&(a=e.extend(a,this._cubeSchema(n)),this.cubeBuilder=new we(n)),l.fn.init.call(this,v(!0,{},{schema:a},t)),this.transport=new Se(this.options.transport||{},this.transport),this._columns=ce(this.options.columns),this._rows=ce(this.options.rows),r=this.options.measures||[],"[object Object]"===f.call(r)&&(s=r.axis||"columns",r=r.values||[]),this._measures=ue(r),this._measuresAxis=s,this._skipNormalize=0,this._axes={}},_cubeSchema:function(e){return{dimensions:function(){var t=[],r=e.dimensions;for(var n in r)t.push({name:n,caption:r[n].caption||n,uniqueName:n,defaultHierarchy:n,type:1});return e.measures&&t.push({name:F,caption:F,uniqueName:F,type:2}),t},hierarchies:function(){return[]},measures:function(){var t=[],r=e.measures;for(var n in r)t.push({name:n,caption:n,uniqueName:n,aggregator:n});return t},members:function(t,n){var s,a,i=n.levelUniqueName||n.memberUniqueName,o=this.options.schema.data,l=b(o)?o:r.getter(o,!0),u=this.options.data&&l(this.options.data)||this._rawData||[],c=[],h=0,d={};if(i&&(i=i.split(".")[0]),!n.treeOp)return c.push({caption:e.dimensions[i].caption||i,childrenCardinality:"1",dimensionUniqueName:i,hierarchyUniqueName:i,levelUniqueName:i,name:i,uniqueName:i}),c;for(s=r.getter(he(i),!0);h<u.length;h++)!(a=s(u[h]))&&0!==a||d[a]||(d[a]=!0,c.push({caption:a,childrenCardinality:"0",dimensionUniqueName:i,hierarchyUniqueName:i,levelUniqueName:i,name:a,uniqueName:a}));return c}.bind(this)}},options:{serverSorting:!0,serverPaging:!0,serverFiltering:!0,serverGrouping:!0,serverAggregates:!0},catalog:function(e){if(e===t)return this.transport.catalog();this.transport.catalog(e),this._mergeState({}),this._axes={},this.data([])},cube:function(e){if(e===t)return this.transport.cube();this.transport.cube(e),this._axes={},this._mergeState({}),this.data([])},axes:function(){return this._axes},columns:function(e){if(e===t)return this._columns;this._skipNormalize+=1,this._clearAxesData=!0,this._columns=ce(e),this.query({columns:e,rows:this.rowsAxisDescriptors(),measures:this.measures(),sort:this.sort(),filter:this.filter()})},rows:function(e){if(e===t)return this._rows;this._skipNormalize+=1,this._clearAxesData=!0,this._rows=ce(e),this.query({columns:this.columnsAxisDescriptors(),rows:e,measures:this.measures(),sort:this.sort(),filter:this.filter()})},measures:function(e){if(e===t)return this._measures;this._skipNormalize+=1,this._clearAxesData=!0,this.query({columns:this.columnsAxisDescriptors(),rows:this.rowsAxisDescriptors(),measures:ue(e),sort:this.sort(),filter:this.filter()})},measuresAxis:function(){return this._measuresAxis||"columns"},_expandPath:function(e,t){var r="columns"===t?"columns":"rows",n="columns"===t?"rows":"columns",s=ce(e),a=Ke(s[s.length-1]);this._lastExpanded=r,s=pe(this.axes()[r],s,this.measures());for(var i=0;i<s.length;i++){if(Ke(s[i])===a){if(s[i].expand)return;s[i].expand=!0}else s[i].expand=!1}var o={};o[r]=s,o[n]=this._descriptorsForAxis(n),this._query(o)},_descriptorsForAxis:function(e){var t=this.axes(),r=this[e]()||[];return t&&t[e]&&t[e].tuples&&t[e].tuples[0]&&(r=me(t[e].tuples||[])),r},columnsAxisDescriptors:function(){return this._descriptorsForAxis("columns")},rowsAxisDescriptors:function(){return this._descriptorsForAxis("rows")},_process:function(e,t){this._view=e,(t=t||{}).items=t.items||this._view,this.trigger(L,t)},_query:function(e){var t=this;return e||(this._skipNormalize+=1,this._clearAxesData=!0),t.query(v({},{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 r=this._mergeState(t);return this._data.length&&this.cubeBuilder?(this._params(r),this._updateLocalData(this._pristineData),e.Deferred().resolve().promise()):this.read(r)},_mergeState:function(e){return(e=l.fn._mergeState.call(this,e))!==t&&(this._measures=ue(e.measures),e.columns?e.columns=ce(e.columns):e.columns||(this._columns=[]),e.rows?e.rows=ce(e.rows):e.rows||(this._rows=[])),e},filter:function(e){if(e===t)return this._filter;this._skipNormalize+=1,this._clearAxesData=!0,this._query({filter:e,page:1})},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)),l.fn.success.call(this,e),t&&(this._pristineData=t)},_processResult:function(e,t){if(this.cubeBuilder){var r=this.cubeBuilder.process(e,this._requestData);e=r.data,t=r.axes}var n,s,a,i,o,l,u=this.columns(),c=this.rows(),h=t.columns&&t.columns.tuples;u.length||!c.length||!h||!this._rowMeasures().length&&this.measures().length||(t={columns:{},rows:t.columns}),u.length||c.length||"rows"!==this.measuresAxis()||!h||(t={columns:{},rows:t.columns}),this._axes={columns:He(this._axes.columns),rows:He(this._axes.rows)},t={columns:He(t.columns),rows:He(t.rows)},n=this._normalizeTuples(t.columns.tuples,this._axes.columns.tuples,u,this._columnMeasures()),s=this._normalizeTuples(t.rows.tuples,this._axes.rows.tuples,c,this._rowMeasures()),this._skipNormalize>0&&(this._skipNormalize-=1),this.cubeBuilder||(e=this._normalizeData({columnsLength:t.columns.tuples.length,rowsLength:t.rows.tuples.length,columnIndexes:n,rowIndexes:s,data:e})),"rows"==this._lastExpanded?(a=t.columns.tuples,o=this._columnMeasures(),(i=Me(t.columns,this._axes.columns,o))&&(l="columns",t.columns=i,function(e,t,r,n,s){var a,i,o,l=e.length,u=Ie(t,n),c=n.length||1;for(i=0;i<r;i++)for(a=0;a<l;a++)o=Ae(e[a],t)*c,o+=a%c,s[i*l+a].ordinal=i*u+o}(a,i.tuples,t.rows.tuples.length,o,e),this.cubeBuilder||(e=this._normalizeData({columnsLength:Ie(t.columns.tuples,o),rowsLength:t.rows.tuples.length,data:e})))):"columns"==this._lastExpanded&&(a=t.rows.tuples,o=this._rowMeasures(),(i=Me(t.rows,this._axes.rows,o))&&(l="rows",t.rows=i,function(e,t,r,n,s){var a,i,o,l=e.length,u=n.length||1;for(i=0;i<l;i++)for(o=Ae(e[i],t),o*=u,o+=i%u,a=0;a<r;a++)s[i*r+a].ordinal=o*r+a}(a,i.tuples,t.columns.tuples.length,o,e),this.cubeBuilder||(e=this._normalizeData({columnsLength:Ie(t.rows.tuples,o),rowsLength:t.columns.tuples.length,data:e})))),this._lastExpanded=null;var d=this._mergeAxes(t,e,l);return this._axes=d.axes,d.data},_readData:function(e){var t=this.reader.axes(e),r=this.reader.data(e);return this.cubeBuilder&&(this._rawData=r),this._processResult(r,t)},_createTuple:function(e,t,r){var n,s,a,i,o,l,u,c,h=e.members,d=h.length,m={members:[]},p=0;for(t&&(d-=1);p<d;p++)c=h[p],s=Number(c.levelNum),a=c.name,i=c.parentName,u=c.caption||a,o=c.hasChildren,l=c.hierarchy,n=c.levelName,r&&(u="All",0===s?i=c.name:s-=1,o=!0,a=l=n=i),m.members.push({name:a,children:[],caption:u,levelName:n,levelNum:s.toString(),hasChildren:o,hierarchy:l,parentName:r?"":i});return t&&m.members.push({name:t.name,children:[]}),m},_hasRoot:function(e,t,r){if(t.length)return Pe(t,e).tuple;for(var n,s,a,i=e.members,o=!0,l=0,u=i.length;l<u;l++)if(n=i[l],a=Number(n.levelNum)||0,s=r[l],!(0===a||s&&n.name===Ke(s))){o=!1;break}return o},_mergeAxes:function(e,t,r){var n,s,a=this._columnMeasures(),i=this._rowMeasures(),o=this.axes(),l=Ie(o.rows.tuples,i),u=e.rows.tuples.length,c=Ie(o.columns.tuples,a),h=e.columns.tuples.length;"columns"==r?(h=c,s=e.columns.tuples):t=function(e,t){if(!e||!e.length)return t;var r,n,s,a,i=[],o=qe(e),l=o.length,u=Math.max(t.length/l,1);for(n=0;n<u;n++)for(s=l*n,r=0;r<l;r++)a=o[r]+s,i[s+r]=t[a]||{value:"",fmtValue:"",ordinal:a};return i}(s=Ue(e.columns.tuples,a),t);var d=Re(o.columns.tuples,s,a);"rows"==r?(u=Ie(e.rows.tuples,i),s=e.rows.tuples):t=function(e,t){if(!e||!e.length)return t;var r,n,s,a,i,o=[],l=qe(e),u=l.length,c=Math.max(t.length/u,1);for(r=0;r<u;r++)for(s=c*r,a=c*l[r],n=0;n<c;n++)i=parseInt(a+n,10),o[parseInt(s+n,10)]=t[i]||{value:"",fmtValue:"",ordinal:i};return o}(s=Ue(e.rows.tuples,i),t);var m=Re(o.rows.tuples,s,i);if(o.columns.tuples=d.tuples,o.rows.tuples=m.tuples,c!==Ie(o.columns.tuples,a)){n=d.index+De(d.parsedRoot,d.memberIndex,a);var p=c+h;t=this._mergeColumnData(t,n,u,h,p)}else l!==Ie(o.rows.tuples,i)&&(n=m.index+De(m.parsedRoot,m.memberIndex,i),t=this._mergeRowData(t,n,u,h));return 0===o.columns.tuples.length&&0===o.rows.tuples.length&&(t=[]),{axes:o,data:t}},_mergeColumnData:function(e,t,r,n,s){var a,i,o,l=this.data().toJSON(),u=0,c=Math.max(this._columnMeasures().length,1);for(r=Math.max(r,1),l.length>0&&(u=c,s-=c),a=0;a<r;a++)i=t+a*s,(o=e.splice(0,n)).splice(0,u),[].splice.apply(l,[i,0].concat(o));return l},_mergeRowData:function(e,t,r,n){var s,a,i,o=this.data().toJSON(),l=Math.max(this._rowMeasures().length,1);for(n=Math.max(n,1),o.length>0&&(r-=l,e.splice(0,n*l)),s=0;s<r;s++)i=e.splice(0,n),a=t*n+s*n,[].splice.apply(o,[a,0].concat(i));return o},_columnMeasures:function(){var e=this.measures(),t=[];return"columns"===this.measuresAxis()&&(0===this.columns().length||e.length>1)&&(t=e),t},_rowMeasures:function(){var e=this.measures(),t=[];return"rows"===this.measuresAxis()&&(0===this.rows().length||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){if(e===t)return this._data;this._pristineData=e.slice(0),this._updateLocalData(e,{columns:this.columns(),rows:this.rows(),measures:this.measures()})},_normalizeTuples:function(e,t,r,n){var s,a,i,o=n.length||1,l=0,u=[],c={},h=0;if(e.length){if(this._skipNormalize<=0&&!this._hasRoot(e[0],t,r)){for(this._skipNormalize=0;l<o;l++)u.push(this._createTuple(e[0],n[l],!0)),c[l]=l;e.splice.apply(e,[0,e.length].concat(u).concat(e)),l=o}if(n.length)for(i=s=e[l],a=s.members.length-1;s;){if(h>=o&&(h=0),s.members[a].name!==n[h].name&&(e.splice(l,0,this._createTuple(s,n[h])),c[l]=l),h+=1,s=e[l+=1],o>h&&(!s||xt(i,a-1)!==xt(s,a-1))){for(;h<o;h++)e.splice(l,0,this._createTuple(i,n[h])),c[l]=l,l+=1;s=e[l]}i=s}return c}},_addMissingDataItems:function(e,r){for(;r.rowIndexes[parseInt(e.length/r.columnsLength,10)]!==t;)for(var n=0;n<r.columnsLength;n++)e=Ce(e);for(;r.columnIndexes[e.length%r.columnsLength]!==t;)e=Ce(e);return e},_normalizeOrdinals:function(e,t,r){var n=r.lastOrdinal;if(!t)return Ce(e);if(t.ordinal-n>1)for(n+=1;n<t.ordinal&&e.length<r.length;)e=this._addMissingDataItems(Ce(e),r),n+=1;return t.ordinal=e.length,e[e.length]=t,e},_normalizeData:function(e){var t,r,n,s=e.data,a=0,i=[];if(e.lastOrdinal=0,e.columnIndexes=e.columnIndexes||{},e.rowIndexes=e.rowIndexes||{},e.columnsLength=e.columnsLength||1,e.rowsLength=e.rowsLength||1,e.length=e.columnsLength*e.rowsLength,n=e.length,s.length===n)return s;for(;i.length<n;)(t=s[a++])&&(r=t.ordinal),i=this._normalizeOrdinals(this._addMissingDataItems(i,e),t,e),e.lastOrdinal=r;return i},discover:function(t,r){var n=this,s=n.transport;return e.Deferred((function(e){s.discover(v({success:function(t){t=n.reader.parse(t),n._handleCustomErrors(t)||(r&&(t=r(t)),e.resolve(t))},error:function(t,r,s){e.reject(t),n.error(t,r,s)}},t))})).promise().done((function(){n.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,r=function(e){return function(r){return t.reader.members(r,e)}}(e);return t.discover({data:{command:"schemaMembers",restrictions:v({catalogName:t.transport.catalog(),cubeName:t.transport.cube()},e)}},r)},_params:function(e){this._clearAxesData&&(this._axes={},this._data=this._observe([]),this._clearAxesData=!1,this.trigger(B));var t=l.fn._params.call(this,e);return t=v({measures:this.measures(),measuresAxis:this.measuresAxis(),columns:this.columns(),rows:this.rows()},t),this.cubeBuilder&&(this._requestData=t),t}});function ke(e){for(var t=[],r=0;r<e.length;r++)t.push(e[r]),e[r].children&&(t=t.concat(ke(e[r].children)));return t}function Ee(e,t,r){for(var n=0;n<t.length;n++)t[n].children&&t[n].children.length&&Ee(e,t[n].children,r);t[0].parentName==e&&(t=t.sort(r))}function Te(t,r){for(var n=0;n<t.length;n++){var s=r[t[n].name];if(!e.isEmptyObject(s.childrenMap)){for(var a in t[n].children=[],s.childrenMap)t[n].children.push(e.extend({},{name:a,parentName:r[a].parentName}));Te(t[n].children,r)}}}function Ce(e){return e[e.length]={value:"",fmtValue:"",ordinal:e.length},e}function Me(e,t,r){if(e.tuples.length<Ie(t.tuples,r))return t}function Ae(e,t){return Pe(t,e).index}function Ie(e,t){if(!e.length)return 0;for(var r=e.slice(),n=r.shift(),s=1;n;)n.members?[].push.apply(r,n.members):n.children&&(n.measure||(s+=n.children.length),[].push.apply(r,n.children)),n=r.shift();return t.length&&(s*=t.length),s}function He(e){return e||(e={tuples:[]}),e.tuples||(e.tuples=[]),e}function De(e,t,r){if(!e)return 0;for(var n=Math.max(r.length,1),s=e.members.slice(0,t),a=s.shift(),i=n;a;)a.name===F?i+=n-1:a.children?[].push.apply(s,a.children):(i++,[].push.apply(s,a.members)),a=s.shift();return i}function Re(e,t,r){if(!t[0])return{parsedRoot:null,tuples:e,memberIndex:0,index:0};var n=Pe(e,t[0]);if(!n.tuple)return{parsedRoot:null,tuples:t,memberIndex:0,index:0};var s=n.tuple.members,a=t[0].members,i=-1;if(s.length!==a.length)return{parsedRoot:null,tuples:t,memberIndex:0,index:0};for(var o=0,l=s.length;o<l;o++)!s[o].measure&&a[o].children[0]&&(-1==i&&a[o].children.length&&(i=o),s[o].children=a[o].children);return r=Math.max(r.length,1),{parsedRoot:n.tuple,index:n.index*r,memberIndex:i,tuples:e}}function Le(e,t){var r,n,s=!0;for(e=e.members,t=t.members,r=0,n=e.length;r<n;r++)e[r].measure||t[r].measure||(s=s&&Ke(e[r])===Ke(t[r]));return s}function Pe(e,t){var r,n,s,a,i,o,l,u=0;for(r=0,n=e.length;r<n;r++){if(Le(s=e[r],t))return{tuple:s,index:u};for(u++,i=0,o=s.members.length;i<o;i++)if(!(l=s.members[i]).measure&&(u+=(a=Pe(l.children,t)).index,a.tuple))return{tuple:a.tuple,index:u}}return{index:u}}function Oe(e,t){var r,n,s,a="";for(n=0,s=e.length;n<s;n++)t[a+=(r=e[n]).name]||(t[a]=r)}function Fe(e,t){var r,n,s,a,i=e.members,o="",l="";for(r=0,n=i.length;r<n;r++){if(s=i[r],a){if(t[o+s.name]){a=t[o+=s.name];continue}return t[o+s.parentName]?t[o+s.parentName]:t[l+s.parentName]?t[l+s.parentName]:t[l]}if(o+=s.name,!(a=t[s.parentName])&&!(a=t[o]))return null;a&&(l+=a.name)}return a}function Be(r,n){if(!(n<0)){var s={name:F,measure:!0,children:[e.extend({members:[],dataIndex:r.dataIndex},r.members[n])]};r.members.splice(n,1,s),r.dataIndex=t}}function Ue(e,t){if(e.length<1)return[];for(var r=[],n={},s=function(e,t){if(0===t.length)return-1;for(var r=t[0],n=e.members,s=0,a=n.length;s<a;s++)if(n[s].name==r.name)return s}(e[0],t),a=0;a<e.length;a++){var i=e[a];i.dataIndex=a,Be(i,s);var o=Fe(i,n);o?s<0||!o.measure?o.children.push(i):o.children.push(i.members[s].children[0]):r.push(i),Oe(i.members,n)}return r}function qe(e){for(var r,n,s,a,i,o=[],l=(e=e.slice()).shift();l;){for(l.dataIndex!==t&&o.push(l.dataIndex),s=0,r=0,n=l.members.length;r<n;r++)a=(i=l.members[r]).children,i.measure?[].splice.apply(e,[0,0].concat(a)):[].splice.apply(e,[s,0].concat(a)),s+=a.length;l=e.shift()}return o}function We(e){var t=e.split(".");return t.length>2?t[0]+"."+t[1]:e}function ze(e,t){var r,n=e.length-1,s=e[n];return r=function(e,t){for(var r=0,n=e.length;r<n;r++)if(0===t.indexOf(e[r].field))return e[r];return null}(t,s),r&&r.dir?s="ORDER("+s+".Children,"+r.field+".CurrentMember.MEMBER_CAPTION,"+r.dir+")":s+=".Children",e[n]=s,e}function Ge(e){var t,r="CROSSJOIN({";return e.length>2?(t=e.pop(),r+=Ge(e)):(r+=e.shift(),t=e.pop()),r+="},{",r+=t,r+="})"}function je(e,t){var r=e.slice(0);return t.length>1&&r.push("{"+Ve(t).join(",")+"}"),Ge(r)}function Ve(e){for(var r,n=0,s=e.length,a=[];n<s;n++)r=e[n],a.push(r.name!==t?r.name:r);return a}function Ye(e,t){var r,n,s=-1;for(r=0,n=t.length;r<n;r++)if(Ke(t[r])===e){s=r;break}return s}function Ke(e){return e=e.name||e,"[object Array]"===f.call(e)&&(e=e[e.length-1]),e}function Qe(e){for(var t=e.length,r=[],n=0;n<t;n++)r.push(e[n].name[0]);return r}function Je(e,t){var r,n,s,a=0,i=e.length,o=t.length;for(t=t.slice(0);a<i;a++)for(r=e[a],s=0;s<o;s++)if(n=We(t[s]),-1!==r.indexOf(n)){t[s]=r;break}return{names:t,expandedIdx:s,uniquePath:t.slice(0,s+1).join("")}}function Xe(e){for(var t,r,n,s,a,i,o=[],l=[],u=[],c=0,h=e.length;c<h;c++)if(s=(t=e[c]).name,i=!1,"[object Array]"!==f.call(s)&&(t.name=s=[s]),s.length>1)l.push(t);else{for(a=We(s[0]),r=0,n=u.length;r<n;r++)if(0===u[r].name[0].indexOf(a)){i=!0;break}i||u.push(t),t.expand&&o.push(t)}return{root:u,expanded:o=o.concat(l)}}function $e(e,t,r){var n,s="",a=Xe(e=e||[]),i=Qe(a.root),o=[],l=(a=a.expanded).length,u=0,c=[];if(i.length>1||t.length>1){for(o.push(je(i,t));u<l;u++)c=Je(n=ze(a[u].name,r),i).names,o.push(je(c,t));s+=o.join(",")}else{for(;u<l;u++)n=ze(a[u].name,r),c.push(n[0]);s+=i.concat(c).join(",")}return s}Ne.create=function(e){var t=(e=e&&e.push?{data:e}:e)||{},n=t.data;if(t.data=n,!(t instanceof Ne)&&t instanceof r.data.DataSource)throw new Error("Incorrect DataSource type. Only PivotDataSource instances are supported");return t instanceof Ne?t:new Ne(t)},ye.create=function(e){var t=(e=e&&e.push?{data:e}:e)||{},n=t.data;if(t.data=n,!(t instanceof ye)&&t instanceof r.data.DataSource)throw new Error("Incorrect DataSource type. Only PivotDataSource instances are supported");return t instanceof ye?t:new ye(t)};var Ze={contains:', InStr({0}.CurrentMember.MEMBER_CAPTION,"{1}") > 0',doesnotcontain:', InStr({0}.CurrentMember.MEMBER_CAPTION,"{1}")',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:', {0}.CurrentMember.MEMBER_CAPTION = "{1}"'};function et(e){var t="",n=e.value,s=e.field,a=e.operator;return"in"==a?(t+="{",t+=n,t+="}"):(t+="neq"==a||"doesnotcontain"==a?"-":"",t+="Filter(",t+=s+".MEMBERS",t+=r.format(Ze[a],s,n),t+=")"),t}function tt(e,t,r){var n="";if(t){var s;for(var a in n+="<"+e+">",t)s=t[a],r&&(a=a.replace(/([A-Z]+(?=$|[A-Z][a-z])|[A-Z]?[a-z]+)/g,"$1_").toUpperCase().replace(/_$/,"")),n+="<"+a+">"+s+"</"+a+">";n+="</"+e+">"}else n+="<"+e+"/>";return n}var rt={schemaCubes:"MDSCHEMA_CUBES",schemaCatalogs:"DBSCHEMA_CATALOGS",schemaMeasures:"MDSCHEMA_MEASURES",schemaDimensions:"MDSCHEMA_DIMENSIONS",schemaHierarchies:"MDSCHEMA_HIERARCHIES",schemaLevels:"MDSCHEMA_LEVELS",schemaMembers:"MDSCHEMA_MEMBERS",schemaKPIs:"MDSCHEMA_KPIS"},nt={read:function(e){var t='<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Header/><Body><Execute xmlns="urn:schemas-microsoft-com:xml-analysis"><Command><Statement>';t+="SELECT NON EMPTY {";var r=e.columns||[],n=e.rows||[],s=e.measures||[],a="rows"===e.measuresAxis,i=e.sort||[];return!r.length&&n.length&&(!s.length||s.length&&a)&&(r=n,n=[],a=!1),r.length||n.length||(a=!1),r.length?t+=$e(r,a?[]:s,i):s.length&&!a&&(t+=Ve(s).join(",")),t+="} DIMENSION PROPERTIES CHILDREN_CARDINALITY, PARENT_UNIQUE_NAME ON COLUMNS",(n.length||a&&s.length>1)&&(t+=", NON EMPTY {",n.length?t+=$e(n,a?s:[],i):t+=Ve(s).join(","),t+="} DIMENSION PROPERTIES CHILDREN_CARDINALITY, PARENT_UNIQUE_NAME ON ROWS"),e.filter?(t+=" FROM ",t+="(",t+=function(e,t){var r,n,s="",a=e.filters,i=a.length;for(n=i-1;n>=0;n--)r="SELECT (",r+=et(a[n]),r+=") ON 0",s=n==i-1?r+=" FROM ["+t+"]":r+" FROM ( "+s+" )";return s}(e.filter,e.connection.cube),t+=")"):t+=" FROM ["+e.connection.cube+"]",1==s.length&&r.length&&(t+=" WHERE ("+Ve(s).join(",")+")"),(t+="</Statement></Command><Properties><PropertyList><Catalog>"+e.connection.catalog+"</Catalog><Format>Multidimensional</Format></PropertyList></Properties></Execute></Body></Envelope>").replace(/\&/g,"&amp;")},discover:function(t){var r='<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Header/><Body><Discover xmlns="urn:schemas-microsoft-com:xml-analysis">';return r+="<RequestType>"+(rt[(t=t||{}).command]||t.command)+"</RequestType>",r+="<Restrictions>"+tt("RestrictionList",t.restrictions,!0)+"</Restrictions>",t.connection&&t.connection.catalog&&(t.properties=e.extend({},{Catalog:t.connection.catalog},t.properties)),r+="<Properties>"+tt("PropertyList",t.properties)+"</Properties>",r+="</Discover></Body></Envelope>"}},st=r.data.RemoteTransport.extend({init:function(e){var t=e;e=this.options=v(!0,{},this.options,e),r.data.RemoteTransport.call(this,e),b(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}),r.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 nt[t](e,t)}},discover:function(t){return e.ajax(this.setup(t,"discover"))}}),at=a.extend({init:function(e){e=this.options=v(!0,{},this.options,e)},setup:function(t){return e.extend(!0,t||{},{connection:this.options.connection})},read:function(t){var r,n,s=this,a=s.setup(t.data,R);r=t.success||e.noop,n=t.error||e.noop,t.parameterMap&&(a=s.parameterMap(a,R)),x({url:s.options.read},a).then(T).then((function(e){r(e)})).catch((function(e){n(e)}))},catalog:function(r){var n=this.options||{};if(r===t)return(n.connection||{}).catalog;var s=n.connection||{};s.catalog=r,this.options.connection=s,e.extend(this.transport.options,{connection:s})},cube:function(e){var r=this.options||{};if(e===t)return(r.connection||{}).cube;var n=r.connection||{};n.cube=e,this.options.connection=n,v(!0,this.transport.options,{connection:n})},discover:function(e){return d({url:this.options.read},e)}});function it(e){return null==e?[]:"[object Array]"!==f.call(e)?[e]:e}function ot(e){for(var t={tuples:[]},n=it(r.getter("Tuples.Tuple",!0)(e)),s=r.getter("Caption['#text']"),a=r.getter("UName['#text']"),i=r.getter("LName['#text']"),o=r.getter("LNum['#text']"),l=r.getter("CHILDREN_CARDINALITY['#text']",!0),u=r.getter("['@Hierarchy']"),c=r.getter("PARENT_UNIQUE_NAME['#text']",!0),h=0;h<n.length;h++){for(var d=[],m=it(n[h].Member),p=0;p<m.length;p++)d.push({children:[],caption:s(m[p]),name:a(m[p]),levelName:i(m[p]),levelNum:o(m[p]),hasChildren:parseInt(l(m[p]),10)>0,parentName:c(m[p]),hierarchy:u(m[p])});t.tuples.push({members:d})}return t}var lt={cubes:{name:r.getter("CUBE_NAME['#text']",!0),caption:r.getter("CUBE_CAPTION['#text']",!0),description:r.getter("DESCRIPTION['#text']",!0),type:r.getter("CUBE_TYPE['#text']",!0)},catalogs:{name:r.getter("CATALOG_NAME['#text']",!0),description:r.getter("DESCRIPTION['#text']",!0)},measures:{name:r.getter("MEASURE_NAME['#text']",!0),caption:r.getter("MEASURE_CAPTION['#text']",!0),uniqueName:r.getter("MEASURE_UNIQUE_NAME['#text']",!0),description:r.getter("DESCRIPTION['#text']",!0),aggregator:r.getter("MEASURE_AGGREGATOR['#text']",!0),groupName:r.getter("MEASUREGROUP_NAME['#text']",!0),displayFolder:r.getter("MEASURE_DISPLAY_FOLDER['#text']",!0),defaultFormat:r.getter("DEFAULT_FORMAT_STRING['#text']",!0)},kpis:{name:r.getter("KPI_NAME['#text']",!0),caption:r.getter("KPI_CAPTION['#text']",!0),value:r.getter("KPI_VALUE['#text']",!0),goal:r.getter("KPI_GOAL['#text']",!0),status:r.getter("KPI_STATUS['#text']",!0),trend:r.getter("KPI_TREND['#text']",!0),statusGraphic:r.getter("KPI_STATUS_GRAPHIC['#text']",!0),trendGraphic:r.getter("KPI_TREND_GRAPHIC['#text']",!0),description:r.getter("KPI_DESCRIPTION['#text']",!0),groupName:r.getter("MEASUREGROUP_NAME['#text']",!0)},dimensions:{name:r.getter("DIMENSION_NAME['#text']",!0),caption:r.getter("DIMENSION_CAPTION['#text']",!0),description:r.getter("DESCRIPTION['#text']",!0),uniqueName:r.getter("DIMENSION_UNIQUE_NAME['#text']",!0),defaultHierarchy:r.getter("DEFAULT_HIERARCHY['#text']",!0),type:r.getter("DIMENSION_TYPE['#text']",!0)},hierarchies:{name:r.getter("HIERARCHY_NAME['#text']",!0),caption:r.getter("HIERARCHY_CAPTION['#text']",!0),description:r.getter("DESCRIPTION['#text']",!0),uniqueName:r.getter("HIERARCHY_UNIQUE_NAME['#text']",!0),dimensionUniqueName:r.getter("DIMENSION_UNIQUE_NAME['#text']",!0),displayFolder:r.getter("HIERARCHY_DISPLAY_FOLDER['#text']",!0),origin:r.getter("HIERARCHY_ORIGIN['#text']",!0),defaultMember:r.getter("DEFAULT_MEMBER['#text']",!0)},levels:{name:r.getter("LEVEL_NAME['#text']",!0),caption:r.getter("LEVEL_CAPTION['#text']",!0),description:r.getter("DESCRIPTION['#text']",!0),uniqueName:r.getter("LEVEL_UNIQUE_NAME['#text']",!0),dimensionUniqueName:r.getter("DIMENSION_UNIQUE_NAME['#text']",!0),displayFolder:r.getter("LEVEL_DISPLAY_FOLDER['#text']",!0),orderingProperty:r.getter("LEVEL_ORDERING_PROPERTY['#text']",!0),origin:r.getter("LEVEL_ORIGIN['#text']",!0),hierarchyUniqueName:r.getter("HIERARCHY_UNIQUE_NAME['#text']",!0)},members:{name:r.getter("MEMBER_NAME['#text']",!0),caption:r.getter("MEMBER_CAPTION['#text']",!0),uniqueName:r.getter("MEMBER_UNIQUE_NAME['#text']",!0),dimensionUniqueName:r.getter("DIMENSION_UNIQUE_NAME['#text']",!0),hierarchyUniqueName:r.getter("HIERARCHY_UNIQUE_NAME['#text']",!0),levelUniqueName:r.getter("LEVEL_UNIQUE_NAME['#text']",!0),childrenCardinality:r.getter("CHILDREN_CARDINALITY['#text']",!0)}},ut=["axes","catalogs","cubes","dimensions","hierarchies","levels","measures"],ct=r.data.XmlDataReader.extend({init:function(e){r.data.XmlDataReader.call(this,e),this._extend(e)},_extend:function(e){for(var t,r,n=0,s=ut.length;n<s;n++)(r=e[t=ut[n]])&&r!==g&&(this[t]=r)},parse:function(e){var t=r.data.XmlDataReader.fn.parse(e.replace(/<(\/?)(\w|-)+:/g,"<$1"));return r.getter("['Envelope']['Body']",!0)(t)},errors:function(e){var t=r.getter("['Fault']",!0)(e);return t?[{faultstring:r.getter("faultstring['#text']",!0)(t),faultcode:r.getter("faultcode['#text']",!0)(t)}]:null},axes:function(e){e=r.getter('ExecuteResponse["return"].root',!0)(e);for(var t,n=it(r.getter("Axes.Axis",!0)(e)),s={columns:{},rows:{}},a=0;a<n.length;a++)"sliceraxis"!==(t=n[a])["@name"].toLowerCase()&&(s.columns.tuples?s.rows=ot(t):s.columns=ot(t));return s},data:function(e){e=r.getter('ExecuteResponse["return"].root',!0)(e);for(var t=it(r.getter("CellData.Cell",!0)(e)),n=[],s=r.getter("['@CellOrdinal']"),a=r.getter("Value['#text']"),i=r.getter("FmtValue['#text']"),o=0;o<t.length;o++)n.push({value:a(t[o]),fmtValue:i(t[o]),ordinal:parseInt(s(t[o]),10)});return n},_mapSchema:function(e,t){e=r.getter('DiscoverResponse["return"].root',!0)(e);for(var n=it(r.getter("row",!0)(e)),s=[],a=0;a<n.length;a++){var i={};for(var o in t)i[o]=t[o](n[a]);s.push(i)}return s},measures:function(e){return this._mapSchema(e,lt.measures)},kpis:function(e){return this._mapSchema(e,lt.kpis)},hierarchies:function(e){return this._mapSchema(e,lt.hierarchies)},levels:function(e){return this._mapSchema(e,lt.levels)},dimensions:function(e){return this._mapSchema(e,lt.dimensions)},cubes:function(e){return this._mapSchema(e,lt.cubes)},catalogs:function(e){return this._mapSchema(e,lt.catalogs)},members:function(e){return this._mapSchema(e,lt.members)}});v(!0,r.data,{PivotDataSource:ye,PivotDataSourceV2:Ne,XmlaTransport:st,XmlaDataReader:ct,PivotCubeBuilder:we,transports:{xmla:st},readers:{xmla:ct}});var ht=function(e,t){for(var r=[],n=0,s=e.length;n<s;n++)e[n].field!==t&&r.push(e[n]);return r};r.ui.PivotSettingTarget=o.extend({init:function(t,s){var a=this;if(o.fn.init.call(a,t,s),a.element.addClass("k-pivot-setting"),a.dataSource=r.data.PivotDataSource.create(s.dataSource),a._refreshHandler=a.refresh.bind(a),a.dataSource.first(L,a._refreshHandler),!s.template){var i="";a.options.enabled&&(i='<span class="k-setting-delete k-chip-action">'+r.ui.icon("x")+"</span>"),a.options.template=function(e){return'<span class="k-chip k-chip-md k-rounded-full k-chip-solid k-chip-solid-base" data-'+r.ns+'name="'+(e.name||e)+'"><span class="k-chip-content"><span class="k-chip-text">'+(e.name||e)+'</span></span><span class="k-chip-actions">'+i+"</span></span>"}}a.template=r.template(a.options.template),a.emptyTemplate=r.template(a.options.emptyTemplate),a._sortable(),a.element.on("click"+W,".k-chip, .k-button",(function(t){var n=e(t.target).closest(":not(path,svg)"),s=n.closest(".k-chip-action"),i=n.closest("["+r.attr("name")+"]").attr(r.attr("name"));if(i)if(s.hasClass("k-setting-delete"))a.remove(i);else if(!(n.closest(".k-chip-actions").length>0)&&a.options.sortable){var o=e(t.currentTarget).closest(":not(path,svg)").find(".k-i-sort-asc-small,.k-svg-i-sort-asc-small").length?"desc":"asc";a.sort({field:i,dir:o})}})),(s.filterable||s.sortable)&&(a.fieldMenu=new n.PivotFieldMenu(a.element,{messages:a.options.messages.fieldMenu,filter:".k-setting-fieldmenu",filterable:s.filterable,sortable:s.sortable,dataSource:a.dataSource})),a.refresh()},options:{name:"PivotSettingTarget",template:null,filterable:!1,sortable:!1,emptyTemplate:function(e){return"<div class='k-empty'>"+e+"</div>"},setting:"columns",enabled:!0,messages:{empty:"Drop Fields Here"}},setDataSource:function(e){this.dataSource.unbind(L,this._refreshHandler),this.dataSource=this.options.dataSource=e,this.fieldMenu&&this.fieldMenu.setDataSource(e),e.first(L,this._refreshHandler),this.refresh()},_sortable:function(){var e=this;e.options.enabled&&(this.sortable=this.element.kendoSortable({connectWith:this.options.connectWith,hint:e.options.hint,filter:">*:not(.k-empty)",cursor:"move",start:function(e){e.item.trigger("focus").trigger("blur")},change:function(t){var n=t.item.attr(r.attr("name"));"receive"==t.action?e.add(n):"remove"==t.action?e.remove(n):"sort"==t.action&&e.move(n,t.newIndex)}}).data("kendoSortable"))},_isKPI:function(e){return"kpi"===e.type||e.measure},validate:function(e){var t=2==e.type||"aggregator"in e||this._isKPI(e);if(t)return"measures"===this.options.setting;if("measures"===this.options.setting)return t;var r=this.dataSource[this.options.setting](),n=e.defaultHierarchy||e.uniqueName;return!(Ye(n,r)>-1)&&!(Ye(n,r=this.dataSource["columns"===this.options.setting?"rows":"columns"]())>-1)},add:function(e){var t,r,n=this.dataSource[this.options.setting]();for(t=0,r=(e=Array.isArray(e)?e.slice(0):[e]).length;t<r;t++)-1!==Ye(e[t],n)&&(e.splice(t,1),t-=1,r-=1);e.le