@progress/kendo-angular-pivotgrid 0.2.0-dev.202208190706 → 0.2.0-dev.202208250747

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,4 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-common"),require("@progress/kendo-pivotgrid-common"),require("rxjs"),require("rxjs/operators"),require("@progress/kendo-angular-l10n"),require("@angular/common"),require("@progress/kendo-angular-indicators"),require("@progress/kendo-angular-treeview"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-inputs")):"function"==typeof define&&define.amd?define("KendoAngularPivotgrid",["exports","@angular/core","@progress/kendo-licensing","@progress/kendo-angular-common","@progress/kendo-pivotgrid-common","rxjs","rxjs/operators","@progress/kendo-angular-l10n","@angular/common","@progress/kendo-angular-indicators","@progress/kendo-angular-treeview","@progress/kendo-angular-buttons","@progress/kendo-angular-inputs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularPivotgrid={},e.ng.core,e.KendoLicensing,e.KendoAngularCommon,e.KendoPivotgridCommon,e.rxjs,e.rxjs.operators,e.KendoAngularL10N,e.ng.common,e.KendoAngularIndicators,e.KendoAngularTreeview,e.KendoAngularButtons,e.KendoAngularInputs)}(this,function(e,n,M,l,d,i,R,t,H,V,G,z,j){"use strict";function o(n){var o;return n&&n.__esModule?n:(o=Object.create(null),n&&Object.keys(n).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(n,e),Object.defineProperty(o,e,t.get?t:{enumerable:!0,get:function(){return n[e]}}))}),o.default=n,Object.freeze(o))}var r=o(n),a=o(l),s=o(t),c=o(H),p=o(V),u=o(G),g=o(z),f=o(j),q={name:"@progress/kendo-angular-pivotgrid",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1660892763,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},W=function(e,t){return(W=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])})(e,t)};function h(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}W(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function _(e,a,s,l){return new(s=s||Promise)(function(n,t){function o(e){try{i(l.next(e))}catch(e){t(e)}}function r(e){try{i(l.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,r)}i((l=l.apply(e,a||[])).next())})}function K(o,r){var i,a,s,l={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(n){return function(e){var t=[n,e];if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,a&&(s=2&t[0]?a.return:t[0]?a.throw||((s=a.return)&&s.call(a),0):a.next)&&!(s=s.call(a,t[1])).done)return s;switch(a=0,(t=s?[2&t[0],s.value]:t)[0]){case 0:case 1:s=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,a=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(!(s=0<(s=l.trys).length&&s[s.length-1])&&(6===t[0]||2===t[0])){l=0;continue}if(3===t[0]&&(!s||t[1]>s[0]&&t[1]<s[3]))l.label=t[1];else if(6===t[0]&&l.label<s[1])l.label=s[1],s=t;else{if(!(s&&l.label<s[2])){s[2]&&l.ops.pop(),l.trys.pop();continue}l.label=s[2],l.ops.push(t)}}t=r.call(o,l)}catch(e){t=[6,e],a=0}finally{i=s=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}}}Object.create;function m(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}function v(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||((o=o||Array.prototype.slice.call(t,0,r))[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}Object.create;function Z(e,t,n,o){(e="Y"===o?-U(e,o):U(e,o))&&(t[0][n]=t[1][n]+=e)}var U=function(e,t){var n=e["wheelDelta"+t];return e.wheelDelta&&(void 0===n||n)?e.wheelDelta:e.detail&&e.axis===e["X"===t?"HORIZONTAL_AXIS":"VERTICAL_AXIS"]?10*-e.detail:0};function X(e){var t={};return function e(t,n){for(var o in t){var r;t.hasOwnProperty(o)&&(r=t[o],Array.isArray(r)?n[o]=r.slice(0):!r||"object"!=typeof r||r instanceof Date?n[o]=r:(n[o]=n[o]||{},e(r,n[o])))}}(e,t),t}function Y(e,t){n=J(a=e),i=n.clientTop,n=n.clientLeft,o=Q(a),r=o.pageYOffset,o=o.pageXOffset;var n,o,r={top:(a=a.getBoundingClientRect()).top+r-i,left:a.left+o-n},i=e.offsetWidth,a=e.offsetHeight;return{left:r.left+(t?0:i),top:r.top+a/2,height:a}}function $(e,n,o){return e.reduce(function(e,t){return n(t)?v(v([],m(e)),[o(t)]):e},[])}var J=function(e){return e.ownerDocument.documentElement},Q=function(e){return e.ownerDocument.defaultView},ee=0,y=(te.prototype.updateRowsAndCols=function(){var n=this,e=d.toTree((this.rows||[]).slice()),e=m(d.toRows(e),4),t=e[0],o=e[1],r=e[2],e=e[3],i=d.toTree((this.columns||[]).slice()),i=m(d.toColumns(i),3),a=i[0],s=i[1],i=i[2];this.columnHeaderLeaves=s,this.columnHeaderCols.next(s),this.columnHeaderRows.next(a),this.rowHeaderLeaves=o,this.rowHeaderCols.next(new Array(e).fill({})),this.rowHeaderRows.next(t),this.valuesRows.next(d.toData((this.normalizedData||[]).slice(),s,o,i,r)),l.isDocumentAvailable()&&this.ngZone.runOutsideAngular(function(){setTimeout(function(){return e=n.wrapper,t=e.querySelectorAll(".k-pivotgrid-row-headers .k-pivotgrid-row"),o=e.querySelectorAll(".k-pivotgrid-column-headers th"),r=e.querySelectorAll(".k-pivotgrid-values td"),t.forEach(function(e,t){var n=$(Array.from(r),function(e){return e.getAttribute("id").split("-")[4]===(t+1).toString()},function(e){return e.getAttribute("id")});e.setAttribute("aria-owns",n.join(" "))}),void r.forEach(function(e){var n=+e.getAttribute("id").split("-")[5],t=$(Array.from(o),function(e){var t=+e.getAttribute("id").split("-")[5],e=+e.getAttribute("colspan");return n==t||1<e&&n<=t+e-1},function(e){return e.getAttribute("id")});e.setAttribute("aria-describedby",t.join(" "))});var e,t,o,r})})},te);function te(e){this.ngZone=e,this.expandedStateChange=new n.EventEmitter,this.configuratorFieldChange=new n.EventEmitter,this.expandedFieldChange=new n.EventEmitter,this.columnHeaderRows=new i.BehaviorSubject([]),this.columnHeaderCols=new i.BehaviorSubject([]),this.rowHeaderCols=new i.BehaviorSubject([]),this.rowHeaderRows=new i.BehaviorSubject([]),this.valuesRows=new i.BehaviorSubject([]),this.loading=new i.BehaviorSubject(!1),this.fields=new i.BehaviorSubject([]),this.configuredFields=new i.BehaviorSubject([]),this.pivotGridId=ee++}y.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:y,deps:[{token:r.NgZone}],target:r.ɵɵFactoryTarget.Injectable}),y.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:y}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:y,decorators:[{type:n.Injectable}],ctorParameters:function(){return[{type:r.NgZone}]},propDecorators:{expandedStateChange:[{type:n.Output}],configuratorFieldChange:[{type:n.Output}],expandedFieldChange:[{type:n.Output}]}});Object.defineProperty(ne.prototype,"expanded",{get:function(){var e;return(null==(e=this.kendoPivotGridCell)?void 0:e.hasChildren)&&this.kendoPivotGridCell.children.length},enumerable:!1,configurable:!0}),ne.prototype.ngOnInit=function(){var e,t,n=this.hostEl.nativeElement,o=(this.renderer.setAttribute(n,"rowspan",this.kendoPivotGridCell.rowSpan||1),this.renderer.setAttribute(n,"colspan",this.kendoPivotGridCell.colSpan||1),{"k-pivotgrid-header-total":(null==(e=this.kendoPivotGridCell)?void 0:e.total)||"values"===this.tableType&&(this.dataService.rowHeaderLeaves[this.rowIndex].total||this.dataService.columnHeaderLeaves[this.colIndex].total),"k-pivotgrid-header-root":0===(null==(e=this.kendoPivotGridCell)?void 0:e.levelNum),"k-pivotgrid-expanded":(null==(e=this.kendoPivotGridCell)?void 0:e.hasChildren)&&this.kendoPivotGridCell.children.length,"k-first":0<this.colIndex});for(t in o)o[t]&&this.renderer.addClass(n,t)};var b=ne;function ne(e,t,n){var o=this;this.hostEl=e,this.renderer=t,this.dataService=n,this.cellClass=!0,this.handleClick=function(){o.dataService.expandedStateChange.emit({action:o.expanded?"collapse":"expand",cell:o.kendoPivotGridCell,tableType:o.tableType})}}b.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:b,deps:[{token:r.ElementRef},{token:r.Renderer2},{token:y}],target:r.ɵɵFactoryTarget.Component}),b.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:b,selector:"[kendoPivotGridCell]",inputs:{kendoPivotGridCell:"kendoPivotGridCell",tableType:"tableType",rowIndex:"rowIndex",colIndex:"colIndex"},host:{properties:{"class.k-pivotgrid-cell":"this.cellClass"}},ngImport:r,template:'\n <span \n *ngIf="kendoPivotGridCell.hasChildren && !kendoPivotGridCell.total"\n class="k-icon"\n aria-hidden="true"\n [kendoEventsOutsideAngular]="{\n click: handleClick\n }"\n [ngClass]="{\n \'k-i-arrow-chevron-up\': expanded,\n \'k-i-arrow-chevron-down\': !expanded\n }"></span>{{ kendoPivotGridCell.data ? kendoPivotGridCell.data.fmtValue : kendoPivotGridCell.caption }}',isInline:!0,directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:a.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]},{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:b,decorators:[{type:n.Component,args:[{selector:"[kendoPivotGridCell]",template:'\n <span \n *ngIf="kendoPivotGridCell.hasChildren && !kendoPivotGridCell.total"\n class="k-icon"\n aria-hidden="true"\n [kendoEventsOutsideAngular]="{\n click: handleClick\n }"\n [ngClass]="{\n \'k-i-arrow-chevron-up\': expanded,\n \'k-i-arrow-chevron-down\': !expanded\n }"></span>{{ kendoPivotGridCell.data ? kendoPivotGridCell.data.fmtValue : kendoPivotGridCell.caption }}'}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:y}]},propDecorators:{cellClass:[{type:n.HostBinding,args:["class.k-pivotgrid-cell"]}],kendoPivotGridCell:[{type:n.Input}],tableType:[{type:n.Input}],rowIndex:[{type:n.Input}],colIndex:[{type:n.Input}]}});Object.defineProperty(oe.prototype,"pivotGridId",{get:function(){return"kendo-pivotgrid-"+this.dataService.pivotGridId+"-"},enumerable:!1,configurable:!0}),oe.prototype.ngOnInit=function(){var t=this;this.dataChangeSubs.add(this.dataService[this.tableType+"Rows"].subscribe(function(e){return t.rows=e})),this.dataChangeSubs.add("values"===this.tableType?this.dataService.columnHeaderCols.subscribe(function(e){return t.headerItems=e}):this.dataService[this.tableType+"Cols"].subscribe(function(e){return t.headerItems=e}))},oe.prototype.ngOnDestroy=function(){this.dataChangeSubs.unsubscribe()};var x=oe;function oe(e){this.dataService=e,this.dataChangeSubs=new i.Subscription}x.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:x,deps:[{token:y}],target:r.ɵɵFactoryTarget.Component}),x.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:x,selector:"kendo-pivotgrid-table",inputs:{tableType:"tableType",colWidth:"colWidth"},ngImport:r,template:'\n <table\n class="k-pivotgrid-table"\n role="presentation">\n <colgroup>\n <col \n *ngFor="let item of headerItems;"\n [style.width]="tableType !== \'rowHeader\' ? colWidth >= 0 ? colWidth + \'px\' : \'200px\' : undefined" />\n </colgroup>\n <tbody class="k-pivotgrid-tbody" role="rowgroup">\n <tr *ngFor="let row of rows; index as rowIndex"\n class="k-pivotgrid-row"\n role="row">\n <ng-container *ngFor="let cell of row.cells; index as colIndex">\n <th\n *ngIf="cell && tableType !== \'values\'" \n [kendoPivotGridCell]="cell"\n [tableType]="tableType"\n [colIndex]="colIndex"\n [rowIndex]="rowIndex"\n [attr.aria-expanded]="cell.hasChildren && cell.children.length ? \'true\' : \'false\'"\n [attr.role]="tableType === \'columnHeader\' ? \'columnheader\' : \'rowheader\'"\n [attr.id]="pivotGridId + (tableType === \'columnHeader\' ? \'ch-\' : \'rh-\') + (rowIndex + 1) + \'-\' + (colIndex + 1)"></th>\n <td\n *ngIf="cell && tableType === \'values\'"\n [kendoPivotGridCell]="cell"\n tableType="values"\n [colIndex]="colIndex"\n [rowIndex]="rowIndex"\n role="gridcell"\n [attr.id]="pivotGridId + \'cell-\' + (rowIndex + 1) + \'-\' + (colIndex + 1)"></td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n ',isInline:!0,components:[{type:b,selector:"[kendoPivotGridCell]",inputs:["kendoPivotGridCell","tableType","rowIndex","colIndex"]}],directives:[{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:x,decorators:[{type:n.Component,args:[{selector:"kendo-pivotgrid-table",template:'\n <table\n class="k-pivotgrid-table"\n role="presentation">\n <colgroup>\n <col \n *ngFor="let item of headerItems;"\n [style.width]="tableType !== \'rowHeader\' ? colWidth >= 0 ? colWidth + \'px\' : \'200px\' : undefined" />\n </colgroup>\n <tbody class="k-pivotgrid-tbody" role="rowgroup">\n <tr *ngFor="let row of rows; index as rowIndex"\n class="k-pivotgrid-row"\n role="row">\n <ng-container *ngFor="let cell of row.cells; index as colIndex">\n <th\n *ngIf="cell && tableType !== \'values\'" \n [kendoPivotGridCell]="cell"\n [tableType]="tableType"\n [colIndex]="colIndex"\n [rowIndex]="rowIndex"\n [attr.aria-expanded]="cell.hasChildren && cell.children.length ? \'true\' : \'false\'"\n [attr.role]="tableType === \'columnHeader\' ? \'columnheader\' : \'rowheader\'"\n [attr.id]="pivotGridId + (tableType === \'columnHeader\' ? \'ch-\' : \'rh-\') + (rowIndex + 1) + \'-\' + (colIndex + 1)"></th>\n <td\n *ngIf="cell && tableType === \'values\'"\n [kendoPivotGridCell]="cell"\n tableType="values"\n [colIndex]="colIndex"\n [rowIndex]="rowIndex"\n role="gridcell"\n [attr.id]="pivotGridId + \'cell-\' + (rowIndex + 1) + \'-\' + (colIndex + 1)"></td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n '}]}],ctorParameters:function(){return[{type:y}]},propDecorators:{tableType:[{type:n.Input}],colWidth:[{type:n.Input}]}});re.prototype.parseConfiguratorState=function(e){var t=d.configuratorReducer({filter:[],sort:[],rowAxes:this.state.rowAxes,columnAxes:this.state.columnAxes,measureAxes:this.state.measureAxes,dragItem:this.state.dragItem,dropDirection:this.state.dropDirection,dropTarget:this.state.dropTarget,dropZone:this.state.dropZone},e);Object.keys(t).forEach(function(e){return void 0===t[e]&&delete t[e]}),this.state=Object.assign(Object.assign({},this.state),t),this.configuratorStateChange.emit(this.state)};var k=re;function re(){this.configuratorStateChange=new n.EventEmitter}k.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:k,deps:[],target:r.ɵɵFactoryTarget.Injectable}),k.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:k}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:k,decorators:[{type:n.Injectable}],propDecorators:{configuratorStateChange:[{type:n.Output}]}});I.prototype.create=function(){this.dom=document.createElement("span"),this.dom.style.position="absolute";var e=document.createElement("div"),t=(e.classList.add("k-drop-hint","k-drop-hint-v"),document.createElement("div")),n=(t.classList.add("k-drop-hint-start"),document.createElement("div")),o=(n.classList.add("k-drop-hint-line"),document.createElement("div"));o.classList.add("k-drop-hint-end"),e.append(t,n,o),this.dom.append(e),this.hide()},I.prototype.attach=function(){return e=this.dom,!1||(document.body.appendChild(e),0),e;var e},I.prototype.remove=function(){this.dom&&this.dom.parentElement&&(document.body.removeChild(this.dom),this.dom=null)},I.prototype.hide=function(){this.dom.style.display="none"},I.prototype.position=function(e){var t=e.left,n=e.top,e=e.height,e=(this.dom.style.display="block",this.dom.style.height=e+"px",this.dom.style.top=n+"px",this.dom.style.zIndex="1000",this.dom.offsetWidth/2);this.dom.style.left=t-e+"px"};var T=I;function I(){}T.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:T,deps:[],target:r.ɵɵFactoryTarget.Injectable}),T.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:T}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:T,decorators:[{type:n.Injectable}]});w.prototype.ngOnInit=function(){var e=this,t=this.element.nativeElement;this.elementType="KENDO-CHIP"===t.nodeName?"chip":"container",this.zone.runOutsideAngular(function(){e.subs.add(e.renderer.listen(t,"mouseenter",e.handleMouseEnter.bind(e))),e.subs.add(e.renderer.listen(t,"mousemove",e.handleMouseMove.bind(e))),e.subs.add(e.renderer.listen(t,"mouseleave",e.handleMouseLeave.bind(e)))})},w.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},w.prototype.handleMouseEnter=function(e){this.configuratorService.state.dragItem&&("chip"===this.elementType&&(this.configuratorService.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDropTarget,payload:this.item}),this.targetElement=e.target,this.cue.position(Y(e.target,"before"===this.configuratorService.state.dropDirection))),this.configuratorService.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDropZone,payload:this.axes}))},w.prototype.handleMouseMove=function(e){var t;this.configuratorService.state.dragItem&&"chip"===this.elementType&&this.element.nativeElement&&(t=this.element.nativeElement.getBoundingClientRect(),(e=e.clientX-t.left<t.width/2?"before":"after")!==this.configuratorService.state.dropDirection&&this.targetElement&&this.cue.position(Y(this.targetElement,"before"==e)),this.configuratorService.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDropDirection,payload:e}))},w.prototype.handleMouseLeave=function(){"chip"!==this.elementType&&this.configuratorService.state.dragItem&&this.configuratorService.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDropZone,payload:null})};var C=w;function w(e,t,n,o,r){this.element=e,this.configuratorService=t,this.cue=n,this.renderer=o,this.zone=r,this.subs=new i.Subscription}C.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:C,deps:[{token:r.ElementRef},{token:k},{token:T},{token:r.Renderer2},{token:r.NgZone}],target:r.ɵɵFactoryTarget.Directive}),C.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"[kendoDropTarget]",inputs:{item:"item",axes:"axes"},ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:C,decorators:[{type:n.Directive,args:[{selector:"[kendoDropTarget]"}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:k},{type:T},{type:r.Renderer2},{type:r.NgZone}]},propDecorators:{item:[{type:n.Input}],axes:[{type:n.Input}]}});Object.defineProperty(ie.prototype,"pointerEvents",{get:function(){return this.drag?"none":void 0},enumerable:!1,configurable:!0}),ie.prototype.ngOnInit=function(){var t=this;this.zone.runOutsideAngular(function(){return t.subs.add(t.draggable.kendoPress.subscribe(function(e){l.isDocumentAvailable()&&(t.cue.create(),t.cue.attach(),t.initialX.current=e.clientX,t.initialY.current=e.clientY)}))}),this.zone.runOutsideAngular(function(){return t.subs.add(t.draggable.kendoDrag.subscribe(function(e){if(l.isDocumentAvailable()){if(Math.abs(t.initialX.current-e.clientX)<10&&Math.abs(t.initialY.current-e.clientY)<10)return;t.element.nativeElement&&(t.element.nativeElement.style.transform="translate("+(e.clientX-t.initialX.current)+"px, "+(e.clientY-t.initialY.current)+"px)")}t.drag=!0,t.service.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDragItem,payload:t.item})}))}),this.zone.runOutsideAngular(function(){return t.subs.add(t.draggable.kendoRelease.subscribe(function(){t.drag=!1,t.service.state.dragItem&&(l.isDocumentAvailable()&&(t.element.nativeElement&&(t.element.nativeElement.style.transform=""),t.cue.remove()),t.service.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.drop,payload:t.item}),t.service.state.dragItem=null,t.service.state.dropDirection=null,t.service.state.dropTarget=null,t.service.state.dropZone=null)}))})},ie.prototype.ngOnDestroy=function(){this.subs.unsubscribe()};var D=ie;function ie(e,t,n,o,r){this.draggable=e,this.element=t,this.zone=n,this.service=o,this.cue=r,this.touchActions="none",this.initialX={},this.initialY={},this.subs=new i.Subscription}D.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:D,deps:[{token:a.DraggableDirective,optional:!0},{token:r.ElementRef},{token:r.NgZone},{token:k},{token:T}],target:r.ɵɵFactoryTarget.Directive}),D.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:D,selector:"[kendoChipDraggable]",inputs:{item:"item"},host:{properties:{"style.pointerEvents":"this.pointerEvents","style.touch-action":"this.touchActions"}},ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:D,decorators:[{type:n.Directive,args:[{selector:"[kendoChipDraggable]"}]}],ctorParameters:function(){return[{type:a.DraggableDirective,decorators:[{type:n.Optional}]},{type:r.ElementRef},{type:r.NgZone},{type:k},{type:T}]},propDecorators:{pointerEvents:[{type:n.HostBinding,args:["style.pointerEvents"]}],touchActions:[{type:n.HostBinding,args:["style.touch-action"]}],item:[{type:n.Input}]}});A.prototype.ngOnInit=function(){var t=this;this.subs.add(this.dataService.fields.subscribe(function(e){t.fields=e})),this.subs.add(this.dataService.configuredFields.subscribe(function(e){t.originalState=X(e),t.setState(X(e)),t.setChecked()})),this.subs.add(this.configuratorService.configuratorStateChange.subscribe(function(e){t.state=e,t.cdr.detectChanges()}))},A.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},A.prototype.getName=function(e){return e.toString()},A.prototype.setState=function(e){this.state=e,this.configuratorService.state=e},A.prototype.messageFor=function(e){return this.localization.get(e)},Object.defineProperty(A.prototype,"columnHierarchies",{get:function(){return this.extractDefaultFields(this.state.columnAxes)},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"rowHierarchies",{get:function(){return this.extractDefaultFields(this.state.rowAxes)},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"measureHierarchies",{get:function(){return this.extractDefaultFields(this.state.measureAxes)},enumerable:!1,configurable:!0}),A.prototype.setChecked=function(e){var n=this,e=(void 0===e&&(e=[]),v(v([],m(this.fields)),m(e))),e=this.getFieldsFlatMap(e).filter(function(t){return v(v(v([],m(n.columnHierarchies)),m(n.rowHierarchies)),m(n.measureHierarchies)).some(function(e){return e===t.uniqueName||e===t.defaultHierarchy})});this.checked=e},A.prototype.isItemChecked=function(t){var e;return this.checked.some(function(e){return t.defaultHierarchy?e.defaultHierarchy===t.defaultHierarchy:e.uniqueName===t.uniqueName})||(null==(e=t.children)?void 0:e.length)&&(null==(e=t.children)?void 0:e.every(function(e){return e.checked}))||null},A.prototype.isSelectable=function(e){var t=!("hierarchyUniqueName"in e||"aggregator"in e);return!Boolean(!t&&!e.aggregator&&!e.measure||2===e.type||"[KPIs]"===e.uniqueName)},A.prototype.handleChildrenLoaded=function(e){"local"!==this.dataService.directive.type&&(e=e.children.map(function(e){return e.dataItem}),this.setChecked(e))},A.prototype.handleCheckedChange=function(e,t){e.target.checked?this.checked=v(v([],m(this.checked)),[t]):(e=this.checked.findIndex(function(e){return e.uniqueName===t.uniqueName}),this.checked.splice(e,1));e={type:"PIVOT_CONFIGURATOR_ACTION_TOGGLE_SELECTION",payload:t};this.configuratorService.parseConfiguratorState(e)},A.prototype.handleSubmit=function(){this.dataService.configuratorFieldChange.emit(this.state)},A.prototype.handleReset=function(){this.setState(X(this.originalState)),this.setChecked()},A.prototype.getFieldsFlatMap=function(e){var t=this,n=v([],m(e=void 0===e?[]:e));return(e||[]).forEach(function(e){n=n.concat(t.getFieldsFlatMap(e.children))}),n},A.prototype.extractDefaultFields=function(e){void 0===e&&(e=[]);var t=new Set;return e.forEach(function(e){t.add(String(e.name))}),Array.from(t)};var O=A;function A(e,t,n,o){var r=this;this.dataService=e,this.localization=t,this.configuratorService=n,this.cdr=o,this.hostClass=!0,this.horizontal=!1,this.checked=[],this.subs=new i.Subscription,this.hasChildren=function(e){return!("hierarchyUniqueName"in e||"aggregator"in e)},this.children=function(e){return"olap"===r.dataService.directive.type?i.from(r.dataService.directive.fetchChildren(e,r.fields)).pipe(R.mergeMap(function(e){return i.of(e)})):i.of(e.children)}}O.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:O,deps:[{token:y},{token:s.LocalizationService},{token:k},{token:r.ChangeDetectorRef}],target:r.ɵɵFactoryTarget.Component}),O.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"kendo-pivotgrid-configurator",inputs:{horizontal:"horizontal"},host:{properties:{"class.k-pivotgrid-configurator":"this.hostClass"}},providers:[k,T],ngImport:r,template:'\n <div \n class="k-pivotgrid-configurator-panel k-pivotgrid-configurator-push"\n [ngClass]="{\n \'k-pivotgrid-configurator-horizontal\': horizontal,\n \'k-pivotgrid-configurator-vertical\': !horizontal\n }"\n >\n <div class="k-pivotgrid-configurator-header">\n <div class="k-pivotgrid-configurator-header-text">{{messageFor(\'configuratorHeaderText\')}}</div>\n </div>\n\n <div class="k-pivotgrid-configurator-content">\n <div class="k-form" [class.k-form-horizontal]="horizontal">\n <div class="k-form-field-wrapper">\n <div class="k-form-field">\n <span class="k-label">{{messageFor(\'configuratorFieldsText\')}}</span>\n </div>\n\n <div class="k-form-field">\n <div class="k-fields-list-wrapper">\n <kendo-treeview\n [nodes]="fields"\n textField="caption"\n [children]="children"\n [hasChildren]="hasChildren"\n kendoTreeViewExpandable\n (childrenLoaded)="handleChildrenLoaded($event)"\n >\n <ng-template kendoTreeViewNodeTemplate let-dataItem>\n <input kendoCheckBox\n *ngIf="isSelectable(dataItem)"\n type="checkbox" \n kendoCheckBox\n [checked]="isItemChecked(dataItem)"\n (change)="handleCheckedChange($event, dataItem)"/>\n {{ dataItem.caption }}\n </ng-template>\n </kendo-treeview>\n\n </div>\n </div>\n </div>\n\n <div *ngIf="horizontal; else verticalTemplate" class="k-form-field-wrapper">\n <ng-container *ngTemplateOutlet="verticalTemplate"></ng-container>\n </div>\n\n <ng-template #verticalTemplate>\n <div class="k-form-field" kendoDropTarget axes="columnAxes">\n <span class="k-label">{{messageFor(\'configuratorColumnsText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.columnAxes && state.columnAxes.length; else noColumnAxes"\n kendoDropTarget\n axes="columnAxes"\n >\n <kendo-chip *ngFor="let item of state.columnAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="columnAxes"\n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noColumnAxes>\n <div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor(\'configuratorEmptyColumnsText\')}}</div>\n </ng-template>\n\n <div class="k-form-field" kendoDropTarget axes="rowAxes">\n <span class="k-label">{{messageFor(\'configuratorRowsText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.rowAxes && state.rowAxes.length; else noRowAxes"\n kendoDropTarget\n axes="rowAxes"\n >\n <kendo-chip *ngFor="let item of state.rowAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="rowAxes"\n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noRowAxes>\n <div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor(\'configuratorEmptyRowsText\')}}</div>\n </ng-template>\n </ng-template>\n\n <div *ngIf="horizontal; else elseTpl2" class="k-form-field-wrapper">\n <ng-container *ngTemplateOutlet="elseTpl2"></ng-container>\n </div>\n\n <ng-template #elseTpl2>\n <div class="k-form-field" kendoDropTarget axes="measureAxes">\n <span class="k-label">{{messageFor(\'configuratorValuesText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.measureAxes && state.measureAxes.length; else noMeasureAxes"\n kendoDropTarget\n axes="measureAxes"\n >\n <kendo-chip *ngFor="let item of state.measureAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="measureAxes"\n \n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noMeasureAxes>\n <div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor(\'configuratorEmptyMeasuresText\')}}</div>\n </ng-template>\n </ng-template>\n \n </div>\n </div>\n <div class="k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end">\n <button kendoButton type="button" (click)="handleReset()">{{messageFor(\'configuratorCancelButtonText\')}}</button>\n <button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor(\'configuratorApplyButtonText\')}}</button>\n </div>\n </div>\n ',isInline:!0,components:[{type:u.TreeViewComponent,selector:"kendo-treeview",inputs:["filterInputPlaceholder","expandDisabledNodes","animate","nodeTemplate","loadMoreButtonTemplate","trackBy","nodes","textField","hasChildren","isChecked","isDisabled","isExpanded","isSelected","isVisible","navigable","children","loadOnDemand","filterable","filter","size","disableParentNodesOnly"],outputs:["childrenLoaded","blur","focus","expand","collapse","nodeDragStart","nodeDrag","filterStateChange","nodeDrop","nodeDragEnd","addItem","removeItem","checkedChange","selectionChange","filterChange","nodeClick","nodeDblClick"],exportAs:["kendoTreeView"]},{type:g.ChipListComponent,selector:"kendo-chiplist, kendo-chip-list",inputs:["selection","size"],outputs:["selectedChange","remove"]},{type:g.ChipComponent,selector:"kendo-chip",inputs:["label","icon","iconClass","avatarClass","selected","removable","removeIcon","disabled","size","rounded","fillMode","themeColor"],outputs:["remove","contentClick"]}],directives:[{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:u.ExpandDirective,selector:"[kendoTreeViewExpandable]",inputs:["isExpanded","expandBy","expandOnFilter","expandedKeys"],outputs:["expandedKeysChange"]},{type:u.NodeTemplateDirective,selector:"[kendoTreeViewNodeTemplate]"},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:f.CheckBoxDirective,selector:"input[kendoCheckBox]",inputs:["size","rounded"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:C,selector:"[kendoDropTarget]",inputs:["item","axes"]},{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:D,selector:"[kendoChipDraggable]",inputs:["item"]},{type:a.DraggableDirective,selector:"[kendoDraggable]",inputs:["enableDrag"],outputs:["kendoPress","kendoDrag","kendoRelease"]},{type:g.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:O,decorators:[{type:n.Component,args:[{selector:"kendo-pivotgrid-configurator",providers:[k,T],template:'\n <div \n class="k-pivotgrid-configurator-panel k-pivotgrid-configurator-push"\n [ngClass]="{\n \'k-pivotgrid-configurator-horizontal\': horizontal,\n \'k-pivotgrid-configurator-vertical\': !horizontal\n }"\n >\n <div class="k-pivotgrid-configurator-header">\n <div class="k-pivotgrid-configurator-header-text">{{messageFor(\'configuratorHeaderText\')}}</div>\n </div>\n\n <div class="k-pivotgrid-configurator-content">\n <div class="k-form" [class.k-form-horizontal]="horizontal">\n <div class="k-form-field-wrapper">\n <div class="k-form-field">\n <span class="k-label">{{messageFor(\'configuratorFieldsText\')}}</span>\n </div>\n\n <div class="k-form-field">\n <div class="k-fields-list-wrapper">\n <kendo-treeview\n [nodes]="fields"\n textField="caption"\n [children]="children"\n [hasChildren]="hasChildren"\n kendoTreeViewExpandable\n (childrenLoaded)="handleChildrenLoaded($event)"\n >\n <ng-template kendoTreeViewNodeTemplate let-dataItem>\n <input kendoCheckBox\n *ngIf="isSelectable(dataItem)"\n type="checkbox" \n kendoCheckBox\n [checked]="isItemChecked(dataItem)"\n (change)="handleCheckedChange($event, dataItem)"/>\n {{ dataItem.caption }}\n </ng-template>\n </kendo-treeview>\n\n </div>\n </div>\n </div>\n\n <div *ngIf="horizontal; else verticalTemplate" class="k-form-field-wrapper">\n <ng-container *ngTemplateOutlet="verticalTemplate"></ng-container>\n </div>\n\n <ng-template #verticalTemplate>\n <div class="k-form-field" kendoDropTarget axes="columnAxes">\n <span class="k-label">{{messageFor(\'configuratorColumnsText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.columnAxes && state.columnAxes.length; else noColumnAxes"\n kendoDropTarget\n axes="columnAxes"\n >\n <kendo-chip *ngFor="let item of state.columnAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="columnAxes"\n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noColumnAxes>\n <div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor(\'configuratorEmptyColumnsText\')}}</div>\n </ng-template>\n\n <div class="k-form-field" kendoDropTarget axes="rowAxes">\n <span class="k-label">{{messageFor(\'configuratorRowsText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.rowAxes && state.rowAxes.length; else noRowAxes"\n kendoDropTarget\n axes="rowAxes"\n >\n <kendo-chip *ngFor="let item of state.rowAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="rowAxes"\n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noRowAxes>\n <div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor(\'configuratorEmptyRowsText\')}}</div>\n </ng-template>\n </ng-template>\n\n <div *ngIf="horizontal; else elseTpl2" class="k-form-field-wrapper">\n <ng-container *ngTemplateOutlet="elseTpl2"></ng-container>\n </div>\n\n <ng-template #elseTpl2>\n <div class="k-form-field" kendoDropTarget axes="measureAxes">\n <span class="k-label">{{messageFor(\'configuratorValuesText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.measureAxes && state.measureAxes.length; else noMeasureAxes"\n kendoDropTarget\n axes="measureAxes"\n >\n <kendo-chip *ngFor="let item of state.measureAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="measureAxes"\n \n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noMeasureAxes>\n <div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor(\'configuratorEmptyMeasuresText\')}}</div>\n </ng-template>\n </ng-template>\n \n </div>\n </div>\n <div class="k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end">\n <button kendoButton type="button" (click)="handleReset()">{{messageFor(\'configuratorCancelButtonText\')}}</button>\n <button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor(\'configuratorApplyButtonText\')}}</button>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:y},{type:s.LocalizationService},{type:k},{type:r.ChangeDetectorRef}]},propDecorators:{hostClass:[{type:n.HostBinding,args:["class.k-pivotgrid-configurator"]}],horizontal:[{type:n.Input}]}});h(se,ae=t.ComponentMessages);var ae,u=se;function se(){return null!==ae&&ae.apply(this,arguments)||this}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:u,deps:null,target:r.ɵɵFactoryTarget.Directive}),u.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:u,inputs:{fieldMenuFilterItemLabel:"fieldMenuFilterItemLabel",fieldMenuSortAscendingItemLabel:"fieldMenuSortAscendingItemLabel",fieldMenuSortDescendingItemLabel:"fieldMenuSortDescendingItemLabel",filterInputLabel:"filterInputLabel",filterOperatorsDropDownLabel:"filterOperatorsDropDownLabel",filterEqOperator:"filterEqOperator",filterNotEqOperator:"filterNotEqOperator",filterIsNullOperator:"filterIsNullOperator",filterIsNotNullOperator:"filterIsNotNullOperator",filterIsEmptyOperator:"filterIsEmptyOperator",filterIsNotEmptyOperator:"filterIsNotEmptyOperator",filterStartsWithOperator:"filterStartsWithOperator",filterContainsOperator:"filterContainsOperator",filterNotContainsOperator:"filterNotContainsOperator",filterEndsWithOperator:"filterEndsWithOperator",filterFilterButton:"filterFilterButton",filterClearButton:"filterClearButton",loading:"loading",emptyCellLabel:"emptyCellLabel",configuratorButtonText:"configuratorButtonText",configuratorHeaderText:"configuratorHeaderText",configuratorFieldsText:"configuratorFieldsText",configuratorColumnsText:"configuratorColumnsText",configuratorRowsText:"configuratorRowsText",configuratorValuesText:"configuratorValuesText",configuratorCancelButtonText:"configuratorCancelButtonText",configuratorApplyButtonText:"configuratorApplyButtonText",configuratorEmptyRowsText:"configuratorEmptyRowsText",configuratorEmptyColumnsText:"configuratorEmptyColumnsText",configuratorEmptyMeasuresText:"configuratorEmptyMeasuresText"},usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:u,decorators:[{type:n.Directive}],propDecorators:{fieldMenuFilterItemLabel:[{type:n.Input}],fieldMenuSortAscendingItemLabel:[{type:n.Input}],fieldMenuSortDescendingItemLabel:[{type:n.Input}],filterInputLabel:[{type:n.Input}],filterOperatorsDropDownLabel:[{type:n.Input}],filterEqOperator:[{type:n.Input}],filterNotEqOperator:[{type:n.Input}],filterIsNullOperator:[{type:n.Input}],filterIsNotNullOperator:[{type:n.Input}],filterIsEmptyOperator:[{type:n.Input}],filterIsNotEmptyOperator:[{type:n.Input}],filterStartsWithOperator:[{type:n.Input}],filterContainsOperator:[{type:n.Input}],filterNotContainsOperator:[{type:n.Input}],filterEndsWithOperator:[{type:n.Input}],filterFilterButton:[{type:n.Input}],filterClearButton:[{type:n.Input}],loading:[{type:n.Input}],emptyCellLabel:[{type:n.Input}],configuratorButtonText:[{type:n.Input}],configuratorHeaderText:[{type:n.Input}],configuratorFieldsText:[{type:n.Input}],configuratorColumnsText:[{type:n.Input}],configuratorRowsText:[{type:n.Input}],configuratorValuesText:[{type:n.Input}],configuratorCancelButtonText:[{type:n.Input}],configuratorApplyButtonText:[{type:n.Input}],configuratorEmptyRowsText:[{type:n.Input}],configuratorEmptyColumnsText:[{type:n.Input}],configuratorEmptyMeasuresText:[{type:n.Input}]}});h(de,le=u);var le,S=de;function de(e){var t=le.call(this)||this;return t.service=e,t}S.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:S,deps:[{token:s.LocalizationService}],target:r.ɵɵFactoryTarget.Directive}),S.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:S,selector:"[kendoPivotGridLocalizedMessages]",providers:[{provide:u,useExisting:n.forwardRef(function(){return S})}],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:S,decorators:[{type:n.Directive,args:[{providers:[{provide:u,useExisting:n.forwardRef(function(){return S})}],selector:"[kendoPivotGridLocalizedMessages]"}]}],ctorParameters:function(){return[{type:s.LocalizationService}]}});var ce={type:"converging-spinner",themeColor:"primary",size:"large"},pe={position:"right",horizontal:!1},f=(Object.defineProperty(E.prototype,"rightPositionClass",{get:function(){var e;return"right"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"leftPositionClass",{get:function(){var e;return"left"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"bottomPositionClass",{get:function(){var e;return"bottom"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"topPositionClass",{get:function(){var e;return"top"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"dir",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"loaderSettings",{get:function(){return this._loaderSettings},set:function(e){this._loaderSettings=Object.assign({},ce,e)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"loadingText",{get:function(){return this.localization.get("loading")},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"configuratorSettings",{get:function(){return this.configurator&&Object.assign({},pe,this.configurator)},enumerable:!1,configurable:!0}),E.prototype.ngAfterViewInit=function(){var r=this;l.isDocumentAvailable()&&this.zone.runOutsideAngular(function(){var e=r.rowHeadersTable.nativeElement.firstElementChild,t=new ResizeObserver(function(){return r.resizeContainer("Columns",e)}),n=(t.observe(e),r.colHeadersTable.nativeElement.firstElementChild),o=new ResizeObserver(function(){return r.resizeContainer("Rows",n)});o.observe(n),r.resizeObservers=[t,o],r.subs.add(i.fromEvent(e,"wheel").pipe(R.merge(i.fromEvent(n,"wheel"),i.fromEvent(r.valuesTable.nativeElement,"scroll"))).subscribe(function(e){return r.handleScroll(e)}))})},E.prototype.ngAfterContentInit=function(){var t=this;this.subs.add(this.dataService.loading.subscribe(function(e){return t.loading=e}))},E.prototype.ngOnDestroy=function(){this.resizeObservers.forEach(function(e){return e.disconnect()}),this.subs.unsubscribe()},E.prototype.messageFor=function(e){return this.localization.get(e)},E);function E(e,t,n,o,r){var a=this;this.zone=t,this.dataService=n,this.localization=o,this.hostClass=!0,this.ariaRole="grid",this.columnHeadersWidth=200,this.resizeObservers=[],this._loaderSettings=ce,this.subs=new i.Subscription,this.rtl=!1,this.resizeContainer=function(e,t){var n=a.table.nativeElement,o="Rows"===e?"offsetHeight":"offsetWidth";n.style["gridTemplate"+e]="",n.style["gridTemplate"+e]=t[o]+"px 1fr"},this.handleScroll=function(e){var t,n,o,r,i;e.target===a.valuesTable.nativeElement?(t=e.target,n=[a.rowHeadersTable.nativeElement,a.colHeadersTable.nativeElement],o=t.scrollTop,t=t.scrollLeft,r=n[0].scrollTop,i=t!==n[1].scrollLeft,o!==r?n[0].scrollTop=o:i&&(n[1].scrollLeft=t)):e.target.closest(".k-pivotgrid-row-headers")?Z(e,[a.valuesTable.nativeElement,a.rowHeadersTable.nativeElement],"scrollTop","Y"):e.target.closest(".k-pivotgrid-column-headers")&&Z(e,[a.valuesTable.nativeElement,a.colHeadersTable.nativeElement],"scrollLeft","X")},M.validatePackage(q),this.subs.add(this.localization.changes.subscribe(function(e){e=e.rtl;a.rtl=e,a.direction=a.rtl?"rtl":"ltr"})),n.wrapper=e.nativeElement}f.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:f,deps:[{token:r.ElementRef},{token:r.NgZone},{token:y},{token:s.LocalizationService},{token:a.ScrollbarWidthService}],target:r.ɵɵFactoryTarget.Component}),f.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:f,selector:"kendo-pivotgrid",inputs:{loaderSettings:"loaderSettings",configurator:"configurator",columnHeadersWidth:"columnHeadersWidth"},host:{properties:{"class.k-d-flex":"this.hostClass","class.k-pos-relative":"this.hostClass","class.k-flex-row":"this.rightPositionClass","class.k-flex-row-reverse":"this.leftPositionClass","class.k-flex-column":"this.bottomPositionClass","class.k-flex-column-reverse":"this.topPositionClass","attr.dir":"this.dir","attr.role":"this.ariaRole"}},providers:[y,t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.pivotgrid"}],viewQueries:[{propertyName:"colHeadersTable",first:!0,predicate:["colHeadersTable"],descendants:!0,read:n.ElementRef},{propertyName:"rowHeadersTable",first:!0,predicate:["rowHeadersTable"],descendants:!0,read:n.ElementRef},{propertyName:"valuesTable",first:!0,predicate:["valuesTable"],descendants:!0,read:n.ElementRef},{propertyName:"table",first:!0,predicate:["table"],descendants:!0,read:n.ElementRef}],ngImport:r,template:'\n <ng-container kendoPivotGridLocalizedMessages\n i18n-loading="kendo.pivotgrid.loading|The loading text"\n loading="Loading"\n \n i18n-emptyCellLabel="kendo.pivotgrid.emptyCellLabel|The value of the aria-label attribute placed on the focusable empty cell element"\n emptyCellLabel="PivotGrid Empty Cell"\n \n i18n-fieldMenuFilterItemLabel="kendo.pivotgrid.fieldMenuFilterItemLabel|The text content of the filter item in the column and row fields menu"\n fieldMenuFilterItemLabel="Filter"\n\n i18n-fieldMenuSortAscendingItemLabel="kendo.pivotgrid.fieldMenuSortAscendingItemLabel|The text content of the sort ascending item in the column and row fields menu"\n fieldMenuSortAscendingItemLabel="Sort ascending"\n\n i18n-fieldMenuSortDescendingItemLabel="kendo.pivotgrid.fieldMenuSortDescendingItemLabel|The text content of the sort descending item in the column and row fields menu"\n fieldMenuSortDescendingItemLabel="Sort descending"\n\n i18n-filterInputLabel="kendo.pivotgrid.filterInputLabel|The label of the filter input"\n filterInputLabel="{{ \'{fields} Filter\' }}"\n\n i18n-filterOperatorsDropDownLabel="kendo.pivotgrid.filterOperatorsDropDownLabel|The label of the filter operators DropDownList"\n filterOperatorsDropDownLabel="{{ \'{fields} Filter Operators\' }}"\n\n i18n-filterEqOperator="kendo.pivotgrid.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.pivotgrid.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.pivotgrid.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.pivotgrid.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.pivotgrid.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.pivotgrid.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.pivotgrid.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.pivotgrid.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.pivotgrid.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.pivotgrid.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterFilterButton="kendo.pivotgrid.filterFilterButton|The text of the filter button"\n filterFilterButton="Filter"\n\n i18n-filterClearButton="kendo.pivotgrid.filterClearButton|The text of the clear filter button"\n filterClearButton="Clear"\n\n i18n-configuratorButtonText="kendo.pivotgrid.configuratorButtonText|The text content of the button that opens and closes the PivotGrid configurator"\n configuratorButtonText="Change Settings"\n\n i18n-configuratorHeaderText="kendo.pivotgrid.configuratorHeaderText|The text content of the PivotGrid configurator title element"\n configuratorHeaderText="Settings"\n\n i18n-configuratorFieldsText="kendo.pivotgrid.configuratorFieldsText|The text content of the PivotGrid configurator fields section title element"\n configuratorFieldsText="Fields"\n\n i18n-configuratorColumnsText="kendo.pivotgrid.configuratorColumnsText|The text content of the PivotGrid configurator columns section title element"\n configuratorColumnsText="Columns"\n\n i18n-configuratorRowsText="kendo.pivotgrid.configuratorRowsText|The text content of the PivotGrid configurator rows section title element"\n configuratorRowsText="Rows"\n\n i18n-configuratorValuesText="kendo.pivotgrid.configuratorValuesText|The text content of the PivotGrid configurator values section title element"\n configuratorValuesText="Values"\n\n i18n-configuratorCancelButtonText="kendo.pivotgrid.configuratorCancelButtonText|The text content of the PivotGrid configurator configurator Cancel button"\n configuratorCancelButtonText="Cancel"\n\n i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"\n configuratorApplyButtonText="Apply"\n \n i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"\n configuratorEmptyRowsText="Select some fields to begin setup"\n \n i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"\n configuratorEmptyColumnsText="Select some fields to begin setup"\n \n i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"\n configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>\n\n <div #table class="k-pivotgrid">\n <span class="k-pivotgrid-empty-cell" [attr.aria-label]="messageFor(\'emptyCellLabel\')"></span>\n <kendo-pivotgrid-table\n #colHeadersTable\n [colWidth]="columnHeadersWidth"\n class="k-pivotgrid-column-headers"\n tableType="columnHeader"></kendo-pivotgrid-table>\n <kendo-pivotgrid-table\n #rowHeadersTable\n class="k-pivotgrid-row-headers"\n tableType="rowHeader"></kendo-pivotgrid-table>\n <kendo-pivotgrid-table\n #valuesTable\n [colWidth]="columnHeadersWidth"\n class="k-pivotgrid-values"\n tableType="values"></kendo-pivotgrid-table>\n \n <div *ngIf="loading" class="k-loader">\n <kendo-loader\n [type]="loaderSettings?.type"\n [themeColor]="loaderSettings?.themeColor"\n [size]="loaderSettings?.size"\n >\n </kendo-loader>\n <span class="k-loading-text">{{ loadingText }}</span>\n </div>\n </div>\n\n <kendo-pivotgrid-configurator\n *ngIf="showConfigurator"\n [horizontal]="configuratorSettings.horizontal">\n </kendo-pivotgrid-configurator>\n\n <div *ngIf="configurator"\n class="k-pivotgrid-configurator-button"\n (click)="showConfigurator = !showConfigurator">\n <span>{{ messageFor(\'configuratorButtonText\') }}<span class="k-icon k-i-gear k-color-inherit"></span>\n </span>\n </div>\n ',isInline:!0,styles:["\n /** TODO: Remove if added to themes */\n div.k-loader {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n "],components:[{type:x,selector:"kendo-pivotgrid-table",inputs:["tableType","colWidth"]},{type:p.LoaderComponent,selector:"kendo-loader",inputs:["type","themeColor","size"]},{type:O,selector:"kendo-pivotgrid-configurator",inputs:["horizontal"]}],directives:[{type:S,selector:"[kendoPivotGridLocalizedMessages]"},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:f,decorators:[{type:n.Component,args:[{selector:"kendo-pivotgrid",providers:[y,t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.pivotgrid"}],template:'\n <ng-container kendoPivotGridLocalizedMessages\n i18n-loading="kendo.pivotgrid.loading|The loading text"\n loading="Loading"\n \n i18n-emptyCellLabel="kendo.pivotgrid.emptyCellLabel|The value of the aria-label attribute placed on the focusable empty cell element"\n emptyCellLabel="PivotGrid Empty Cell"\n \n i18n-fieldMenuFilterItemLabel="kendo.pivotgrid.fieldMenuFilterItemLabel|The text content of the filter item in the column and row fields menu"\n fieldMenuFilterItemLabel="Filter"\n\n i18n-fieldMenuSortAscendingItemLabel="kendo.pivotgrid.fieldMenuSortAscendingItemLabel|The text content of the sort ascending item in the column and row fields menu"\n fieldMenuSortAscendingItemLabel="Sort ascending"\n\n i18n-fieldMenuSortDescendingItemLabel="kendo.pivotgrid.fieldMenuSortDescendingItemLabel|The text content of the sort descending item in the column and row fields menu"\n fieldMenuSortDescendingItemLabel="Sort descending"\n\n i18n-filterInputLabel="kendo.pivotgrid.filterInputLabel|The label of the filter input"\n filterInputLabel="{{ \'{fields} Filter\' }}"\n\n i18n-filterOperatorsDropDownLabel="kendo.pivotgrid.filterOperatorsDropDownLabel|The label of the filter operators DropDownList"\n filterOperatorsDropDownLabel="{{ \'{fields} Filter Operators\' }}"\n\n i18n-filterEqOperator="kendo.pivotgrid.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.pivotgrid.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.pivotgrid.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.pivotgrid.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.pivotgrid.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.pivotgrid.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.pivotgrid.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.pivotgrid.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.pivotgrid.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.pivotgrid.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterFilterButton="kendo.pivotgrid.filterFilterButton|The text of the filter button"\n filterFilterButton="Filter"\n\n i18n-filterClearButton="kendo.pivotgrid.filterClearButton|The text of the clear filter button"\n filterClearButton="Clear"\n\n i18n-configuratorButtonText="kendo.pivotgrid.configuratorButtonText|The text content of the button that opens and closes the PivotGrid configurator"\n configuratorButtonText="Change Settings"\n\n i18n-configuratorHeaderText="kendo.pivotgrid.configuratorHeaderText|The text content of the PivotGrid configurator title element"\n configuratorHeaderText="Settings"\n\n i18n-configuratorFieldsText="kendo.pivotgrid.configuratorFieldsText|The text content of the PivotGrid configurator fields section title element"\n configuratorFieldsText="Fields"\n\n i18n-configuratorColumnsText="kendo.pivotgrid.configuratorColumnsText|The text content of the PivotGrid configurator columns section title element"\n configuratorColumnsText="Columns"\n\n i18n-configuratorRowsText="kendo.pivotgrid.configuratorRowsText|The text content of the PivotGrid configurator rows section title element"\n configuratorRowsText="Rows"\n\n i18n-configuratorValuesText="kendo.pivotgrid.configuratorValuesText|The text content of the PivotGrid configurator values section title element"\n configuratorValuesText="Values"\n\n i18n-configuratorCancelButtonText="kendo.pivotgrid.configuratorCancelButtonText|The text content of the PivotGrid configurator configurator Cancel button"\n configuratorCancelButtonText="Cancel"\n\n i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"\n configuratorApplyButtonText="Apply"\n \n i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"\n configuratorEmptyRowsText="Select some fields to begin setup"\n \n i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"\n configuratorEmptyColumnsText="Select some fields to begin setup"\n \n i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"\n configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>\n\n <div #table class="k-pivotgrid">\n <span class="k-pivotgrid-empty-cell" [attr.aria-label]="messageFor(\'emptyCellLabel\')"></span>\n <kendo-pivotgrid-table\n #colHeadersTable\n [colWidth]="columnHeadersWidth"\n class="k-pivotgrid-column-headers"\n tableType="columnHeader"></kendo-pivotgrid-table>\n <kendo-pivotgrid-table\n #rowHeadersTable\n class="k-pivotgrid-row-headers"\n tableType="rowHeader"></kendo-pivotgrid-table>\n <kendo-pivotgrid-table\n #valuesTable\n [colWidth]="columnHeadersWidth"\n class="k-pivotgrid-values"\n tableType="values"></kendo-pivotgrid-table>\n \n <div *ngIf="loading" class="k-loader">\n <kendo-loader\n [type]="loaderSettings?.type"\n [themeColor]="loaderSettings?.themeColor"\n [size]="loaderSettings?.size"\n >\n </kendo-loader>\n <span class="k-loading-text">{{ loadingText }}</span>\n </div>\n </div>\n\n <kendo-pivotgrid-configurator\n *ngIf="showConfigurator"\n [horizontal]="configuratorSettings.horizontal">\n </kendo-pivotgrid-configurator>\n\n <div *ngIf="configurator"\n class="k-pivotgrid-configurator-button"\n (click)="showConfigurator = !showConfigurator">\n <span>{{ messageFor(\'configuratorButtonText\') }}<span class="k-icon k-i-gear k-color-inherit"></span>\n </span>\n </div>\n ',styles:["\n /** TODO: Remove if added to themes */\n div.k-loader {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n "]}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.NgZone},{type:y},{type:s.LocalizationService},{type:a.ScrollbarWidthService}]},propDecorators:{hostClass:[{type:n.HostBinding,args:["class.k-d-flex"]},{type:n.HostBinding,args:["class.k-pos-relative"]}],rightPositionClass:[{type:n.HostBinding,args:["class.k-flex-row"]}],leftPositionClass:[{type:n.HostBinding,args:["class.k-flex-row-reverse"]}],bottomPositionClass:[{type:n.HostBinding,args:["class.k-flex-column"]}],topPositionClass:[{type:n.HostBinding,args:["class.k-flex-column-reverse"]}],dir:[{type:n.HostBinding,args:["attr.dir"]}],ariaRole:[{type:n.HostBinding,args:["attr.role"]}],colHeadersTable:[{type:n.ViewChild,args:["colHeadersTable",{read:n.ElementRef}]}],rowHeadersTable:[{type:n.ViewChild,args:["rowHeadersTable",{read:n.ElementRef}]}],valuesTable:[{type:n.ViewChild,args:["valuesTable",{read:n.ElementRef}]}],table:[{type:n.ViewChild,args:["table",{read:n.ElementRef}]}],loaderSettings:[{type:n.Input}],configurator:[{type:n.Input}],columnHeadersWidth:[{type:n.Input}]}});var ue,ge=function(e,t,n){this.columnAxes=e,this.rowAxes=t,this.measureAxes=n},fe=(h(he,ue=l.PreventableEvent),he);function he(e){var t=ue.call(this)||this;return Object.assign(t,e),t}h(ye,me=l.PreventableEvent);var me,ve=ye;function ye(e){var t=me.call(this)||this;return Object.assign(t,e),t}Object.defineProperty(F.prototype,"state",{get:function(){return new ge(this.columnAxes,this.rowAxes,this.measureAxes)},enumerable:!1,configurable:!0}),F.prototype.ngOnInit=function(){var o=this;this.loadData(this.state),this.loadFields(),this.subs.add(this.dataService.expandedStateChange.subscribe(function(n){o.zone.run(function(){var e="columnHeader"===n.tableType,t=e?"columnAxes":"rowAxes",e=d.toTree((e?o.dataService.columns:o.dataService.rows||[]).slice());o.updateHeaders(t,e,n.cell.path)})})),this.subs.add(this.dataService.configuratorFieldChange.subscribe(function(t){o.zone.run(function(){if(l.hasObservers(o.configurationChange)){var e=new ve(t);if(o.configurationChange.emit(e),e.isDefaultPrevented())return}o.dataService.configuredFields.next({columnAxes:t.columnAxes,rowAxes:t.rowAxes,measureAxes:t.measureAxes}),o.loadData(t)})})),this.dataService.directive=this},F.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},F.prototype.updateDataServiceFields=function(){this.dataService.normalizedData=this.dataState.data,this.dataService.rows=this.dataState.rows,this.dataService.columns=this.dataState.columns,this.dataService.updateRowsAndCols()},F.prototype.updateConfiguratorFields=function(){this.dataService.fields.next(this.configuratorFields),this.dataService.configuredFields.next({columnAxes:this.columnAxes,rowAxes:this.rowAxes,measureAxes:this.measureAxes})},F.prototype.updateHeaders=function(e,t,n){n={type:d.HEADERS_ACTION.toggle,payload:n},n=d.headersReducer(this[e].slice(),Object.assign(Object.assign({},n),{tree:t}));if(l.hasObservers(this.expandChange)){t=Object.assign(Object.assign({},this.state),((t={})[e]=n,t)),t=new fe(t);if(this.expandChange.emit(t),t.isDefaultPrevented())return}this[e]=n,this.loadData(this.state)};g=F;function F(e,t){this.dataService=e,this.zone=t,this.columnAxes=[],this.rowAxes=[],this.measureAxes=[],this.expandChange=new n.EventEmitter,this.configurationChange=new n.EventEmitter,this.subs=new i.Subscription}g.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:g,deps:[{token:y},{token:r.NgZone}],target:r.ɵɵFactoryTarget.Directive}),g.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:g,selector:"kendo-base-binding-directive",inputs:{columnAxes:"columnAxes",rowAxes:"rowAxes",measureAxes:"measureAxes"},outputs:{expandChange:"expandChange",configurationChange:"configurationChange"},ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:g,decorators:[{type:n.Directive,args:[{selector:"kendo-base-binding-directive"}]}],ctorParameters:function(){return[{type:y},{type:r.NgZone}]},propDecorators:{columnAxes:[{type:n.Input}],rowAxes:[{type:n.Input}],measureAxes:[{type:n.Input}],expandChange:[{type:n.Output}],configurationChange:[{type:n.Output}]}});var be,xe={dataField:"aggregate",columnsData:"columns"},p=(h(P,be=g),P.prototype.ngOnChanges=function(e){l.anyChanged(["data","dimensions","columnAxes","rowAxes","measureAxes","measures"],e)&&this.loadData(this.state)},P.prototype.fetchChildren=function(e){return e.children},P.prototype.loadFields=function(){this.configuratorFields=d.createFlatSchemaDimensions(this.dimensions,this.measures),this.updateConfiguratorFields()},P.prototype.loadData=function(e){var n=this,t=e.columnAxes,o=e.rowAxes,e=e.measureAxes,r=this.getRootAxes(t),i=this.getRootAxes(o),r=r.split("&").map(this.createAxisSettings),i=i.split("&").map(this.createAxisSettings),e=e.map(function(t){return n.measures.find(function(e){return String(e.name)===String(t.name)})}).filter(Boolean),a=d.createDataTree(this.data,i,r,e,xe);this.dataState=d.createLocalDataState({dataTree:a,rowSettings:i,columnSettings:r,rowAxes:o,columnAxes:t,measures:e,sort:[],fields:xe}),this.updateDataServiceFields()},P.prototype.getRootAxes=function(e){return Array.from(d.rootFields(e).keys()).join("&")},P);function P(e,t){var n=be.call(this,e,t)||this;return n.type="local",n.createAxisSettings=function(e){return Object.assign({key:e},n.dimensions[e])},n}p.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:p,deps:[{token:y},{token:r.NgZone}],target:r.ɵɵFactoryTarget.Directive}),p.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:p,selector:"[kendoPivotLocalBinding]",inputs:{data:["kendoPivotLocalBinding","data"],dimensions:"dimensions",measures:"measures"},exportAs:["kendoPivotLocalBinding"],usesInheritance:!0,usesOnChanges:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:p,decorators:[{type:n.Directive,args:[{selector:"[kendoPivotLocalBinding]",exportAs:"kendoPivotLocalBinding"}]}],ctorParameters:function(){return[{type:y},{type:r.NgZone}]},propDecorators:{data:[{type:n.Input,args:["kendoPivotLocalBinding"]}],dimensions:[{type:n.Input}],measures:[{type:n.Input}]}});h(N,ke=g),N.prototype.ngOnChanges=function(e){l.anyChanged(["url","cube","catalog","columnAxes","rowAxes","measureAxes"],e)&&(this.loadData(this.state),this.loadFields())},N.prototype.loadData=function(e){var t=this,n=e.columnAxes,o=e.rowAxes,e=e.measureAxes,n=(this.dataService.loading.next(!0),{connection:{catalog:this.catalog,cube:this.cube},columnAxes:n,rowAxes:o,measureAxes:e});d.fetchData({url:this.url},JSON.parse(JSON.stringify(n))).then(d.createDataState).then(function(e){t.dataState=e,t.updateDataServiceFields(),t.dataService.loading.next(!1)})},N.prototype.loadFields=function(){var t=this,e={connection:{catalog:this.catalog,cube:this.cube},restrictions:{catalogName:this.catalog,cubeName:this.cube},command:"schemaDimensions"};d.fetchDiscover({url:this.url},e).then(function(e){d.addKPI(e),t.configuratorFields=e,t.updateConfiguratorFields()})},N.prototype.updateFields=function(r,i){return _(this,void 0,void 0,function(){var t,n,o;return K(this,function(e){switch(e.label){case 0:return(t=i.slice(),(t=this.getField(t,r))&&"[KPIs]"===t.uniqueName)?(n=this.normalizeKPIs,[4,this.loadKPIs()]):[3,2];case 1:return o=n.apply(this,[e.sent()]),t.children=o,[3,5];case 2:return t&&"kpi"===t.type?(t.children=d.buildKPIMeasures(t),[3,5]):[3,3];case 3:return!t||t.children?[3,5]:[4,this.loadAvailableFields(t)];case 4:o=e.sent(),t.children=o,e.label=5;case 5:return[2,null==t?void 0:t.children]}})})},N.prototype.fetchChildren=function(e,t){return this.updateFields(e,t)},N.prototype.normalizeKPIs=function(e){for(var t=0,n=e.length;t<n;t++)e[t].uniqueName=e[t].name,e[t].type="kpi";return e},N.prototype.getField=function(e,t){void 0===e&&(e=[]);for(var n=0;n<e.length;n++){var o=e[n];if(o.uniqueName===t.uniqueName)return o;o=this.getField(o.children,t);if(null!==o)return o}return null},N.prototype.loadKPIs=function(){return _(this,void 0,void 0,function(){var t;return K(this,function(e){return t={connection:{catalog:this.catalog,cube:this.cube},restrictions:{catalogName:this.catalog,cubeName:this.cube},command:"schemaKPIs"},[2,d.fetchDiscover({url:this.url},t)]})})},N.prototype.loadAvailableFields=function(i){return _(this,void 0,void 0,function(){var t,n,o,r;return K(this,function(e){return 2===i.type?t="schemaMeasures":i.dimensionUniqueName?(t="schemaLevels",o=i.uniqueName):(t="schemaHierarchies",n=i.uniqueName),r={connection:{catalog:this.catalog,cube:this.cube},restrictions:{catalogName:this.catalog,cubeName:this.cube,hierarchyUniqueName:o,dimensionUniqueName:n,levelUniqueName:void 0,memberUniqueName:void 0,treeOp:void 0},command:t},[2,d.fetchDiscover({url:this.url},r)]})})};var ke,c=N;function N(e,t){e=ke.call(this,e,t)||this;return e.type="olap",e}c.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:c,deps:[{token:y},{token:r.NgZone}],target:r.ɵɵFactoryTarget.Directive}),c.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:c,selector:"[kendoPivotOLAPBinding]",inputs:{url:"url",cube:"cube",catalog:"catalog"},exportAs:["kendoPivotOLAPBinding"],usesInheritance:!0,usesOnChanges:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:c,decorators:[{type:n.Directive,args:[{selector:"[kendoPivotOLAPBinding]",exportAs:"kendoPivotOLAPBinding"}]}],ctorParameters:function(){return[{type:y},{type:r.NgZone}]},propDecorators:{url:[{type:n.Input}],cube:[{type:n.Input}],catalog:[{type:n.Input}]}});h(Ie,Te=u),Object.defineProperty(Ie.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var Te,L=Ie;function Ie(e){var t=Te.call(this)||this;return t.service=e,t}L.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:L,deps:[{token:s.LocalizationService}],target:r.ɵɵFactoryTarget.Component}),L.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:L,selector:"kendo-pivotgrid-messages",providers:[{provide:u,useExisting:n.forwardRef(function(){return L})}],usesInheritance:!0,ngImport:r,template:"",isInline:!0}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:L,decorators:[{type:n.Component,args:[{providers:[{provide:u,useExisting:n.forwardRef(function(){return L})}],selector:"kendo-pivotgrid-messages",template:""}]}],ctorParameters:function(){return[{type:s.LocalizationService}]}});var t=[H.CommonModule,l.EventsModule,V.IndicatorsModule,z.ButtonsModule,G.TreeViewModule,j.InputsModule,l.DraggableModule],g=[f,x,O,b,p,c,D,C,S,L],u=[f,x,b,p,c,L],B=function(){};B.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:B,deps:[],target:r.ɵɵFactoryTarget.NgModule}),B.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:B,declarations:[f,x,O,b,p,c,D,C,S,L],imports:[H.CommonModule,l.EventsModule,V.IndicatorsModule,z.ButtonsModule,G.TreeViewModule,j.InputsModule,l.DraggableModule],exports:[f,x,b,p,c,L]}),B.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:B,imports:[v([],m(t))]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:B,decorators:[{type:n.NgModule,args:[{imports:v([],m(t)),declarations:v([],m(g)),exports:v([],m(u))}]}]}),Object.defineProperty(e,"averageAggregate",{enumerable:!0,get:function(){return d.averageAggregate}}),Object.defineProperty(e,"maxAggregate",{enumerable:!0,get:function(){return d.maxAggregate}}),Object.defineProperty(e,"minAggregate",{enumerable:!0,get:function(){return d.minAggregate}}),Object.defineProperty(e,"sumAggregate",{enumerable:!0,get:function(){return d.sumAggregate}}),e.ConfigurationChangeEvent=ve,e.CustomMessagesComponent=L,e.DraggableChipDirective=D,e.DropTargetDirective=C,e.ExpandChangeEvent=fe,e.PivotGridCellDirective=b,e.PivotGridComponent=f,e.PivotGridConfiguratorComponent=O,e.PivotGridModule=B,e.PivotGridTableComponent=x,e.PivotLocalBindingDirective=p,e.PivotOLAPBindingDirective=c,Object.defineProperty(e,"__esModule",{value:!0})});
5
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-common"),require("@progress/kendo-pivotgrid-common"),require("rxjs"),require("rxjs/operators"),require("@progress/kendo-angular-l10n"),require("@angular/common"),require("@progress/kendo-angular-indicators"),require("@progress/kendo-angular-treeview"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-inputs")):"function"==typeof define&&define.amd?define("KendoAngularPivotgrid",["exports","@angular/core","@progress/kendo-licensing","@progress/kendo-angular-common","@progress/kendo-pivotgrid-common","rxjs","rxjs/operators","@progress/kendo-angular-l10n","@angular/common","@progress/kendo-angular-indicators","@progress/kendo-angular-treeview","@progress/kendo-angular-buttons","@progress/kendo-angular-inputs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularPivotgrid={},e.ng.core,e.KendoLicensing,e.KendoAngularCommon,e.KendoPivotgridCommon,e.rxjs,e.rxjs.operators,e.KendoAngularL10N,e.ng.common,e.KendoAngularIndicators,e.KendoAngularTreeview,e.KendoAngularButtons,e.KendoAngularInputs)}(this,function(e,n,R,l,d,i,M,t,H,V,z,G,j){"use strict";function o(n){var o;return n&&n.__esModule?n:(o=Object.create(null),n&&Object.keys(n).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(n,e),Object.defineProperty(o,e,t.get?t:{enumerable:!0,get:function(){return n[e]}}))}),o.default=n,Object.freeze(o))}var r=o(n),a=o(l),s=o(t),c=o(H),p=o(V),u=o(z),g=o(G),f=o(j),q={name:"@progress/kendo-angular-pivotgrid",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1661413588,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},W=function(e,t){return(W=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])})(e,t)};function h(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}W(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function _(e,a,s,l){return new(s=s||Promise)(function(n,t){function o(e){try{i(l.next(e))}catch(e){t(e)}}function r(e){try{i(l.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,r)}i((l=l.apply(e,a||[])).next())})}function K(o,r){var i,a,s,l={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(n){return function(e){var t=[n,e];if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,a&&(s=2&t[0]?a.return:t[0]?a.throw||((s=a.return)&&s.call(a),0):a.next)&&!(s=s.call(a,t[1])).done)return s;switch(a=0,(t=s?[2&t[0],s.value]:t)[0]){case 0:case 1:s=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,a=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(!(s=0<(s=l.trys).length&&s[s.length-1])&&(6===t[0]||2===t[0])){l=0;continue}if(3===t[0]&&(!s||t[1]>s[0]&&t[1]<s[3]))l.label=t[1];else if(6===t[0]&&l.label<s[1])l.label=s[1],s=t;else{if(!(s&&l.label<s[2])){s[2]&&l.ops.pop(),l.trys.pop();continue}l.label=s[2],l.ops.push(t)}}t=r.call(o,l)}catch(e){t=[6,e],a=0}finally{i=s=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}}}Object.create;function m(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a}function v(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||((o=o||Array.prototype.slice.call(t,0,r))[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}Object.create;function Z(e,t,n,o){(e="Y"===o?-U(e,o):U(e,o))&&(t[0][n]=t[1][n]+=e)}var U=function(e,t){var n=e["wheelDelta"+t];return e.wheelDelta&&(void 0===n||n)?e.wheelDelta:e.detail&&e.axis===e["X"===t?"HORIZONTAL_AXIS":"VERTICAL_AXIS"]?10*-e.detail:0};function X(e){var t={};return function e(t,n){for(var o in t){var r;t.hasOwnProperty(o)&&(r=t[o],Array.isArray(r)?n[o]=r.slice(0):!r||"object"!=typeof r||r instanceof Date?n[o]=r:(n[o]=n[o]||{},e(r,n[o])))}}(e,t),t}function Y(e,t){n=J(a=e),i=n.clientTop,n=n.clientLeft,o=Q(a),r=o.pageYOffset,o=o.pageXOffset;var n,o,r={top:(a=a.getBoundingClientRect()).top+r-i,left:a.left+o-n},i=e.offsetWidth,a=e.offsetHeight;return{left:r.left+(t?0:i),top:r.top+a/2,height:a}}function $(e,n,o){return e.reduce(function(e,t){return n(t)?v(v([],m(e)),[o(t)]):e},[])}var J=function(e){return e.ownerDocument.documentElement},Q=function(e){return e.ownerDocument.defaultView},ee=0,y=(te.prototype.updateRowsAndCols=function(){var n=this,e=d.toTree((this.rows||[]).slice()),e=m(d.toRows(e),4),t=e[0],o=e[1],r=e[2],e=e[3],i=d.toTree((this.columns||[]).slice()),i=m(d.toColumns(i),3),a=i[0],s=i[1],i=i[2];this.columnHeaderLeaves=s,this.columnHeaderCols.next(s),this.columnHeaderRows.next(a),this.rowHeaderLeaves=o,this.rowHeaderCols.next(new Array(e).fill({})),this.rowHeaderRows.next(t),this.valuesRows.next(d.toData((this.normalizedData||[]).slice(),s,o,i,r)),l.isDocumentAvailable()&&this.ngZone.runOutsideAngular(function(){setTimeout(function(){return e=n.wrapper,t=e.querySelectorAll(".k-pivotgrid-row-headers .k-pivotgrid-row"),o=e.querySelectorAll(".k-pivotgrid-column-headers th"),r=e.querySelectorAll(".k-pivotgrid-values td"),t.forEach(function(e,t){var n=$(Array.from(r),function(e){return e.getAttribute("id").split("-")[4]===(t+1).toString()},function(e){return e.getAttribute("id")});e.setAttribute("aria-owns",n.join(" "))}),void r.forEach(function(e){var n=+e.getAttribute("id").split("-")[5],t=$(Array.from(o),function(e){var t=+e.getAttribute("id").split("-")[5],e=+e.getAttribute("colspan");return n==t||1<e&&n<=t+e-1},function(e){return e.getAttribute("id")});e.setAttribute("aria-describedby",t.join(" "))});var e,t,o,r})})},te);function te(e){this.ngZone=e,this.expandedStateChange=new n.EventEmitter,this.configuratorFieldChange=new n.EventEmitter,this.expandedFieldChange=new n.EventEmitter,this.columnHeaderRows=new i.BehaviorSubject([]),this.columnHeaderCols=new i.BehaviorSubject([]),this.rowHeaderCols=new i.BehaviorSubject([]),this.rowHeaderRows=new i.BehaviorSubject([]),this.valuesRows=new i.BehaviorSubject([]),this.loading=new i.BehaviorSubject(!1),this.fields=new i.BehaviorSubject([]),this.configuredFields=new i.BehaviorSubject([]),this.pivotGridId=ee++}y.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:y,deps:[{token:r.NgZone}],target:r.ɵɵFactoryTarget.Injectable}),y.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:y}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:y,decorators:[{type:n.Injectable}],ctorParameters:function(){return[{type:r.NgZone}]},propDecorators:{expandedStateChange:[{type:n.Output}],configuratorFieldChange:[{type:n.Output}],expandedFieldChange:[{type:n.Output}]}});Object.defineProperty(ne.prototype,"expanded",{get:function(){var e;return(null==(e=this.kendoPivotGridCell)?void 0:e.hasChildren)&&this.kendoPivotGridCell.children.length},enumerable:!1,configurable:!0}),ne.prototype.ngOnInit=function(){var e,t,n=this.hostEl.nativeElement,o=(this.renderer.setAttribute(n,"rowspan",this.kendoPivotGridCell.rowSpan||1),this.renderer.setAttribute(n,"colspan",this.kendoPivotGridCell.colSpan||1),{"k-pivotgrid-header-total":(null==(e=this.kendoPivotGridCell)?void 0:e.total)||"values"===this.tableType&&(this.dataService.rowHeaderLeaves[this.rowIndex].total||this.dataService.columnHeaderLeaves[this.colIndex].total),"k-pivotgrid-header-root":0===(null==(e=this.kendoPivotGridCell)?void 0:e.levelNum),"k-pivotgrid-expanded":(null==(e=this.kendoPivotGridCell)?void 0:e.hasChildren)&&this.kendoPivotGridCell.children.length,"k-first":0<this.colIndex});for(t in o)o[t]&&this.renderer.addClass(n,t)};var b=ne;function ne(e,t,n){var o=this;this.hostEl=e,this.renderer=t,this.dataService=n,this.cellClass=!0,this.handleClick=function(){o.dataService.expandedStateChange.emit({action:o.expanded?"collapse":"expand",cell:o.kendoPivotGridCell,tableType:o.tableType})}}b.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:b,deps:[{token:r.ElementRef},{token:r.Renderer2},{token:y}],target:r.ɵɵFactoryTarget.Component}),b.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:b,selector:"[kendoPivotGridCell]",inputs:{kendoPivotGridCell:"kendoPivotGridCell",tableType:"tableType",rowIndex:"rowIndex",colIndex:"colIndex"},host:{properties:{"class.k-pivotgrid-cell":"this.cellClass"}},ngImport:r,template:'\n <span \n *ngIf="kendoPivotGridCell.hasChildren && !kendoPivotGridCell.total"\n class="k-icon"\n aria-hidden="true"\n [kendoEventsOutsideAngular]="{\n click: handleClick\n }"\n [ngClass]="{\n \'k-i-arrow-chevron-up\': expanded,\n \'k-i-arrow-chevron-down\': !expanded\n }"></span>{{ kendoPivotGridCell.data ? kendoPivotGridCell.data.fmtValue : kendoPivotGridCell.caption }}',isInline:!0,directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:a.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]},{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:b,decorators:[{type:n.Component,args:[{selector:"[kendoPivotGridCell]",template:'\n <span \n *ngIf="kendoPivotGridCell.hasChildren && !kendoPivotGridCell.total"\n class="k-icon"\n aria-hidden="true"\n [kendoEventsOutsideAngular]="{\n click: handleClick\n }"\n [ngClass]="{\n \'k-i-arrow-chevron-up\': expanded,\n \'k-i-arrow-chevron-down\': !expanded\n }"></span>{{ kendoPivotGridCell.data ? kendoPivotGridCell.data.fmtValue : kendoPivotGridCell.caption }}'}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:y}]},propDecorators:{cellClass:[{type:n.HostBinding,args:["class.k-pivotgrid-cell"]}],kendoPivotGridCell:[{type:n.Input}],tableType:[{type:n.Input}],rowIndex:[{type:n.Input}],colIndex:[{type:n.Input}]}});Object.defineProperty(oe.prototype,"pivotGridId",{get:function(){return"kendo-pivotgrid-"+this.dataService.pivotGridId+"-"},enumerable:!1,configurable:!0}),oe.prototype.ngOnInit=function(){var t=this;this.dataChangeSubs.add(this.dataService[this.tableType+"Rows"].subscribe(function(e){return t.rows=e})),this.dataChangeSubs.add("values"===this.tableType?this.dataService.columnHeaderCols.subscribe(function(e){return t.headerItems=e}):this.dataService[this.tableType+"Cols"].subscribe(function(e){return t.headerItems=e}))},oe.prototype.ngOnDestroy=function(){this.dataChangeSubs.unsubscribe()};var x=oe;function oe(e){this.dataService=e,this.dataChangeSubs=new i.Subscription}x.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:x,deps:[{token:y}],target:r.ɵɵFactoryTarget.Component}),x.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:x,selector:"kendo-pivotgrid-table",inputs:{tableType:"tableType",colWidth:"colWidth"},ngImport:r,template:'\n <table\n class="k-pivotgrid-table"\n role="presentation">\n <colgroup>\n <col \n *ngFor="let item of headerItems;"\n [style.width]="tableType !== \'rowHeader\' ? colWidth >= 0 ? colWidth + \'px\' : \'200px\' : undefined" />\n </colgroup>\n <tbody class="k-pivotgrid-tbody" role="rowgroup">\n <tr *ngFor="let row of rows; index as rowIndex"\n class="k-pivotgrid-row"\n role="row">\n <ng-container *ngFor="let cell of row.cells; index as colIndex">\n <th\n *ngIf="cell && tableType !== \'values\'" \n [kendoPivotGridCell]="cell"\n [tableType]="tableType"\n [colIndex]="colIndex"\n [rowIndex]="rowIndex"\n [attr.aria-expanded]="cell.hasChildren && cell.children.length ? \'true\' : \'false\'"\n [attr.role]="tableType === \'columnHeader\' ? \'columnheader\' : \'rowheader\'"\n [attr.id]="pivotGridId + (tableType === \'columnHeader\' ? \'ch-\' : \'rh-\') + (rowIndex + 1) + \'-\' + (colIndex + 1)"></th>\n <td\n *ngIf="cell && tableType === \'values\'"\n [kendoPivotGridCell]="cell"\n tableType="values"\n [colIndex]="colIndex"\n [rowIndex]="rowIndex"\n role="gridcell"\n [attr.id]="pivotGridId + \'cell-\' + (rowIndex + 1) + \'-\' + (colIndex + 1)"></td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n ',isInline:!0,components:[{type:b,selector:"[kendoPivotGridCell]",inputs:["kendoPivotGridCell","tableType","rowIndex","colIndex"]}],directives:[{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:x,decorators:[{type:n.Component,args:[{selector:"kendo-pivotgrid-table",template:'\n <table\n class="k-pivotgrid-table"\n role="presentation">\n <colgroup>\n <col \n *ngFor="let item of headerItems;"\n [style.width]="tableType !== \'rowHeader\' ? colWidth >= 0 ? colWidth + \'px\' : \'200px\' : undefined" />\n </colgroup>\n <tbody class="k-pivotgrid-tbody" role="rowgroup">\n <tr *ngFor="let row of rows; index as rowIndex"\n class="k-pivotgrid-row"\n role="row">\n <ng-container *ngFor="let cell of row.cells; index as colIndex">\n <th\n *ngIf="cell && tableType !== \'values\'" \n [kendoPivotGridCell]="cell"\n [tableType]="tableType"\n [colIndex]="colIndex"\n [rowIndex]="rowIndex"\n [attr.aria-expanded]="cell.hasChildren && cell.children.length ? \'true\' : \'false\'"\n [attr.role]="tableType === \'columnHeader\' ? \'columnheader\' : \'rowheader\'"\n [attr.id]="pivotGridId + (tableType === \'columnHeader\' ? \'ch-\' : \'rh-\') + (rowIndex + 1) + \'-\' + (colIndex + 1)"></th>\n <td\n *ngIf="cell && tableType === \'values\'"\n [kendoPivotGridCell]="cell"\n tableType="values"\n [colIndex]="colIndex"\n [rowIndex]="rowIndex"\n role="gridcell"\n [attr.id]="pivotGridId + \'cell-\' + (rowIndex + 1) + \'-\' + (colIndex + 1)"></td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n '}]}],ctorParameters:function(){return[{type:y}]},propDecorators:{tableType:[{type:n.Input}],colWidth:[{type:n.Input}]}});re.prototype.parseConfiguratorState=function(e){var t=d.configuratorReducer({filter:[],sort:[],rowAxes:this.state.rowAxes,columnAxes:this.state.columnAxes,measureAxes:this.state.measureAxes,dragItem:this.state.dragItem,dropDirection:this.state.dropDirection,dropTarget:this.state.dropTarget,dropZone:this.state.dropZone},e);Object.keys(t).forEach(function(e){return void 0===t[e]&&delete t[e]}),this.state=Object.assign(Object.assign({},this.state),t),this.configuratorStateChange.emit(this.state)};var k=re;function re(){this.configuratorStateChange=new n.EventEmitter}k.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:k,deps:[],target:r.ɵɵFactoryTarget.Injectable}),k.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:k}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:k,decorators:[{type:n.Injectable}],propDecorators:{configuratorStateChange:[{type:n.Output}]}});I.prototype.create=function(){this.dom=document.createElement("span"),this.dom.style.position="absolute";var e=document.createElement("div"),t=(e.classList.add("k-drop-hint","k-drop-hint-v"),document.createElement("div")),n=(t.classList.add("k-drop-hint-start"),document.createElement("div")),o=(n.classList.add("k-drop-hint-line"),document.createElement("div"));o.classList.add("k-drop-hint-end"),e.append(t,n,o),this.dom.append(e),this.hide()},I.prototype.attach=function(){return e=this.dom,!1||(document.body.appendChild(e),0),e;var e},I.prototype.remove=function(){this.dom&&this.dom.parentElement&&(document.body.removeChild(this.dom),this.dom=null)},I.prototype.hide=function(){this.dom.style.display="none"},I.prototype.position=function(e){var t=e.left,n=e.top,e=e.height,e=(this.dom.style.display="block",this.dom.style.height=e+"px",this.dom.style.top=n+"px",this.dom.style.zIndex="1000",this.dom.offsetWidth/2);this.dom.style.left=t-e+"px"};var T=I;function I(){}T.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:T,deps:[],target:r.ɵɵFactoryTarget.Injectable}),T.ɵprov=r.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:T}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:T,decorators:[{type:n.Injectable}]});w.prototype.ngOnInit=function(){var e=this,t=this.element.nativeElement;this.elementType="KENDO-CHIP"===t.nodeName?"chip":"container",this.zone.runOutsideAngular(function(){e.subs.add(e.renderer.listen(t,"mouseenter",e.handleMouseEnter.bind(e))),e.subs.add(e.renderer.listen(t,"mousemove",e.handleMouseMove.bind(e))),e.subs.add(e.renderer.listen(t,"mouseleave",e.handleMouseLeave.bind(e)))})},w.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},w.prototype.handleMouseEnter=function(e){this.configuratorService.state.dragItem&&("chip"===this.elementType&&(this.configuratorService.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDropTarget,payload:this.item}),this.targetElement=e.target,this.cue.position(Y(e.target,"before"===this.configuratorService.state.dropDirection))),this.configuratorService.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDropZone,payload:this.axes}))},w.prototype.handleMouseMove=function(e){var t;this.configuratorService.state.dragItem&&"chip"===this.elementType&&this.element.nativeElement&&(t=this.element.nativeElement.getBoundingClientRect(),(e=e.clientX-t.left<t.width/2?"before":"after")!==this.configuratorService.state.dropDirection&&this.targetElement&&this.cue.position(Y(this.targetElement,"before"==e)),this.configuratorService.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDropDirection,payload:e}))},w.prototype.handleMouseLeave=function(){"chip"!==this.elementType&&this.configuratorService.state.dragItem&&this.configuratorService.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDropZone,payload:null})};var C=w;function w(e,t,n,o,r){this.element=e,this.configuratorService=t,this.cue=n,this.renderer=o,this.zone=r,this.subs=new i.Subscription}C.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:C,deps:[{token:r.ElementRef},{token:k},{token:T},{token:r.Renderer2},{token:r.NgZone}],target:r.ɵɵFactoryTarget.Directive}),C.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"[kendoDropTarget]",inputs:{item:"item",axes:"axes"},ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:C,decorators:[{type:n.Directive,args:[{selector:"[kendoDropTarget]"}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:k},{type:T},{type:r.Renderer2},{type:r.NgZone}]},propDecorators:{item:[{type:n.Input}],axes:[{type:n.Input}]}});Object.defineProperty(ie.prototype,"pointerEvents",{get:function(){return this.drag?"none":void 0},enumerable:!1,configurable:!0}),ie.prototype.ngOnInit=function(){var t=this;this.zone.runOutsideAngular(function(){return t.subs.add(t.draggable.kendoPress.subscribe(function(e){l.isDocumentAvailable()&&(t.cue.create(),t.cue.attach(),t.initialX.current=e.clientX,t.initialY.current=e.clientY)}))}),this.zone.runOutsideAngular(function(){return t.subs.add(t.draggable.kendoDrag.subscribe(function(e){if(l.isDocumentAvailable()){if(Math.abs(t.initialX.current-e.clientX)<10&&Math.abs(t.initialY.current-e.clientY)<10)return;t.element.nativeElement&&(t.element.nativeElement.style.transform="translate("+(e.clientX-t.initialX.current)+"px, "+(e.clientY-t.initialY.current)+"px)")}t.drag=!0,t.service.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.setDragItem,payload:t.item})}))}),this.zone.runOutsideAngular(function(){return t.subs.add(t.draggable.kendoRelease.subscribe(function(){t.drag=!1,t.service.state.dragItem&&(l.isDocumentAvailable()&&(t.element.nativeElement&&(t.element.nativeElement.style.transform=""),t.cue.remove()),t.service.parseConfiguratorState({type:d.PIVOT_CONFIGURATOR_ACTION.drop,payload:t.item}),t.service.state.dragItem=null,t.service.state.dropDirection=null,t.service.state.dropTarget=null,t.service.state.dropZone=null)}))})},ie.prototype.ngOnDestroy=function(){this.subs.unsubscribe()};var O=ie;function ie(e,t,n,o,r){this.draggable=e,this.element=t,this.zone=n,this.service=o,this.cue=r,this.touchActions="none",this.initialX={},this.initialY={},this.subs=new i.Subscription}O.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:O,deps:[{token:a.DraggableDirective,optional:!0},{token:r.ElementRef},{token:r.NgZone},{token:k},{token:T}],target:r.ɵɵFactoryTarget.Directive}),O.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"[kendoChipDraggable]",inputs:{item:"item"},host:{properties:{"style.pointerEvents":"this.pointerEvents","style.touch-action":"this.touchActions"}},ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:O,decorators:[{type:n.Directive,args:[{selector:"[kendoChipDraggable]"}]}],ctorParameters:function(){return[{type:a.DraggableDirective,decorators:[{type:n.Optional}]},{type:r.ElementRef},{type:r.NgZone},{type:k},{type:T}]},propDecorators:{pointerEvents:[{type:n.HostBinding,args:["style.pointerEvents"]}],touchActions:[{type:n.HostBinding,args:["style.touch-action"]}],item:[{type:n.Input}]}});A.prototype.ngOnInit=function(){var t=this;this.subs.add(this.dataService.fields.subscribe(function(e){t.fields=e})),this.subs.add(this.dataService.configuredFields.subscribe(function(e){t.originalState=X(e),t.setState(X(e)),t.setChecked()})),this.subs.add(this.configuratorService.configuratorStateChange.subscribe(function(e){t.state=e,t.cdr.detectChanges()}))},A.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},A.prototype.getName=function(e){return e.toString()},A.prototype.setState=function(e){this.state=e,this.configuratorService.state=e},A.prototype.messageFor=function(e){return this.localization.get(e)},Object.defineProperty(A.prototype,"columnHierarchies",{get:function(){return this.extractDefaultFields(this.state.columnAxes)},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"rowHierarchies",{get:function(){return this.extractDefaultFields(this.state.rowAxes)},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"measureHierarchies",{get:function(){return this.extractDefaultFields(this.state.measureAxes)},enumerable:!1,configurable:!0}),A.prototype.setChecked=function(e){var n=this,e=(void 0===e&&(e=[]),v(v([],m(this.fields)),m(e))),e=this.getFieldsFlatMap(e).filter(function(t){return v(v(v([],m(n.columnHierarchies)),m(n.rowHierarchies)),m(n.measureHierarchies)).some(function(e){return e===t.uniqueName||e===t.defaultHierarchy})});this.checked=e},A.prototype.isItemChecked=function(t){var e;return this.checked.some(function(e){return t.defaultHierarchy?e.defaultHierarchy===t.defaultHierarchy:e.uniqueName===t.uniqueName})||(null==(e=t.children)?void 0:e.length)&&(null==(e=t.children)?void 0:e.every(function(e){return e.checked}))||null},A.prototype.isSelectable=function(e){var t=!("hierarchyUniqueName"in e||"aggregator"in e);return!Boolean(!t&&!e.aggregator&&!e.measure||2===e.type||"[KPIs]"===e.uniqueName)},A.prototype.handleChildrenLoaded=function(e){"local"!==this.dataService.directive.type&&(e=e.children.map(function(e){return e.dataItem}),this.setChecked(e))},A.prototype.handleCheckedChange=function(e,t){e.target.checked?this.checked=v(v([],m(this.checked)),[t]):(e=this.checked.findIndex(function(e){return e.uniqueName===t.uniqueName}),this.checked.splice(e,1));e={type:"PIVOT_CONFIGURATOR_ACTION_TOGGLE_SELECTION",payload:t};this.configuratorService.parseConfiguratorState(e)},A.prototype.handleSubmit=function(){this.dataService.configuratorFieldChange.emit(this.state)},A.prototype.handleReset=function(){this.setState(X(this.originalState)),this.setChecked()},A.prototype.getFieldsFlatMap=function(e){var t=this,n=v([],m(e=void 0===e?[]:e));return(e||[]).forEach(function(e){n=n.concat(t.getFieldsFlatMap(e.children))}),n},A.prototype.extractDefaultFields=function(e){void 0===e&&(e=[]);var t=new Set;return e.forEach(function(e){t.add(String(e.name))}),Array.from(t)};var D=A;function A(e,t,n,o){var r=this;this.dataService=e,this.localization=t,this.configuratorService=n,this.cdr=o,this.hostClass=!0,this.horizontal=!1,this.checked=[],this.subs=new i.Subscription,this.hasChildren=function(e){return!("hierarchyUniqueName"in e||"aggregator"in e)},this.children=function(e){return"olap"===r.dataService.directive.type?i.from(r.dataService.directive.fetchChildren(e,r.fields)).pipe(M.mergeMap(function(e){return i.of(e)})):i.of(e.children)}}D.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:D,deps:[{token:y},{token:s.LocalizationService},{token:k},{token:r.ChangeDetectorRef}],target:r.ɵɵFactoryTarget.Component}),D.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:D,selector:"kendo-pivotgrid-configurator",inputs:{horizontal:"horizontal"},host:{properties:{"class.k-pivotgrid-configurator":"this.hostClass"}},providers:[k,T],ngImport:r,template:'\n <div \n class="k-pivotgrid-configurator-panel k-pivotgrid-configurator-push"\n [ngClass]="{\n \'k-pivotgrid-configurator-horizontal\': horizontal,\n \'k-pivotgrid-configurator-vertical\': !horizontal\n }"\n >\n <div class="k-pivotgrid-configurator-header">\n <div class="k-pivotgrid-configurator-header-text">{{messageFor(\'configuratorHeaderText\')}}</div>\n </div>\n\n <div class="k-pivotgrid-configurator-content">\n <div class="k-form" [class.k-form-horizontal]="horizontal">\n <div class="k-form-field-wrapper">\n <div class="k-form-field">\n <span class="k-label">{{messageFor(\'configuratorFieldsText\')}}</span>\n </div>\n\n <div class="k-form-field">\n <div class="k-fields-list-wrapper">\n <kendo-treeview\n [nodes]="fields"\n textField="caption"\n [children]="children"\n [hasChildren]="hasChildren"\n kendoTreeViewExpandable\n (childrenLoaded)="handleChildrenLoaded($event)"\n >\n <ng-template kendoTreeViewNodeTemplate let-dataItem>\n <input kendoCheckBox\n *ngIf="isSelectable(dataItem)"\n type="checkbox" \n kendoCheckBox\n [checked]="isItemChecked(dataItem)"\n (change)="handleCheckedChange($event, dataItem)"/>\n {{ dataItem.caption }}\n </ng-template>\n </kendo-treeview>\n\n </div>\n </div>\n </div>\n\n <div *ngIf="horizontal; else verticalTemplate" class="k-form-field-wrapper">\n <ng-container *ngTemplateOutlet="verticalTemplate"></ng-container>\n </div>\n\n <ng-template #verticalTemplate>\n <div class="k-form-field" kendoDropTarget axes="columnAxes">\n <span class="k-label">{{messageFor(\'configuratorColumnsText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.columnAxes && state.columnAxes.length; else noColumnAxes"\n kendoDropTarget\n axes="columnAxes"\n >\n <kendo-chip *ngFor="let item of state.columnAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="columnAxes"\n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noColumnAxes>\n <div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor(\'configuratorEmptyColumnsText\')}}</div>\n </ng-template>\n\n <div class="k-form-field" kendoDropTarget axes="rowAxes">\n <span class="k-label">{{messageFor(\'configuratorRowsText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.rowAxes && state.rowAxes.length; else noRowAxes"\n kendoDropTarget\n axes="rowAxes"\n >\n <kendo-chip *ngFor="let item of state.rowAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="rowAxes"\n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noRowAxes>\n <div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor(\'configuratorEmptyRowsText\')}}</div>\n </ng-template>\n </ng-template>\n\n <div *ngIf="horizontal; else elseTpl2" class="k-form-field-wrapper">\n <ng-container *ngTemplateOutlet="elseTpl2"></ng-container>\n </div>\n\n <ng-template #elseTpl2>\n <div class="k-form-field" kendoDropTarget axes="measureAxes">\n <span class="k-label">{{messageFor(\'configuratorValuesText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.measureAxes && state.measureAxes.length; else noMeasureAxes"\n kendoDropTarget\n axes="measureAxes"\n >\n <kendo-chip *ngFor="let item of state.measureAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="measureAxes"\n \n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noMeasureAxes>\n <div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor(\'configuratorEmptyMeasuresText\')}}</div>\n </ng-template>\n </ng-template>\n \n </div>\n </div>\n <div class="k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end">\n <button kendoButton type="button" (click)="handleReset()">{{messageFor(\'configuratorCancelButtonText\')}}</button>\n <button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor(\'configuratorApplyButtonText\')}}</button>\n </div>\n </div>\n ',isInline:!0,components:[{type:u.TreeViewComponent,selector:"kendo-treeview",inputs:["filterInputPlaceholder","expandDisabledNodes","animate","nodeTemplate","loadMoreButtonTemplate","trackBy","nodes","textField","hasChildren","isChecked","isDisabled","isExpanded","isSelected","isVisible","navigable","children","loadOnDemand","filterable","filter","size","disableParentNodesOnly"],outputs:["childrenLoaded","blur","focus","expand","collapse","nodeDragStart","nodeDrag","filterStateChange","nodeDrop","nodeDragEnd","addItem","removeItem","checkedChange","selectionChange","filterChange","nodeClick","nodeDblClick"],exportAs:["kendoTreeView"]},{type:g.ChipListComponent,selector:"kendo-chiplist, kendo-chip-list",inputs:["selection","size"],outputs:["selectedChange","remove"]},{type:g.ChipComponent,selector:"kendo-chip",inputs:["label","icon","iconClass","avatarClass","selected","removable","removeIcon","disabled","size","rounded","fillMode","themeColor"],outputs:["remove","contentClick"]}],directives:[{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:u.ExpandDirective,selector:"[kendoTreeViewExpandable]",inputs:["isExpanded","expandBy","expandOnFilter","expandedKeys"],outputs:["expandedKeysChange"]},{type:u.NodeTemplateDirective,selector:"[kendoTreeViewNodeTemplate]"},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:f.CheckBoxDirective,selector:"input[kendoCheckBox]",inputs:["size","rounded"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:C,selector:"[kendoDropTarget]",inputs:["item","axes"]},{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:O,selector:"[kendoChipDraggable]",inputs:["item"]},{type:a.DraggableDirective,selector:"[kendoDraggable]",inputs:["enableDrag"],outputs:["kendoPress","kendoDrag","kendoRelease"]},{type:g.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:D,decorators:[{type:n.Component,args:[{selector:"kendo-pivotgrid-configurator",providers:[k,T],template:'\n <div \n class="k-pivotgrid-configurator-panel k-pivotgrid-configurator-push"\n [ngClass]="{\n \'k-pivotgrid-configurator-horizontal\': horizontal,\n \'k-pivotgrid-configurator-vertical\': !horizontal\n }"\n >\n <div class="k-pivotgrid-configurator-header">\n <div class="k-pivotgrid-configurator-header-text">{{messageFor(\'configuratorHeaderText\')}}</div>\n </div>\n\n <div class="k-pivotgrid-configurator-content">\n <div class="k-form" [class.k-form-horizontal]="horizontal">\n <div class="k-form-field-wrapper">\n <div class="k-form-field">\n <span class="k-label">{{messageFor(\'configuratorFieldsText\')}}</span>\n </div>\n\n <div class="k-form-field">\n <div class="k-fields-list-wrapper">\n <kendo-treeview\n [nodes]="fields"\n textField="caption"\n [children]="children"\n [hasChildren]="hasChildren"\n kendoTreeViewExpandable\n (childrenLoaded)="handleChildrenLoaded($event)"\n >\n <ng-template kendoTreeViewNodeTemplate let-dataItem>\n <input kendoCheckBox\n *ngIf="isSelectable(dataItem)"\n type="checkbox" \n kendoCheckBox\n [checked]="isItemChecked(dataItem)"\n (change)="handleCheckedChange($event, dataItem)"/>\n {{ dataItem.caption }}\n </ng-template>\n </kendo-treeview>\n\n </div>\n </div>\n </div>\n\n <div *ngIf="horizontal; else verticalTemplate" class="k-form-field-wrapper">\n <ng-container *ngTemplateOutlet="verticalTemplate"></ng-container>\n </div>\n\n <ng-template #verticalTemplate>\n <div class="k-form-field" kendoDropTarget axes="columnAxes">\n <span class="k-label">{{messageFor(\'configuratorColumnsText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.columnAxes && state.columnAxes.length; else noColumnAxes"\n kendoDropTarget\n axes="columnAxes"\n >\n <kendo-chip *ngFor="let item of state.columnAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="columnAxes"\n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noColumnAxes>\n <div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor(\'configuratorEmptyColumnsText\')}}</div>\n </ng-template>\n\n <div class="k-form-field" kendoDropTarget axes="rowAxes">\n <span class="k-label">{{messageFor(\'configuratorRowsText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.rowAxes && state.rowAxes.length; else noRowAxes"\n kendoDropTarget\n axes="rowAxes"\n >\n <kendo-chip *ngFor="let item of state.rowAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="rowAxes"\n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noRowAxes>\n <div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor(\'configuratorEmptyRowsText\')}}</div>\n </ng-template>\n </ng-template>\n\n <div *ngIf="horizontal; else elseTpl2" class="k-form-field-wrapper">\n <ng-container *ngTemplateOutlet="elseTpl2"></ng-container>\n </div>\n\n <ng-template #elseTpl2>\n <div class="k-form-field" kendoDropTarget axes="measureAxes">\n <span class="k-label">{{messageFor(\'configuratorValuesText\')}}</span>\n </div>\n\n <kendo-chiplist\n *ngIf="state.measureAxes && state.measureAxes.length; else noMeasureAxes"\n kendoDropTarget\n axes="measureAxes"\n >\n <kendo-chip *ngFor="let item of state.measureAxes"\n kendoChipDraggable\n kendoDraggable\n kendoDropTarget\n [item]="item"\n axes="measureAxes"\n \n rounded="full"\n [removable]="true"\n >\n {{ getName(item.name) }}\n </kendo-chip>\n </kendo-chiplist>\n\n <ng-template #noMeasureAxes>\n <div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor(\'configuratorEmptyMeasuresText\')}}</div>\n </ng-template>\n </ng-template>\n \n </div>\n </div>\n <div class="k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end">\n <button kendoButton type="button" (click)="handleReset()">{{messageFor(\'configuratorCancelButtonText\')}}</button>\n <button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor(\'configuratorApplyButtonText\')}}</button>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:y},{type:s.LocalizationService},{type:k},{type:r.ChangeDetectorRef}]},propDecorators:{hostClass:[{type:n.HostBinding,args:["class.k-pivotgrid-configurator"]}],horizontal:[{type:n.Input}]}});h(se,ae=t.ComponentMessages);var ae,u=se;function se(){return null!==ae&&ae.apply(this,arguments)||this}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:u,deps:null,target:r.ɵɵFactoryTarget.Directive}),u.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:u,inputs:{fieldMenuFilterItemLabel:"fieldMenuFilterItemLabel",fieldMenuSortAscendingItemLabel:"fieldMenuSortAscendingItemLabel",fieldMenuSortDescendingItemLabel:"fieldMenuSortDescendingItemLabel",filterInputLabel:"filterInputLabel",filterOperatorsDropDownLabel:"filterOperatorsDropDownLabel",filterEqOperator:"filterEqOperator",filterNotEqOperator:"filterNotEqOperator",filterIsNullOperator:"filterIsNullOperator",filterIsNotNullOperator:"filterIsNotNullOperator",filterIsEmptyOperator:"filterIsEmptyOperator",filterIsNotEmptyOperator:"filterIsNotEmptyOperator",filterStartsWithOperator:"filterStartsWithOperator",filterContainsOperator:"filterContainsOperator",filterNotContainsOperator:"filterNotContainsOperator",filterEndsWithOperator:"filterEndsWithOperator",filterFilterButton:"filterFilterButton",filterClearButton:"filterClearButton",loading:"loading",emptyCellLabel:"emptyCellLabel",configuratorButtonText:"configuratorButtonText",configuratorHeaderText:"configuratorHeaderText",configuratorFieldsText:"configuratorFieldsText",configuratorColumnsText:"configuratorColumnsText",configuratorRowsText:"configuratorRowsText",configuratorValuesText:"configuratorValuesText",configuratorCancelButtonText:"configuratorCancelButtonText",configuratorApplyButtonText:"configuratorApplyButtonText",configuratorEmptyRowsText:"configuratorEmptyRowsText",configuratorEmptyColumnsText:"configuratorEmptyColumnsText",configuratorEmptyMeasuresText:"configuratorEmptyMeasuresText"},usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:u,decorators:[{type:n.Directive}],propDecorators:{fieldMenuFilterItemLabel:[{type:n.Input}],fieldMenuSortAscendingItemLabel:[{type:n.Input}],fieldMenuSortDescendingItemLabel:[{type:n.Input}],filterInputLabel:[{type:n.Input}],filterOperatorsDropDownLabel:[{type:n.Input}],filterEqOperator:[{type:n.Input}],filterNotEqOperator:[{type:n.Input}],filterIsNullOperator:[{type:n.Input}],filterIsNotNullOperator:[{type:n.Input}],filterIsEmptyOperator:[{type:n.Input}],filterIsNotEmptyOperator:[{type:n.Input}],filterStartsWithOperator:[{type:n.Input}],filterContainsOperator:[{type:n.Input}],filterNotContainsOperator:[{type:n.Input}],filterEndsWithOperator:[{type:n.Input}],filterFilterButton:[{type:n.Input}],filterClearButton:[{type:n.Input}],loading:[{type:n.Input}],emptyCellLabel:[{type:n.Input}],configuratorButtonText:[{type:n.Input}],configuratorHeaderText:[{type:n.Input}],configuratorFieldsText:[{type:n.Input}],configuratorColumnsText:[{type:n.Input}],configuratorRowsText:[{type:n.Input}],configuratorValuesText:[{type:n.Input}],configuratorCancelButtonText:[{type:n.Input}],configuratorApplyButtonText:[{type:n.Input}],configuratorEmptyRowsText:[{type:n.Input}],configuratorEmptyColumnsText:[{type:n.Input}],configuratorEmptyMeasuresText:[{type:n.Input}]}});h(de,le=u);var le,S=de;function de(e){var t=le.call(this)||this;return t.service=e,t}S.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:S,deps:[{token:s.LocalizationService}],target:r.ɵɵFactoryTarget.Directive}),S.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:S,selector:"[kendoPivotGridLocalizedMessages]",providers:[{provide:u,useExisting:n.forwardRef(function(){return S})}],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:S,decorators:[{type:n.Directive,args:[{providers:[{provide:u,useExisting:n.forwardRef(function(){return S})}],selector:"[kendoPivotGridLocalizedMessages]"}]}],ctorParameters:function(){return[{type:s.LocalizationService}]}});var ce={type:"converging-spinner",themeColor:"primary",size:"large"},pe={position:"right",horizontal:!1},f=(Object.defineProperty(E.prototype,"rightPositionClass",{get:function(){var e;return"right"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"leftPositionClass",{get:function(){var e;return"left"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"bottomPositionClass",{get:function(){var e;return"bottom"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"topPositionClass",{get:function(){var e;return"top"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"dir",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"loaderSettings",{get:function(){return this._loaderSettings},set:function(e){this._loaderSettings=Object.assign({},ce,e)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"loadingText",{get:function(){return this.localization.get("loading")},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"configuratorSettings",{get:function(){return this.configurator&&Object.assign({},pe,this.configurator)},enumerable:!1,configurable:!0}),E.prototype.ngAfterViewInit=function(){var r=this;l.isDocumentAvailable()&&this.zone.runOutsideAngular(function(){var e=r.rowHeadersTable.nativeElement.firstElementChild,t=new ResizeObserver(function(){return r.resizeContainer("Columns",e)}),n=(t.observe(e),r.colHeadersTable.nativeElement.firstElementChild),o=new ResizeObserver(function(){return r.resizeContainer("Rows",n)});o.observe(n),r.resizeObservers=[t,o],r.subs.add(i.fromEvent(e,"wheel").pipe(M.merge(i.fromEvent(n,"wheel"),i.fromEvent(r.valuesTable.nativeElement,"scroll"))).subscribe(function(e){return r.handleScroll(e)}))})},E.prototype.ngAfterContentInit=function(){var t=this;this.subs.add(this.dataService.loading.subscribe(function(e){return t.loading=e}))},E.prototype.ngOnDestroy=function(){this.resizeObservers.forEach(function(e){return e.disconnect()}),this.subs.unsubscribe()},E.prototype.messageFor=function(e){return this.localization.get(e)},E);function E(e,t,n,o,r){var a=this;this.zone=t,this.dataService=n,this.localization=o,this.hostClass=!0,this.ariaRole="grid",this.columnHeadersWidth=200,this.resizeObservers=[],this._loaderSettings=ce,this.subs=new i.Subscription,this.rtl=!1,this.resizeContainer=function(e,t){var n=a.table.nativeElement,o="Rows"===e?"offsetHeight":"offsetWidth";n.style["gridTemplate"+e]="",n.style["gridTemplate"+e]=t[o]+"px 1fr"},this.handleScroll=function(e){var t,n,o,r,i;e.target===a.valuesTable.nativeElement?(t=e.target,n=[a.rowHeadersTable.nativeElement,a.colHeadersTable.nativeElement],o=t.scrollTop,t=t.scrollLeft,r=n[0].scrollTop,i=t!==n[1].scrollLeft,o!==r?n[0].scrollTop=o:i&&(n[1].scrollLeft=t)):e.target.closest(".k-pivotgrid-row-headers")?Z(e,[a.valuesTable.nativeElement,a.rowHeadersTable.nativeElement],"scrollTop","Y"):e.target.closest(".k-pivotgrid-column-headers")&&Z(e,[a.valuesTable.nativeElement,a.colHeadersTable.nativeElement],"scrollLeft","X")},R.validatePackage(q),this.subs.add(this.localization.changes.subscribe(function(e){e=e.rtl;a.rtl=e,a.direction=a.rtl?"rtl":"ltr"})),n.wrapper=e.nativeElement}f.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:f,deps:[{token:r.ElementRef},{token:r.NgZone},{token:y},{token:s.LocalizationService},{token:a.ScrollbarWidthService}],target:r.ɵɵFactoryTarget.Component}),f.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:f,selector:"kendo-pivotgrid",inputs:{loaderSettings:"loaderSettings",configurator:"configurator",columnHeadersWidth:"columnHeadersWidth"},host:{properties:{"class.k-d-flex":"this.hostClass","class.k-pos-relative":"this.hostClass","class.k-flex-row":"this.rightPositionClass","class.k-flex-row-reverse":"this.leftPositionClass","class.k-flex-column":"this.bottomPositionClass","class.k-flex-column-reverse":"this.topPositionClass","attr.dir":"this.dir","attr.role":"this.ariaRole"}},providers:[y,t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.pivotgrid"}],viewQueries:[{propertyName:"colHeadersTable",first:!0,predicate:["colHeadersTable"],descendants:!0,read:n.ElementRef},{propertyName:"rowHeadersTable",first:!0,predicate:["rowHeadersTable"],descendants:!0,read:n.ElementRef},{propertyName:"valuesTable",first:!0,predicate:["valuesTable"],descendants:!0,read:n.ElementRef},{propertyName:"table",first:!0,predicate:["table"],descendants:!0,read:n.ElementRef}],ngImport:r,template:'\n <ng-container kendoPivotGridLocalizedMessages\n i18n-loading="kendo.pivotgrid.loading|The loading text"\n loading="Loading"\n \n i18n-emptyCellLabel="kendo.pivotgrid.emptyCellLabel|The value of the aria-label attribute placed on the focusable empty cell element"\n emptyCellLabel="PivotGrid Empty Cell"\n \n i18n-fieldMenuFilterItemLabel="kendo.pivotgrid.fieldMenuFilterItemLabel|The text content of the filter item in the column and row fields menu"\n fieldMenuFilterItemLabel="Filter"\n\n i18n-fieldMenuSortAscendingItemLabel="kendo.pivotgrid.fieldMenuSortAscendingItemLabel|The text content of the sort ascending item in the column and row fields menu"\n fieldMenuSortAscendingItemLabel="Sort ascending"\n\n i18n-fieldMenuSortDescendingItemLabel="kendo.pivotgrid.fieldMenuSortDescendingItemLabel|The text content of the sort descending item in the column and row fields menu"\n fieldMenuSortDescendingItemLabel="Sort descending"\n\n i18n-filterInputLabel="kendo.pivotgrid.filterInputLabel|The label of the filter input"\n filterInputLabel="{{ \'{fields} Filter\' }}"\n\n i18n-filterOperatorsDropDownLabel="kendo.pivotgrid.filterOperatorsDropDownLabel|The label of the filter operators DropDownList"\n filterOperatorsDropDownLabel="{{ \'{fields} Filter Operators\' }}"\n\n i18n-filterEqOperator="kendo.pivotgrid.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.pivotgrid.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.pivotgrid.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.pivotgrid.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.pivotgrid.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.pivotgrid.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.pivotgrid.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.pivotgrid.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.pivotgrid.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.pivotgrid.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterFilterButton="kendo.pivotgrid.filterFilterButton|The text of the filter button"\n filterFilterButton="Filter"\n\n i18n-filterClearButton="kendo.pivotgrid.filterClearButton|The text of the clear filter button"\n filterClearButton="Clear"\n\n i18n-configuratorButtonText="kendo.pivotgrid.configuratorButtonText|The text content of the button that opens and closes the PivotGrid configurator"\n configuratorButtonText="Change Settings"\n\n i18n-configuratorHeaderText="kendo.pivotgrid.configuratorHeaderText|The text content of the PivotGrid configurator title element"\n configuratorHeaderText="Settings"\n\n i18n-configuratorFieldsText="kendo.pivotgrid.configuratorFieldsText|The text content of the PivotGrid configurator fields section title element"\n configuratorFieldsText="Fields"\n\n i18n-configuratorColumnsText="kendo.pivotgrid.configuratorColumnsText|The text content of the PivotGrid configurator columns section title element"\n configuratorColumnsText="Columns"\n\n i18n-configuratorRowsText="kendo.pivotgrid.configuratorRowsText|The text content of the PivotGrid configurator rows section title element"\n configuratorRowsText="Rows"\n\n i18n-configuratorValuesText="kendo.pivotgrid.configuratorValuesText|The text content of the PivotGrid configurator values section title element"\n configuratorValuesText="Values"\n\n i18n-configuratorCancelButtonText="kendo.pivotgrid.configuratorCancelButtonText|The text content of the PivotGrid configurator configurator Cancel button"\n configuratorCancelButtonText="Cancel"\n\n i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"\n configuratorApplyButtonText="Apply"\n \n i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"\n configuratorEmptyRowsText="Select some fields to begin setup"\n \n i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"\n configuratorEmptyColumnsText="Select some fields to begin setup"\n \n i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"\n configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>\n\n <div #table class="k-pivotgrid">\n <span class="k-pivotgrid-empty-cell" [attr.aria-label]="messageFor(\'emptyCellLabel\')"></span>\n <kendo-pivotgrid-table\n #colHeadersTable\n [colWidth]="columnHeadersWidth"\n class="k-pivotgrid-column-headers"\n tableType="columnHeader"></kendo-pivotgrid-table>\n <kendo-pivotgrid-table\n #rowHeadersTable\n class="k-pivotgrid-row-headers"\n tableType="rowHeader"></kendo-pivotgrid-table>\n <kendo-pivotgrid-table\n #valuesTable\n [colWidth]="columnHeadersWidth"\n class="k-pivotgrid-values"\n tableType="values"></kendo-pivotgrid-table>\n \n <div *ngIf="loading" class="k-loader">\n <kendo-loader\n [type]="loaderSettings?.type"\n [themeColor]="loaderSettings?.themeColor"\n [size]="loaderSettings?.size"\n >\n </kendo-loader>\n <span class="k-loading-text">{{ loadingText }}</span>\n </div>\n </div>\n\n <kendo-pivotgrid-configurator\n *ngIf="showConfigurator"\n [horizontal]="configuratorSettings.horizontal">\n </kendo-pivotgrid-configurator>\n\n <div *ngIf="configurator"\n class="k-pivotgrid-configurator-button"\n (click)="showConfigurator = !showConfigurator">\n <span>{{ messageFor(\'configuratorButtonText\') }}<span class="k-icon k-i-gear k-color-inherit"></span>\n </span>\n </div>\n ',isInline:!0,styles:["\n /** TODO: Remove if added to themes */\n div.k-loader {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n "],components:[{type:x,selector:"kendo-pivotgrid-table",inputs:["tableType","colWidth"]},{type:p.LoaderComponent,selector:"kendo-loader",inputs:["type","themeColor","size"]},{type:D,selector:"kendo-pivotgrid-configurator",inputs:["horizontal"]}],directives:[{type:S,selector:"[kendoPivotGridLocalizedMessages]"},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:f,decorators:[{type:n.Component,args:[{selector:"kendo-pivotgrid",providers:[y,t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.pivotgrid"}],template:'\n <ng-container kendoPivotGridLocalizedMessages\n i18n-loading="kendo.pivotgrid.loading|The loading text"\n loading="Loading"\n \n i18n-emptyCellLabel="kendo.pivotgrid.emptyCellLabel|The value of the aria-label attribute placed on the focusable empty cell element"\n emptyCellLabel="PivotGrid Empty Cell"\n \n i18n-fieldMenuFilterItemLabel="kendo.pivotgrid.fieldMenuFilterItemLabel|The text content of the filter item in the column and row fields menu"\n fieldMenuFilterItemLabel="Filter"\n\n i18n-fieldMenuSortAscendingItemLabel="kendo.pivotgrid.fieldMenuSortAscendingItemLabel|The text content of the sort ascending item in the column and row fields menu"\n fieldMenuSortAscendingItemLabel="Sort ascending"\n\n i18n-fieldMenuSortDescendingItemLabel="kendo.pivotgrid.fieldMenuSortDescendingItemLabel|The text content of the sort descending item in the column and row fields menu"\n fieldMenuSortDescendingItemLabel="Sort descending"\n\n i18n-filterInputLabel="kendo.pivotgrid.filterInputLabel|The label of the filter input"\n filterInputLabel="{{ \'{fields} Filter\' }}"\n\n i18n-filterOperatorsDropDownLabel="kendo.pivotgrid.filterOperatorsDropDownLabel|The label of the filter operators DropDownList"\n filterOperatorsDropDownLabel="{{ \'{fields} Filter Operators\' }}"\n\n i18n-filterEqOperator="kendo.pivotgrid.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.pivotgrid.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.pivotgrid.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.pivotgrid.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.pivotgrid.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.pivotgrid.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.pivotgrid.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.pivotgrid.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.pivotgrid.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.pivotgrid.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterFilterButton="kendo.pivotgrid.filterFilterButton|The text of the filter button"\n filterFilterButton="Filter"\n\n i18n-filterClearButton="kendo.pivotgrid.filterClearButton|The text of the clear filter button"\n filterClearButton="Clear"\n\n i18n-configuratorButtonText="kendo.pivotgrid.configuratorButtonText|The text content of the button that opens and closes the PivotGrid configurator"\n configuratorButtonText="Change Settings"\n\n i18n-configuratorHeaderText="kendo.pivotgrid.configuratorHeaderText|The text content of the PivotGrid configurator title element"\n configuratorHeaderText="Settings"\n\n i18n-configuratorFieldsText="kendo.pivotgrid.configuratorFieldsText|The text content of the PivotGrid configurator fields section title element"\n configuratorFieldsText="Fields"\n\n i18n-configuratorColumnsText="kendo.pivotgrid.configuratorColumnsText|The text content of the PivotGrid configurator columns section title element"\n configuratorColumnsText="Columns"\n\n i18n-configuratorRowsText="kendo.pivotgrid.configuratorRowsText|The text content of the PivotGrid configurator rows section title element"\n configuratorRowsText="Rows"\n\n i18n-configuratorValuesText="kendo.pivotgrid.configuratorValuesText|The text content of the PivotGrid configurator values section title element"\n configuratorValuesText="Values"\n\n i18n-configuratorCancelButtonText="kendo.pivotgrid.configuratorCancelButtonText|The text content of the PivotGrid configurator configurator Cancel button"\n configuratorCancelButtonText="Cancel"\n\n i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"\n configuratorApplyButtonText="Apply"\n \n i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"\n configuratorEmptyRowsText="Select some fields to begin setup"\n \n i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"\n configuratorEmptyColumnsText="Select some fields to begin setup"\n \n i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"\n configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>\n\n <div #table class="k-pivotgrid">\n <span class="k-pivotgrid-empty-cell" [attr.aria-label]="messageFor(\'emptyCellLabel\')"></span>\n <kendo-pivotgrid-table\n #colHeadersTable\n [colWidth]="columnHeadersWidth"\n class="k-pivotgrid-column-headers"\n tableType="columnHeader"></kendo-pivotgrid-table>\n <kendo-pivotgrid-table\n #rowHeadersTable\n class="k-pivotgrid-row-headers"\n tableType="rowHeader"></kendo-pivotgrid-table>\n <kendo-pivotgrid-table\n #valuesTable\n [colWidth]="columnHeadersWidth"\n class="k-pivotgrid-values"\n tableType="values"></kendo-pivotgrid-table>\n \n <div *ngIf="loading" class="k-loader">\n <kendo-loader\n [type]="loaderSettings?.type"\n [themeColor]="loaderSettings?.themeColor"\n [size]="loaderSettings?.size"\n >\n </kendo-loader>\n <span class="k-loading-text">{{ loadingText }}</span>\n </div>\n </div>\n\n <kendo-pivotgrid-configurator\n *ngIf="showConfigurator"\n [horizontal]="configuratorSettings.horizontal">\n </kendo-pivotgrid-configurator>\n\n <div *ngIf="configurator"\n class="k-pivotgrid-configurator-button"\n (click)="showConfigurator = !showConfigurator">\n <span>{{ messageFor(\'configuratorButtonText\') }}<span class="k-icon k-i-gear k-color-inherit"></span>\n </span>\n </div>\n ',styles:["\n /** TODO: Remove if added to themes */\n div.k-loader {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n "]}]}],ctorParameters:function(){return[{type:r.ElementRef},{type:r.NgZone},{type:y},{type:s.LocalizationService},{type:a.ScrollbarWidthService}]},propDecorators:{hostClass:[{type:n.HostBinding,args:["class.k-d-flex"]},{type:n.HostBinding,args:["class.k-pos-relative"]}],rightPositionClass:[{type:n.HostBinding,args:["class.k-flex-row"]}],leftPositionClass:[{type:n.HostBinding,args:["class.k-flex-row-reverse"]}],bottomPositionClass:[{type:n.HostBinding,args:["class.k-flex-column"]}],topPositionClass:[{type:n.HostBinding,args:["class.k-flex-column-reverse"]}],dir:[{type:n.HostBinding,args:["attr.dir"]}],ariaRole:[{type:n.HostBinding,args:["attr.role"]}],colHeadersTable:[{type:n.ViewChild,args:["colHeadersTable",{read:n.ElementRef}]}],rowHeadersTable:[{type:n.ViewChild,args:["rowHeadersTable",{read:n.ElementRef}]}],valuesTable:[{type:n.ViewChild,args:["valuesTable",{read:n.ElementRef}]}],table:[{type:n.ViewChild,args:["table",{read:n.ElementRef}]}],loaderSettings:[{type:n.Input}],configurator:[{type:n.Input}],columnHeadersWidth:[{type:n.Input}]}});var ue,ge=function(e,t,n){this.columnAxes=e,this.rowAxes=t,this.measureAxes=n},fe=(h(he,ue=l.PreventableEvent),he);function he(e){var t=ue.call(this)||this;return Object.assign(t,e),t}h(ye,me=l.PreventableEvent);var me,ve=ye;function ye(e){var t=me.call(this)||this;return Object.assign(t,e),t}Object.defineProperty(F.prototype,"state",{get:function(){return new ge(this.columnAxes,this.rowAxes,this.measureAxes)},enumerable:!1,configurable:!0}),F.prototype.ngOnInit=function(){var o=this;this.loadData(this.state),this.loadFields(),this.subs.add(this.dataService.expandedStateChange.subscribe(function(n){o.zone.run(function(){var e="columnHeader"===n.tableType,t=e?"columnAxes":"rowAxes",e=d.toTree((e?o.dataService.columns:o.dataService.rows||[]).slice());o.updateHeaders(t,e,n.cell.path)})})),this.subs.add(this.dataService.configuratorFieldChange.subscribe(function(t){o.zone.run(function(){if(l.hasObservers(o.configurationChange)){var e=new ve(t);if(o.configurationChange.emit(e),e.isDefaultPrevented())return}o.dataService.configuredFields.next({columnAxes:t.columnAxes,rowAxes:t.rowAxes,measureAxes:t.measureAxes}),o.loadData(t)})})),this.subs.add(this.dataService.valuesRows.subscribe(function(e){o.zone.run(function(){l.hasObservers(o.dataLoaded)&&o.dataLoaded.emit(e)})})),this.dataService.directive=this},F.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},F.prototype.updateDataServiceFields=function(){this.dataService.normalizedData=this.dataState.data,this.dataService.rows=this.dataState.rows,this.dataService.columns=this.dataState.columns,this.dataService.updateRowsAndCols()},F.prototype.updateConfiguratorFields=function(){this.dataService.fields.next(this.configuratorFields),this.dataService.configuredFields.next({columnAxes:this.columnAxes,rowAxes:this.rowAxes,measureAxes:this.measureAxes})},F.prototype.updateHeaders=function(e,t,n){n={type:d.HEADERS_ACTION.toggle,payload:n},n=d.headersReducer(this[e].slice(),Object.assign(Object.assign({},n),{tree:t}));if(l.hasObservers(this.expandChange)){t=Object.assign(Object.assign({},this.state),((t={})[e]=n,t)),t=new fe(t);if(this.expandChange.emit(t),t.isDefaultPrevented())return}this[e]=n,this.loadData(this.state)};g=F;function F(e,t){this.dataService=e,this.zone=t,this.columnAxes=[],this.rowAxes=[],this.measureAxes=[],this.expandChange=new n.EventEmitter,this.configurationChange=new n.EventEmitter,this.dataLoaded=new n.EventEmitter,this.subs=new i.Subscription}g.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:g,deps:[{token:y},{token:r.NgZone}],target:r.ɵɵFactoryTarget.Directive}),g.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:g,selector:"kendo-base-binding-directive",inputs:{columnAxes:"columnAxes",rowAxes:"rowAxes",measureAxes:"measureAxes"},outputs:{expandChange:"expandChange",configurationChange:"configurationChange",dataLoaded:"dataLoaded"},ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:g,decorators:[{type:n.Directive,args:[{selector:"kendo-base-binding-directive"}]}],ctorParameters:function(){return[{type:y},{type:r.NgZone}]},propDecorators:{columnAxes:[{type:n.Input}],rowAxes:[{type:n.Input}],measureAxes:[{type:n.Input}],expandChange:[{type:n.Output}],configurationChange:[{type:n.Output}],dataLoaded:[{type:n.Output}]}});var be,xe={dataField:"aggregate",columnsData:"columns"},p=(h(P,be=g),P.prototype.ngOnChanges=function(e){l.anyChanged(["data","dimensions","columnAxes","rowAxes","measureAxes","measures"],e)&&this.loadData(this.state)},P.prototype.fetchChildren=function(e){return e.children},P.prototype.loadFields=function(){this.configuratorFields=d.createFlatSchemaDimensions(this.dimensions,this.measures),this.updateConfiguratorFields()},P.prototype.loadData=function(e){var n=this,t=e.columnAxes,o=e.rowAxes,e=e.measureAxes,r=this.getRootAxes(t),i=this.getRootAxes(o),r=r.split("&").map(this.createAxisSettings),i=i.split("&").map(this.createAxisSettings),e=e.map(function(t){return n.measures.find(function(e){return String(e.name)===String(t.name)})}).filter(Boolean),a=d.createDataTree(this.data,i,r,e,xe);this.dataState=d.createLocalDataState({dataTree:a,rowSettings:i,columnSettings:r,rowAxes:o,columnAxes:t,measures:e,sort:[],fields:xe}),this.updateDataServiceFields()},P.prototype.getRootAxes=function(e){return Array.from(d.rootFields(e).keys()).join("&")},P);function P(e,t){var n=be.call(this,e,t)||this;return n.type="local",n.createAxisSettings=function(e){return Object.assign({key:e},n.dimensions[e])},n}p.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:p,deps:[{token:y},{token:r.NgZone}],target:r.ɵɵFactoryTarget.Directive}),p.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:p,selector:"[kendoPivotLocalBinding]",inputs:{data:["kendoPivotLocalBinding","data"],dimensions:"dimensions",measures:"measures"},exportAs:["kendoPivotLocalBinding"],usesInheritance:!0,usesOnChanges:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:p,decorators:[{type:n.Directive,args:[{selector:"[kendoPivotLocalBinding]",exportAs:"kendoPivotLocalBinding"}]}],ctorParameters:function(){return[{type:y},{type:r.NgZone}]},propDecorators:{data:[{type:n.Input,args:["kendoPivotLocalBinding"]}],dimensions:[{type:n.Input}],measures:[{type:n.Input}]}});h(N,ke=g),N.prototype.ngOnChanges=function(e){l.anyChanged(["url","cube","catalog","columnAxes","rowAxes","measureAxes"],e)&&(this.loadData(this.state),this.loadFields())},N.prototype.loadData=function(e){var t=this,n=e.columnAxes,o=e.rowAxes,e=e.measureAxes,n=(this.dataService.loading.next(!0),{connection:{catalog:this.catalog,cube:this.cube},columnAxes:n,rowAxes:o,measureAxes:e});d.fetchData({url:this.url},JSON.parse(JSON.stringify(n))).then(d.createDataState).then(function(e){t.dataState=e,t.updateDataServiceFields(),t.dataService.loading.next(!1)})},N.prototype.loadFields=function(){var t=this,e={connection:{catalog:this.catalog,cube:this.cube},restrictions:{catalogName:this.catalog,cubeName:this.cube},command:"schemaDimensions"};d.fetchDiscover({url:this.url},e).then(function(e){d.addKPI(e),t.configuratorFields=e,t.updateConfiguratorFields()})},N.prototype.updateFields=function(r,i){return _(this,void 0,void 0,function(){var t,n,o;return K(this,function(e){switch(e.label){case 0:return(t=i.slice(),(t=this.getField(t,r))&&"[KPIs]"===t.uniqueName)?(n=this.normalizeKPIs,[4,this.loadKPIs()]):[3,2];case 1:return o=n.apply(this,[e.sent()]),t.children=o,[3,5];case 2:return t&&"kpi"===t.type?(t.children=d.buildKPIMeasures(t),[3,5]):[3,3];case 3:return!t||t.children?[3,5]:[4,this.loadAvailableFields(t)];case 4:o=e.sent(),t.children=o,e.label=5;case 5:return[2,null==t?void 0:t.children]}})})},N.prototype.fetchChildren=function(e,t){return this.updateFields(e,t)},N.prototype.normalizeKPIs=function(e){for(var t=0,n=e.length;t<n;t++)e[t].uniqueName=e[t].name,e[t].type="kpi";return e},N.prototype.getField=function(e,t){void 0===e&&(e=[]);for(var n=0;n<e.length;n++){var o=e[n];if(o.uniqueName===t.uniqueName)return o;o=this.getField(o.children,t);if(null!==o)return o}return null},N.prototype.loadKPIs=function(){return _(this,void 0,void 0,function(){var t;return K(this,function(e){return t={connection:{catalog:this.catalog,cube:this.cube},restrictions:{catalogName:this.catalog,cubeName:this.cube},command:"schemaKPIs"},[2,d.fetchDiscover({url:this.url},t)]})})},N.prototype.loadAvailableFields=function(i){return _(this,void 0,void 0,function(){var t,n,o,r;return K(this,function(e){return 2===i.type?t="schemaMeasures":i.dimensionUniqueName?(t="schemaLevels",o=i.uniqueName):(t="schemaHierarchies",n=i.uniqueName),r={connection:{catalog:this.catalog,cube:this.cube},restrictions:{catalogName:this.catalog,cubeName:this.cube,hierarchyUniqueName:o,dimensionUniqueName:n,levelUniqueName:void 0,memberUniqueName:void 0,treeOp:void 0},command:t},[2,d.fetchDiscover({url:this.url},r)]})})};var ke,c=N;function N(e,t){e=ke.call(this,e,t)||this;return e.type="olap",e}c.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:c,deps:[{token:y},{token:r.NgZone}],target:r.ɵɵFactoryTarget.Directive}),c.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:c,selector:"[kendoPivotOLAPBinding]",inputs:{url:"url",cube:"cube",catalog:"catalog"},exportAs:["kendoPivotOLAPBinding"],usesInheritance:!0,usesOnChanges:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:c,decorators:[{type:n.Directive,args:[{selector:"[kendoPivotOLAPBinding]",exportAs:"kendoPivotOLAPBinding"}]}],ctorParameters:function(){return[{type:y},{type:r.NgZone}]},propDecorators:{url:[{type:n.Input}],cube:[{type:n.Input}],catalog:[{type:n.Input}]}});h(Ie,Te=u),Object.defineProperty(Ie.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var Te,L=Ie;function Ie(e){var t=Te.call(this)||this;return t.service=e,t}L.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:L,deps:[{token:s.LocalizationService}],target:r.ɵɵFactoryTarget.Component}),L.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:L,selector:"kendo-pivotgrid-messages",providers:[{provide:u,useExisting:n.forwardRef(function(){return L})}],usesInheritance:!0,ngImport:r,template:"",isInline:!0}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:L,decorators:[{type:n.Component,args:[{providers:[{provide:u,useExisting:n.forwardRef(function(){return L})}],selector:"kendo-pivotgrid-messages",template:""}]}],ctorParameters:function(){return[{type:s.LocalizationService}]}});var t=[H.CommonModule,l.EventsModule,V.IndicatorsModule,G.ButtonsModule,z.TreeViewModule,j.InputsModule,l.DraggableModule],g=[f,x,D,b,p,c,O,C,S,L],u=[f,x,b,p,c,L],B=function(){};B.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:B,deps:[],target:r.ɵɵFactoryTarget.NgModule}),B.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:B,declarations:[f,x,D,b,p,c,O,C,S,L],imports:[H.CommonModule,l.EventsModule,V.IndicatorsModule,G.ButtonsModule,z.TreeViewModule,j.InputsModule,l.DraggableModule],exports:[f,x,b,p,c,L]}),B.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:B,imports:[v([],m(t))]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:B,decorators:[{type:n.NgModule,args:[{imports:v([],m(t)),declarations:v([],m(g)),exports:v([],m(u))}]}]}),Object.defineProperty(e,"averageAggregate",{enumerable:!0,get:function(){return d.averageAggregate}}),Object.defineProperty(e,"maxAggregate",{enumerable:!0,get:function(){return d.maxAggregate}}),Object.defineProperty(e,"minAggregate",{enumerable:!0,get:function(){return d.minAggregate}}),Object.defineProperty(e,"sumAggregate",{enumerable:!0,get:function(){return d.sumAggregate}}),e.ConfigurationChangeEvent=ve,e.CustomMessagesComponent=L,e.DraggableChipDirective=O,e.DropTargetDirective=C,e.ExpandChangeEvent=fe,e.PivotGridCellDirective=b,e.PivotGridComponent=f,e.PivotGridConfiguratorComponent=D,e.PivotGridModule=B,e.PivotGridTableComponent=x,e.PivotLocalBindingDirective=p,e.PivotOLAPBindingDirective=c,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -8,6 +8,7 @@ import { DataState, PivotGridAxis } from '@progress/kendo-pivotgrid-common';
8
8
  import { PivotGridState } from '../models/configurator-settings';
9
9
  import { ExpandChangeEvent } from '../models/expanded-change-event';
10
10
  import { ConfigurationChangeEvent } from '../models/configuration-change-event';
11
+ import { PivotDataRowItem } from '../models/data-row-item';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * @hidden
@@ -42,6 +43,11 @@ export declare abstract class PivotBaseBindingDirective implements OnInit, OnDes
42
43
  * If you prevent the event, the PivotGrid will not be rerendered with the new state, resulting from the configuration changes, applied through the configurator interface.
43
44
  */
44
45
  configurationChange: EventEmitter<ConfigurationChangeEvent>;
46
+ /**
47
+ * Fires each time when new data is loaded and transformed to show aggregated values.
48
+ * The event fires upon initialization and on user interaction that changes the state of the PivotGrid.
49
+ */
50
+ dataLoaded: EventEmitter<PivotDataRowItem[]>;
45
51
  protected dataState: DataState;
46
52
  protected configuratorFields: any;
47
53
  private subs;
@@ -56,5 +62,5 @@ export declare abstract class PivotBaseBindingDirective implements OnInit, OnDes
56
62
  protected updateConfiguratorFields(): void;
57
63
  private updateHeaders;
58
64
  static ɵfac: i0.ɵɵFactoryDeclaration<PivotBaseBindingDirective, never>;
59
- static ɵdir: i0.ɵɵDirectiveDeclaration<PivotBaseBindingDirective, "kendo-base-binding-directive", never, { "columnAxes": "columnAxes"; "rowAxes": "rowAxes"; "measureAxes": "measureAxes"; }, { "expandChange": "expandChange"; "configurationChange": "configurationChange"; }, never>;
65
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PivotBaseBindingDirective, "kendo-base-binding-directive", never, { "columnAxes": "columnAxes"; "rowAxes": "rowAxes"; "measureAxes": "measureAxes"; }, { "expandChange": "expandChange"; "configurationChange": "configurationChange"; "dataLoaded": "dataLoaded"; }, never>;
60
66
  }
@@ -41,6 +41,11 @@ export class PivotBaseBindingDirective {
41
41
  * If you prevent the event, the PivotGrid will not be rerendered with the new state, resulting from the configuration changes, applied through the configurator interface.
42
42
  */
43
43
  this.configurationChange = new EventEmitter();
44
+ /**
45
+ * Fires each time when new data is loaded and transformed to show aggregated values.
46
+ * The event fires upon initialization and on user interaction that changes the state of the PivotGrid.
47
+ */
48
+ this.dataLoaded = new EventEmitter();
44
49
  this.subs = new Subscription();
45
50
  }
46
51
  /**
@@ -78,6 +83,13 @@ export class PivotBaseBindingDirective {
78
83
  this.loadData(state);
79
84
  });
80
85
  }));
86
+ this.subs.add(this.dataService.valuesRows.subscribe((data) => {
87
+ this.zone.run(() => {
88
+ if (hasObservers(this.dataLoaded)) {
89
+ this.dataLoaded.emit(data);
90
+ }
91
+ });
92
+ }));
81
93
  this.dataService.directive = this;
82
94
  }
83
95
  ngOnDestroy() {
@@ -121,7 +133,7 @@ export class PivotBaseBindingDirective {
121
133
  ;
122
134
  }
123
135
  PivotBaseBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotBaseBindingDirective, deps: [{ token: i1.PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
124
- PivotBaseBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PivotBaseBindingDirective, selector: "kendo-base-binding-directive", inputs: { columnAxes: "columnAxes", rowAxes: "rowAxes", measureAxes: "measureAxes" }, outputs: { expandChange: "expandChange", configurationChange: "configurationChange" }, ngImport: i0 });
136
+ PivotBaseBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PivotBaseBindingDirective, selector: "kendo-base-binding-directive", inputs: { columnAxes: "columnAxes", rowAxes: "rowAxes", measureAxes: "measureAxes" }, outputs: { expandChange: "expandChange", configurationChange: "configurationChange", dataLoaded: "dataLoaded" }, ngImport: i0 });
125
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotBaseBindingDirective, decorators: [{
126
138
  type: Directive,
127
139
  args: [{
@@ -137,4 +149,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
137
149
  type: Output
138
150
  }], configurationChange: [{
139
151
  type: Output
152
+ }], dataLoaded: [{
153
+ type: Output
140
154
  }] } });
@@ -0,0 +1,6 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ ;
6
+ export {};
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-pivotgrid',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1660892763,
12
+ publishDate: 1661413588,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -32,7 +32,7 @@ const packageMetadata = {
32
32
  name: '@progress/kendo-angular-pivotgrid',
33
33
  productName: 'Kendo UI for Angular',
34
34
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
35
- publishDate: 1660892763,
35
+ publishDate: 1661413588,
36
36
  version: '',
37
37
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
38
38
  };
@@ -1794,6 +1794,11 @@ class PivotBaseBindingDirective {
1794
1794
  * If you prevent the event, the PivotGrid will not be rerendered with the new state, resulting from the configuration changes, applied through the configurator interface.
1795
1795
  */
1796
1796
  this.configurationChange = new EventEmitter();
1797
+ /**
1798
+ * Fires each time when new data is loaded and transformed to show aggregated values.
1799
+ * The event fires upon initialization and on user interaction that changes the state of the PivotGrid.
1800
+ */
1801
+ this.dataLoaded = new EventEmitter();
1797
1802
  this.subs = new Subscription();
1798
1803
  }
1799
1804
  /**
@@ -1831,6 +1836,13 @@ class PivotBaseBindingDirective {
1831
1836
  this.loadData(state);
1832
1837
  });
1833
1838
  }));
1839
+ this.subs.add(this.dataService.valuesRows.subscribe((data) => {
1840
+ this.zone.run(() => {
1841
+ if (hasObservers(this.dataLoaded)) {
1842
+ this.dataLoaded.emit(data);
1843
+ }
1844
+ });
1845
+ }));
1834
1846
  this.dataService.directive = this;
1835
1847
  }
1836
1848
  ngOnDestroy() {
@@ -1874,7 +1886,7 @@ class PivotBaseBindingDirective {
1874
1886
  ;
1875
1887
  }
1876
1888
  PivotBaseBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotBaseBindingDirective, deps: [{ token: PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
1877
- PivotBaseBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PivotBaseBindingDirective, selector: "kendo-base-binding-directive", inputs: { columnAxes: "columnAxes", rowAxes: "rowAxes", measureAxes: "measureAxes" }, outputs: { expandChange: "expandChange", configurationChange: "configurationChange" }, ngImport: i0 });
1889
+ PivotBaseBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PivotBaseBindingDirective, selector: "kendo-base-binding-directive", inputs: { columnAxes: "columnAxes", rowAxes: "rowAxes", measureAxes: "measureAxes" }, outputs: { expandChange: "expandChange", configurationChange: "configurationChange", dataLoaded: "dataLoaded" }, ngImport: i0 });
1878
1890
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotBaseBindingDirective, decorators: [{
1879
1891
  type: Directive,
1880
1892
  args: [{
@@ -1890,6 +1902,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1890
1902
  type: Output
1891
1903
  }], configurationChange: [{
1892
1904
  type: Output
1905
+ }], dataLoaded: [{
1906
+ type: Output
1893
1907
  }] } });
1894
1908
 
1895
1909
  const dataField = 'aggregate';
package/main.d.ts CHANGED
@@ -14,4 +14,5 @@ export { DraggableChipDirective } from './configurator/draggable.directive';
14
14
  export { DropTargetDirective } from './configurator/drop-target.directive';
15
15
  export { ExpandChangeEvent } from './models/expanded-change-event';
16
16
  export { ConfigurationChangeEvent } from './models/configuration-change-event';
17
+ export { PivotDataRowItem } from './models/data-row-item';
17
18
  export { PivotGridAxis, PivotGridField, AxisDataItem, DimensionField, HierarchyField, KPIField, KPIMeasureField, LevelField, MeasureField, MemberField, PivotDataItem, sumAggregate, averageAggregate, minAggregate, maxAggregate, Aggregate, Dimension, Measure } from '@progress/kendo-pivotgrid-common';
@@ -0,0 +1,18 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { PivotDataItem } from "@progress/kendo-pivotgrid-common";
6
+ /**
7
+ * The event data for DataLoadedEvent.
8
+ */
9
+ export interface PivotDataRowItem {
10
+ /**
11
+ * The row hierarchy.
12
+ */
13
+ row: string[];
14
+ /**
15
+ * The aggregated cell data.
16
+ */
17
+ cells: PivotDataItem[];
18
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-pivotgrid",
3
- "version": "0.2.0-dev.202208190706",
3
+ "version": "0.2.0-dev.202208250747",
4
4
  "description": "PivotGrid package for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",