@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines • 46.7 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.dom.min.js`),require(`kendo.html.chip.min.js`),require(`kendo.html.chiplist.min.js`),require(`kendo.treeview.min.js`),require(`kendo.treeview.draganddrop.min.js`),require(`kendo.icons.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.dom.min`,`kendo.html.chip.min`,`kendo.html.chiplist.min`,`kendo.treeview.min`,`kendo.treeview.draganddrop.min`,`kendo.icons.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.PivotConfigurator={}),e.kendo._globals.Dom,e.kendo._globals.HtmlChip,e.kendo._globals.HtmlChiplist,e.kendo._globals.Treeview,e.kendo._globals.TreeviewDraganddrop,e.kendo._globals.Icons))})(this,function(e,t,n,r,i,a,o){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});function s(e){let t=`CROSSJOIN({`,n;return e.length>2?(n=e.pop(),t+=s(e)):(t+=e.shift(),n=e.pop()),t+=`},{`,t+=n,t+=`})`,t}var c=function(e,t){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},c(e,t)},l=function(){return l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},l.apply(this,arguments)};function u(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}Object.create;function d(e){return this instanceof d?(this.v=e,this):new d(e)}Object.create;var f=function(e){return f=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},f(e)};function p(e,t){let n=e.querySelector(t);return n?n.textContent:``}let m={schemaCatalogs:`DBSCHEMA_CATALOGS`,schemaCubes:`MDSCHEMA_CUBES`,schemaDimensions:`MDSCHEMA_DIMENSIONS`,schemaHierarchies:`MDSCHEMA_HIERARCHIES`,schemaKPIs:`MDSCHEMA_KPIS`,schemaLevels:`MDSCHEMA_LEVELS`,schemaMeasures:`MDSCHEMA_MEASURES`,schemaMembers:`MDSCHEMA_MEMBERS`};function h(e){let t={},n=`<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Header/><Body><Discover xmlns="urn:schemas-microsoft-com:xml-analysis">`;return n+=`<RequestType>`+(m[e.command]||e.command)+`</RequestType>`,n+=`<Restrictions>`+g(`RestrictionList`,e.restrictions,!0)+`</Restrictions>`,e.connection&&e.connection.catalog&&(t.Catalog=e.connection.catalog),n+=`<Properties>`+g(`PropertyList`,t,!1)+`</Properties>`,n+=`</Discover></Body></Envelope>`,n}function g(e,t,n){let r=``;if(t){r+=`<`+e+`>`;let i;for(let e in t)t[e]&&(i=t[e],n&&(e=e.replace(/([A-Z]+(?=$|[A-Z][a-z])|[A-Z]?[a-z]+)/g,`$1_`).toUpperCase().replace(/_$/,``)),r+=`<`+e+`>`+i+`</`+e+`>`);r+=`</`+e+`>`}else r+=`<`+e+`/>`;return r}function _(e){let t=new DOMParser().parseFromString(e,`text/xml`);return Array.from(t.querySelectorAll(`DiscoverResponse > return > root > row`)).map(e=>({name:p(e,`CUBE_NAME`),caption:p(e,`CUBE_CAPTION`),description:p(e,`DESCRIPTION`),type:p(e,`CUBE_TYPE`)}))}function v(e){let t=new DOMParser().parseFromString(e,`text/xml`);return Array.from(t.querySelectorAll(`DiscoverResponse > return > root > row`)).map(e=>({name:p(e,`CATALOG_NAME`),description:p(e,`DESCRIPTION`)}))}function y(e){let t=new DOMParser().parseFromString(e,`text/xml`);return Array.from(t.querySelectorAll(`DiscoverResponse > return > root > row`)).map(e=>({name:p(e,`MEASURE_NAME`),caption:p(e,`MEASURE_CAPTION`),uniqueName:p(e,`MEASURE_UNIQUE_NAME`),description:p(e,`DESCRIPTION`),aggregator:p(e,`MEASURE_AGGREGATOR`),groupName:p(e,`MEASUREGROUP_NAME`),displayFolder:p(e,`MEASURE_DISPLAY_FOLDER`),defaultFormat:p(e,`DEFAULT_FORMAT_STRING`)}))}function b(e){let t=new DOMParser().parseFromString(e,`text/xml`);return Array.from(t.querySelectorAll(`DiscoverResponse > return > root > row`)).map(e=>({name:p(e,`KPI_NAME`),uniqueName:p(e,`KPI_NAME`),caption:p(e,`KPI_CAPTION`),value:p(e,`KPI_VALUE`),goal:p(e,`KPI_GOAL`),status:p(e,`KPI_STATUS`),trend:p(e,`KPI_TREND`),statusGraphic:p(e,`KPI_STATUS_GRAPHIC`),trendGraphic:p(e,`KPI_TREND_GRAPHIC`),description:p(e,`KPI_DESCRIPTION`),groupName:p(e,`MEASUREGROUP_NAME`),type:`kpi`}))}function x(e){let t=new DOMParser().parseFromString(e,`text/xml`);return Array.from(t.querySelectorAll(`DiscoverResponse > return > root > row`)).map(e=>({caption:p(e,`DIMENSION_CAPTION`),defaultHierarchy:p(e,`DEFAULT_HIERARCHY`),description:p(e,`DESCRIPTION`),name:p(e,`DIMENSION_NAME`),type:parseInt(p(e,`DIMENSION_TYPE`),10),uniqueName:p(e,`DIMENSION_UNIQUE_NAME`)}))}function ee(e){let t=new DOMParser().parseFromString(e,`text/xml`);return Array.from(t.querySelectorAll(`DiscoverResponse > return > root > row`)).map(e=>({name:p(e,`HIERARCHY_NAME`),caption:p(e,`HIERARCHY_CAPTION`),description:p(e,`DESCRIPTION`),uniqueName:p(e,`HIERARCHY_UNIQUE_NAME`),dimensionUniqueName:p(e,`DIMENSION_UNIQUE_NAME`),displayFolder:p(e,`HIERARCHY_DISPLAY_FOLDER`),origin:p(e,`HIERARCHY_ORIGIN`),defaultMember:p(e,`DEFAULT_MEMBER`)}))}function te(e){let t=new DOMParser().parseFromString(e,`text/xml`);return Array.from(t.querySelectorAll(`DiscoverResponse > return > root > row`)).map(e=>({name:p(e,`LEVEL_NAME`),caption:p(e,`LEVEL_CAPTION`),description:p(e,`DESCRIPTION`),uniqueName:p(e,`LEVEL_UNIQUE_NAME`),dimensionUniqueName:p(e,`DIMENSION_UNIQUE_NAME`),displayFolder:p(e,`LEVEL_DISPLAY_FOLDER`),orderingProperty:p(e,`LEVEL_ORDERING_PROPERTY`),origin:p(e,`LEVEL_ORIGIN`),hierarchyUniqueName:p(e,`HIERARCHY_UNIQUE_NAME`)}))}function ne(e){let t=new DOMParser().parseFromString(e,`text/xml`);return Array.from(t.querySelectorAll(`DiscoverResponse > return > root > row`)).map(e=>({name:p(e,`MEMBER_NAME`),caption:p(e,`MEMBER_CAPTION`),uniqueName:p(e,`MEMBER_UNIQUE_NAME`),dimensionUniqueName:p(e,`DIMENSION_UNIQUE_NAME`),hierarchyUniqueName:p(e,`HIERARCHY_UNIQUE_NAME`),levelUniqueName:p(e,`LEVEL_UNIQUE_NAME`),childrenCardinality:p(e,`CHILDREN_CARDINALITY`)}))}let re={schemaCatalogs:v,schemaCubes:_,schemaDimensions:x,schemaHierarchies:ee,schemaKPIs:b,schemaLevels:te,schemaMeasures:y,schemaMembers:ne},S=(e,t)=>u(void 0,void 0,void 0,function*(){let n=Object.assign({body:h(t),headers:{"Content-Type":`text/xml`},method:`POST`},e.init),r=yield(yield fetch(e.url,n)).text();return re[t.command](r)}),ie=(e,t=new Set)=>((e.children||[]).forEach(e=>{t.add(e.levelName),ie(e,t)}),t.size),ae=e=>{let t=0;return(e.children||[]).forEach(e=>{t+=ae(e)||1}),t},oe=(e,t=-1,n=0,r=void 0,i=void 0,a=void 0,o=void 0,s=void 0)=>{let c=ie(e),l=ae(e),u=r||c,d=i||l,f=a?a.slice():[],p=o?o.slice():Array(d),m=f.findIndex(t=>t&&t.name===e.levelName&&t.level===e.levelNum),h=f[m],g={name:e.levelName,level:e.levelNum,index:t,cells:Array(d).fill(null)},_=t!==-1&&n!==-1,v={caption:e.caption,name:e.name,levelName:e.levelName,levelNum:e.levelNum,hasChildren:e.hasChildren,parentName:e.parentName,hierarchy:e.hierarchy,total:(e.total===void 0?!1:e.total)||s&&s.children.length<=1&&s.total,parent:s,rowIndex:t,colIndex:n,depth:1,breadth:1,path:e.path||[],normalizedPath:e.normalizedPath||[],children:e.children.filter(t=>t.hierarchy===e.hierarchy)};if(_)if(h)h.cells[n]=v,h.index>=t&&(t=h.index);else if(f[t]&&f[t].cells.length){for(let e=t;e<f.length;e++){let t=f[e];t.index++}f.splice(t,0,g),f[t].cells[n]=v}else f[t]=g,f[t].cells[n]=v;let y=0;return e.children&&e.children.length?e.children.forEach(e=>{let[r,i,,a]=oe(e,t+1,n+y,u,d,f,p,v);y+=a||1,f=r.slice(),p=i.slice()}):e.normalizedPath&&(p[n]={total:v.total,path:e.normalizedPath}),v.depth=c,v.breadth=l,[f,p,c,l]},se=(e,t=null,n=0)=>{let r,i=Object.assign(Object.assign({},e),{total:!0,hasChildren:!1,children:[]});for(let n=0;n<e.children.length;n++){let a=se(e.children[n],e,n);r||=a.hierarchy,a.hierarchy!==r&&t&&!t.children.some(e=>e.total&&e.name===i.name)&&!e.total&&(i.children.push(a),e.children.splice(n,1),n--)}if(e.children.filter(e=>!e.total).length>=1&&t&&!t.children.some(e=>e.total&&e.name===i.name)&&!e.total){let r=e.children[0].hierarchy;e.hierarchy===r&&t.children.splice(n+1,0,i)}return e},ce=e=>e?new Date(e.getTime()):null;function le(e,t){for(let n in e)if(e.hasOwnProperty(n)){let r=e[n];t[n]=ue(r,t[n])}}function ue(e,t){if(Array.isArray(e))return de(e);if(e instanceof Date)return ce(e);if(e&&typeof e==`object`){let n=t||{};return le(e,n),n}else return e}function de(e){return e.map(e=>ue(e,void 0))}let C=(e,t,n)=>({hierarchyUniqueName:e,uniqueName:t,caption:t,measure:t,name:t,type:n,kpi:!0});function fe(e){let t=e.name;return[C(t,e.value,`value`),C(t,e.goal,`goal`),C(t,e.status,`status`),C(t,e.trend,`trend`)]}let w=(e,t)=>String(e.name)===String([t.defaultHierarchy?t.defaultHierarchy:t.uniqueName]),T=(e,t)=>String(e.name)===String(t.name),E=(e,t)=>{for(let n=e.length-1;n>=0;n--){let r=e[n],i=r.name.findIndex(e=>w({name:[e]},t)||String(e).startsWith(t.uniqueName));if(i!==-1)if(i===r.name.length-1||r.name.length===1)e.splice(n,1);else{r.name.splice(i,1);let t=e.findIndex(e=>e!==r&&String(e.name)===String(r.name));t!==-1&&(e[t]=Object.assign(Object.assign(Object.assign({},e[t]),r),e[t].expand||r.expand?{expand:!0}:{}),e.splice(n,1))}}},pe=(e,t,n)=>{let r=-1;if(n.dropTarget&&n.dropDirection){let t=n.dropDirection?n.dropDirection===`before`?0:1:0;r=e.findIndex(e=>T(e,n.dropTarget))+t}r===-1?e.push(t):(e.forEach(e=>{e.expand&&e.name.length>1&&e.name.length>r&&e.name.splice(r,0,...t.name)}),e.splice(r,0,t))};var D;(function(e){e.toggle=`HEADERS_ACTION_TOGGLE`,e.expand=`HEADERS_ACTION_EXPAND`,e.collapse=`HEADERS_ACTION_COLLAPSE`})(D||={});let me=(e,t,n)=>{let r=new Set;return e.children.forEach(e=>{let i=t(e);n&&r.add(String(e.path)),me(e,t,n||i).map(e=>{r.add(e)})}),Array.from(r.values())},he=(e,t)=>{switch(t.type){case D.toggle:{let n=e.find((e=>String(e.name)===String(t.payload)));return he(e,Object.assign(Object.assign({},t),{type:n&&n.expand?D.collapse:D.expand}))}case D.expand:{let n=e.find((e=>String(e.name)===String(t.payload)));if(n&&n.expand===!0)return e;if(n&&(n.expand===!1||n.expand===void 0))return e.map(e=>e===n?Object.assign(Object.assign({},n),{expand:!0}):e);{let n=e.slice();return n.push({name:t.payload,expand:!0}),n}}case D.collapse:{let n=me(t.tree,e=>!e.total&&String(e.path)===String(t.payload));return e.slice().filter(e=>!n.some(t=>t===String(e.name))).map(e=>Object.assign(Object.assign({},e),{expand:!!e.expand})).map(e=>String(e.name)===String(t.payload)?t.payload.length>1?void 0:{name:t.payload,expand:!1}:e).filter(Boolean)}default:return e}};var O;(function(e){e.toggleSelection=`PIVOT_CONFIGURATOR_ACTION_TOGGLE_SELECTION`,e.addColumnAxis=`PIVOT_CONFIGURATOR_ACTION_ADD_COLUMN_AXIS`,e.addColumnAxes=`PIVOT_CONFIGURATOR_ACTION_ADD_COLUMN_AXES`,e.removeColumnAxis=`PIVOT_CONFIGURATOR_ACTION_REMOVE_COLUMN_AXIS`,e.removeColumnAxes=`PIVOT_CONFIGURATOR_ACTION_REMOVE_COLUMN_AXES`,e.addRowAxis=`PIVOT_CONFIGURATOR_ACTION_ADD_ROW_AXIS`,e.addRowAxes=`PIVOT_CONFIGURATOR_ACTION_ADD_ROW_AXES`,e.removeRowAxis=`PIVOT_CONFIGURATOR_ACTION_REMOVE_ROW_AXIS`,e.removeRowAxes=`PIVOT_CONFIGURATOR_ACTION_REMOVE_ROW_AXES`,e.addMeasureAxis=`PIVOT_CONFIGURATOR_ACTION_ADD_MEASURE_AXIS`,e.addMeasureAxes=`PIVOT_CONFIGURATOR_ACTION_ADD_MEASURE_AXES`,e.removeMeasureAxis=`PIVOT_CONFIGURATOR_ACTION_REMOVE_MEASURE_AXIS`,e.removeMeasureAxes=`PIVOT_CONFIGURATOR_ACTION_REMOVE_MEASURE_AXES`,e.remove=`PIVOT_CONFIGURATOR_ACTION_REMOVE`,e.setSort=`PIVOT_CONFIGURATOR_ACTION_SET_SORT`,e.setFilter=`PIVOT_CONFIGURATOR_ACTION_SET_FILTER`,e.addFilter=`PIVOT_CONFIGURATOR_ACTION_ADD_FILTER`,e.changeFilter=`PIVOT_CONFIGURATOR_ACTION_CHANGE_FILTER`,e.removeFilter=`PIVOT_CONFIGURATOR_ACTION_REMOVE_FILTER`,e.setDragItem=`PIVOT_CONFIGURATOR_ACTION_SET_DRAGITEM`,e.drop=`PIVOT_CONFIGURATOR_ACTION_DROP`,e.setDropZone=`PIVOT_CONFIGURATOR_ACTION_SET_DROP_ZONE`,e.setDropTarget=`PIVOT_CONFIGURATOR_ACTION_SET_DROP_TARGET`,e.setDropDirection=`PIVOT_CONFIGURATOR_ACTION_SET_DROP_DIRECTION`})(O||={});let k=(e,t)=>{let n,r,i,a,o,s,c,l,u;switch(t.type){case O.toggleSelection:if(!Array.isArray(t.payload)){let n=t.payload;if(n.type===2||`aggregator`in n)return e.measureAxes.some(e=>w(e,n))?k(e,Object.assign(Object.assign({},t),{type:O.removeMeasureAxis})):k(e,Object.assign(Object.assign({},t),{type:O.addMeasureAxis}));if(n.type===`kpi`){let r=fe(n);return r.every(t=>e.measureAxes.some(e=>w(e,t)))?k(e,Object.assign(Object.assign({},t),{type:O.removeMeasureAxes,payload:r})):k(e,Object.assign(Object.assign({},t),{type:O.addMeasureAxes,payload:r.filter(t=>!e.measureAxes.some(e=>w(e,t)))}))}else if(t.payload.kpi)return e.measureAxes.some(e=>w(e,n))?k(e,Object.assign(Object.assign({},t),{type:O.removeMeasureAxis})):k(e,Object.assign(Object.assign({},t),{type:O.addMeasureAxis}));else return e.columnAxes.some(e=>w(e,n))?k(e,Object.assign(Object.assign({},t),{type:O.removeColumnAxis})):e.rowAxes.some(e=>w(e,n))?k(e,Object.assign(Object.assign({},t),{type:O.removeRowAxis})):e.columnAxes&&e.columnAxes.length&&(!e.rowAxes||!e.rowAxes.length)?k(e,Object.assign(Object.assign({},t),{type:O.addRowAxis})):k(e,Object.assign(Object.assign({},t),{type:O.addColumnAxis}))}break;case O.addColumnAxis:r=[...e.columnAxes||[],{name:[t.payload.defaultHierarchy||t.payload.uniqueName]}];break;case O.addColumnAxes:break;case O.removeColumnAxis:r=[...(e.columnAxes||[]).filter(e=>!w(e,t.payload))],E(r,t.payload);break;case O.removeColumnAxes:break;case O.addRowAxis:n=[...e.rowAxes||[],{name:[t.payload.defaultHierarchy||t.payload.uniqueName]}];break;case O.addRowAxes:break;case O.removeRowAxis:n=[...(e.rowAxes||[]).filter(e=>!w(e,t.payload))],E(n,t.payload);break;case O.removeRowAxes:break;case O.addMeasureAxis:i=[...e.measureAxes||[],{name:[t.payload.defaultHierarchy||t.payload.uniqueName]}];break;case O.removeMeasureAxis:i=[...(e.measureAxes||[]).filter(e=>!w(e,t.payload))];break;case O.addMeasureAxes:i=[...e.measureAxes||[],...(t.payload||[]).map(e=>({name:[e.defaultHierarchy||e.uniqueName]}))];break;case O.removeMeasureAxes:i=[...(e.measureAxes||[]).filter(e=>!t.payload.some(t=>w(e,t)))];break;case O.remove:e.columnAxes.some(e=>T(e,t.payload))&&(r=[...e.columnAxes.filter(e=>!T(e,t.payload))],E(r,{uniqueName:t.payload.name})),e.rowAxes.some(e=>T(e,t.payload))&&(n=[...e.rowAxes.filter(e=>!T(e,t.payload))],E(n,{uniqueName:t.payload.name})),e.measureAxes.some(e=>T(e,t.payload))&&(i=[...e.measureAxes.filter(e=>!T(e,t.payload))]);break;case O.setDragItem:s=t.payload;break;case O.setDropZone:c=t.payload;break;case O.setDropTarget:u=t.payload;break;case O.setDropDirection:l=t.payload;break;case O.drop:if(e.dragItem&&e.dropZone){let a=e.columnAxes.find(e=>T(e,t.payload)),o=e.rowAxes.find(e=>T(e,t.payload)),s=e.measureAxes.find(e=>T(e,t.payload)),c;switch(a&&(c=a,r=[...e.columnAxes.filter(e=>!T(e,t.payload))],E(r,{uniqueName:t.payload.name})),o&&(c=o,n=[...e.rowAxes.filter(e=>!T(e,t.payload))],E(n,{uniqueName:t.payload.name})),s&&(c=s,i=[...e.measureAxes.filter(e=>!T(e,t.payload))]),e.dropZone){case`columnAxes`:r||=e.columnAxes.slice(),pe(r,c,e);break;case`rowAxes`:n||=e.rowAxes.slice(),pe(n,c,e);break;case`measureAxes`:i||=e.measureAxes.slice(),pe(i,c,e);break;default:break}}s=null,c=null,u=null;break;case O.setSort:a=t.payload;break;case O.setFilter:o=Array.isArray(t.payload)?t.payload:[t.payload];break;case O.addFilter:o=(e.filter||[]).slice(),Array.isArray(t.payload)?o.push(...t.payload):o.push(t.payload);break;case O.changeFilter:o=Array.isArray(t.payload)?(e.filter||[]).map(e=>t.payload.some(t=>t.field===e.field)?t.payload.find(t=>t.field===e.field):e):(e.filter||[]).map(e=>e.field===t.payload.field?t.payload:e);break;case O.removeFilter:o=(e.filter||[]).slice(),o=Array.isArray(t.payload)?o.filter(e=>!t.payload.some(t=>t.field===e.field&&t.operator===e.operator)):o.filter(e=>!(e.field===t.payload.field&&e.operator===t.payload.operator));break;default:break}return{dragItem:s,dropTarget:u,dropDirection:l,dropZone:c,columnAxes:r,rowAxes:n,measureAxes:i,filter:o,sort:a}};var A;(function(e){e[e.Sum=0]=`Sum`,e[e.Count=1]=`Count`,e[e.Min=2]=`Min`,e[e.Max=3]=`Max`,e[e.Average=4]=`Average`})(A||={});let ge=0,j=e=>{let t=`${A[e]}_${ge++}`;switch(e){case A.Sum:return{init:e=>{t in e||(e[t]=0)},merge:(e,n)=>{n[t]+=e[t]},accumulate:(e,n)=>{e[t]+=n},result:e=>e[t],format:e=>e.toFixed(2)};case A.Count:return{init:e=>{t in e||(e[t]=0)},merge:(e,n)=>{n[t]+=e[t]},accumulate:(e,n)=>{e[t]+=1},result:e=>e[t],format:e=>e.toFixed()};case A.Min:return{init:e=>{t in e||(e[t]=1/0)},merge:(e,n)=>{n[t]=Math.min(e[t],n[t])},accumulate:(e,n)=>{e[t]=Math.min(n,e[t])},result:e=>Number.isFinite(e[t])?e[t]:NaN,format:e=>e.toFixed(2)};case A.Max:return{init:e=>{t in e||(e[t]=-1/0)},merge:(e,n)=>{n[t]=Math.max(e[t],n[t])},accumulate:(e,n)=>{e[t]=Math.max(n,e[t])},result:e=>Number.isFinite(e[t])?e[t]:NaN,format:e=>e.toFixed(2)};case A.Average:let e=`${t}_sum`,n=`${t}_count`;return{init:t=>{n in t||(t[e]=0,t[n]=0)},merge:(t,r)=>{r[e]+=t[e],r[n]+=t[n]},accumulate:(t,r)=>{t[e]+=r,t[n]+=1},result:t=>t[e]/t[n],format:e=>e.toFixed(2)};default:throw Error(`Invalid aggregate type provided`)}};j(A.Sum),j(A.Count),j(A.Min),j(A.Max),j(A.Average);let M=e=>e!=null,N=e=>e==null,P=e=>Array.isArray(e),F=e=>typeof e==`function`,I=e=>typeof e==`string`,_e=e=>N(e)||e.trim().length===0,ve=e=>!_e(e),L=e=>!isNaN(e-parseFloat(e)),R=e=>e&&e.getTime,z=e=>M(e.filters),B=(e,t,n)=>r=>e(r)?t(r):n(r),V=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),ye=e=>e,be=e=>(t,...n)=>e()?`${t[0]}${n[0]}${t[1]}`:n[0],xe=e=>new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())),Se=({field:e,value:t,ignoreCase:n,operator:r})=>({value:`'${t.replace(/'/g,`''`)}'`,field:e,ignoreCase:n,operator:r}),Ce=({field:e,value:t,ignoreCase:n,operator:r})=>({value:`${encodeURIComponent(t)}`,field:e,ignoreCase:n,operator:r}),we=({field:e,value:t,ignoreCase:n,operator:r})=>({field:be(()=>n)`tolower(${e})`,value:t,ignoreCase:n,operator:r}),H=({field:e,value:t,ignoreCase:n,operator:r})=>({value:t,field:e.replace(/\./g,`/`),ignoreCase:n,operator:r}),Te=e=>I(e.value),Ee=e=>R(e.value),De=(e,t)=>n=>be(()=>n.filters.length>1)`(${n.filters.map(e).join(t(n))})`,Oe=e=>({"!=":`neq`,"<":`lt`,"<=":`lte`,"==":`eq`,">":`gt`,">=":`gte`,equal:`eq`,equals:`eq`,equalto:`eq`,ge:`gte`,greater:`gt`,greaterthan:`gt`,greaterthanequal:`gte`,isempty:`isempty`,isequalto:`eq`,isgreaterthan:`gt`,isgreaterthanorequalto:`gte`,islessthan:`lt`,islessthanorequalto:`lte`,isnotempty:`isnotempty`,isnotequalto:`neq`,isnull:`isnull`,le:`lte`,less:`lt`,lessthan:`lt`,lessthanequal:`lte`,ne:`neq`,notequal:`neq`,notequals:`neq`,notequalto:`neq`,notsubstringof:`doesnotcontain`})[e.toLowerCase()]||e,ke=e=>{e.filters&&=e.filters.map(e=>{let t=Object.assign({},e);return!z(e)&&I(e.operator)&&(t.operator=Oe(e.operator)),z(e)&&ke(t),t})},Ae=e=>z(e)?Object.assign({},e):{filters:P(e)?e:[e],logic:`and`},je=e=>(M(e)&&(e=Ae(e),ke(e)),e),Me=({utcDates:e})=>({field:t,value:n,ignoreCase:r,operator:i})=>({value:(e?n:xe(n)).toISOString(),field:t,ignoreCase:r,operator:i}),Ne=({operator:e})=>({field:t,value:n})=>`${e}(${t},${n})`,U=({operator:e})=>({field:t,value:n})=>`${t} ${e} ${n}`,Pe=e=>V(e,Ce,Se,we,H),W=e=>Pe(Ne(e)),Fe=e=>Pe(U(e)),Ie=e=>V(U(e),H),Le=e=>V(U(e),H,Me(e)),Re=e=>B(Ee,Le(e),Ie(e)),G=e=>B(Te,Fe(e),Re(e)),ze=e=>`${e} eq -1`,K=e=>V(e,H),Be=(e,t)=>({contains:W(Object.assign(Object.assign({},t),{operator:`contains`})),doesnotcontain:V(ze,W(Object.assign(Object.assign({},t),{operator:`indexof`}))),endswith:W(Object.assign(Object.assign({},t),{operator:`endswith`})),eq:G(Object.assign(Object.assign({},t),{operator:`eq`})),gt:G(Object.assign(Object.assign({},t),{operator:`gt`})),gte:G(Object.assign(Object.assign({},t),{operator:`ge`})),isempty:K(({field:e})=>`${e} eq ''`),isnotempty:K(({field:e})=>`${e} ne ''`),isnotnull:K(({field:e})=>`${e} ne null`),isnull:K(({field:e})=>`${e} eq null`),lt:G(Object.assign(Object.assign({},t),{operator:`lt`})),lte:G(Object.assign(Object.assign({},t),{operator:`le`})),neq:G(Object.assign(Object.assign({},t),{operator:`ne`})),startswith:W(Object.assign(Object.assign({},t),{operator:`startswith`}))})[e],Ve=e=>` ${e.logic} `,He=e=>t=>Be(t.operator,e)(t),Ue=e=>De(t=>B(z,Ue(e),He(e))(t),Ve),q={},We=/\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g;q.undefined=e=>e;let J=(e,t)=>{let n=e+t;if(q[n])return q[n];let r=[];return e.replace(We,(e,t,n,i)=>{r.push(M(t)?t:n||i)}),q[n]=e=>{let n=e;for(let e=0;e<r.length;e++)if(n=n[r[e]],!M(n)&&t)return n;return n},q[n]},Y=e=>t=>[e,t],Ge=()=>null,Ke=e=>M(e)&&P(e)&&e.length>0,X=e=>t=>M(e(t)),qe=e=>t=>Ke(e(t)),Z=(e,t)=>B(e,t,Ge),Je=({skip:e,take:t})=>Math.floor((e||0)/t)+1,Q=(e,t)=>n=>e(n).map(t).join(`~`),Ye=e=>t=>t.slice(0,t.indexOf(e)),Xe=(e=>V(...e.map(([e,t])=>n=>n.replace(new RegExp(e,`g`),t))))([[`"`,``],[`:`,`-`]]),Ze=Ye(`.`),Qe=({field:e,dir:t=`asc`})=>`${e}-${t}`,$e=({field:e,aggregate:t})=>`${e}-${t}`,et=J(`take`),tt=J(`aggregates`),nt=J(`skip`),rt=J(`group`),it=J(`sort`,!0),at=Q(it,Qe),ot=Q(rt,Qe),st=Q(tt,$e),ct=V(e=>`datetime'${e}'`,Ze,Xe,JSON.stringify,xe),lt=({field:e,value:t,ignoreCase:n,operator:r})=>({value:ct(t),field:e,ignoreCase:n,operator:r}),ut=V(Y(`page`),Je),dt=V(Y(`pageSize`),et),ft=V(Y(`group`),ot),pt=V(Y(`sort`),at),mt=V(Y(`aggregate`),st);Z(X(nt),ut),Z(X(et),dt),Z(qe(rt),ft),Z(X(tt),mt),Z(qe(it),pt);let ht=({field:e})=>ve(e),gt=({field:e,operator:t,value:n})=>`${e}~${t}~${n}`,_t=B(Ee,V(gt,lt),gt),vt=e=>Z(ht,B(Te,V(gt,Se,e?Ce:ye),_t)),yt=({logic:e})=>`~${e}~`,bt=e=>De(t=>B(z,bt(e),vt(e))(t),yt),xt=(e,t,n)=>(t[e]=n,t),St=e=>t=>Object.keys(t).reduce(e.bind(null,t),{}),Ct=St((e,t,n)=>xt(n.toLowerCase(),t,e[n])),wt=St((e,t,n)=>xt(n,t,Ct(e[n]))),Tt=(e,t)=>M(e)?e:t,Et=V(({field:e,hasSubgroups:t,value:n,aggregates:r,items:i})=>({aggregates:wt(r),field:e,items:t?i.map(Et):i,value:n}),e=>({aggregates:e.Aggregates||e.aggregates,field:e.Member||e.member||e.field,hasSubgroups:e.HasSubgroups||e.hasSubgroups||!1,items:e.Items||e.items,value:Tt(e.Key,Tt(e.key,e.value))})),Dt=(e,t)=>N(e)?e===t?0:-1:N(t)?1:e.localeCompare?e.localeCompare(t):e>t?1:e<t?-1:0,Ot=(e,t)=>Dt(t,e),kt=e=>{if(typeof e.compare==`function`)return e.compare;let t=J(e.field,!0);return(n,r)=>(e.dir===`asc`?Dt:Ot)(t(n),t(r))},At=(e,t)=>0,jt=e=>e.filter(e=>M(e.dir)||M(e.compare)).map(e=>kt(e)).reduce((e,t)=>(n,r)=>e(n,r)||t(n,r),At),Mt=e=>(e=M(e)&&e.getTime?e.getTime():e,e+``),Nt=e=>{let t=J(e,!0),n=0;return(r,i)=>{r[e]=r[e]||{};let a=t(i),o=Mt(a),s=r[e][o]||{__position:n++,aggregates:{},items:[],value:a};return s.items.push(i),r[e][o]=s,r}},Pt=(e={})=>(Object.keys(e).forEach(t=>{let n=e[t];Object.keys(n).forEach(e=>{n[e]=n[e].result()})}),e),Ft=e=>({average:()=>{let e=0,t=0,n=!1,r=null;return{calc:i=>{L(i)?(e+=i,t++,n=!0):!n&&r===null&&(r=i)},result:()=>n?e/t:r}},count:()=>{let e=0;return{calc:()=>e++,result:()=>e}},max:()=>{let e=-1/0;return{calc:t=>{e=L(e)||R(e)?e:t,e<t&&(L(t)||R(t))&&(e=t)},result:()=>e}},min:()=>{let e=1/0;return{calc:t=>{e=L(e)||R(e)?e:t,e>t&&(L(t)||R(t))&&(e=t)},result:()=>e}},sum:()=>{let e=0;return{calc:t=>{t=M(t)?t:0,e+=t},result:()=>e}}})[e](),It=e=>{let t=e.map(e=>{let t=J(e.field,!0),n=(e.aggregate||``).toLowerCase(),r=J(n,!0);return(i,a)=>{let o=i[e.field]||{},s=r(o)||Ft(n);return s.calc(t(a)),o[e.aggregate]=s,i[e.field]=o,i}});return(e,n)=>t.reduce((e,t)=>t(e,n),e)},Lt=e=>(t=>((n,r,i)=>t(n,e(r,i)))),Rt=e=>M(e.__value),zt=(e,t,n)=>{let r=t;for(let t=0,i=n.length;t<i;t++)if(r=e(r,n[t],t),Rt(r)){r=r.__value;break}return r},Bt=Lt(e=>e),Vt=(e,t=[],n=Bt)=>{let r={};return t.length?Pt(zt(n(It(t)),r,e)):r},Ht={or:{concat:(e,t)=>n=>e(n)||t(n),identity:()=>!1},and:{concat:(e,t)=>n=>e(n)&&t(n),identity:()=>!0}},Ut={contains:(e,t)=>(e||``).indexOf(t)>=0,doesnotcontain:(e,t)=>(e||``).indexOf(t)===-1,doesnotendwith:(e,t)=>(e||``).indexOf(t,(e||``).length-(t||``).length)<0,doesnotstartwith:(e,t)=>(e||``).lastIndexOf(t,0)===-1,endswith:(e,t)=>(e||``).indexOf(t,(e||``).length-(t||``).length)>=0,eq:(e,t)=>e===t,gt:(e,t)=>e>t,gte:(e,t)=>e>=t,isempty:e=>e===``,isnotempty:e=>e!==``,isnotnull:e=>M(e),isnull:e=>N(e),lt:(e,t)=>e<t,lte:(e,t)=>e<=t,neq:(e,t)=>e!=t,startswith:(e,t)=>(e||``).lastIndexOf(t,0)===0},Wt=/^\/Date\((.*?)\)\/$/,Gt=(e,t)=>{if(e!=null&&I(e)){let n=Wt.exec(e);if(n)return new Date(+n[1]).getTime();if(t)return e.toLowerCase()}else if(e!=null&&R(e))return e.getTime();return e},Kt=(e,t,n,r)=>{if(!M(t))return e;let i=e;if(I(t)){let a=Wt.exec(t);if(a)t=new Date(+a[1]);else{let t=F(r);i=r=>{let i=e(r);if(i===null||t&&P(i))return i;let a=typeof i==`string`?i:i+``;return n?a.toLowerCase():a}}}return R(t)?e=>{let t=i(e);return R(t)?t.getTime():t}:i},qt=({field:e,ignoreCase:t,value:n,operator:r})=>{e=M(e)?e:e=>e,t=M(t)?t:!0;let i=Kt(F(e)?e:J(e,!0),n,t,r);n=Gt(n,t);let a=F(r)?r:Ut[r];return e=>a(i(e),n,t)},Jt=e=>{let t=Ht[e.logic];return e.filters.filter(M).map(e=>z(e)?Jt(e):qt(e)).reduce(t.concat,t.identity)},Yt=e=>!e||e.filters.length===0?()=>!0:Jt(e),Xt=(e,t)=>!M(t)||z(t)&&t.filters.length===0?e:e.filter(Yt(je(t))),Zt=e=>(e=P(e)?e:[e],e.map(e=>Object.assign({dir:`asc`},e))),Qt=Lt(e=>e),$t=(e,t=[],n=Qt,r=e)=>{if(t=Zt(t),!t.length)return e;let i=t[0],a=zt(n(Nt(i.field)),{},e),o=[];if(Object.keys(a).forEach(e=>{Object.keys(a[e]).forEach(n=>{let s=a[e][n],c={},l=r;M(i.aggregates)&&(l=Xt(r,{field:i.field,ignoreCase:!1,operator:`eq`,value:s.value}),c=Vt(l,i.aggregates)),o[s.__position]={aggregates:c,field:e,items:t.length>1?$t(s.items,t.slice(1),Qt,l):s.items,value:s.value}})}),M(i.dir)||M(i.compare)){let e=jt([{field:`value`,dir:i.dir,compare:i.compare}]);o.sort(e)}return o};var en;(function(e){e.Contains=`contains`,e.DoesNotContain=`doesnotcontain`,e.DoesNotEndWith=`doesnotendwith`,e.DoesNotStartWith=`doesnotstartwith`,e.EndsWith=`endswith`,e.EqualTo=`eq`,e.GreaterThan=`gt`,e.GreaterThanOrEqual=`gte`,e.IsEmpty=`isempty`,e.IsNotEmpty=`isnotempty`,e.IsNotNull=`isnotnull`,e.IsNull=`isnull`,e.LessThan=`lt`,e.LessThanOrEqual=`lte`,e.NotEqualTo=`neq`,e.StartsWith=`startswith`})(en||={});function tn(e,t){`filters`in e?e.filters.map(e=>tn(e,t)):t(e)}let $=(e,t,n)=>{let r=e.get(t);return r||(r=n||new Map,e.set(t,r)),r},nn=(e,t,n)=>{e.forEach((r,i)=>{if(i!==n){r.size>0&&nn(r,t,n);let i=r.get(n),a=$(e,n,{});t.forEach(e=>{e.aggregate.init(a),e.aggregate.merge(i,a)})}})},rn=(e,t,n,r)=>{e.forEach((e,i)=>{let a;i===r?(a=$(t,i,{}),n.forEach(t=>{t.aggregate.init(a),t.aggregate.merge(e,a)})):(a=$(t,i),rn(e,a,n,r))})},an=(e,t,n,r)=>{e.forEach((i,a)=>{a!==n&&(i.size>0&&an(i,t,n,r),rn($(i,n),$(e,n),t,r))})},on=(e,t,n)=>{e.forEach((e,r)=>{n[r]||on(e,$(t,r),n)})};var sn=class{get elements(){return this.root?Array.from(this.root.querySelectorAll(this.selectors.join(`,`))):[]}get first(){return this.root&&this.root.querySelector(this.selectors.join(`,`))||null}get last(){let e=this.elements;return e[e.length-1]||null}get current(){return this.elements.find(e=>e.matches(`:focus`))}constructor(e){this.tabIndex=0,this.root=null,this.eventHandlers={},this.update=()=>{},this.tabIndex=e.tabIndex}start(e){for(let t in this.root=e,this.mouseEvents)this.mouseEvents[t]&&(this.eventHandlers[t]=(e=>{let n=e.target instanceof Element&&e.target.closest(this.selectors.join(`,`));n&&this.mouseEvents[t].call(void 0,n,this,e)}),e.addEventListener(t,this.eventHandlers[t]));for(let t in this.keyboardEvents)this.keyboardEvents[t]&&(this.eventHandlers[t]=(e=>{let n=e.target instanceof Element&&e.target.closest(this.selectors.join(`,`)),r=e.key===` `?`Space`:e.key;n&&this.keyboardEvents[t][r]&&this.keyboardEvents[t][r].call(void 0,n,this,e)}),e.addEventListener(t,this.eventHandlers[t]))}stop(){if(this.root)for(let e in this.eventHandlers)this.eventHandlers[e]&&this.root.removeEventListener(e,this.eventHandlers[e]);this.root=null}focusElement(e,t){e&&(t&&(t.removeAttribute(`tabindex`),t.classList.remove(`k-focus`)),e.setAttribute(`tabindex`,String(this.tabIndex)),e.focus({preventScroll:!0}))}};let cn=`.k-pivotgrid .k-pivotgrid-values`,ln=`.k-pivotgrid .k-pivotgrid-column-headers`,un=`.k-pivotgrid .k-pivotgrid-row-headers`,dn=`table.k-pivotgrid-table`,fn=`.k-pivotgrid-cell`;[cn,ln,un].join(`,`),[ln,dn,fn].join(` `),[un,dn,fn].join(` `),[cn,dn,fn].join(` `);let pn=[`.k-pivotgrid-configurator-content .k-form-field .k-fields-list-wrapper .k-treeview`,`.k-pivotgrid-configurator-content .k-chip`,`.k-pivotgrid-configurator-actions button`],mn=(e,t,n)=>{if(n.target instanceof HTMLElement&&t.root){let e=t.root.previousElementSibling,n=t.root.nextElementSibling,r=Array.from(e instanceof HTMLElement?e.querySelectorAll(`[tabindex]`):[]).find(e=>e.tabIndex>=0);r instanceof HTMLElement&&(r.focus(),n instanceof HTMLElement&&n.click())}},hn=(e,t,n,r)=>{n.preventDefault();let i=t.elements,a=i.indexOf(e)+r;a<0&&(a=i.length-1),t.focusElement(i[a%i.length],e)},gn=(e,t,n)=>{n.target instanceof HTMLElement&&n.target.querySelector(`.k-icon.k-i-x-circle, .k-svg-icon.k-svg-i-x-circle`)instanceof HTMLElement&&(n.preventDefault(),hn(e,t,n,-1))},_n={keydown:{Tab:(e,t,n)=>{hn(e,t,n,n.shiftKey?-1:1)},Escape:mn,Delete:gn,Backspace:gn}},vn={click:(e,t)=>{if(e&&e instanceof HTMLElement){let n=t.elements.find(e=>e.hasAttribute(`tabindex`))||null;t.focusElement(e,n)}}};var yn=class extends sn{constructor(){super(...arguments),this.selectors=pn,this.mouseEvents=vn,this.keyboardEvents=_n}};let bn={id:`pivot.configurator`,name:`PivotConfigurator`,category:`web`,depends:[`dropdownlist`,`treeview`,`treeview.draganddrop`,`pivot.fieldmenu`,`html.chip`,`html.chiplist`,`icons`],hidden:!0};(function(e,t){var n=window.kendo,r=n.ui,i=n.htmlEncode,a=r.Widget,o=`.kendoPivotConfigurator`,s=`mouseenter`+o+` mouseleave`+o,c=({title:e,headerTextId:t})=>`<div class="k-pivotgrid-configurator-header"><div class="k-pivotgrid-configurator-header-text" id="${t}">${i(e)}</div></div>`,l=({formClass:e,horizontal:t,ariaId:n})=>`<div class="k-pivotgrid-configurator-content"><form class="${i(e)}">${t?`<div class="k-form-field-wrapper">`:``}<div class="k-form-field"><label class="k-label" id="${n}-configurator-fields">Fields</label></div><div class="k-form-field"><div class="k-fields-list-wrapper"></div></div>${t?`</div><div class="k-form-field-wrapper">`:``}<div class="k-form-field"><label class="k-label" id="${n}-configurator-columns">Columns</label></div><div class="k-chip-list k-column-fields"></div><div class="k-form-field"><label class="k-label" id="${n}-configurator-rows">Rows</label></div><div class="k-chip-list k-row-fields"></div>${t?`</div><div class="k-form-field-wrapper">`:``}<div class="k-form-field"><label class="k-label" id="${n}-configurator-values">Values</label></div><div class="k-chip-list k-column-fields"></div>${t?`</div>`:``}</form></div>`,u=({name:e})=>`<span><span class="k-chip-label">${i(e)}</span></span>`,d=({cancelText:e,applyText:t})=>`<div class="k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end"><button class="k-button" aria-disabled="false"><span class="k-button-text">${i(e)}</span></button><button class="k-button k-button-primary" aria-disabled="false"><span class="k-button-text">${i(t)}</span></button></div>`,f=({name:e})=>`<div class="k-pivotgrid-target k-pivotgrid-configurator-section"><strong>${i(e)}</strong><div class="k-pivotgrid-target-wrap"></div>`;function p(e){for(var t,n=0,r=e.length;n<r;n++)if(e[n].type==2){t=!0;break}t&&e.splice(n+1,0,{caption:`KPIs`,defaultHierarchy:`[KPIs]`,name:`KPIs`,uniqueName:`[KPIs]`})}function m(e){return{name:e.uniqueName,type:e.type}}function h(e){for(var t=0,n=e.length;t<n;t++)e[t].uniqueName=e[t].name,e[t].type=`kpi`;return e}function g(t){var n=e(t).closest(`.k-pivot-setting`);return n.length?n.data(`kendoPivotSettingTarget`):null}function _(e,t){var r=t.sortable,i=``;return r&&(i+=e?`<span class="k-chip-action k-chip-more-action">${n.ui.icon(e+`-sm`)}</span>`:``),(t.filterable||r)&&(i+=`<span class="k-setting-fieldmenu k-chip-action">${n.ui.icon(`more-vertical`)}</span>`),i+=`<span class="k-setting-delete k-chip-action">${n.ui.icon(`x`)}</span>`,i}var v=a.extend({init:function(e,t){a.fn.init.call(this,e,t),this._ariaId=this.element.attr(`id`)||n.guid(),this.element.addClass(`k-pivotgrid-configurator`),this.element.attr({role:`dialog`,"aria-hidden":!0,"aria-labelledby":`${this._ariaId}-configurator-header`}),this._dataSource(),this.options.navigatable&&this._initPivotGridConfiguratorNavigation(),this._layout(),this.refresh(),t.height&&this.element.height(t.height),n.notify(this)},events:[],options:{name:`PivotConfiguratorV2`,orientation:`vertical`,filterable:!1,sortable:!1,messages:{title:`Settings`,cancelButtonText:`Cancel`,applyButtonText:`Apply`,measures:`Select some fields to begin setup`,columns:`Select some fields to begin setup`,rows:`Select some fields to begin setup`}},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.measures&&this.measures.setDataSource(e),this.rows&&this.rows.setDataSource(e),this.columns&&this.columns.setDataSource(e),this.refresh()},_initPivotGridConfiguratorNavigation:function(){var e=this;e.configuratorNavigation=new yn({tabIndex:0}),e.configuratorNavigation.start(e.element[0]);let t=e.configuratorNavigation.first;t&&t.setAttribute(`tabindex`,`0`)},_dataSource:function(){var e=this;e.dataSource&&e._refreshHandler?e.dataSource.unbind(`change`,e._refreshHandler).unbind(`error`,e._errorHandler).unbind(`progress`,e._progressHandler):(e._errorHandler=e._error.bind(e),e._refreshHandler=e.refresh.bind(e),e._progressHandler=e._requestStart.bind(e)),e.dataSource=n.data.PivotDataSourceV2.create(e.options.dataSource),e.dataSource.bind(`change`,e._refreshHandler).bind(`error`,e._errorHandler).bind(`progress`,e._progressHandler)},_layout:function(){var t=this,r=t.options,i=r.messages,a=r.orientation==`horizontal`,s=e(`<div class='k-pivotgrid-configurator-panel k-pivotgrid-configurator-push'></div>`);s.addClass(a?`k-pivotgrid-configurator-horizontal`:`k-pivotgrid-configurator-vertical`),t.element.append(s),t.panel=s,e(c({title:this.options.messages.title,headerTextId:`${t._ariaId}-configurator-header`})).appendTo(t.panel),e(l({formClass:a?`k-form k-form-horizontal`:`k-form`,filterable:r.filterable,horizontal:a,ariaId:t._ariaId})).appendTo(t.panel).find(`.k-chip-list`).each(function(t,i){n.html.renderChipList(i,e.extend({},r)),e(i).attr({role:`listbox`,"aria-orientation":`horizontal`})}),t._fields(),e(d({cancelText:i.cancelButtonText,applyText:i.applyButtonText})).appendTo(t.panel),t._targets(),t.element.on(`click`+o,`.k-pivotgrid-configurator-actions > button`,t._actions.bind(t))},_actions:function(t){t.preventDefault(),e(t.currentTarget).closest(`:not(path,svg)`).index()?(this.columns._applyState(),this.rows._applyState(),this.measures._applyState(),this.dataSource.read()):(this.columns._cancelChanges(),this.rows._cancelChanges(),this.measures._cancelChanges(),this.treeView.dataSource.read())},_targets:function(){var t=this,r=t.panel.find(`.k-column-fields`).first(),i=t.panel.find(`.k-row-fields`),a=t.panel.find(`.k-chip-list`).last(),o=this.options,s=({name:t,menuenabled:r})=>n.html.renderChip(u({name:t,menuenabled:r}),e.extend({},o,{removable:!0,removeIcon:`x-circle`,actions:r?[{icon:`more-vertical`}]:null}));this.columns=this._createTarget(r,{navigatable:o.navigatable,filterable:o.filterable,sortable:o.sortable,template:s,connectWith:i,messages:{empty:o.messages.columns,fieldMenu:this.options.messages.fieldMenu},configuratorNavigation:t.configuratorNavigation}),this.columns.element.attr(`aria-labelledby`,`${this._ariaId}-configurator-header ${this._ariaId}-configurator-columns`),this.rows=this._createTarget(i,{navigatable:o.navigatable,filterable:o.filterable,sortable:o.sortable,template:s,setting:`rows`,connectWith:r,messages:{empty:this.options.messages.rows,fieldMenu:this.options.messages.fieldMenu},configuratorNavigation:t.configuratorNavigation}),this.rows.element.attr(`aria-labelledby`,`${this._ariaId}-configurator-header ${this._ariaId}-configurator-rows`),this.measures=this._createTarget(a,{navigatable:o.navigatable,filterable:!1,sortable:!1,setting:`measures`,template:s,messages:{empty:o.messages.measures,fieldMenu:this.options.messages.fieldMenu},configuratorNavigation:t.configuratorNavigation}),this.measures.element.attr(`aria-labelledby`,`${this._ariaId}-configurator-header ${this._ariaId}-configurator-values`),[this.columns,this.rows,this.measures].forEach(e=>e.element.find(`.k-chip`).attr(`role`,`option`))},_createTarget:function(t,r){var i=this;return new n.ui.PivotSettingTargetV2(t,e.extend({dataSource:this.dataSource,hint:function(e){return e.clone()},remove:function(e){var t=i.treeView.wrapper.find(`[data-name='`+e.name+`']`).closest(`li`),r=t.attr(n.attr(`uid`)),a=i.treeView.dataSource.getByUid(r);a&&(a.checked=!1,t.find(`input`).attr(`checked`,!1))},template:r.template},r))},_fields:function(){var t=this,n=t.element.find(`.k-fields-list-wrapper`);this.treeView=e(`<div aria-labelledby="${this._ariaId}-configurator-header ${this._ariaId}-configurator-fields" />`).appendTo(n).kendoTreeView({checkboxes:{checkChildren:!0,template:({item:e})=>{var t=``;return(e.hasChildren||e.aggregator||e.local)&&e.uniqueName!==`[KPIs]`&&e.uniqueName!==`[Measures]`&&e.uniqueName!==`Measures`&&(t+=`<input type="checkbox" data-name="${i(e.uniqueName)}" ${e.checked?`checked`:``} class="k-checkbox" id="${i(e.uid)}" tabindex="-1">`),t}},dataTextField:`caption`,autoBind:!1,check:function(e){var n=e.sender.dataItem(e.node),r={type:O.toggleSelection,payload:n},i={columnAxes:t.columns._state(),rowAxes:t.rows._state(),measureAxes:t.measures._state()},a=k(i,r);t.dataSource.cubeSchema&&a.measureAxes&&a.measureAxes.length&&a.measureAxes.length>i.measureAxes.length&&t.dataSource.cubeSchema.restoreMeasure(a.measureAxes,n),n.defaultHierarchy&&n.items&&n.items.length&&(t._checkMembers([{name:n.defaultHierarchy}],n.items),n.items.trigger(`change`)),a.columnAxes&&(t.columns._state(a.columnAxes),t.columns._redraw()),a.rowAxes&&(t.rows._state(a.rowAxes),t.rows._redraw()),a.measureAxes&&(t.measures._state(a.measureAxes),t.measures._redraw())},dataSource:this._treeViewDataSource()}).data(`kendoTreeView`),this.treeView.wrapper.off(`click`,this.treeView._clickHandler)},_treeViewDataSource:function(){var t=this;return n.data.HierarchicalDataSource.create({schema:{model:{id:`uniqueName`,hasChildren:function(e){return t.dataSource.cubeSchema&&e.uniqueName!==`Measures`?(e.local=!0,!1):!(`hierarchyUniqueName`in e)&&!(`aggregator`in e)}}},transport:{read:function(n){var r,i=t.dataSource.transport,a=i.catalog(),o=i.cube(),s={url:i.options.read},c=t.columns._state(),l=t.rows._state(),u=t.measures._state(),d=c.concat(l).concat(u),f,m,g;e.isEmptyObject(n.data)?t.dataSource.cubeSchema?(f=t.dataSource.cubeSchema.dimensions(),t._checkMembers(d,f),n.success(f)):(g={connection:{catalog:a,cube:o},restrictions:{catalogName:a,cubeName:o},command:`schemaDimensions`},S(s,g).then(function(e){t._checkMembers(d,e),p(e),n.success(e)})):(r=t.treeView.dataSource.get(n.data.uniqueName),t.dataSource.cubeSchema?(m=t.dataSource.measures(),t._checkMembers(d,m),n.success(m)):r.uniqueName===`[KPIs]`?S(s,t._getKPIOptions(a,o)).then(function(e){n.success(h(e))}):r.type==`kpi`?n.success(x(r)):S(s,t._loadFieldsCommand(r,a,o)).then(function(e){t._checkMembers(d,e),n.success(e)}))}}})},_checkMembers:function(e,t){var n={},r=0;for(r=0;r<e.length;r++)n[e[r].name]=!0;for(r=0;r<t.length;r++)n[t[r].uniqueName]&&(t[r].checked=!0)},_getKPIOptions:function(e,t){return{connection:{catalog:e,cube:t},restrictions:{catalogName:e,cubeName:t},command:`schemaKPIs`}},_loadFieldsCommand:function(e,t,n){var r,i,a;return e.type===2?r=`schemaMeasures`:e.dimensionUniqueName?(r=`schemaLevels`,a=e.uniqueName):(r=`schemaHierarchies`,i=e.uniqueName),{connection:{catalog:t,cube:n},restrictions:{catalogName:t,cubeName:n,hierarchyUniqueName:a,dimensionUniqueName:i},command:r}},_progress:function(e){n.ui.progress(this.element,e)},_error:function(){this._progress(!1)},_requestStart:function(){this._progress(!0)},destroy:function(){a.fn.destroy.call(this),this.dataSource.unbind(`change`,this._refreshHandler),this.element.off(o),this.rows.destroy(),this.columns.destroy(),this.measures.destroy(),this.treeView.destroy(),this.element=null,this._refreshHandler=null},refresh:function(){this.treeView&&this.treeView.dataSource.fetch(),this._progress(!1)}});r.plugin(v);var y=a.extend({init:function(e,t){a.fn.init.call(this,e,t),this.element.addClass(`k-pivotgrid-configurator-panel kendo-jquery`),this.options.height&&this.element.outerHeight(this.options.height),this._dataSource(),this._layout(),this.refresh(),n.notify(this)},events:[],options:{name:`PivotConfigurator`,filterable:!1,sortable:!1,messages:{measures:`Drop Data Fields Here`,columns:`Drop Column Fields Here`,rows:`Drop Rows Fields Here`,measuresLabel:`Measures`,columnsLabel:`Columns`,rowsLabel:`Rows`,fieldsLabel:`Fields`}},_dataSource:function(){var e=this;e.dataSource&&e._refreshHandler?e.dataSource.unbind(`change`,e._refreshHandler).unbind(`error`,e._errorHandler).unbind(`progress`,e._progressHandler):(e._errorHandler=e._error.bind(e),e._refreshHandler=e.refresh.bind(e),e._progressHandler=e._requestStart.bind(e)),e.dataSource=n.data.PivotDataSource.create(e.options.dataSource),e.dataSource.bind(`change`,e._refreshHandler).bind(`error`,e._errorHandler).bind(`progress`,e._progressHandler)},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.measures&&this.measures.setDataSource(e),this.rows&&this.rows.setDataSource(e),this.columns&&this.columns.setDataSource(e),this.refresh()},_treeViewDataSource:function(){var t=this;return n.data.HierarchicalDataSource.create({schema:{model:{id:`uniqueName`,hasChildren:function(e){return!(`hierarchyUniqueName`in e)&&!(`aggregator`in e)}}},transport:{read:function(n){var r,i,a;e.isEmptyObject(n.data)?(r=t.dataSource.schemaDimensions(),r.done(function(e){t.dataSource.cubeBuilder||p(e),n.success(e)}).fail(n.error)):(i=t.treeView.dataSource.get(n.data.uniqueName),i.uniqueName===`[KPIs]`?(a=!0,r=t.dataSource.schemaKPIs(),r.done(function(e){n.success(h(e))}).fail(n.error)):i.type==`kpi`&&(a=!0,n.success(x(i))),a||(r=i.type==2?t.dataSource.schemaMeasures():i.dimensionUniqueName?t.dataSource.schemaLevels(n.data.uniqueName):t.dataSource.schemaHierarchies(n.data.uniqueName),r.done(n.success).fail(n.error)))}}})},_progress:function(e){n.ui.progress(this.element,e)},_error:function(){this._progress(!1)},_requestStart:function(){this._progress(!0)},_layout:function(){e(`<div class="k-pivotgrid-configurator"><div class="k-pivotgrid-configurator-content"></div></div>`).appendTo(this.element),this.form=this.element.find(`.k-pivotgrid-configurator-content`),this._fields(),this._targets()},_fields:function(){var t=e(`<div class="k-pivotgrid-fields k-pivotgrid-configurator-section"><strong>`+i(this.options.messages.fieldsLabel)+`</strong><div class="k-fields-list-wrapper"></div></div>`).appendTo(this.form);this.treeView=e(`<div/>`).appendTo(t.find(`.k-fields-list-wrapper`)).kendoTreeView({template:({item:e})=>{var t=``;return e.type==2||e.uniqueName==`[KPIs]`?t+=n.ui.icon(e.type==2?`sum`:`caret-alt-expand`):e.type&&e.type!==`kpi`&&(t+=n.ui.icon(`arrows-axes`)),t+=`${i(e.caption||e.name)}`,t},dataTextField:`caption`,dragAndDrop:!0,autoBind:!1,dataSource:this._treeViewDataSource(),dragstart:function(e){var t=this.dataItem(e.sourceNode);(!t.hasChildren&&!t.aggregator&&!t.measure||t.type==2||t.uniqueName===`[KPIs]`)&&e.preventDefault()},drag:function(e){var t=`cancel`,n=g(e.dropTarget);n&&n.validate(this.dataItem(e.sourceNode))&&(t=`plus`),e.setStatusClass(t)},drop:function(e){e.preventDefault();var t=g(e.dropTarget),n=this.dataItem(e.sourceNode),r,i,a,o;if(t&&t.validate(n)){if(o=n.defaultHierarchy||n.uniqueName,n.type===`kpi`)for(a=x(n),i=a.length,o=[],r=0;r<i;r++)o.push(m(a[r]));else n.kpi&&(o=[m(n)]);t.add(o)}}}).data(`kendoTreeView`)},_createTarget:function(t,r){return new n.ui.PivotSettingTarget(t,e.extend({dataSource:this.dataSource,template:({name:e,sortIcon:t})=>`<div class="k-chip" data-${n.ns}name="${e}"><span class="k-chip-content"><span class="k-chip-label">${e}</span></span><span class="k-chip-actions k-field-actions">`+_(t,r)+`</span></div>`,emptyTemplate:e=>`<span class="k-empty">${e}</span>`},r))},_targets:function(){var t=e(`<div class="k-pivotgrid-targets"/>`).appendTo(this.form),n=e(f({name:this.options.messages.columnsLabel,icon:`columns`})).appendTo(t),r=e(`<div class="k-column-fields k-chip-list" />`).appendTo(n.find(`.k-pivotgrid-target-wrap`)),i=e(f({name:this.options.messages.rowsLabel,icon:`rows`})).appendTo(t),a=e(`<div class="k-column-fields k-chip-list" />`).appendTo(i.find(`.k-pivotgrid-target-wrap`)),o=e(f({name:this.options.messages.measuresLabel,icon:`sum`})).appendTo(t),c=e(`<div class="k-column-fields k-chip-list" />`).appendTo(o.find(`.k-pivotgrid-target-wrap`)),l=this.options;this.columns=this._createTarget(r,{filterable:l.filterable,sortable:l.sortable,connectWith:a,messages:{empty:l.messages.columns,fieldMenu:l.messages.fieldMenu}}),this.rows=this._createTarget(a,{filterable:l.filterable,sortable:l.sortable,setting:`rows`,connectWith:r,messages:{empty:this.options.messages.rows,fieldMenu:this.options.messages.fieldMenu}}),this.measures=this._createTarget(c,{setting:`measures`,messages:{empty:l.messages.measures}}),r.add(a).add(c).on(s,`.k-item:not(.k-empty)`,this._toggleHover)},_toggleHover:function(t){e(t.currentTarget).closest(`:not(path,svg)`).toggleClass(`k-hover`,t.type===`mouseenter`)},_resize:function(){var e=this.element,t=this.options.height;t&&e.outerHeight(t)},refresh:function(){var e=this.dataSource;(e.cubeBuilder||this._cube!==e.cube()||this._catalog!==e.catalog())&&this.treeView.dataSource.fetch(),this._catalog=this.dataSource.catalog(),this._cube=this.dataSource.cube(),this._resize(),this._progress(!1)},destroy:function(){a.fn.destroy.call(this),this.dataSource.unbind(`change`,this._refreshHandler),this.form.find(`.k-pivot-setting`).off(o),this.rows.destroy(),this.columns.destroy(),this.measures.destroy(),this.treeView.destroy(),this.element=null,this._refreshHandler=null}});function b(e,t,n){return{hierarchyUniqueName:e,uniqueName:t,caption:t,measure:t,name:t,type:n,kpi:!0}}function x(e){var t=e.name;return[b(t,e.value,`value`),b(t,e.goal,`goal`),b(t,e.status,`status`),b(t,e.trend,`trend`)]}n.cssProperties.registerPrefix(`HTMLChip`,`k-chip-`),n.cssProperties.registerValues(`HTMLChip`,[{prop:`rounded`,values:n.cssProperties.roundedValues.concat([[`md`,`md`]])}]),r.plugin(y)})(window.kendo.jQuery);var xn=kendo;e.__meta__=bn,e.default=xn});
//# sourceMappingURL=kendo.pivot.configurator.min.js.map