@progress/kendo-angular-pivotgrid 0.2.0-dev.202208250747 → 0.2.0-dev.202209020712
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,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})});
|
|
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,s,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),i=o(l),a=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:1662102713,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 s.BehaviorSubject([]),this.columnHeaderCols=new s.BehaviorSubject([]),this.rowHeaderCols=new s.BehaviorSubject([]),this.rowHeaderRows=new s.BehaviorSubject([]),this.valuesRows=new s.BehaviorSubject([]),this.loading=new s.BehaviorSubject(!1),this.fields=new s.BehaviorSubject([]),this.configuredFields=new s.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:i.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 s.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 s.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 s.Subscription}O.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:O,deps:[{token:i.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:i.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 s.Subscription,this.hasChildren=function(e){return!("hierarchyUniqueName"in e||"aggregator"in e)},this.children=function(e){return"olap"===r.dataService.directive.type?s.from(r.dataService.directive.fetchChildren(e,r.fields)).pipe(M.mergeMap(function(e){return s.of(e)})):s.of(e.children)}}D.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:r,type:D,deps:[{token:y},{token:a.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:i.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:a.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:a.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:a.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(s.fromEvent(e,"wheel").pipe(M.merge(s.fromEvent(n,"wheel"),s.fromEvent(r.valuesTable.nativeElement,"scroll"))).subscribe(function(e){return r.handleScroll(e)})),r.navigable&&r.initNavigation()})},E.prototype.ngAfterContentInit=function(){var t=this;this.subs.add(this.dataService.loading.subscribe(function(e){return t.loading=e}))},E.prototype.ngOnChanges=function(e){l.isChanged("navigable",e)&&(this.navigable?this.initNavigation():this.stopNavigation())},E.prototype.ngOnDestroy=function(){this.resizeObservers.forEach(function(e){return e.disconnect()}),this.subs.unsubscribe(),this.stopNavigation()},E.prototype.messageFor=function(e){return this.localization.get(e)},E.prototype.initNavigation=function(){var e=this,t=(this.stopNavigation(),this.navigation=new d.PivotGridNavigation({tabIndex:0}),this.navigation.start(this.hostEl.nativeElement),this.navigation.first);t&&t.setAttribute("tabindex","0"),this.subs.add(this.dataService.directive.expandChange.pipe(M.merge(this.dataService.directive.configurationChange)).subscribe(function(){return e.zone.runOutsideAngular(function(){setTimeout(function(){return e.navigation.update()})})}))},E.prototype.stopNavigation=function(){var e;this.navigation&&((e=this.navigation.elements.find(function(e){return e.hasAttribute("tabindex")}))&&this.renderer.removeAttribute(e,"tabindex"),this.navigation.stop())},E);function E(e,t,n,o,r,i){var a=this;this.hostEl=e,this.zone=t,this.dataService=n,this.localization=o,this.renderer=r,this.hostClass=!0,this.ariaRole="grid",this.columnHeadersWidth=200,this.navigable=!1,this.resizeObservers=[],this._loaderSettings=ce,this.subs=new s.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:a.LocalizationService},{token:r.Renderer2},{token:i.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",navigable:"navigable"},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}],usesOnChanges:!0,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">\n <span class="k-sr-only">{{messageFor(\'emptyCellLabel\')}}</span>\n </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">\n <span class="k-sr-only">{{messageFor(\'emptyCellLabel\')}}</span>\n </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:a.LocalizationService},{type:r.Renderer2},{type:i.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}],navigable:[{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 s.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:a.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:a.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})});
|
|
@@ -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:
|
|
12
|
+
publishDate: 1662102713,
|
|
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
|
};
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
import { Component, ElementRef, HostBinding, Input, ViewChild } from '@angular/core';
|
|
6
6
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
7
7
|
import { packageMetadata } from './package-metadata';
|
|
8
|
-
import { isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
8
|
+
import { isChanged, isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
9
9
|
import { PivotGridDataService } from './data-binding/pivotgrid-data.service';
|
|
10
10
|
import { fromEvent, Subscription } from 'rxjs';
|
|
11
11
|
import { syncScroll, syncWheel } from './util';
|
|
12
12
|
// eslint-disable-next-line rxjs/ban-operators
|
|
13
13
|
import { merge } from 'rxjs/operators';
|
|
14
14
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
15
|
+
import { PivotGridNavigation } from '@progress/kendo-pivotgrid-common';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
import * as i1 from "./data-binding/pivotgrid-data.service";
|
|
17
18
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
@@ -34,10 +35,12 @@ const DEFAULT_CONFIGURATOR_SETTINGS = {
|
|
|
34
35
|
* Represents the Kendo UI PivotGrid component for Angular.
|
|
35
36
|
*/
|
|
36
37
|
export class PivotGridComponent {
|
|
37
|
-
constructor(hostEl, zone, dataService, localization, _scrollbarWidthService) {
|
|
38
|
+
constructor(hostEl, zone, dataService, localization, renderer, _scrollbarWidthService) {
|
|
39
|
+
this.hostEl = hostEl;
|
|
38
40
|
this.zone = zone;
|
|
39
41
|
this.dataService = dataService;
|
|
40
42
|
this.localization = localization;
|
|
43
|
+
this.renderer = renderer;
|
|
41
44
|
this.hostClass = true;
|
|
42
45
|
this.ariaRole = 'grid';
|
|
43
46
|
/**
|
|
@@ -46,6 +49,12 @@ export class PivotGridComponent {
|
|
|
46
49
|
* @default 200
|
|
47
50
|
*/
|
|
48
51
|
this.columnHeadersWidth = 200;
|
|
52
|
+
/**
|
|
53
|
+
* If set to true, the user can use dedicated shortcuts to interact with the PivotGrid. By default, navigation is disabled.
|
|
54
|
+
*
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
this.navigable = false;
|
|
49
58
|
this.resizeObservers = [];
|
|
50
59
|
this._loaderSettings = DEFAULT_LOADER_SETTINGS;
|
|
51
60
|
this.subs = new Subscription();
|
|
@@ -133,15 +142,29 @@ export class PivotGridComponent {
|
|
|
133
142
|
this.resizeObservers = [headerColsResizeObserver, headerRowsResizeObserver];
|
|
134
143
|
this.subs.add(fromEvent(rowHeadersTable, 'wheel')
|
|
135
144
|
.pipe(merge(fromEvent(colHeadersTable, 'wheel'), fromEvent(this.valuesTable.nativeElement, 'scroll'))).subscribe((ev) => this.handleScroll(ev)));
|
|
145
|
+
if (this.navigable) {
|
|
146
|
+
this.initNavigation();
|
|
147
|
+
}
|
|
136
148
|
});
|
|
137
149
|
}
|
|
138
150
|
}
|
|
139
151
|
ngAfterContentInit() {
|
|
140
152
|
this.subs.add(this.dataService.loading.subscribe(state => this.loading = state));
|
|
141
153
|
}
|
|
154
|
+
ngOnChanges(changes) {
|
|
155
|
+
if (isChanged('navigable', changes)) {
|
|
156
|
+
if (this.navigable) {
|
|
157
|
+
this.initNavigation();
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
this.stopNavigation();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
142
164
|
ngOnDestroy() {
|
|
143
165
|
this.resizeObservers.forEach(o => o.disconnect());
|
|
144
166
|
this.subs.unsubscribe();
|
|
167
|
+
this.stopNavigation();
|
|
145
168
|
}
|
|
146
169
|
/**
|
|
147
170
|
* @hidden
|
|
@@ -149,16 +172,37 @@ export class PivotGridComponent {
|
|
|
149
172
|
messageFor(localizationToken) {
|
|
150
173
|
return this.localization.get(localizationToken);
|
|
151
174
|
}
|
|
175
|
+
initNavigation() {
|
|
176
|
+
this.stopNavigation();
|
|
177
|
+
this.navigation = new PivotGridNavigation({ tabIndex: 0 });
|
|
178
|
+
this.navigation.start(this.hostEl.nativeElement);
|
|
179
|
+
const firstCell = this.navigation.first;
|
|
180
|
+
if (firstCell) {
|
|
181
|
+
firstCell.setAttribute('tabindex', '0');
|
|
182
|
+
}
|
|
183
|
+
this.subs.add(this.dataService.directive.expandChange.pipe(merge(this.dataService.directive.configurationChange)).subscribe(() => this.zone.runOutsideAngular(() => {
|
|
184
|
+
setTimeout(() => this.navigation.update());
|
|
185
|
+
})));
|
|
186
|
+
}
|
|
187
|
+
stopNavigation() {
|
|
188
|
+
if (this.navigation) {
|
|
189
|
+
const lastFocusedEl = this.navigation.elements.find(el => el.hasAttribute('tabindex'));
|
|
190
|
+
if (lastFocusedEl) {
|
|
191
|
+
this.renderer.removeAttribute(lastFocusedEl, 'tabindex');
|
|
192
|
+
}
|
|
193
|
+
this.navigation.stop();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
152
196
|
}
|
|
153
|
-
PivotGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PivotGridDataService }, { token: i2.LocalizationService }, { token: i3.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
154
|
-
PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PivotGridComponent, 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: [
|
|
197
|
+
PivotGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PivotGridDataService }, { token: i2.LocalizationService }, { token: i0.Renderer2 }, { token: i3.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
198
|
+
PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PivotGridComponent, selector: "kendo-pivotgrid", inputs: { loaderSettings: "loaderSettings", configurator: "configurator", columnHeadersWidth: "columnHeadersWidth", navigable: "navigable" }, 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: [
|
|
155
199
|
PivotGridDataService,
|
|
156
200
|
LocalizationService,
|
|
157
201
|
{
|
|
158
202
|
provide: L10N_PREFIX,
|
|
159
203
|
useValue: 'kendo.pivotgrid'
|
|
160
204
|
}
|
|
161
|
-
], viewQueries: [{ propertyName: "colHeadersTable", first: true, predicate: ["colHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "rowHeadersTable", first: true, predicate: ["rowHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "valuesTable", first: true, predicate: ["valuesTable"], descendants: true, read: ElementRef }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, read: ElementRef }], ngImport: i0, template: `
|
|
205
|
+
], viewQueries: [{ propertyName: "colHeadersTable", first: true, predicate: ["colHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "rowHeadersTable", first: true, predicate: ["rowHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "valuesTable", first: true, predicate: ["valuesTable"], descendants: true, read: ElementRef }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
|
|
162
206
|
<ng-container kendoPivotGridLocalizedMessages
|
|
163
207
|
i18n-loading="kendo.pivotgrid.loading|The loading text"
|
|
164
208
|
loading="Loading"
|
|
@@ -251,7 +295,9 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
251
295
|
configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>
|
|
252
296
|
|
|
253
297
|
<div #table class="k-pivotgrid">
|
|
254
|
-
<span class="k-pivotgrid-empty-cell"
|
|
298
|
+
<span class="k-pivotgrid-empty-cell">
|
|
299
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
300
|
+
</span>
|
|
255
301
|
<kendo-pivotgrid-table
|
|
256
302
|
#colHeadersTable
|
|
257
303
|
[colWidth]="columnHeadersWidth"
|
|
@@ -395,7 +441,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
395
441
|
configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>
|
|
396
442
|
|
|
397
443
|
<div #table class="k-pivotgrid">
|
|
398
|
-
<span class="k-pivotgrid-empty-cell"
|
|
444
|
+
<span class="k-pivotgrid-empty-cell">
|
|
445
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
446
|
+
</span>
|
|
399
447
|
<kendo-pivotgrid-table
|
|
400
448
|
#colHeadersTable
|
|
401
449
|
[colWidth]="columnHeadersWidth"
|
|
@@ -444,7 +492,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
444
492
|
}
|
|
445
493
|
`]
|
|
446
494
|
}]
|
|
447
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.PivotGridDataService }, { type: i2.LocalizationService }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
|
|
495
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.PivotGridDataService }, { type: i2.LocalizationService }, { type: i0.Renderer2 }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
|
|
448
496
|
type: HostBinding,
|
|
449
497
|
args: ['class.k-d-flex']
|
|
450
498
|
}, {
|
|
@@ -486,4 +534,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
486
534
|
type: Input
|
|
487
535
|
}], columnHeadersWidth: [{
|
|
488
536
|
type: Input
|
|
537
|
+
}], navigable: [{
|
|
538
|
+
type: Input
|
|
489
539
|
}] } });
|
|
@@ -6,8 +6,8 @@ import * as i0 from '@angular/core';
|
|
|
6
6
|
import { EventEmitter, Injectable, Output, Component, HostBinding, Input, Directive, Optional, forwardRef, ElementRef, ViewChild, NgModule } from '@angular/core';
|
|
7
7
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
8
8
|
import * as i3 from '@progress/kendo-angular-common';
|
|
9
|
-
import { isDocumentAvailable, PreventableEvent, hasObservers, anyChanged, EventsModule, DraggableModule } from '@progress/kendo-angular-common';
|
|
10
|
-
import { toTree, toRows, toColumns, toData, configuratorReducer, PIVOT_CONFIGURATOR_ACTION, HEADERS_ACTION, headersReducer, createFlatSchemaDimensions, createDataTree, createLocalDataState, rootFields, fetchData, createDataState, fetchDiscover, addKPI, buildKPIMeasures } from '@progress/kendo-pivotgrid-common';
|
|
9
|
+
import { isDocumentAvailable, isChanged, PreventableEvent, hasObservers, anyChanged, EventsModule, DraggableModule } from '@progress/kendo-angular-common';
|
|
10
|
+
import { toTree, toRows, toColumns, toData, configuratorReducer, PIVOT_CONFIGURATOR_ACTION, PivotGridNavigation, HEADERS_ACTION, headersReducer, createFlatSchemaDimensions, createDataTree, createLocalDataState, rootFields, fetchData, createDataState, fetchDiscover, addKPI, buildKPIMeasures } from '@progress/kendo-pivotgrid-common';
|
|
11
11
|
export { averageAggregate, maxAggregate, minAggregate, sumAggregate } from '@progress/kendo-pivotgrid-common';
|
|
12
12
|
import { BehaviorSubject, Subscription, from, of, fromEvent } from 'rxjs';
|
|
13
13
|
import { mergeMap, merge } from 'rxjs/operators';
|
|
@@ -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:
|
|
35
|
+
publishDate: 1662102713,
|
|
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
|
};
|
|
@@ -1271,10 +1271,12 @@ const DEFAULT_CONFIGURATOR_SETTINGS = {
|
|
|
1271
1271
|
* Represents the Kendo UI PivotGrid component for Angular.
|
|
1272
1272
|
*/
|
|
1273
1273
|
class PivotGridComponent {
|
|
1274
|
-
constructor(hostEl, zone, dataService, localization, _scrollbarWidthService) {
|
|
1274
|
+
constructor(hostEl, zone, dataService, localization, renderer, _scrollbarWidthService) {
|
|
1275
|
+
this.hostEl = hostEl;
|
|
1275
1276
|
this.zone = zone;
|
|
1276
1277
|
this.dataService = dataService;
|
|
1277
1278
|
this.localization = localization;
|
|
1279
|
+
this.renderer = renderer;
|
|
1278
1280
|
this.hostClass = true;
|
|
1279
1281
|
this.ariaRole = 'grid';
|
|
1280
1282
|
/**
|
|
@@ -1283,6 +1285,12 @@ class PivotGridComponent {
|
|
|
1283
1285
|
* @default 200
|
|
1284
1286
|
*/
|
|
1285
1287
|
this.columnHeadersWidth = 200;
|
|
1288
|
+
/**
|
|
1289
|
+
* If set to true, the user can use dedicated shortcuts to interact with the PivotGrid. By default, navigation is disabled.
|
|
1290
|
+
*
|
|
1291
|
+
* @default false
|
|
1292
|
+
*/
|
|
1293
|
+
this.navigable = false;
|
|
1286
1294
|
this.resizeObservers = [];
|
|
1287
1295
|
this._loaderSettings = DEFAULT_LOADER_SETTINGS;
|
|
1288
1296
|
this.subs = new Subscription();
|
|
@@ -1370,15 +1378,29 @@ class PivotGridComponent {
|
|
|
1370
1378
|
this.resizeObservers = [headerColsResizeObserver, headerRowsResizeObserver];
|
|
1371
1379
|
this.subs.add(fromEvent(rowHeadersTable, 'wheel')
|
|
1372
1380
|
.pipe(merge(fromEvent(colHeadersTable, 'wheel'), fromEvent(this.valuesTable.nativeElement, 'scroll'))).subscribe((ev) => this.handleScroll(ev)));
|
|
1381
|
+
if (this.navigable) {
|
|
1382
|
+
this.initNavigation();
|
|
1383
|
+
}
|
|
1373
1384
|
});
|
|
1374
1385
|
}
|
|
1375
1386
|
}
|
|
1376
1387
|
ngAfterContentInit() {
|
|
1377
1388
|
this.subs.add(this.dataService.loading.subscribe(state => this.loading = state));
|
|
1378
1389
|
}
|
|
1390
|
+
ngOnChanges(changes) {
|
|
1391
|
+
if (isChanged('navigable', changes)) {
|
|
1392
|
+
if (this.navigable) {
|
|
1393
|
+
this.initNavigation();
|
|
1394
|
+
}
|
|
1395
|
+
else {
|
|
1396
|
+
this.stopNavigation();
|
|
1397
|
+
}
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1379
1400
|
ngOnDestroy() {
|
|
1380
1401
|
this.resizeObservers.forEach(o => o.disconnect());
|
|
1381
1402
|
this.subs.unsubscribe();
|
|
1403
|
+
this.stopNavigation();
|
|
1382
1404
|
}
|
|
1383
1405
|
/**
|
|
1384
1406
|
* @hidden
|
|
@@ -1386,16 +1408,37 @@ class PivotGridComponent {
|
|
|
1386
1408
|
messageFor(localizationToken) {
|
|
1387
1409
|
return this.localization.get(localizationToken);
|
|
1388
1410
|
}
|
|
1411
|
+
initNavigation() {
|
|
1412
|
+
this.stopNavigation();
|
|
1413
|
+
this.navigation = new PivotGridNavigation({ tabIndex: 0 });
|
|
1414
|
+
this.navigation.start(this.hostEl.nativeElement);
|
|
1415
|
+
const firstCell = this.navigation.first;
|
|
1416
|
+
if (firstCell) {
|
|
1417
|
+
firstCell.setAttribute('tabindex', '0');
|
|
1418
|
+
}
|
|
1419
|
+
this.subs.add(this.dataService.directive.expandChange.pipe(merge(this.dataService.directive.configurationChange)).subscribe(() => this.zone.runOutsideAngular(() => {
|
|
1420
|
+
setTimeout(() => this.navigation.update());
|
|
1421
|
+
})));
|
|
1422
|
+
}
|
|
1423
|
+
stopNavigation() {
|
|
1424
|
+
if (this.navigation) {
|
|
1425
|
+
const lastFocusedEl = this.navigation.elements.find(el => el.hasAttribute('tabindex'));
|
|
1426
|
+
if (lastFocusedEl) {
|
|
1427
|
+
this.renderer.removeAttribute(lastFocusedEl, 'tabindex');
|
|
1428
|
+
}
|
|
1429
|
+
this.navigation.stop();
|
|
1430
|
+
}
|
|
1431
|
+
}
|
|
1389
1432
|
}
|
|
1390
|
-
PivotGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PivotGridDataService }, { token: i2.LocalizationService }, { token: i3.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1391
|
-
PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PivotGridComponent, 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: [
|
|
1433
|
+
PivotGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PivotGridDataService }, { token: i2.LocalizationService }, { token: i0.Renderer2 }, { token: i3.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1434
|
+
PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PivotGridComponent, selector: "kendo-pivotgrid", inputs: { loaderSettings: "loaderSettings", configurator: "configurator", columnHeadersWidth: "columnHeadersWidth", navigable: "navigable" }, 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: [
|
|
1392
1435
|
PivotGridDataService,
|
|
1393
1436
|
LocalizationService,
|
|
1394
1437
|
{
|
|
1395
1438
|
provide: L10N_PREFIX,
|
|
1396
1439
|
useValue: 'kendo.pivotgrid'
|
|
1397
1440
|
}
|
|
1398
|
-
], viewQueries: [{ propertyName: "colHeadersTable", first: true, predicate: ["colHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "rowHeadersTable", first: true, predicate: ["rowHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "valuesTable", first: true, predicate: ["valuesTable"], descendants: true, read: ElementRef }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, read: ElementRef }], ngImport: i0, template: `
|
|
1441
|
+
], viewQueries: [{ propertyName: "colHeadersTable", first: true, predicate: ["colHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "rowHeadersTable", first: true, predicate: ["rowHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "valuesTable", first: true, predicate: ["valuesTable"], descendants: true, read: ElementRef }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
|
|
1399
1442
|
<ng-container kendoPivotGridLocalizedMessages
|
|
1400
1443
|
i18n-loading="kendo.pivotgrid.loading|The loading text"
|
|
1401
1444
|
loading="Loading"
|
|
@@ -1488,7 +1531,9 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
1488
1531
|
configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>
|
|
1489
1532
|
|
|
1490
1533
|
<div #table class="k-pivotgrid">
|
|
1491
|
-
<span class="k-pivotgrid-empty-cell"
|
|
1534
|
+
<span class="k-pivotgrid-empty-cell">
|
|
1535
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
1536
|
+
</span>
|
|
1492
1537
|
<kendo-pivotgrid-table
|
|
1493
1538
|
#colHeadersTable
|
|
1494
1539
|
[colWidth]="columnHeadersWidth"
|
|
@@ -1632,7 +1677,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1632
1677
|
configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>
|
|
1633
1678
|
|
|
1634
1679
|
<div #table class="k-pivotgrid">
|
|
1635
|
-
<span class="k-pivotgrid-empty-cell"
|
|
1680
|
+
<span class="k-pivotgrid-empty-cell">
|
|
1681
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
1682
|
+
</span>
|
|
1636
1683
|
<kendo-pivotgrid-table
|
|
1637
1684
|
#colHeadersTable
|
|
1638
1685
|
[colWidth]="columnHeadersWidth"
|
|
@@ -1681,7 +1728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1681
1728
|
}
|
|
1682
1729
|
`]
|
|
1683
1730
|
}]
|
|
1684
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: PivotGridDataService }, { type: i2.LocalizationService }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
|
|
1731
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: PivotGridDataService }, { type: i2.LocalizationService }, { type: i0.Renderer2 }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
|
|
1685
1732
|
type: HostBinding,
|
|
1686
1733
|
args: ['class.k-d-flex']
|
|
1687
1734
|
}, {
|
|
@@ -1723,6 +1770,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1723
1770
|
type: Input
|
|
1724
1771
|
}], columnHeadersWidth: [{
|
|
1725
1772
|
type: Input
|
|
1773
|
+
}], navigable: [{
|
|
1774
|
+
type: Input
|
|
1726
1775
|
}] } });
|
|
1727
1776
|
|
|
1728
1777
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-pivotgrid",
|
|
3
|
-
"version": "0.2.0-dev.
|
|
3
|
+
"version": "0.2.0-dev.202209020712",
|
|
4
4
|
"description": "PivotGrid package for Angular",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"friendlyName": "PivotGrid"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@progress/kendo-pivotgrid-common": "0.
|
|
25
|
-
"@telerik/kendo-draggable": "^2.0.0",
|
|
24
|
+
"@progress/kendo-pivotgrid-common": "0.4.0",
|
|
26
25
|
"@progress/kendo-schematics": "^3.0.0",
|
|
26
|
+
"@telerik/kendo-draggable": "^2.0.0",
|
|
27
27
|
"tslib": "^2.3.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
package/pivotgrid.component.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
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
|
-
import { AfterContentInit, AfterViewInit, ElementRef, NgZone, OnDestroy } from '@angular/core';
|
|
5
|
+
import { AfterContentInit, AfterViewInit, ElementRef, NgZone, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
|
|
6
6
|
import { ScrollbarWidthService } from '@progress/kendo-angular-common';
|
|
7
7
|
import { PivotGridDataService } from './data-binding/pivotgrid-data.service';
|
|
8
8
|
import { LoaderSettings } from './models/loader-settings';
|
|
@@ -13,9 +13,11 @@ import * as i0 from "@angular/core";
|
|
|
13
13
|
* Represents the Kendo UI PivotGrid component for Angular.
|
|
14
14
|
*/
|
|
15
15
|
export declare class PivotGridComponent implements AfterViewInit, AfterContentInit, OnDestroy {
|
|
16
|
+
private hostEl;
|
|
16
17
|
private zone;
|
|
17
18
|
private dataService;
|
|
18
19
|
private localization;
|
|
20
|
+
private renderer;
|
|
19
21
|
hostClass: boolean;
|
|
20
22
|
get rightPositionClass(): boolean;
|
|
21
23
|
get leftPositionClass(): boolean;
|
|
@@ -52,6 +54,12 @@ export declare class PivotGridComponent implements AfterViewInit, AfterContentIn
|
|
|
52
54
|
* @default 200
|
|
53
55
|
*/
|
|
54
56
|
columnHeadersWidth: number;
|
|
57
|
+
/**
|
|
58
|
+
* If set to true, the user can use dedicated shortcuts to interact with the PivotGrid. By default, navigation is disabled.
|
|
59
|
+
*
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
62
|
+
navigable: boolean;
|
|
55
63
|
loading: boolean;
|
|
56
64
|
showConfigurator: boolean;
|
|
57
65
|
private resizeObservers;
|
|
@@ -59,9 +67,11 @@ export declare class PivotGridComponent implements AfterViewInit, AfterContentIn
|
|
|
59
67
|
private subs;
|
|
60
68
|
private rtl;
|
|
61
69
|
private direction;
|
|
62
|
-
|
|
70
|
+
private navigation;
|
|
71
|
+
constructor(hostEl: ElementRef, zone: NgZone, dataService: PivotGridDataService, localization: LocalizationService, renderer: Renderer2, _scrollbarWidthService: ScrollbarWidthService);
|
|
63
72
|
ngAfterViewInit(): void;
|
|
64
73
|
ngAfterContentInit(): void;
|
|
74
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
65
75
|
ngOnDestroy(): void;
|
|
66
76
|
/**
|
|
67
77
|
* @hidden
|
|
@@ -69,6 +79,8 @@ export declare class PivotGridComponent implements AfterViewInit, AfterContentIn
|
|
|
69
79
|
messageFor(localizationToken: string): string;
|
|
70
80
|
private resizeContainer;
|
|
71
81
|
private handleScroll;
|
|
82
|
+
private initNavigation;
|
|
83
|
+
private stopNavigation;
|
|
72
84
|
static ɵfac: i0.ɵɵFactoryDeclaration<PivotGridComponent, never>;
|
|
73
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PivotGridComponent, "kendo-pivotgrid", never, { "loaderSettings": "loaderSettings"; "configurator": "configurator"; "columnHeadersWidth": "columnHeadersWidth"; }, {}, never, never>;
|
|
85
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PivotGridComponent, "kendo-pivotgrid", never, { "loaderSettings": "loaderSettings"; "configurator": "configurator"; "columnHeadersWidth": "columnHeadersWidth"; "navigable": "navigable"; }, {}, never, never>;
|
|
74
86
|
}
|