@progress/kendo-angular-pivotgrid 0.2.0-dev.202209020832 → 0.2.0-dev.202209121012

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-popup"),require("@progress/kendo-angular-treeview"),require("@progress/kendo-angular-buttons"),require("@angular/animations"),require("@angular/forms"),require("@progress/kendo-angular-dropdowns"),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-popup","@progress/kendo-angular-treeview","@progress/kendo-angular-buttons","@angular/animations","@angular/forms","@progress/kendo-angular-dropdowns","@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.KendoAngularPopup,e.KendoAngularTreeview,e.KendoAngularButtons,e.ng.animations,e.ng.forms,e.i1$2,e.KendoAngularInputs)}(this,function(e,r,V,l,p,s,R,t,n,B,o,G,z,i,j,H,q){"use strict";function a(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 c=a(r),_=a(l),d=a(t),u=a(n),g=a(B),W=a(o),o=a(G),m=a(z),f=a(j),Z=a(H),h=a(q),K={name:"@progress/kendo-angular-pivotgrid",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1662107494,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"},U=function(e,t){return(U=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 $(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}U(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function X(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 Y(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 v(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 y(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 Q(e){return null!=e}function J(e,t,n,o){(e="Y"===o?-ne(e,o):ne(e,o))&&(t[0][n]=t[1][n]+=e)}var ee=/^\s*$/,te=function(e){return null==e},ne=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 oe(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 re(e,t){n=se(a=e),i=n.clientTop,n=n.clientLeft,o=le(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 ie(e,n,o){return e.reduce(function(e,t){return n(t)?y(y([],v(e)),[o(t)]):e},[])}function ae(e,t,n){return e.replace(new RegExp("{\\s*"+t+"\\s*}","g"),n)}var se=function(e){return e.ownerDocument.documentElement},le=function(e){return e.ownerDocument.defaultView},pe=0,b=(ce.prototype.updateRowsAndCols=function(){var n=this,e=p.toTree((this.rows||[]).slice()),e=v(p.toRows(e),4),t=e[0],o=e[1],r=e[2],e=e[3],i=p.toTree((this.columns||[]).slice()),i=v(p.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(p.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=ie(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=ie(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})})},ce);function ce(e){this.ngZone=e,this.expandedStateChange=new r.EventEmitter,this.configuratorFieldChange=new r.EventEmitter,this.expandedFieldChange=new r.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=pe++}b.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:b,deps:[{token:c.NgZone}],target:c.ɵɵFactoryTarget.Injectable}),b.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:b}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:b,decorators:[{type:r.Injectable}],ctorParameters:function(){return[{type:c.NgZone}]},propDecorators:{expandedStateChange:[{type:r.Output}],configuratorFieldChange:[{type:r.Output}],expandedFieldChange:[{type:r.Output}]}});de.prototype.get=function(e){return this.localization.get(e)},Object.defineProperty(de.prototype,"rtl",{get:function(){return this.localization.rtl},enumerable:!1,configurable:!0});var k=de;function de(e){this.localization=e}k.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:k,deps:[{token:d.LocalizationService}],target:c.ɵɵFactoryTarget.Injectable}),k.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:k}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:k,decorators:[{type:r.Injectable}],ctorParameters:function(){return[{type:d.LocalizationService}]}});Object.defineProperty(ue.prototype,"expanded",{get:function(){var e;return(null==(e=this.kendoPivotGridCell)?void 0:e.hasChildren)&&this.kendoPivotGridCell.children.length},enumerable:!1,configurable:!0}),ue.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 x=ue;function ue(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})}}x.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:x,deps:[{token:c.ElementRef},{token:c.Renderer2},{token:b}],target:c.ɵɵFactoryTarget.Component}),x.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:x,selector:"[kendoPivotGridCell]",inputs:{kendoPivotGridCell:"kendoPivotGridCell",tableType:"tableType",rowIndex:"rowIndex",colIndex:"colIndex"},host:{properties:{"class.k-pivotgrid-cell":"this.cellClass"}},ngImport:c,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:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:_.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:x,decorators:[{type:r.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:c.ElementRef},{type:c.Renderer2},{type:b}]},propDecorators:{cellClass:[{type:r.HostBinding,args:["class.k-pivotgrid-cell"]}],kendoPivotGridCell:[{type:r.Input}],tableType:[{type:r.Input}],rowIndex:[{type:r.Input}],colIndex:[{type:r.Input}]}});Object.defineProperty(ge.prototype,"pivotGridId",{get:function(){return"kendo-pivotgrid-"+this.dataService.pivotGridId+"-"},enumerable:!1,configurable:!0}),ge.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}))},ge.prototype.ngOnDestroy=function(){this.dataChangeSubs.unsubscribe()};var C=ge;function ge(e){this.dataService=e,this.dataChangeSubs=new s.Subscription}C.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:C,deps:[{token:b}],target:c.ɵɵFactoryTarget.Component}),C.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"kendo-pivotgrid-table",inputs:{tableType:"tableType",colWidth:"colWidth"},ngImport:c,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:x,selector:"[kendoPivotGridCell]",inputs:["kendoPivotGridCell","tableType","rowIndex","colIndex"]}],directives:[{type:u.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:C,decorators:[{type:r.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:b}]},propDecorators:{tableType:[{type:r.Input}],colWidth:[{type:r.Input}]}});me.prototype.parseConfiguratorState=function(e){var t=p.configuratorReducer({filter:this.state.filter,sort:this.state.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 I=me;function me(){this.configuratorStateChange=new r.EventEmitter}I.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:I,deps:[],target:c.ɵɵFactoryTarget.Injectable}),I.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:I}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:I,decorators:[{type:r.Injectable}],propDecorators:{configuratorStateChange:[{type:r.Output}]}});fe.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()},fe.prototype.attach=function(){return e=this.dom,!1||(document.body.appendChild(e),0),e;var e},fe.prototype.remove=function(){this.dom&&this.dom.parentElement&&(document.body.removeChild(this.dom),this.dom=null)},fe.prototype.hide=function(){this.dom.style.display="none"},fe.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=fe;function fe(){}T.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:T,deps:[],target:c.ɵɵFactoryTarget.Injectable}),T.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:T}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:T,decorators:[{type:r.Injectable}]});$(ye,he=l.PreventableEvent);var he,ve=ye;function ye(e){var t=he.call(this)||this;return t.originalEvent=e,t}ke.prototype.open=function(e,t,n,o){void 0===o&&(o="k-grid-filter-popup");var n=Q(n)&&this.popupRef===n,o=(this.destroy(),n||(n=this.localization.rtl?"right":"left",this.popupRef=this.popupService.open({anchorAlign:{vertical:"bottom",horizontal:n},popupAlign:{vertical:"top",horizontal:n},anchor:e,popupClass:o,content:t,positionMode:"absolute"}),this.renderer.setAttribute(this.popupRef.popupElement,"dir",this.localization.rtl?"rtl":"ltr"),this.attachClose(e)),null==(n=this.popupRef)?void 0:n.popupElement);return o&&this.attachMouseListeners(o),this.popupRef},ke.prototype.destroy=function(){this.popupRef&&(this.detachClose(),this.pointerEventsSub.unsubscribe(),this.pointerEventsSub=null,this.popupRef.close(),this.popupRef=null)},ke.prototype.ngOnDestroy=function(){this.destroy(),this.scrollSubscription.unsubscribe()},ke.prototype.detachClose=function(){this.removeClick&&this.removeClick()},ke.prototype.attachClose=function(t){var n=this;this.detachClose(),this.ngZone.runOutsideAngular(function(){return n.removeClick=n.renderer.listen("document","click",function(e){!function(e,t){for(;e;){if(t(e))return!0;e=e.parentNode}return!1}(e.target,function(e){return n.popupRef.popupElement===e||e===t})&&(e=new ve(e),n.onClose.next(e),!e.isDefaultPrevented()&&n.canClosePopup&&n.destroy(),n.canClosePopup=!0)})})},ke.prototype.attachMouseListeners=function(e){var t=this;this.pointerEventsSub=new s.Subscription,this.ngZone.runOutsideAngular(function(){t.pointerEventsSub.add(t.renderer.listen(e,"pointerdown",function(e){e.stopImmediatePropagation(),t.canClosePopup=!1})),t.pointerEventsSub.add(t.renderer.listen(e,"pointerup",function(){t.canClosePopup=!0}))})};var be=ke;function ke(e,t,n,o){this.popupService=e,this.renderer=t,this.ngZone=n,this.localization=o,this.onClose=new s.Subject,this.pointerEventsSub=new s.Subscription,this.scrollSubscription=new s.Subscription}be.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:be,deps:[{token:W.PopupService},{token:c.Renderer2},{token:c.NgZone},{token:k}],target:c.ɵɵFactoryTarget.Injectable}),be.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:be}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:be,decorators:[{type:r.Injectable}],ctorParameters:function(){return[{type:W.PopupService},{type:c.Renderer2},{type:c.NgZone},{type:k}]}});var D=function(){this.isColumnMenu=!1,this.isPopupOpen=!1},w=(D.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:D,deps:[],target:c.ɵɵFactoryTarget.Injectable}),D.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:D}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:D,decorators:[{type:r.Injectable}]}),xe.prototype.close=function(){this.closeMenu.emit()},xe);function xe(e){this.closeMenu=new r.EventEmitter,this.menuTabbingService=e}w.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:w,deps:[{token:D}],target:c.ɵɵFactoryTarget.Injectable}),w.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:w}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:w,decorators:[{type:r.Injectable}],ctorParameters:function(){return[{type:D}]}});Object.defineProperty(Ce.prototype,"isFirst",{get:function(){return this._isFirst},set:function(e){var t,n=this;e&&(t=this.chipMenuItems[0],this.menuItemComponent.service.menuTabbingService.firstFocusable=t,this.ngZone.runOutsideAngular(function(){var e=n.renderer.listen(t,"keydown",n.onTab);n.subs.add(e)})),this._isFirst=e},enumerable:!1,configurable:!0}),Object.defineProperty(Ce.prototype,"isLast",{get:function(){return this._isLast},set:function(e){var t,n=this;this.chipMenuItems&&(e&&(t=this.getLastColumnMenuItem(),this.menuItemComponent.service.menuTabbingService.lastFocusable=t,this.ngZone.runOutsideAngular(function(){var e=n.renderer.listen(t,"keydown",n.onTab);n.subs.add(e)})),this._isLast=e)},enumerable:!1,configurable:!0}),Ce.prototype.ngAfterViewInit=function(){var t=this;this.chipMenuItems=this.hostElement.nativeElement.querySelectorAll(".k-columnmenu-item"),this.chipMenuItems.forEach(function(e){return t.renderer.setAttribute(e,"tabindex","0")})},Ce.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},Ce.prototype.getLastColumnMenuItem=function(){return 1===this.chipMenuItems.length?this.chipMenuItems[0]:this.chipMenuItems[1]};var O=Ce;function Ce(e,t,n){var o=this;this.hostElement=e,this.renderer=t,this.ngZone=n,this._isFirst=!1,this._isLast=!1,this.subs=new s.Subscription,this.onTab=function(e){var t,n;e.keyCode===l.Keys.Tab&&(o.isFirst&&e.shiftKey&&e.target===o.chipMenuItems[0]&&(e.preventDefault(),o.menuItemComponent.service.menuTabbingService.lastFocusable.focus()),o.isLast&&!e.shiftKey&&(t=o.getLastColumnMenuItem(),n=o.menuItemComponent.expanded,t!==e.target||n||(e.preventDefault(),o.menuItemComponent.service.menuTabbingService.firstFocusable.focus())))}}O.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:O,deps:[{token:c.ElementRef},{token:c.Renderer2},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),O.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"[kendoPivotChipMenuItem]",inputs:{menuItemComponent:["kendoPivotChipMenuItem","menuItemComponent"]},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:O,decorators:[{type:r.Directive,args:[{selector:"[kendoPivotChipMenuItem]"}]}],ctorParameters:function(){return[{type:c.ElementRef},{type:c.Renderer2},{type:c.NgZone}]},propDecorators:{menuItemComponent:[{type:r.Input,args:["kendoPivotChipMenuItem"]}]}});Te.prototype.ngAfterViewInit=function(){var e=this;this.chipMenuItems.length&&(this.chipMenuItems.first.isFirst=!0,this.chipMenuItems.last.isLast=!0,this.ngZone.onStable.pipe(R.take(1)).subscribe(function(){return e.service.menuTabbingService.firstFocusable.focus()}))};var Ie=Te;function Te(e,t){this.service=e,this.ngZone=t,this.hostClass=!0}Ie.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ie,deps:[{token:w},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Component}),Ie.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:Ie,selector:"kendo-pivot-chipmenu-container",host:{properties:{"class.k-grid-columnmenu-popup":"this.hostClass"}},queries:[{propertyName:"chipMenuItems",predicate:O,descendants:!0}],ngImport:c,template:"\n <ng-content></ng-content>\n ",isInline:!0}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ie,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-chipmenu-container",template:"\n <ng-content></ng-content>\n "}]}],ctorParameters:function(){return[{type:w},{type:c.NgZone}]},propDecorators:{chipMenuItems:[{type:r.ContentChildren,args:[O,{descendants:!0}]}],hostClass:[{type:r.HostBinding,args:["class.k-grid-columnmenu-popup"]}]}});De.prototype.ngOnInit=function(){if(r.isDevMode()&&!this.service)throw new Error("The service input of the host chip menu components (e.g. ChipMenuSortComponent) is mandatory.")},De.prototype.close=function(){this.service.close()};var S=De;function De(){this.hostClass=!0}S.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,deps:[],target:c.ɵɵFactoryTarget.Component}),S.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:S,selector:"kendo-pivot-chip-menu-item-base",inputs:{service:"service"},host:{properties:{"class.k-columnmenu-item-wrapper":"this.hostClass"}},ngImport:c,template:"",isInline:!0}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-chip-menu-item-base",template:""}]}],propDecorators:{service:[{type:r.Input}],hostClass:[{type:r.HostBinding,args:["class.k-columnmenu-item-wrapper"]}]}});var F=function(e){this.templateRef=e},A=(F.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:F,deps:[{token:c.TemplateRef,optional:!0}],target:c.ɵɵFactoryTarget.Directive}),F.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:F,selector:"[kendoPivotChipMenuItemContentTemplate]",ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:F,decorators:[{type:r.Directive,args:[{selector:"[kendoPivotChipMenuItemContentTemplate]"}]}],ctorParameters:function(){return[{type:c.TemplateRef,decorators:[{type:r.Optional}]}]}}),Object.defineProperty(we.prototype,"iconClass",{get:function(){return"k-i-"+this.icon},enumerable:!1,configurable:!0}),we.prototype.ngOnChanges=function(e){e.expanded&&this.updateContentState()},we.prototype.onClick=function(e){this.itemClick.emit(e),this.contentTemplate&&(this.expanded=!this.expanded,this.updateContentState(),(this.expanded?this.expand:this.collapse).emit())},we.prototype.updateContentState=function(){this.contentState=this.expanded?"expanded":"collapsed"},we);function we(){this.itemClick=new r.EventEmitter,this.expand=new r.EventEmitter,this.collapse=new r.EventEmitter,this.contentState="collapsed"}A.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:A,deps:[],target:c.ɵɵFactoryTarget.Component}),A.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:A,selector:"kendo-pivot-chipmenu-item",inputs:{icon:"icon",text:"text",selected:"selected",expanded:"expanded"},outputs:{itemClick:"itemClick",expand:"expand",collapse:"collapse"},queries:[{propertyName:"contentTemplate",first:!0,predicate:F,descendants:!0}],usesOnChanges:!0,ngImport:c,template:'\n <div\n class="k-columnmenu-item"\n (click)="onClick($event)"\n (keydown.enter)="onClick($event)"\n [class.k-selected]="selected"\n role="button"\n [attr.aria-expanded]="expanded">\n <span *ngIf="icon" class="k-icon" [ngClass]="iconClass">\n </span>\n {{ text }}\n </div>\n <div *ngIf="contentTemplate" [@state]="contentState" style="overflow:hidden;" class="k-columnmenu-item-content">\n <ng-container [ngTemplateOutlet]="contentTemplate.templateRef">\n </ng-container>\n <div>\n ',isInline:!0,directives:[{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:u.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}],animations:[i.trigger("state",[i.state("collapsed",i.style({display:"none"})),i.state("expanded",i.style({display:"block"})),i.transition("collapsed => expanded",[i.style({height:"0px",display:"block"}),i.animate("100ms ease-in",i.style({height:"*"}))]),i.transition("expanded => collapsed",[i.style({height:"*"}),i.animate("100ms ease-in",i.style({height:"0px"}))])])]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:A,decorators:[{type:r.Component,args:[{animations:[i.trigger("state",[i.state("collapsed",i.style({display:"none"})),i.state("expanded",i.style({display:"block"})),i.transition("collapsed => expanded",[i.style({height:"0px",display:"block"}),i.animate("100ms ease-in",i.style({height:"*"}))]),i.transition("expanded => collapsed",[i.style({height:"*"}),i.animate("100ms ease-in",i.style({height:"0px"}))])])],selector:"kendo-pivot-chipmenu-item",template:'\n <div\n class="k-columnmenu-item"\n (click)="onClick($event)"\n (keydown.enter)="onClick($event)"\n [class.k-selected]="selected"\n role="button"\n [attr.aria-expanded]="expanded">\n <span *ngIf="icon" class="k-icon" [ngClass]="iconClass">\n </span>\n {{ text }}\n </div>\n <div *ngIf="contentTemplate" [@state]="contentState" style="overflow:hidden;" class="k-columnmenu-item-content">\n <ng-container [ngTemplateOutlet]="contentTemplate.templateRef">\n </ng-container>\n <div>\n '}]}],propDecorators:{itemClick:[{type:r.Output}],expand:[{type:r.Output}],collapse:[{type:r.Output}],icon:[{type:r.Input}],text:[{type:r.Input}],selected:[{type:r.Input}],expanded:[{type:r.Input}],contentTemplate:[{type:r.ContentChild,args:[F,{static:!1}]}]}});$(Fe,Oe=S),Object.defineProperty(Fe.prototype,"sortedAsc",{get:function(){var e=this.descriptor;return e&&(!e.dir||"asc"===e.dir)},enumerable:!1,configurable:!0}),Object.defineProperty(Fe.prototype,"sortedDesc",{get:function(){var e=this.descriptor;return e&&"desc"===e.dir},enumerable:!1,configurable:!0}),Fe.prototype.messageFor=function(e){return this.localization.get(e)},Fe.prototype.toggleSort=function(e){var t=this.chip.name.toString(),n=this.descriptor,o=this.configuratorService.state.sort.filter(function(e){return e.field!==t});n&&n.dir===e||o.push({field:t,dir:e}),this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setSort,payload:o}),this.close()},Object.defineProperty(Fe.prototype,"descriptor",{get:function(){var t=this;return[].concat(this.configuratorService.state.sort||[]).find(function(e){return e.field===t.chip.name.toString()})},enumerable:!1,configurable:!0});var Oe,Se=Fe;function Fe(e,t,n){var o=Oe.call(this)||this;return o.localization=e,o.renderer=t,o.configuratorService=n,o}Se.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Se,deps:[{token:k},{token:c.Renderer2},{token:I}],target:c.ɵɵFactoryTarget.Component}),Se.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:Se,selector:"kendo-pivot-chipmenu-sort",inputs:{chip:"chip"},usesInheritance:!0,ngImport:c,template:'\n <kendo-pivot-chipmenu-item\n [text]="messageFor(\'fieldMenuSortAscendingItemLabel\')"\n icon="sort-asc-small"\n (itemClick)="toggleSort(\'asc\')"\n [selected]="sortedAsc">\n </kendo-pivot-chipmenu-item>\n <kendo-pivot-chipmenu-item\n [text]="messageFor(\'fieldMenuSortDescendingItemLabel\')"\n icon="sort-desc-small"\n (itemClick)="toggleSort(\'desc\')"\n [selected]="sortedDesc">\n </kendo-pivot-chipmenu-item>\n ',isInline:!0,components:[{type:A,selector:"kendo-pivot-chipmenu-item",inputs:["icon","text","selected","expanded"],outputs:["itemClick","expand","collapse"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Se,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-chipmenu-sort",template:'\n <kendo-pivot-chipmenu-item\n [text]="messageFor(\'fieldMenuSortAscendingItemLabel\')"\n icon="sort-asc-small"\n (itemClick)="toggleSort(\'asc\')"\n [selected]="sortedAsc">\n </kendo-pivot-chipmenu-item>\n <kendo-pivot-chipmenu-item\n [text]="messageFor(\'fieldMenuSortDescendingItemLabel\')"\n icon="sort-desc-small"\n (itemClick)="toggleSort(\'desc\')"\n [selected]="sortedDesc">\n </kendo-pivot-chipmenu-item>\n '}]}],ctorParameters:function(){return[{type:k},{type:c.Renderer2},{type:I}]},propDecorators:{chip:[{type:r.Input}]}});Ae.prototype.ngAfterViewInit=function(){var e=this.host.wrapper.nativeElement;e.setAttribute("aria-label",this.filterMenuDropDownLabel),e.addEventListener("keydown",this.keydownHandler,!0)},Ae.prototype.ngOnDestroy=function(){this.host.wrapper.nativeElement.removeEventListener("keydown",this.keydownHandler)};i=Ae;function Ae(e){var t=this;this.host=e,this.keydownHandler=function(e){e.keyCode===l.Keys.Escape&&t.host.isOpen&&(e.stopPropagation(),t.host.toggle(!1))}}i.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:i,deps:[{token:Z.DropDownListComponent}],target:c.ɵɵFactoryTarget.Directive}),i.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:i,selector:"[kendoFilterMenuDropDown]",inputs:{filterMenuDropDownLabel:"filterMenuDropDownLabel"},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:i,decorators:[{type:r.Directive,args:[{selector:"[kendoFilterMenuDropDown]"}]}],ctorParameters:function(){return[{type:Z.DropDownListComponent}]},propDecorators:{filterMenuDropDownLabel:[{type:r.Input}]}});Ee={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"};var Ee,Me=function(t){return Object.keys(Ee).map(function(e){return{text:t.get(e),value:Ee[e]}})},E=(Object.defineProperty(Ne.prototype,"currentFilter",{get:function(){var t=this,e=null==(e=this.configuratorService.state.filter)?void 0:e.filter(function(e){return e.field===t.chip.name.toString()});return e&&e[0]},enumerable:!1,configurable:!0}),Ne.prototype.registerOnChange=function(e){this.filterFormGroup.valueChanges.subscribe(e)},Ne.prototype.registerOnTouched=function(e){this.onTouched=e},Ne.prototype.writeValue=function(e){e&&this.filterFormGroup.setValue(e,{emitEvent:!1})},Object.defineProperty(Ne.prototype,"filterMenuDropDownLabel",{get:function(){var e=this.localization.get("filterOperatorsDropDownLabel")||"",t=this.chip.name.toString();return ae(e,"fields",t)},enumerable:!1,configurable:!0}),Ne.prototype.ngOnInit=function(){this.filterFormGroup=this.fb.group({operator:[this.currentFilter?this.currentFilter.operator:""],value:[this.currentFilter?this.currentFilter.value:""]}),this.operators=Me(this.localization)},Ne.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},Ne);function Ne(e,t,n){this.localization=e,this.configuratorService=t,this.fb=n,this.subscription=new s.Subscription,this.onTouched=function(){}}E.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:E,deps:[{token:k},{token:I},{token:f.FormBuilder}],target:c.ɵɵFactoryTarget.Component}),E.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:E,selector:"kendo-pivot-string-filter-menu",inputs:{chip:"chip",menuTabbingService:"menuTabbingService"},providers:[{provide:j.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return E}),multi:!0}],ngImport:c,template:'\n <ng-container [formGroup]="filterFormGroup">\n <kendo-dropdownlist\n kendoFilterMenuDropDown\n [filterMenuDropDownLabel]="filterMenuDropDownLabel"\n [data]="operators"\n formControlName="operator"\n [valuePrimitive]="true"\n textField="text"\n valueField="value">\n </kendo-dropdownlist>\n <input\n kendoTextBox\n formControlName="value"\n />\n </ng-container>\n ',isInline:!0,components:[{type:Z.DropDownListComponent,selector:"kendo-dropdownlist",inputs:["iconClass","loading","data","value","textField","valueField","popupSettings","listHeight","defaultItem","disabled","itemDisabled","readonly","filterable","virtual","ignoreCase","delay","valuePrimitive","tabindex","tabIndex","size","rounded","fillMode","id"],outputs:["valueChange","filterChange","selectionChange","open","opened","close","closed","focus","blur"],exportAs:["kendoDropDownList"]}],directives:[{type:f.NgControlStatusGroup,selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]"},{type:f.FormGroupDirective,selector:"[formGroup]",inputs:["formGroup"],outputs:["ngSubmit"],exportAs:["ngForm"]},{type:i,selector:"[kendoFilterMenuDropDown]",inputs:["filterMenuDropDownLabel"]},{type:f.NgControlStatus,selector:"[formControlName],[ngModel],[formControl]"},{type:f.FormControlName,selector:"[formControlName]",inputs:["disabled","formControlName","ngModel"],outputs:["ngModelChange"]},{type:h.TextBoxDirective,selector:"input[kendoTextBox]",inputs:["value"]},{type:f.DefaultValueAccessor,selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]"}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:E,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-string-filter-menu",providers:[{provide:j.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return E}),multi:!0}],template:'\n <ng-container [formGroup]="filterFormGroup">\n <kendo-dropdownlist\n kendoFilterMenuDropDown\n [filterMenuDropDownLabel]="filterMenuDropDownLabel"\n [data]="operators"\n formControlName="operator"\n [valuePrimitive]="true"\n textField="text"\n valueField="value">\n </kendo-dropdownlist>\n <input\n kendoTextBox\n formControlName="value"\n />\n </ng-container>\n '}]}],ctorParameters:function(){return[{type:k},{type:I},{type:f.FormBuilder}]},propDecorators:{chip:[{type:r.Input}],menuTabbingService:[{type:r.Input}]}});function Pe(e){var t=e.value,e=e.operator;return!(te(t=t)||ee.test(t))||("isnull"===(t=e)||"isnotnull"===t||"isempty"===t||"isnotempty"===t)}Ve.prototype.ngOnInit=function(){},Ve.prototype.ngAfterViewChecked=function(){(!this.menuTabbingService.isColumnMenu||this.isLast&&this.isExpanded)&&(this.menuTabbingService.lastFocusable=(this.disabled?this.resetButton:this.filterButton).nativeElement)},Ve.prototype.ngOnDestroy=function(){this.menuTabbingService.lastFocusable=null},Object.defineProperty(Ve.prototype,"disabled",{get:function(){return!(this.filterDescriptorValue&&Pe(this.filterDescriptorValue))},enumerable:!1,configurable:!0}),Ve.prototype.submit=function(){var t=Object.assign({field:this.chip.name.toString()},this.filterDescriptorValue),e=this.configuratorService.state.filter?y(y([],v(this.configuratorService.state.filter.filter(function(e){return e.field!==t.field}))),[t]):[t];return this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setFilter,payload:e}),this.close.emit(),!1},Ve.prototype.reset=function(){var t=this,e=this.configuratorService.state.filter.filter(function(e){return e.field!==t.chip.name.toString()});this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setFilter,payload:e}),this.close.emit()},Ve.prototype.onTab=function(e,t){!this.menuTabbingService.firstFocusable||this.menuTabbingService.isColumnMenu&&!this.isLast||(e.preventDefault(),("reset"!==t||this.disabled?this.menuTabbingService.firstFocusable:this.filterButton.nativeElement).focus())},Ve.prototype.messageFor=function(e){return this.localization.get(e)};var Le=Ve;function Ve(e,t,n,o){this.localization=e,this.cd=t,this.configuratorService=o,this.close=new r.EventEmitter,this.actionsClass="k-action-buttons k-button-group",this.menuTabbingService=n}Le.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Le,deps:[{token:k},{token:c.ChangeDetectorRef},{token:D},{token:I}],target:c.ɵɵFactoryTarget.Component}),Le.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:Le,selector:"kendo-pivot-filter-menu-container",inputs:{chip:"chip",isLast:"isLast",isExpanded:"isExpanded",menuTabbingService:"menuTabbingService",actionsClass:"actionsClass"},outputs:{close:"close"},providers:[D],viewQueries:[{propertyName:"resetButton",first:!0,predicate:["resetButton"],descendants:!0},{propertyName:"filterButton",first:!0,predicate:["filterButton"],descendants:!0}],ngImport:c,template:'\n <form (submit)="submit()" (reset)="reset()"\n class="k-filter-menu k-group k-reset k-state-border-up">\n <div class="k-filter-menu-container">\n <kendo-pivot-string-filter-menu\n [(ngModel)]="filterDescriptorValue"\n name="\'filterDescriptorValue\'"\n [chip]="chip"\n [menuTabbingService]="menuTabbingService">\n </kendo-pivot-string-filter-menu>\n <div [ngClass]="actionsClass">\n <button\n #resetButton\n type="reset"\n kendoButton\n (keydown.tab)="onTab($event, \'reset\')">{{messageFor(\'filterClearButton\')}}</button>\n <button #filterButton\n type="submit"\n [disabled]="disabled"\n kendoButton\n themeColor="primary"\n (keydown.tab)="onTab($event, \'filter\')">{{messageFor(\'filterFilterButton\')}}</button>\n </div>\n </div>\n </form>\n ',isInline:!0,styles:["\n kendo-pivot-string-filter-menu {\n display: flex;\n flex-flow: column nowrap;\n align-items: stretch;\n gap: 8px;\n }\n "],components:[{type:E,selector:"kendo-pivot-string-filter-menu",inputs:["chip","menuTabbingService"]}],directives:[{type:f.ɵNgNoValidate,selector:"form:not([ngNoForm]):not([ngNativeValidate])"},{type:f.NgControlStatusGroup,selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]"},{type:f.NgForm,selector:"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]",inputs:["ngFormOptions"],outputs:["ngSubmit"],exportAs:["ngForm"]},{type:f.NgControlStatus,selector:"[formControlName],[ngModel],[formControl]"},{type:f.NgModel,selector:"[ngModel]:not([formControlName]):not([formControl])",inputs:["name","disabled","ngModel","ngModelOptions"],outputs:["ngModelChange"],exportAs:["ngModel"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:m.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"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Le,decorators:[{type:r.Component,args:[{providers:[D],selector:"kendo-pivot-filter-menu-container",template:'\n <form (submit)="submit()" (reset)="reset()"\n class="k-filter-menu k-group k-reset k-state-border-up">\n <div class="k-filter-menu-container">\n <kendo-pivot-string-filter-menu\n [(ngModel)]="filterDescriptorValue"\n name="\'filterDescriptorValue\'"\n [chip]="chip"\n [menuTabbingService]="menuTabbingService">\n </kendo-pivot-string-filter-menu>\n <div [ngClass]="actionsClass">\n <button\n #resetButton\n type="reset"\n kendoButton\n (keydown.tab)="onTab($event, \'reset\')">{{messageFor(\'filterClearButton\')}}</button>\n <button #filterButton\n type="submit"\n [disabled]="disabled"\n kendoButton\n themeColor="primary"\n (keydown.tab)="onTab($event, \'filter\')">{{messageFor(\'filterFilterButton\')}}</button>\n </div>\n </div>\n </form>\n ',styles:["\n kendo-pivot-string-filter-menu {\n display: flex;\n flex-flow: column nowrap;\n align-items: stretch;\n gap: 8px;\n }\n "]}]}],ctorParameters:function(){return[{type:k},{type:c.ChangeDetectorRef},{type:D},{type:I}]},propDecorators:{close:[{type:r.Output}],chip:[{type:r.Input}],isLast:[{type:r.Input}],isExpanded:[{type:r.Input}],menuTabbingService:[{type:r.Input}],actionsClass:[{type:r.Input}],resetButton:[{type:r.ViewChild,args:["resetButton"]}],filterButton:[{type:r.ViewChild,args:["filterButton"]}]}});$(Be,Re=S),Be.prototype.onCollapse=function(){this.expanded=!1,this.isLast&&(this.service.menuTabbingService.lastFocusable=this.hostElement.nativeElement.querySelector(".k-columnmenu-item")),this.collapse.emit()},Be.prototype.onExpand=function(){this.expanded=!0,this.expand.emit()},Be.prototype.messageFor=function(e){return this.localization.get(e)};var Re,S=Be;function Be(e,t){var n=Re.call(this)||this;return n.localization=e,n.hostElement=t,n.expand=new r.EventEmitter,n.collapse=new r.EventEmitter,n.expanded=!1,n.isLast=!1,n.actionsClass="k-columnmenu-actions",n}S.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,deps:[{token:k},{token:c.ElementRef}],target:c.ɵɵFactoryTarget.Component}),S.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:S,selector:"kendo-pivot-chipmenu-filter",inputs:{chip:"chip",expanded:"expanded",isLast:"isLast"},outputs:{expand:"expand",collapse:"collapse"},usesInheritance:!0,ngImport:c,template:'\n <kendo-pivot-chipmenu-item\n classs="k-widget k-expander"\n [text]="messageFor(\'fieldMenuFilterItemLabel\')"\n icon="filter"\n [expanded]="expanded"\n (collapse)="onCollapse()"\n (expand)="onExpand()">\n <ng-template kendoPivotChipMenuItemContentTemplate>\n <kendo-pivot-filter-menu-container\n [chip]="chip"\n [menuTabbingService]="service.menuTabbingService"\n [actionsClass]="actionsClass"\n [isLast]="isLast"\n [isExpanded]="expanded"\n (keydown.shift.tab)="$event.stopImmediatePropagation()"\n (close)="close()">\n </kendo-pivot-filter-menu-container>\n </ng-template>\n </kendo-pivot-chipmenu-item>\n ',isInline:!0,components:[{type:A,selector:"kendo-pivot-chipmenu-item",inputs:["icon","text","selected","expanded"],outputs:["itemClick","expand","collapse"]},{type:Le,selector:"kendo-pivot-filter-menu-container",inputs:["chip","isLast","isExpanded","menuTabbingService","actionsClass"],outputs:["close"]}],directives:[{type:F,selector:"[kendoPivotChipMenuItemContentTemplate]"}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-chipmenu-filter",template:'\n <kendo-pivot-chipmenu-item\n classs="k-widget k-expander"\n [text]="messageFor(\'fieldMenuFilterItemLabel\')"\n icon="filter"\n [expanded]="expanded"\n (collapse)="onCollapse()"\n (expand)="onExpand()">\n <ng-template kendoPivotChipMenuItemContentTemplate>\n <kendo-pivot-filter-menu-container\n [chip]="chip"\n [menuTabbingService]="service.menuTabbingService"\n [actionsClass]="actionsClass"\n [isLast]="isLast"\n [isExpanded]="expanded"\n (keydown.shift.tab)="$event.stopImmediatePropagation()"\n (close)="close()">\n </kendo-pivot-filter-menu-container>\n </ng-template>\n </kendo-pivot-chipmenu-item>\n '}]}],ctorParameters:function(){return[{type:k},{type:c.ElementRef}]},propDecorators:{expand:[{type:r.Output}],collapse:[{type:r.Output}],chip:[{type:r.Input}],expanded:[{type:r.Input}],isLast:[{type:r.Input}]}});ze.prototype.ngOnDestroy=function(){this.close(),this.closeSubscription.unsubscribe()},ze.prototype.toggle=function(e,t,n){e&&(e.preventDefault(),e.stopImmediatePropagation()),this.popupRef=this.popupService.open(t,n,this.popupRef,"k-column-menu"),this.popupRef||this.anchor.nativeElement.focus()},ze.prototype.close=function(){this.popupService.destroy(),this.popupRef=null,this.anchor.nativeElement.focus()},Object.defineProperty(ze.prototype,"chipMenuTitle",{get:function(){var e=this.localization.get("chipMenuIconTitle")||"",t=this.chip.name.toString();return ae(e,"fieldName",t)},enumerable:!1,configurable:!0});var Ge=ze;function ze(e,t,n){this.popupService=e,this.localization=t,this.service=n,this.tabIndex="-1",this.closeSubscription=n.closeMenu.subscribe(this.close.bind(this))}Ge.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ge,deps:[{token:be},{token:k},{token:w}],target:c.ɵɵFactoryTarget.Component}),Ge.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:Ge,selector:"kendo-pivot-chip-menu",inputs:{chip:"chip",tabIndex:"tabIndex"},providers:[w,D],viewQueries:[{propertyName:"anchor",first:!0,predicate:["anchor"],descendants:!0,static:!0}],ngImport:c,template:'\n <span #anchor\n class="k-icon k-i-more-vertical"\n (click)="toggle($event, anchor, template)"\n [tabindex]="tabIndex"\n [attr.title]="chipMenuTitle">\n </span>\n <ng-template #template>\n <kendo-pivot-chipmenu-container\n (keydown.escape)="close()"\n (keydown.enter)="$event.stopImmediatePropagation()">\n <kendo-pivot-chipmenu-sort\n #sortItem\n [chip]="chip"\n [kendoPivotChipMenuItem]="sortItem"\n [service]="service">\n </kendo-pivot-chipmenu-sort>\n\n <kendo-pivot-chipmenu-filter\n #filterItem\n [chip]="chip"\n [kendoPivotChipMenuItem]="filterItem"\n [service]="service">\n </kendo-pivot-chipmenu-filter>\n </kendo-pivot-chipmenu-container>\n </ng-template>\n ',isInline:!0,components:[{type:Ie,selector:"kendo-pivot-chipmenu-container"},{type:Se,selector:"kendo-pivot-chipmenu-sort",inputs:["chip"]},{type:S,selector:"kendo-pivot-chipmenu-filter",inputs:["chip","expanded","isLast"],outputs:["expand","collapse"]}],directives:[{type:O,selector:"[kendoPivotChipMenuItem]",inputs:["kendoPivotChipMenuItem"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ge,decorators:[{type:r.Component,args:[{providers:[w,D],selector:"kendo-pivot-chip-menu",template:'\n <span #anchor\n class="k-icon k-i-more-vertical"\n (click)="toggle($event, anchor, template)"\n [tabindex]="tabIndex"\n [attr.title]="chipMenuTitle">\n </span>\n <ng-template #template>\n <kendo-pivot-chipmenu-container\n (keydown.escape)="close()"\n (keydown.enter)="$event.stopImmediatePropagation()">\n <kendo-pivot-chipmenu-sort\n #sortItem\n [chip]="chip"\n [kendoPivotChipMenuItem]="sortItem"\n [service]="service">\n </kendo-pivot-chipmenu-sort>\n\n <kendo-pivot-chipmenu-filter\n #filterItem\n [chip]="chip"\n [kendoPivotChipMenuItem]="filterItem"\n [service]="service">\n </kendo-pivot-chipmenu-filter>\n </kendo-pivot-chipmenu-container>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:be},{type:k},{type:w}]},propDecorators:{chip:[{type:r.Input}],tabIndex:[{type:r.Input}],anchor:[{type:r.ViewChild,args:["anchor",{static:!0}]}]}});He.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)))})},He.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},He.prototype.handleMouseEnter=function(e){this.configuratorService.state.dragItem&&("chip"===this.elementType&&(this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setDropTarget,payload:this.item}),this.targetElement=e.target,this.cue.position(re(e.target,"before"===this.configuratorService.state.dropDirection))),this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setDropZone,payload:this.axes}))},He.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(re(this.targetElement,"before"==e)),this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setDropDirection,payload:e}))},He.prototype.handleMouseLeave=function(){"chip"!==this.elementType&&this.configuratorService.state.dragItem&&this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setDropZone,payload:null})};var je=He;function He(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}je.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:je,deps:[{token:c.ElementRef},{token:I},{token:T},{token:c.Renderer2},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),je.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:je,selector:"[kendoDropTarget]",inputs:{item:"item",axes:"axes"},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:je,decorators:[{type:r.Directive,args:[{selector:"[kendoDropTarget]"}]}],ctorParameters:function(){return[{type:c.ElementRef},{type:I},{type:T},{type:c.Renderer2},{type:c.NgZone}]},propDecorators:{item:[{type:r.Input}],axes:[{type:r.Input}]}});Object.defineProperty(_e.prototype,"pointerEvents",{get:function(){return this.drag?"none":void 0},enumerable:!1,configurable:!0}),_e.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:p.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:p.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)}))})},_e.prototype.ngOnDestroy=function(){this.subs.unsubscribe()};var qe=_e;function _e(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}qe.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:qe,deps:[{token:_.DraggableDirective,optional:!0},{token:c.ElementRef},{token:c.NgZone},{token:I},{token:T}],target:c.ɵɵFactoryTarget.Directive}),qe.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:qe,selector:"[kendoChipDraggable]",inputs:{item:"item"},host:{properties:{"style.pointerEvents":"this.pointerEvents","style.touch-action":"this.touchActions"}},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:qe,decorators:[{type:r.Directive,args:[{selector:"[kendoChipDraggable]"}]}],ctorParameters:function(){return[{type:_.DraggableDirective,decorators:[{type:r.Optional}]},{type:c.ElementRef},{type:c.NgZone},{type:I},{type:T}]},propDecorators:{pointerEvents:[{type:r.HostBinding,args:["style.pointerEvents"]}],touchActions:[{type:r.HostBinding,args:["style.touch-action"]}],item:[{type:r.Input}]}});M.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=oe(e),t.setState(oe(e)),t.setChecked()})),this.subs.add(this.configuratorService.configuratorStateChange.subscribe(function(e){t.state=e,t.cdr.detectChanges()}))},M.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},M.prototype.getName=function(e){return e.toString()},M.prototype.setState=function(e){this.state=e,this.configuratorService.state=e},M.prototype.messageFor=function(e){return this.localization.get(e)},Object.defineProperty(M.prototype,"columnHierarchies",{get:function(){return this.extractDefaultFields(this.state.columnAxes)},enumerable:!1,configurable:!0}),Object.defineProperty(M.prototype,"rowHierarchies",{get:function(){return this.extractDefaultFields(this.state.rowAxes)},enumerable:!1,configurable:!0}),Object.defineProperty(M.prototype,"measureHierarchies",{get:function(){return this.extractDefaultFields(this.state.measureAxes)},enumerable:!1,configurable:!0}),M.prototype.setChecked=function(e){var n=this,e=(void 0===e&&(e=[]),y(y([],v(this.fields)),v(e))),e=this.getFieldsFlatMap(e).filter(function(t){return y(y(y([],v(n.columnHierarchies)),v(n.rowHierarchies)),v(n.measureHierarchies)).some(function(e){return e===t.uniqueName||e===t.defaultHierarchy})});this.checked=e},M.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},M.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)},M.prototype.handleChildrenLoaded=function(e){"local"!==this.dataService.directive.type&&(e=e.children.map(function(e){return e.dataItem}),this.setChecked(e))},M.prototype.handleCheckedChange=function(e,t){e.target.checked?this.checked=y(y([],v(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)},M.prototype.handleSubmit=function(){this.dataService.configuratorFieldChange.emit(this.state)},M.prototype.handleReset=function(){this.setState(oe(this.originalState)),this.setChecked()},M.prototype.getFieldsFlatMap=function(e){var t=this,n=y([],v(e=void 0===e?[]:e));return(e||[]).forEach(function(e){n=n.concat(t.getFieldsFlatMap(e.children))}),n},M.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 We=M;function M(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.sort=new Array,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(R.mergeMap(function(e){return s.of(e)})):s.of(e.children)}}We.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:We,deps:[{token:b},{token:d.LocalizationService},{token:I},{token:c.ChangeDetectorRef}],target:c.ɵɵFactoryTarget.Component}),We.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:We,selector:"kendo-pivotgrid-configurator",inputs:{horizontal:"horizontal",sort:"sort",filter:"filter"},host:{properties:{"class.k-pivotgrid-configurator":"this.hostClass"}},providers:[I,T,be],ngImport:c,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\n <kendo-pivot-chip-menu\n [chip]="item">\n </kendo-pivot-chip-menu>\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\n <kendo-pivot-chip-menu\n [chip]="item">\n </kendo-pivot-chip-menu>\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 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:o.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:m.ChipListComponent,selector:"kendo-chiplist, kendo-chip-list",inputs:["selection","size"],outputs:["selectedChange","remove"]},{type:m.ChipComponent,selector:"kendo-chip",inputs:["label","icon","iconClass","avatarClass","selected","removable","removeIcon","disabled","size","rounded","fillMode","themeColor"],outputs:["remove","contentClick"]},{type:Ge,selector:"kendo-pivot-chip-menu",inputs:["chip","tabIndex"]}],directives:[{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:o.ExpandDirective,selector:"[kendoTreeViewExpandable]",inputs:["isExpanded","expandBy","expandOnFilter","expandedKeys"],outputs:["expandedKeysChange"]},{type:o.NodeTemplateDirective,selector:"[kendoTreeViewNodeTemplate]"},{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:h.CheckBoxDirective,selector:"input[kendoCheckBox]",inputs:["size","rounded"]},{type:u.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:je,selector:"[kendoDropTarget]",inputs:["item","axes"]},{type:u.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:qe,selector:"[kendoChipDraggable]",inputs:["item"]},{type:_.DraggableDirective,selector:"[kendoDraggable]",inputs:["enableDrag"],outputs:["kendoPress","kendoDrag","kendoRelease"]},{type:m.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"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:We,decorators:[{type:r.Component,args:[{selector:"kendo-pivotgrid-configurator",providers:[I,T,be],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\n <kendo-pivot-chip-menu\n [chip]="item">\n </kendo-pivot-chip-menu>\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\n <kendo-pivot-chip-menu\n [chip]="item">\n </kendo-pivot-chip-menu>\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 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:b},{type:d.LocalizationService},{type:I},{type:c.ChangeDetectorRef}]},propDecorators:{hostClass:[{type:r.HostBinding,args:["class.k-pivotgrid-configurator"]}],horizontal:[{type:r.Input}],sort:[{type:r.Input}],filter:[{type:r.Input}]}});$(Ke,Ze=t.ComponentMessages);var Ze,o=Ke;function Ke(){return null!==Ze&&Ze.apply(this,arguments)||this}o.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:o,deps:null,target:c.ɵɵFactoryTarget.Directive}),o.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:o,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",chipMenuIconTitle:"chipMenuIconTitle"},usesInheritance:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:o,decorators:[{type:r.Directive}],propDecorators:{fieldMenuFilterItemLabel:[{type:r.Input}],fieldMenuSortAscendingItemLabel:[{type:r.Input}],fieldMenuSortDescendingItemLabel:[{type:r.Input}],filterInputLabel:[{type:r.Input}],filterOperatorsDropDownLabel:[{type:r.Input}],filterEqOperator:[{type:r.Input}],filterNotEqOperator:[{type:r.Input}],filterIsNullOperator:[{type:r.Input}],filterIsNotNullOperator:[{type:r.Input}],filterIsEmptyOperator:[{type:r.Input}],filterIsNotEmptyOperator:[{type:r.Input}],filterStartsWithOperator:[{type:r.Input}],filterContainsOperator:[{type:r.Input}],filterNotContainsOperator:[{type:r.Input}],filterEndsWithOperator:[{type:r.Input}],filterFilterButton:[{type:r.Input}],filterClearButton:[{type:r.Input}],loading:[{type:r.Input}],emptyCellLabel:[{type:r.Input}],configuratorButtonText:[{type:r.Input}],configuratorHeaderText:[{type:r.Input}],configuratorFieldsText:[{type:r.Input}],configuratorColumnsText:[{type:r.Input}],configuratorRowsText:[{type:r.Input}],configuratorValuesText:[{type:r.Input}],configuratorCancelButtonText:[{type:r.Input}],configuratorApplyButtonText:[{type:r.Input}],configuratorEmptyRowsText:[{type:r.Input}],configuratorEmptyColumnsText:[{type:r.Input}],configuratorEmptyMeasuresText:[{type:r.Input}],chipMenuIconTitle:[{type:r.Input}]}});$(Xe,Ue=o);var Ue,$e=Xe;function Xe(e){var t=Ue.call(this)||this;return t.service=e,t}$e.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:$e,deps:[{token:d.LocalizationService}],target:c.ɵɵFactoryTarget.Directive}),$e.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:$e,selector:"[kendoPivotGridLocalizedMessages]",providers:[{provide:o,useExisting:r.forwardRef(function(){return $e})}],usesInheritance:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:$e,decorators:[{type:r.Directive,args:[{providers:[{provide:o,useExisting:r.forwardRef(function(){return $e})}],selector:"[kendoPivotGridLocalizedMessages]"}]}],ctorParameters:function(){return[{type:d.LocalizationService}]}});var Ye={type:"converging-spinner",themeColor:"primary",size:"large"},Qe={position:"right",horizontal:!1},h=(Object.defineProperty(N.prototype,"rightPositionClass",{get:function(){var e;return"right"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"leftPositionClass",{get:function(){var e;return"left"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"bottomPositionClass",{get:function(){var e;return"bottom"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"topPositionClass",{get:function(){var e;return"top"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"dir",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"loaderSettings",{get:function(){return this._loaderSettings},set:function(e){this._loaderSettings=Object.assign({},Ye,e)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"loadingText",{get:function(){return this.localization.get("loading")},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"configuratorSettings",{get:function(){return this.configurator&&Object.assign({},Qe,this.configurator)},enumerable:!1,configurable:!0}),N.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(R.merge(s.fromEvent(n,"wheel"),s.fromEvent(r.valuesTable.nativeElement,"scroll"))).subscribe(function(e){return r.handleScroll(e)})),r.navigable&&r.initNavigation()})},N.prototype.ngAfterContentInit=function(){var t=this;this.subs.add(this.dataService.loading.subscribe(function(e){return t.loading=e}))},N.prototype.ngOnChanges=function(e){l.isChanged("navigable",e)&&(this.navigable?this.initNavigation():this.stopNavigation())},N.prototype.ngOnDestroy=function(){this.resizeObservers.forEach(function(e){return e.disconnect()}),this.subs.unsubscribe(),this.stopNavigation()},N.prototype.messageFor=function(e){return this.localization.get(e)},N.prototype.initNavigation=function(){var e=this,t=(this.stopNavigation(),this.navigation=new p.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(R.merge(this.dataService.directive.configurationChange)).subscribe(function(){return e.zone.runOutsideAngular(function(){setTimeout(function(){return e.navigation.update()})})}))},N.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())},N);function N(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=Ye,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")?J(e,[a.valuesTable.nativeElement,a.rowHeadersTable.nativeElement],"scrollTop","Y"):e.target.closest(".k-pivotgrid-column-headers")&&J(e,[a.valuesTable.nativeElement,a.colHeadersTable.nativeElement],"scrollLeft","X")},V.validatePackage(K),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}h.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:h,deps:[{token:c.ElementRef},{token:c.NgZone},{token:b},{token:d.LocalizationService},{token:c.Renderer2},{token:_.ScrollbarWidthService}],target:c.ɵɵFactoryTarget.Component}),h.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:h,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:[b,t.LocalizationService,k,{provide:t.L10N_PREFIX,useValue:"kendo.pivotgrid"}],viewQueries:[{propertyName:"colHeadersTable",first:!0,predicate:["colHeadersTable"],descendants:!0,read:r.ElementRef},{propertyName:"rowHeadersTable",first:!0,predicate:["rowHeadersTable"],descendants:!0,read:r.ElementRef},{propertyName:"valuesTable",first:!0,predicate:["valuesTable"],descendants:!0,read:r.ElementRef},{propertyName:"table",first:!0,predicate:["table"],descendants:!0,read:r.ElementRef}],usesOnChanges:!0,ngImport:c,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"\n \n i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"\n chipMenuIconTitle="{{ \'{fieldName} Field Menu\' }}"></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:C,selector:"kendo-pivotgrid-table",inputs:["tableType","colWidth"]},{type:g.LoaderComponent,selector:"kendo-loader",inputs:["type","themeColor","size"]},{type:We,selector:"kendo-pivotgrid-configurator",inputs:["horizontal","sort","filter"]}],directives:[{type:$e,selector:"[kendoPivotGridLocalizedMessages]"},{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:h,decorators:[{type:r.Component,args:[{selector:"kendo-pivotgrid",providers:[b,t.LocalizationService,k,{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"\n \n i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"\n chipMenuIconTitle="{{ \'{fieldName} Field Menu\' }}"></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:c.ElementRef},{type:c.NgZone},{type:b},{type:d.LocalizationService},{type:c.Renderer2},{type:_.ScrollbarWidthService}]},propDecorators:{hostClass:[{type:r.HostBinding,args:["class.k-d-flex"]},{type:r.HostBinding,args:["class.k-pos-relative"]}],rightPositionClass:[{type:r.HostBinding,args:["class.k-flex-row"]}],leftPositionClass:[{type:r.HostBinding,args:["class.k-flex-row-reverse"]}],bottomPositionClass:[{type:r.HostBinding,args:["class.k-flex-column"]}],topPositionClass:[{type:r.HostBinding,args:["class.k-flex-column-reverse"]}],dir:[{type:r.HostBinding,args:["attr.dir"]}],ariaRole:[{type:r.HostBinding,args:["attr.role"]}],colHeadersTable:[{type:r.ViewChild,args:["colHeadersTable",{read:r.ElementRef}]}],rowHeadersTable:[{type:r.ViewChild,args:["rowHeadersTable",{read:r.ElementRef}]}],valuesTable:[{type:r.ViewChild,args:["valuesTable",{read:r.ElementRef}]}],table:[{type:r.ViewChild,args:["table",{read:r.ElementRef}]}],loaderSettings:[{type:r.Input}],configurator:[{type:r.Input}],columnHeadersWidth:[{type:r.Input}],navigable:[{type:r.Input}]}});var Je,et=function(e,t,n,o,r){this.columnAxes=e,this.rowAxes=t,this.measureAxes=n,this.sort=o,this.filter=r},tt=($(nt,Je=l.PreventableEvent),nt);function nt(e){var t=Je.call(this)||this;return Object.assign(t,e),t}$(it,ot=l.PreventableEvent);var ot,rt=it;function it(e){var t=ot.call(this)||this;return Object.assign(t,e),t}Object.defineProperty(at.prototype,"state",{get:function(){return new et(this.columnAxes,this.rowAxes,this.measureAxes,this.sort,this.filter)},enumerable:!1,configurable:!0}),at.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=p.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 rt(t);if(o.configurationChange.emit(e),e.isDefaultPrevented())return}o.dataService.configuredFields.next({columnAxes:t.columnAxes,rowAxes:t.rowAxes,measureAxes:t.measureAxes,sort:t.sort,filter:t.filter}),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},at.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},at.prototype.updateDataServiceFields=function(){this.dataService.normalizedData=this.dataState.data,this.dataService.rows=this.dataState.rows,this.dataService.columns=this.dataState.columns,this.dataService.updateRowsAndCols()},at.prototype.updateConfiguratorFields=function(){this.dataService.fields.next(this.configuratorFields),this.dataService.configuredFields.next({columnAxes:this.columnAxes,rowAxes:this.rowAxes,measureAxes:this.measureAxes,sort:this.sort,filter:this.filter})},at.prototype.updateHeaders=function(e,t,n){n={type:p.HEADERS_ACTION.toggle,payload:n},n=p.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 tt(t);if(this.expandChange.emit(t),t.isDefaultPrevented())return}this[e]=n,this.loadData(this.state)};m=at;function at(e,t){this.dataService=e,this.zone=t,this.columnAxes=[],this.rowAxes=[],this.measureAxes=[],this.sort=[],this.expandChange=new r.EventEmitter,this.configurationChange=new r.EventEmitter,this.dataLoaded=new r.EventEmitter,this.subs=new s.Subscription}m.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,deps:[{token:b},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),m.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:m,selector:"kendo-base-binding-directive",inputs:{columnAxes:"columnAxes",rowAxes:"rowAxes",measureAxes:"measureAxes",sort:"sort",filter:"filter"},outputs:{expandChange:"expandChange",configurationChange:"configurationChange",dataLoaded:"dataLoaded"},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,decorators:[{type:r.Directive,args:[{selector:"kendo-base-binding-directive"}]}],ctorParameters:function(){return[{type:b},{type:c.NgZone}]},propDecorators:{columnAxes:[{type:r.Input}],rowAxes:[{type:r.Input}],measureAxes:[{type:r.Input}],sort:[{type:r.Input}],filter:[{type:r.Input}],expandChange:[{type:r.Output}],configurationChange:[{type:r.Output}],dataLoaded:[{type:r.Output}]}});var st,lt={dataField:"aggregate",columnsData:"columns"},g=($(pt,st=m),pt.prototype.ngOnChanges=function(e){l.anyChanged(["data","dimensions","columnAxes","rowAxes","measureAxes","measures"],e)&&this.loadData(this.state)},pt.prototype.fetchChildren=function(e){return e.children},pt.prototype.loadFields=function(){this.configuratorFields=p.createFlatSchemaDimensions(this.dimensions,this.measures),this.updateConfiguratorFields()},pt.prototype.loadData=function(e){var n=this,t=e.columnAxes,o=e.rowAxes,r=e.measureAxes,i=e.sort,e=e.filter,a=this.getRootAxes(t),s=this.getRootAxes(o),a=a.split("&").map(this.createAxisSettings),s=s.split("&").map(this.createAxisSettings),r=r.map(function(t){return n.measures.find(function(e){return String(e.name)===String(t.name)})}).filter(Boolean),e=p.createDataTree(this.data,s,a,r,lt,e);this.dataState=p.createLocalDataState({dataTree:e,rowSettings:s,columnSettings:a,rowAxes:o,columnAxes:t,measures:r,sort:i,fields:lt}),this.updateDataServiceFields()},pt.prototype.getRootAxes=function(e){return Array.from(p.rootFields(e).keys()).join("&")},pt);function pt(e,t){var n=st.call(this,e,t)||this;return n.type="local",n.createAxisSettings=function(e){return Object.assign({key:e},n.dimensions[e])},n}g.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:g,deps:[{token:b},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),g.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:g,selector:"[kendoPivotLocalBinding]",inputs:{data:["kendoPivotLocalBinding","data"],dimensions:"dimensions",measures:"measures"},exportAs:["kendoPivotLocalBinding"],usesInheritance:!0,usesOnChanges:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:g,decorators:[{type:r.Directive,args:[{selector:"[kendoPivotLocalBinding]",exportAs:"kendoPivotLocalBinding"}]}],ctorParameters:function(){return[{type:b},{type:c.NgZone}]},propDecorators:{data:[{type:r.Input,args:["kendoPivotLocalBinding"]}],dimensions:[{type:r.Input}],measures:[{type:r.Input}]}});$(P,ct=m),P.prototype.ngOnChanges=function(e){l.anyChanged(["url","cube","catalog","columnAxes","rowAxes","measureAxes"],e)&&(this.loadData(this.state),this.loadFields())},P.prototype.loadData=function(e){var t=this,n=e.columnAxes,o=e.rowAxes,r=e.measureAxes,i=e.sort,e=e.filter,n=(this.dataService.loading.next(!0),{connection:{catalog:this.catalog,cube:this.cube},columnAxes:n,rowAxes:o,measureAxes:r,sort:i,filter:e});p.fetchData({url:this.url},JSON.parse(JSON.stringify(n))).then(p.createDataState).then(function(e){t.dataState=e,t.updateDataServiceFields(),t.dataService.loading.next(!1)})},P.prototype.loadFields=function(){var t=this,e={connection:{catalog:this.catalog,cube:this.cube},restrictions:{catalogName:this.catalog,cubeName:this.cube},command:"schemaDimensions"};p.fetchDiscover({url:this.url},e).then(function(e){p.addKPI(e),t.configuratorFields=e,t.updateConfiguratorFields()})},P.prototype.updateFields=function(r,i){return X(this,void 0,void 0,function(){var t,n,o;return Y(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=p.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]}})})},P.prototype.fetchChildren=function(e,t){return this.updateFields(e,t)},P.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},P.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},P.prototype.loadKPIs=function(){return X(this,void 0,void 0,function(){var t;return Y(this,function(e){return t={connection:{catalog:this.catalog,cube:this.cube},restrictions:{catalogName:this.catalog,cubeName:this.cube},command:"schemaKPIs"},[2,p.fetchDiscover({url:this.url},t)]})})},P.prototype.loadAvailableFields=function(i){return X(this,void 0,void 0,function(){var t,n,o,r;return Y(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,p.fetchDiscover({url:this.url},r)]})})};var ct,u=P;function P(e,t){e=ct.call(this,e,t)||this;return e.type="olap",e}u.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:u,deps:[{token:b},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),u.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:u,selector:"[kendoPivotOLAPBinding]",inputs:{url:"url",cube:"cube",catalog:"catalog"},exportAs:["kendoPivotOLAPBinding"],usesInheritance:!0,usesOnChanges:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:u,decorators:[{type:r.Directive,args:[{selector:"[kendoPivotOLAPBinding]",exportAs:"kendoPivotOLAPBinding"}]}],ctorParameters:function(){return[{type:b},{type:c.NgZone}]},propDecorators:{url:[{type:r.Input}],cube:[{type:r.Input}],catalog:[{type:r.Input}]}});$(ut,dt=o),Object.defineProperty(ut.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var dt,L=ut;function ut(e){var t=dt.call(this)||this;return t.service=e,t}L.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:L,deps:[{token:d.LocalizationService}],target:c.ɵɵFactoryTarget.Component}),L.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:L,selector:"kendo-pivotgrid-messages",providers:[{provide:o,useExisting:r.forwardRef(function(){return L})}],usesInheritance:!0,ngImport:c,template:"",isInline:!0}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:L,decorators:[{type:r.Component,args:[{providers:[{provide:o,useExisting:r.forwardRef(function(){return L})}],selector:"kendo-pivotgrid-messages",template:""}]}],ctorParameters:function(){return[{type:d.LocalizationService}]}});t=[n.CommonModule,H.DropDownsModule,q.InputsModule,z.ButtonsModule],m=function(){},m.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,deps:[],target:c.ɵɵFactoryTarget.NgModule}),m.ɵmod=c.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,imports:[n.CommonModule,H.DropDownsModule,q.InputsModule,z.ButtonsModule],exports:[n.CommonModule,H.DropDownsModule,q.InputsModule,z.ButtonsModule]}),m.ɵinj=c.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,imports:[[t],n.CommonModule,H.DropDownsModule,q.InputsModule,z.ButtonsModule]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,decorators:[{type:r.NgModule,args:[{imports:[t],exports:[t]}]}]}),o=[A,Se,Ge,S,F,Le,E,i,Ie,O],gt.exports=function(){return[A,Se,Ie,O,Ge]},n=gt;function gt(){}n.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:n,deps:[],target:c.ɵɵFactoryTarget.NgModule}),n.ɵmod=c.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:n,declarations:[A,Se,Ge,S,F,Le,E,i,Ie,O],imports:[m,j.ReactiveFormsModule,j.FormsModule],exports:[A,Se,Ge,S,F,Le,E,i,Ie,O]}),n.ɵinj=c.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:n,imports:[[m,j.ReactiveFormsModule,j.FormsModule]]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:n,decorators:[{type:r.NgModule,args:[{declarations:[o],imports:[m,j.ReactiveFormsModule,j.FormsModule],exports:[o]}]}]});H=[l.EventsModule,B.IndicatorsModule,G.TreeViewModule,l.DraggableModule,n,m],q=[h,C,We,x,g,u,qe,je,$e,L],z=[h,C,x,g,u,L],t=function(){};t.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,deps:[],target:c.ɵɵFactoryTarget.NgModule}),t.ɵmod=c.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,declarations:[h,C,We,x,g,u,qe,je,$e,L],imports:[l.EventsModule,B.IndicatorsModule,G.TreeViewModule,l.DraggableModule,n,m],exports:[h,C,x,g,u,L]}),t.ɵinj=c.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,imports:[y([],v(H))]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,decorators:[{type:r.NgModule,args:[{imports:y([],v(H)),declarations:y([],v(q)),exports:y([],v(z))}]}]}),Object.defineProperty(e,"averageAggregate",{enumerable:!0,get:function(){return p.averageAggregate}}),Object.defineProperty(e,"maxAggregate",{enumerable:!0,get:function(){return p.maxAggregate}}),Object.defineProperty(e,"minAggregate",{enumerable:!0,get:function(){return p.minAggregate}}),Object.defineProperty(e,"sumAggregate",{enumerable:!0,get:function(){return p.sumAggregate}}),e.ConfigurationChangeEvent=rt,e.CustomMessagesComponent=L,e.DraggableChipDirective=qe,e.DropTargetDirective=je,e.ExpandChangeEvent=tt,e.PivotGridCellDirective=x,e.PivotGridComponent=h,e.PivotGridConfiguratorComponent=We,e.PivotGridModule=t,e.PivotGridTableComponent=C,e.PivotLocalBindingDirective=g,e.PivotOLAPBindingDirective=u,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-popup"),require("@progress/kendo-angular-treeview"),require("@progress/kendo-angular-buttons"),require("@angular/animations"),require("@angular/forms"),require("@progress/kendo-angular-dropdowns"),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-popup","@progress/kendo-angular-treeview","@progress/kendo-angular-buttons","@angular/animations","@angular/forms","@progress/kendo-angular-dropdowns","@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.KendoAngularPopup,e.KendoAngularTreeview,e.KendoAngularButtons,e.ng.animations,e.ng.forms,e.i1$2,e.KendoAngularInputs)}(this,function(e,r,V,l,p,s,R,t,n,B,o,G,j,i,z,H,q){"use strict";function a(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 c=a(r),_=a(l),d=a(t),u=a(n),g=a(B),W=a(o),o=a(G),m=a(j),f=a(z),Z=a(H),h=a(q),K={name:"@progress/kendo-angular-pivotgrid",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1662977534,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"},U=function(e,t){return(U=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 $(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}U(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function X(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 Y(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 v(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 y(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 Q(e){return null!=e}function J(e,t,n,o){(e="Y"===o?-ie(e,o):ie(e,o))&&(t[0][n]=t[1][n]+=e)}function ee(e,t){n=ae(a=e),i=n.clientTop,n=n.clientLeft,o=se(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 te(e,n,o){return e.reduce(function(e,t){return n(t)?y(y([],v(e)),[o(t)]):e},[])}function ne(e,t,n){return e.replace(new RegExp("{\\s*"+t+"\\s*}","g"),n)}var oe=/^\s*$/,re=function(e){return null==e},ie=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},ae=function(e){return e.ownerDocument.documentElement},se=function(e){return e.ownerDocument.defaultView},le=function(e){return e?new Date(e.getTime()):null};function pe(e){var t={};return ce(e,t),t}function ce(e,t){for(var n in e){var o;e.hasOwnProperty(n)&&(o=e[n],t[n]=de(o,t[n]))}}function de(e,t){return Array.isArray(e)?ue(e):e instanceof Date?le(e):e&&"object"==typeof e?(ce(e,t=t||{}),t):e}function ue(e){return e.map(function(e){return de(e,void 0)})}var ge=0,b=(me.prototype.updateRowsAndCols=function(){var n=this,e=p.toTree((this.rows||[]).slice()),e=v(p.toRows(e),4),t=e[0],o=e[1],r=e[2],e=e[3],i=p.toTree((this.columns||[]).slice()),i=v(p.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(p.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=te(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=te(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})})},me);function me(e){this.ngZone=e,this.expandedStateChange=new r.EventEmitter,this.configuratorFieldChange=new r.EventEmitter,this.expandedFieldChange=new r.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=ge++}b.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:b,deps:[{token:c.NgZone}],target:c.ɵɵFactoryTarget.Injectable}),b.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:b}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:b,decorators:[{type:r.Injectable}],ctorParameters:function(){return[{type:c.NgZone}]},propDecorators:{expandedStateChange:[{type:r.Output}],configuratorFieldChange:[{type:r.Output}],expandedFieldChange:[{type:r.Output}]}});fe.prototype.get=function(e){return this.localization.get(e)},Object.defineProperty(fe.prototype,"rtl",{get:function(){return this.localization.rtl},enumerable:!1,configurable:!0});var k=fe;function fe(e){this.localization=e}k.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:k,deps:[{token:d.LocalizationService}],target:c.ɵɵFactoryTarget.Injectable}),k.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:k}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:k,decorators:[{type:r.Injectable}],ctorParameters:function(){return[{type:d.LocalizationService}]}});Object.defineProperty(he.prototype,"expanded",{get:function(){var e;return(null==(e=this.kendoPivotGridCell)?void 0:e.hasChildren)&&this.kendoPivotGridCell.children.length},enumerable:!1,configurable:!0}),he.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 x=he;function he(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})}}x.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:x,deps:[{token:c.ElementRef},{token:c.Renderer2},{token:b}],target:c.ɵɵFactoryTarget.Component}),x.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:x,selector:"[kendoPivotGridCell]",inputs:{kendoPivotGridCell:"kendoPivotGridCell",tableType:"tableType",rowIndex:"rowIndex",colIndex:"colIndex"},host:{properties:{"class.k-pivotgrid-cell":"this.cellClass"}},ngImport:c,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:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:_.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:x,decorators:[{type:r.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:c.ElementRef},{type:c.Renderer2},{type:b}]},propDecorators:{cellClass:[{type:r.HostBinding,args:["class.k-pivotgrid-cell"]}],kendoPivotGridCell:[{type:r.Input}],tableType:[{type:r.Input}],rowIndex:[{type:r.Input}],colIndex:[{type:r.Input}]}});Object.defineProperty(ve.prototype,"pivotGridId",{get:function(){return"kendo-pivotgrid-"+this.dataService.pivotGridId+"-"},enumerable:!1,configurable:!0}),ve.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}))},ve.prototype.ngOnDestroy=function(){this.dataChangeSubs.unsubscribe()};var C=ve;function ve(e){this.dataService=e,this.dataChangeSubs=new s.Subscription}C.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:C,deps:[{token:b}],target:c.ɵɵFactoryTarget.Component}),C.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"kendo-pivotgrid-table",inputs:{tableType:"tableType",colWidth:"colWidth"},ngImport:c,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,styles:["\n /** TODO: Remove if added to themes */\n .k-pivotgrid-cell:focus {\n outline: none;\n }\n "],components:[{type:x,selector:"[kendoPivotGridCell]",inputs:["kendoPivotGridCell","tableType","rowIndex","colIndex"]}],directives:[{type:u.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:C,decorators:[{type:r.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 ',styles:["\n /** TODO: Remove if added to themes */\n .k-pivotgrid-cell:focus {\n outline: none;\n }\n "]}]}],ctorParameters:function(){return[{type:b}]},propDecorators:{tableType:[{type:r.Input}],colWidth:[{type:r.Input}]}});ye.prototype.parseConfiguratorState=function(e){var t=p.configuratorReducer({filter:this.state.filter,sort:this.state.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 I=ye;function ye(){this.configuratorStateChange=new r.EventEmitter}I.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:I,deps:[],target:c.ɵɵFactoryTarget.Injectable}),I.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:I}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:I,decorators:[{type:r.Injectable}],propDecorators:{configuratorStateChange:[{type:r.Output}]}});be.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()},be.prototype.attach=function(){return e=this.dom,!1||(document.body.appendChild(e),0),e;var e},be.prototype.remove=function(){this.dom&&this.dom.parentElement&&(document.body.removeChild(this.dom),this.dom=null)},be.prototype.hide=function(){this.dom.style.display="none"},be.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=be;function be(){}T.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:T,deps:[],target:c.ɵɵFactoryTarget.Injectable}),T.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:T}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:T,decorators:[{type:r.Injectable}]});$(Ce,ke=l.PreventableEvent);var ke,xe=Ce;function Ce(e){var t=ke.call(this)||this;return t.originalEvent=e,t}Te.prototype.open=function(e,t,n,o){void 0===o&&(o="k-grid-filter-popup");var n=Q(n)&&this.popupRef===n,o=(this.destroy(),n||(n=this.localization.rtl?"right":"left",this.popupRef=this.popupService.open({anchorAlign:{vertical:"bottom",horizontal:n},popupAlign:{vertical:"top",horizontal:n},anchor:e,popupClass:o,content:t,positionMode:"absolute"}),this.renderer.setAttribute(this.popupRef.popupElement,"dir",this.localization.rtl?"rtl":"ltr"),this.attachClose(e)),null==(n=this.popupRef)?void 0:n.popupElement);return o&&this.attachMouseListeners(o),this.popupRef},Te.prototype.destroy=function(){this.popupRef&&(this.detachClose(),this.pointerEventsSub.unsubscribe(),this.pointerEventsSub=null,this.popupRef.close(),this.popupRef=null)},Te.prototype.ngOnDestroy=function(){this.destroy(),this.scrollSubscription.unsubscribe()},Te.prototype.detachClose=function(){this.removeClick&&this.removeClick()},Te.prototype.attachClose=function(t){var n=this;this.detachClose(),this.ngZone.runOutsideAngular(function(){return n.removeClick=n.renderer.listen("document","click",function(e){!function(e,t){for(;e;){if(t(e))return!0;e=e.parentNode}return!1}(e.target,function(e){return n.popupRef.popupElement===e||e===t})&&(e=new xe(e),n.onClose.next(e),!e.isDefaultPrevented()&&n.canClosePopup&&n.destroy(),n.canClosePopup=!0)})})},Te.prototype.attachMouseListeners=function(e){var t=this;this.pointerEventsSub=new s.Subscription,this.ngZone.runOutsideAngular(function(){t.pointerEventsSub.add(t.renderer.listen(e,"pointerdown",function(e){e.stopImmediatePropagation(),t.canClosePopup=!1})),t.pointerEventsSub.add(t.renderer.listen(e,"pointerup",function(){t.canClosePopup=!0}))})};var Ie=Te;function Te(e,t,n,o){this.popupService=e,this.renderer=t,this.ngZone=n,this.localization=o,this.onClose=new s.Subject,this.pointerEventsSub=new s.Subscription,this.scrollSubscription=new s.Subscription}Ie.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ie,deps:[{token:W.PopupService},{token:c.Renderer2},{token:c.NgZone},{token:k}],target:c.ɵɵFactoryTarget.Injectable}),Ie.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ie}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ie,decorators:[{type:r.Injectable}],ctorParameters:function(){return[{type:W.PopupService},{type:c.Renderer2},{type:c.NgZone},{type:k}]}});var D=function(){this.isColumnMenu=!1,this.isPopupOpen=!1},w=(D.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:D,deps:[],target:c.ɵɵFactoryTarget.Injectable}),D.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:D}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:D,decorators:[{type:r.Injectable}]}),De.prototype.close=function(){this.closeMenu.emit()},De);function De(e){this.closeMenu=new r.EventEmitter,this.menuTabbingService=e}w.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:w,deps:[{token:D}],target:c.ɵɵFactoryTarget.Injectable}),w.ɵprov=c.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:w}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:w,decorators:[{type:r.Injectable}],ctorParameters:function(){return[{type:D}]}});Object.defineProperty(we.prototype,"isFirst",{get:function(){return this._isFirst},set:function(e){var t,n=this;e&&(t=this.chipMenuItems[0],this.menuItemComponent.service.menuTabbingService.firstFocusable=t,this.ngZone.runOutsideAngular(function(){var e=n.renderer.listen(t,"keydown",n.onTab);n.subs.add(e)})),this._isFirst=e},enumerable:!1,configurable:!0}),Object.defineProperty(we.prototype,"isLast",{get:function(){return this._isLast},set:function(e){var t,n=this;this.chipMenuItems&&(e&&(t=this.getLastColumnMenuItem(),this.menuItemComponent.service.menuTabbingService.lastFocusable=t,this.ngZone.runOutsideAngular(function(){var e=n.renderer.listen(t,"keydown",n.onTab);n.subs.add(e)})),this._isLast=e)},enumerable:!1,configurable:!0}),we.prototype.ngAfterViewInit=function(){var t=this;this.chipMenuItems=this.hostElement.nativeElement.querySelectorAll(".k-columnmenu-item"),this.chipMenuItems.forEach(function(e){return t.renderer.setAttribute(e,"tabindex","0")})},we.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},we.prototype.getLastColumnMenuItem=function(){return 1===this.chipMenuItems.length?this.chipMenuItems[0]:this.chipMenuItems[1]};var O=we;function we(e,t,n){var o=this;this.hostElement=e,this.renderer=t,this.ngZone=n,this._isFirst=!1,this._isLast=!1,this.subs=new s.Subscription,this.onTab=function(e){var t,n;e.keyCode===l.Keys.Tab&&(o.isFirst&&e.shiftKey&&e.target===o.chipMenuItems[0]&&(e.preventDefault(),o.menuItemComponent.service.menuTabbingService.lastFocusable.focus()),o.isLast&&!e.shiftKey&&(t=o.getLastColumnMenuItem(),n=o.menuItemComponent.expanded,t!==e.target||n||(e.preventDefault(),o.menuItemComponent.service.menuTabbingService.firstFocusable.focus())))}}O.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:O,deps:[{token:c.ElementRef},{token:c.Renderer2},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),O.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"[kendoPivotChipMenuItem]",inputs:{menuItemComponent:["kendoPivotChipMenuItem","menuItemComponent"]},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:O,decorators:[{type:r.Directive,args:[{selector:"[kendoPivotChipMenuItem]"}]}],ctorParameters:function(){return[{type:c.ElementRef},{type:c.Renderer2},{type:c.NgZone}]},propDecorators:{menuItemComponent:[{type:r.Input,args:["kendoPivotChipMenuItem"]}]}});Se.prototype.ngAfterViewInit=function(){var e=this;this.chipMenuItems.length&&(this.chipMenuItems.first.isFirst=!0,this.chipMenuItems.last.isLast=!0,this.ngZone.onStable.pipe(R.take(1)).subscribe(function(){return e.service.menuTabbingService.firstFocusable.focus()}))};var Oe=Se;function Se(e,t){this.service=e,this.ngZone=t,this.hostClass=!0}Oe.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Oe,deps:[{token:w},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Component}),Oe.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:Oe,selector:"kendo-pivot-chipmenu-container",host:{properties:{"class.k-grid-columnmenu-popup":"this.hostClass"}},queries:[{propertyName:"chipMenuItems",predicate:O,descendants:!0}],ngImport:c,template:"\n <ng-content></ng-content>\n ",isInline:!0}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Oe,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-chipmenu-container",template:"\n <ng-content></ng-content>\n "}]}],ctorParameters:function(){return[{type:w},{type:c.NgZone}]},propDecorators:{chipMenuItems:[{type:r.ContentChildren,args:[O,{descendants:!0}]}],hostClass:[{type:r.HostBinding,args:["class.k-grid-columnmenu-popup"]}]}});Fe.prototype.ngOnInit=function(){if(r.isDevMode()&&!this.service)throw new Error("The service input of the host chip menu components (e.g. ChipMenuSortComponent) is mandatory.")},Fe.prototype.close=function(){this.service.close()};var S=Fe;function Fe(){this.hostClass=!0}S.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,deps:[],target:c.ɵɵFactoryTarget.Component}),S.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:S,selector:"kendo-pivot-chip-menu-item-base",inputs:{service:"service"},host:{properties:{"class.k-columnmenu-item-wrapper":"this.hostClass"}},ngImport:c,template:"",isInline:!0}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-chip-menu-item-base",template:""}]}],propDecorators:{service:[{type:r.Input}],hostClass:[{type:r.HostBinding,args:["class.k-columnmenu-item-wrapper"]}]}});var F=function(e){this.templateRef=e},A=(F.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:F,deps:[{token:c.TemplateRef,optional:!0}],target:c.ɵɵFactoryTarget.Directive}),F.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:F,selector:"[kendoPivotChipMenuItemContentTemplate]",ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:F,decorators:[{type:r.Directive,args:[{selector:"[kendoPivotChipMenuItemContentTemplate]"}]}],ctorParameters:function(){return[{type:c.TemplateRef,decorators:[{type:r.Optional}]}]}}),Object.defineProperty(Ae.prototype,"iconClass",{get:function(){return"k-i-"+this.icon},enumerable:!1,configurable:!0}),Ae.prototype.ngOnChanges=function(e){e.expanded&&this.updateContentState()},Ae.prototype.onClick=function(e){this.itemClick.emit(e),this.contentTemplate&&(this.expanded=!this.expanded,this.updateContentState(),(this.expanded?this.expand:this.collapse).emit())},Ae.prototype.updateContentState=function(){this.contentState=this.expanded?"expanded":"collapsed"},Ae);function Ae(){this.itemClick=new r.EventEmitter,this.expand=new r.EventEmitter,this.collapse=new r.EventEmitter,this.contentState="collapsed"}A.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:A,deps:[],target:c.ɵɵFactoryTarget.Component}),A.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:A,selector:"kendo-pivot-chipmenu-item",inputs:{icon:"icon",text:"text",selected:"selected",expanded:"expanded"},outputs:{itemClick:"itemClick",expand:"expand",collapse:"collapse"},queries:[{propertyName:"contentTemplate",first:!0,predicate:F,descendants:!0}],usesOnChanges:!0,ngImport:c,template:'\n <div\n class="k-columnmenu-item"\n (click)="onClick($event)"\n (keydown.enter)="onClick($event)"\n [class.k-selected]="selected"\n role="button"\n [attr.aria-expanded]="expanded">\n <span *ngIf="icon" class="k-icon" [ngClass]="iconClass">\n </span>\n {{ text }}\n </div>\n <div *ngIf="contentTemplate" [@state]="contentState" style="overflow:hidden;" class="k-columnmenu-item-content">\n <ng-container [ngTemplateOutlet]="contentTemplate.templateRef">\n </ng-container>\n <div>\n ',isInline:!0,directives:[{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:u.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}],animations:[i.trigger("state",[i.state("collapsed",i.style({display:"none"})),i.state("expanded",i.style({display:"block"})),i.transition("collapsed => expanded",[i.style({height:"0px",display:"block"}),i.animate("100ms ease-in",i.style({height:"*"}))]),i.transition("expanded => collapsed",[i.style({height:"*"}),i.animate("100ms ease-in",i.style({height:"0px"}))])])]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:A,decorators:[{type:r.Component,args:[{animations:[i.trigger("state",[i.state("collapsed",i.style({display:"none"})),i.state("expanded",i.style({display:"block"})),i.transition("collapsed => expanded",[i.style({height:"0px",display:"block"}),i.animate("100ms ease-in",i.style({height:"*"}))]),i.transition("expanded => collapsed",[i.style({height:"*"}),i.animate("100ms ease-in",i.style({height:"0px"}))])])],selector:"kendo-pivot-chipmenu-item",template:'\n <div\n class="k-columnmenu-item"\n (click)="onClick($event)"\n (keydown.enter)="onClick($event)"\n [class.k-selected]="selected"\n role="button"\n [attr.aria-expanded]="expanded">\n <span *ngIf="icon" class="k-icon" [ngClass]="iconClass">\n </span>\n {{ text }}\n </div>\n <div *ngIf="contentTemplate" [@state]="contentState" style="overflow:hidden;" class="k-columnmenu-item-content">\n <ng-container [ngTemplateOutlet]="contentTemplate.templateRef">\n </ng-container>\n <div>\n '}]}],propDecorators:{itemClick:[{type:r.Output}],expand:[{type:r.Output}],collapse:[{type:r.Output}],icon:[{type:r.Input}],text:[{type:r.Input}],selected:[{type:r.Input}],expanded:[{type:r.Input}],contentTemplate:[{type:r.ContentChild,args:[F,{static:!1}]}]}});$(Pe,Ee=S),Object.defineProperty(Pe.prototype,"sortedAsc",{get:function(){var e=this.descriptor;return e&&(!e.dir||"asc"===e.dir)},enumerable:!1,configurable:!0}),Object.defineProperty(Pe.prototype,"sortedDesc",{get:function(){var e=this.descriptor;return e&&"desc"===e.dir},enumerable:!1,configurable:!0}),Pe.prototype.messageFor=function(e){return this.localization.get(e)},Pe.prototype.toggleSort=function(e){var t=this.chip.name.toString(),n=this.descriptor,o=this.configuratorService.state.sort.filter(function(e){return e.field!==t});n&&n.dir===e||o.push({field:t,dir:e}),this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setSort,payload:o}),this.close()},Object.defineProperty(Pe.prototype,"descriptor",{get:function(){var t=this;return[].concat(this.configuratorService.state.sort||[]).find(function(e){return e.field===t.chip.name.toString()})},enumerable:!1,configurable:!0});var Ee,Me=Pe;function Pe(e,t,n){var o=Ee.call(this)||this;return o.localization=e,o.renderer=t,o.configuratorService=n,o}Me.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Me,deps:[{token:k},{token:c.Renderer2},{token:I}],target:c.ɵɵFactoryTarget.Component}),Me.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:Me,selector:"kendo-pivot-chipmenu-sort",inputs:{chip:"chip"},usesInheritance:!0,ngImport:c,template:'\n <kendo-pivot-chipmenu-item\n [text]="messageFor(\'fieldMenuSortAscendingItemLabel\')"\n icon="sort-asc-small"\n (itemClick)="toggleSort(\'asc\')"\n [selected]="sortedAsc">\n </kendo-pivot-chipmenu-item>\n <kendo-pivot-chipmenu-item\n [text]="messageFor(\'fieldMenuSortDescendingItemLabel\')"\n icon="sort-desc-small"\n (itemClick)="toggleSort(\'desc\')"\n [selected]="sortedDesc">\n </kendo-pivot-chipmenu-item>\n ',isInline:!0,components:[{type:A,selector:"kendo-pivot-chipmenu-item",inputs:["icon","text","selected","expanded"],outputs:["itemClick","expand","collapse"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Me,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-chipmenu-sort",template:'\n <kendo-pivot-chipmenu-item\n [text]="messageFor(\'fieldMenuSortAscendingItemLabel\')"\n icon="sort-asc-small"\n (itemClick)="toggleSort(\'asc\')"\n [selected]="sortedAsc">\n </kendo-pivot-chipmenu-item>\n <kendo-pivot-chipmenu-item\n [text]="messageFor(\'fieldMenuSortDescendingItemLabel\')"\n icon="sort-desc-small"\n (itemClick)="toggleSort(\'desc\')"\n [selected]="sortedDesc">\n </kendo-pivot-chipmenu-item>\n '}]}],ctorParameters:function(){return[{type:k},{type:c.Renderer2},{type:I}]},propDecorators:{chip:[{type:r.Input}]}});Ne.prototype.ngAfterViewInit=function(){var e=this.host.wrapper.nativeElement;e.setAttribute("aria-label",this.filterMenuDropDownLabel),e.addEventListener("keydown",this.keydownHandler,!0)},Ne.prototype.ngOnDestroy=function(){this.host.wrapper.nativeElement.removeEventListener("keydown",this.keydownHandler)};i=Ne;function Ne(e){var t=this;this.host=e,this.keydownHandler=function(e){e.keyCode===l.Keys.Escape&&t.host.isOpen&&(e.stopPropagation(),t.host.toggle(!1))}}i.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:i,deps:[{token:Z.DropDownListComponent}],target:c.ɵɵFactoryTarget.Directive}),i.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:i,selector:"[kendoFilterMenuDropDown]",inputs:{filterMenuDropDownLabel:"filterMenuDropDownLabel"},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:i,decorators:[{type:r.Directive,args:[{selector:"[kendoFilterMenuDropDown]"}]}],ctorParameters:function(){return[{type:Z.DropDownListComponent}]},propDecorators:{filterMenuDropDownLabel:[{type:r.Input}]}});Le={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"};var Le,Ve=function(t){return Object.keys(Le).map(function(e){return{text:t.get(e),value:Le[e]}})},E=(Object.defineProperty(Re.prototype,"currentFilter",{get:function(){var t=this,e=null==(e=this.configuratorService.state.filter)?void 0:e.filter(function(e){return e.field===t.chip.name.toString()});return e&&e[0]},enumerable:!1,configurable:!0}),Re.prototype.registerOnChange=function(e){this.filterFormGroup.valueChanges.subscribe(e)},Re.prototype.registerOnTouched=function(e){this.onTouched=e},Re.prototype.writeValue=function(e){e&&this.filterFormGroup.setValue(e,{emitEvent:!1})},Object.defineProperty(Re.prototype,"filterMenuDropDownLabel",{get:function(){var e=this.localization.get("filterOperatorsDropDownLabel")||"",t=this.chip.name.toString();return ne(e,"fields",t)},enumerable:!1,configurable:!0}),Re.prototype.ngOnInit=function(){this.filterFormGroup=this.fb.group({operator:[this.currentFilter?this.currentFilter.operator:""],value:[this.currentFilter?this.currentFilter.value:""]}),this.operators=Ve(this.localization)},Re.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},Re);function Re(e,t,n){this.localization=e,this.configuratorService=t,this.fb=n,this.subscription=new s.Subscription,this.onTouched=function(){}}E.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:E,deps:[{token:k},{token:I},{token:f.FormBuilder}],target:c.ɵɵFactoryTarget.Component}),E.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:E,selector:"kendo-pivot-string-filter-menu",inputs:{chip:"chip",menuTabbingService:"menuTabbingService"},providers:[{provide:z.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return E}),multi:!0}],ngImport:c,template:'\n <ng-container [formGroup]="filterFormGroup">\n <kendo-dropdownlist\n kendoFilterMenuDropDown\n [filterMenuDropDownLabel]="filterMenuDropDownLabel"\n [data]="operators"\n formControlName="operator"\n [valuePrimitive]="true"\n textField="text"\n valueField="value">\n </kendo-dropdownlist>\n <input\n kendoTextBox\n formControlName="value"\n />\n </ng-container>\n ',isInline:!0,components:[{type:Z.DropDownListComponent,selector:"kendo-dropdownlist",inputs:["iconClass","loading","data","value","textField","valueField","popupSettings","listHeight","defaultItem","disabled","itemDisabled","readonly","filterable","virtual","ignoreCase","delay","valuePrimitive","tabindex","tabIndex","size","rounded","fillMode","id"],outputs:["valueChange","filterChange","selectionChange","open","opened","close","closed","focus","blur"],exportAs:["kendoDropDownList"]}],directives:[{type:f.NgControlStatusGroup,selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]"},{type:f.FormGroupDirective,selector:"[formGroup]",inputs:["formGroup"],outputs:["ngSubmit"],exportAs:["ngForm"]},{type:i,selector:"[kendoFilterMenuDropDown]",inputs:["filterMenuDropDownLabel"]},{type:f.NgControlStatus,selector:"[formControlName],[ngModel],[formControl]"},{type:f.FormControlName,selector:"[formControlName]",inputs:["disabled","formControlName","ngModel"],outputs:["ngModelChange"]},{type:h.TextBoxDirective,selector:"input[kendoTextBox]",inputs:["value"]},{type:f.DefaultValueAccessor,selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]"}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:E,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-string-filter-menu",providers:[{provide:z.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return E}),multi:!0}],template:'\n <ng-container [formGroup]="filterFormGroup">\n <kendo-dropdownlist\n kendoFilterMenuDropDown\n [filterMenuDropDownLabel]="filterMenuDropDownLabel"\n [data]="operators"\n formControlName="operator"\n [valuePrimitive]="true"\n textField="text"\n valueField="value">\n </kendo-dropdownlist>\n <input\n kendoTextBox\n formControlName="value"\n />\n </ng-container>\n '}]}],ctorParameters:function(){return[{type:k},{type:I},{type:f.FormBuilder}]},propDecorators:{chip:[{type:r.Input}],menuTabbingService:[{type:r.Input}]}});function Be(e){var t=e.value,e=e.operator;return!(re(t=t)||oe.test(t))||("isnull"===(t=e)||"isnotnull"===t||"isempty"===t||"isnotempty"===t)}je.prototype.ngOnInit=function(){},je.prototype.ngAfterViewChecked=function(){(!this.menuTabbingService.isColumnMenu||this.isLast&&this.isExpanded)&&(this.menuTabbingService.lastFocusable=(this.disabled?this.resetButton:this.filterButton).nativeElement)},je.prototype.ngOnDestroy=function(){this.menuTabbingService.lastFocusable=null},Object.defineProperty(je.prototype,"disabled",{get:function(){return!(this.filterDescriptorValue&&Be(this.filterDescriptorValue))},enumerable:!1,configurable:!0}),je.prototype.submit=function(){var t=Object.assign({field:this.chip.name.toString()},this.filterDescriptorValue),e=this.configuratorService.state.filter?y(y([],v(this.configuratorService.state.filter.filter(function(e){return e.field!==t.field}))),[t]):[t];return this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setFilter,payload:e}),this.close.emit(),!1},je.prototype.reset=function(){var t=this,e=this.configuratorService.state.filter.filter(function(e){return e.field!==t.chip.name.toString()});this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setFilter,payload:e}),this.close.emit()},je.prototype.onTab=function(e,t){!this.menuTabbingService.firstFocusable||this.menuTabbingService.isColumnMenu&&!this.isLast||(e.preventDefault(),("reset"!==t||this.disabled?this.menuTabbingService.firstFocusable:this.filterButton.nativeElement).focus())},je.prototype.messageFor=function(e){return this.localization.get(e)};var Ge=je;function je(e,t,n,o){this.localization=e,this.cd=t,this.configuratorService=o,this.close=new r.EventEmitter,this.actionsClass="k-action-buttons k-button-group",this.menuTabbingService=n}Ge.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ge,deps:[{token:k},{token:c.ChangeDetectorRef},{token:D},{token:I}],target:c.ɵɵFactoryTarget.Component}),Ge.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:Ge,selector:"kendo-pivot-filter-menu-container",inputs:{chip:"chip",isLast:"isLast",isExpanded:"isExpanded",menuTabbingService:"menuTabbingService",actionsClass:"actionsClass"},outputs:{close:"close"},providers:[D],viewQueries:[{propertyName:"resetButton",first:!0,predicate:["resetButton"],descendants:!0},{propertyName:"filterButton",first:!0,predicate:["filterButton"],descendants:!0}],ngImport:c,template:'\n <form (submit)="submit()" (reset)="reset()"\n class="k-filter-menu k-group k-reset k-state-border-up">\n <div class="k-filter-menu-container">\n <kendo-pivot-string-filter-menu\n [(ngModel)]="filterDescriptorValue"\n name="\'filterDescriptorValue\'"\n [chip]="chip"\n [menuTabbingService]="menuTabbingService">\n </kendo-pivot-string-filter-menu>\n <div [ngClass]="actionsClass">\n <button\n #resetButton\n type="reset"\n kendoButton\n (keydown.tab)="onTab($event, \'reset\')">{{messageFor(\'filterClearButton\')}}</button>\n <button #filterButton\n type="submit"\n [disabled]="disabled"\n kendoButton\n themeColor="primary"\n (keydown.tab)="onTab($event, \'filter\')">{{messageFor(\'filterFilterButton\')}}</button>\n </div>\n </div>\n </form>\n ',isInline:!0,styles:["\n kendo-pivot-string-filter-menu {\n display: flex;\n flex-flow: column nowrap;\n align-items: stretch;\n gap: 8px;\n }\n "],components:[{type:E,selector:"kendo-pivot-string-filter-menu",inputs:["chip","menuTabbingService"]}],directives:[{type:f.ɵNgNoValidate,selector:"form:not([ngNoForm]):not([ngNativeValidate])"},{type:f.NgControlStatusGroup,selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]"},{type:f.NgForm,selector:"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]",inputs:["ngFormOptions"],outputs:["ngSubmit"],exportAs:["ngForm"]},{type:f.NgControlStatus,selector:"[formControlName],[ngModel],[formControl]"},{type:f.NgModel,selector:"[ngModel]:not([formControlName]):not([formControl])",inputs:["name","disabled","ngModel","ngModelOptions"],outputs:["ngModelChange"],exportAs:["ngModel"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:m.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"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ge,decorators:[{type:r.Component,args:[{providers:[D],selector:"kendo-pivot-filter-menu-container",template:'\n <form (submit)="submit()" (reset)="reset()"\n class="k-filter-menu k-group k-reset k-state-border-up">\n <div class="k-filter-menu-container">\n <kendo-pivot-string-filter-menu\n [(ngModel)]="filterDescriptorValue"\n name="\'filterDescriptorValue\'"\n [chip]="chip"\n [menuTabbingService]="menuTabbingService">\n </kendo-pivot-string-filter-menu>\n <div [ngClass]="actionsClass">\n <button\n #resetButton\n type="reset"\n kendoButton\n (keydown.tab)="onTab($event, \'reset\')">{{messageFor(\'filterClearButton\')}}</button>\n <button #filterButton\n type="submit"\n [disabled]="disabled"\n kendoButton\n themeColor="primary"\n (keydown.tab)="onTab($event, \'filter\')">{{messageFor(\'filterFilterButton\')}}</button>\n </div>\n </div>\n </form>\n ',styles:["\n kendo-pivot-string-filter-menu {\n display: flex;\n flex-flow: column nowrap;\n align-items: stretch;\n gap: 8px;\n }\n "]}]}],ctorParameters:function(){return[{type:k},{type:c.ChangeDetectorRef},{type:D},{type:I}]},propDecorators:{close:[{type:r.Output}],chip:[{type:r.Input}],isLast:[{type:r.Input}],isExpanded:[{type:r.Input}],menuTabbingService:[{type:r.Input}],actionsClass:[{type:r.Input}],resetButton:[{type:r.ViewChild,args:["resetButton"]}],filterButton:[{type:r.ViewChild,args:["filterButton"]}]}});$(He,ze=S),He.prototype.onCollapse=function(){this.expanded=!1,this.isLast&&(this.service.menuTabbingService.lastFocusable=this.hostElement.nativeElement.querySelector(".k-columnmenu-item")),this.collapse.emit()},He.prototype.onExpand=function(){this.expanded=!0,this.expand.emit()},He.prototype.messageFor=function(e){return this.localization.get(e)};var ze,S=He;function He(e,t){var n=ze.call(this)||this;return n.localization=e,n.hostElement=t,n.expand=new r.EventEmitter,n.collapse=new r.EventEmitter,n.expanded=!1,n.isLast=!1,n.actionsClass="k-columnmenu-actions",n}S.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,deps:[{token:k},{token:c.ElementRef}],target:c.ɵɵFactoryTarget.Component}),S.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:S,selector:"kendo-pivot-chipmenu-filter",inputs:{chip:"chip",expanded:"expanded",isLast:"isLast"},outputs:{expand:"expand",collapse:"collapse"},usesInheritance:!0,ngImport:c,template:'\n <kendo-pivot-chipmenu-item\n classs="k-widget k-expander"\n [text]="messageFor(\'fieldMenuFilterItemLabel\')"\n icon="filter"\n [expanded]="expanded"\n (collapse)="onCollapse()"\n (expand)="onExpand()">\n <ng-template kendoPivotChipMenuItemContentTemplate>\n <kendo-pivot-filter-menu-container\n [chip]="chip"\n [menuTabbingService]="service.menuTabbingService"\n [actionsClass]="actionsClass"\n [isLast]="isLast"\n [isExpanded]="expanded"\n (keydown.shift.tab)="$event.stopImmediatePropagation()"\n (close)="close()">\n </kendo-pivot-filter-menu-container>\n </ng-template>\n </kendo-pivot-chipmenu-item>\n ',isInline:!0,components:[{type:A,selector:"kendo-pivot-chipmenu-item",inputs:["icon","text","selected","expanded"],outputs:["itemClick","expand","collapse"]},{type:Ge,selector:"kendo-pivot-filter-menu-container",inputs:["chip","isLast","isExpanded","menuTabbingService","actionsClass"],outputs:["close"]}],directives:[{type:F,selector:"[kendoPivotChipMenuItemContentTemplate]"}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,decorators:[{type:r.Component,args:[{selector:"kendo-pivot-chipmenu-filter",template:'\n <kendo-pivot-chipmenu-item\n classs="k-widget k-expander"\n [text]="messageFor(\'fieldMenuFilterItemLabel\')"\n icon="filter"\n [expanded]="expanded"\n (collapse)="onCollapse()"\n (expand)="onExpand()">\n <ng-template kendoPivotChipMenuItemContentTemplate>\n <kendo-pivot-filter-menu-container\n [chip]="chip"\n [menuTabbingService]="service.menuTabbingService"\n [actionsClass]="actionsClass"\n [isLast]="isLast"\n [isExpanded]="expanded"\n (keydown.shift.tab)="$event.stopImmediatePropagation()"\n (close)="close()">\n </kendo-pivot-filter-menu-container>\n </ng-template>\n </kendo-pivot-chipmenu-item>\n '}]}],ctorParameters:function(){return[{type:k},{type:c.ElementRef}]},propDecorators:{expand:[{type:r.Output}],collapse:[{type:r.Output}],chip:[{type:r.Input}],expanded:[{type:r.Input}],isLast:[{type:r.Input}]}});_e.prototype.ngOnDestroy=function(){this.close(),this.closeSubscription.unsubscribe()},_e.prototype.toggle=function(e,t,n){e&&(e.preventDefault(),e.stopImmediatePropagation()),this.popupRef=this.popupService.open(t,n,this.popupRef,"k-column-menu"),this.popupRef||this.anchor.nativeElement.focus()},_e.prototype.close=function(){this.popupService.destroy(),this.popupRef=null,this.anchor.nativeElement.focus()},Object.defineProperty(_e.prototype,"chipMenuTitle",{get:function(){var e=this.localization.get("chipMenuIconTitle")||"",t=this.chip.name.toString();return ne(e,"fieldName",t)},enumerable:!1,configurable:!0});var qe=_e;function _e(e,t,n){this.popupService=e,this.localization=t,this.service=n,this.tabIndex="-1",this.closeSubscription=n.closeMenu.subscribe(this.close.bind(this))}qe.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:qe,deps:[{token:Ie},{token:k},{token:w}],target:c.ɵɵFactoryTarget.Component}),qe.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:qe,selector:"kendo-pivot-chip-menu",inputs:{chip:"chip",tabIndex:"tabIndex"},providers:[w,D],viewQueries:[{propertyName:"anchor",first:!0,predicate:["anchor"],descendants:!0,static:!0}],ngImport:c,template:'\n <span #anchor\n class="k-icon k-i-more-vertical"\n (click)="toggle($event, anchor, template)"\n [tabindex]="tabIndex"\n [attr.title]="chipMenuTitle">\n </span>\n <ng-template #template>\n <kendo-pivot-chipmenu-container\n (keydown.escape)="close()"\n (keydown.enter)="$event.stopImmediatePropagation()">\n <kendo-pivot-chipmenu-sort\n #sortItem\n [chip]="chip"\n [kendoPivotChipMenuItem]="sortItem"\n [service]="service">\n </kendo-pivot-chipmenu-sort>\n\n <kendo-pivot-chipmenu-filter\n #filterItem\n [chip]="chip"\n [kendoPivotChipMenuItem]="filterItem"\n [service]="service">\n </kendo-pivot-chipmenu-filter>\n </kendo-pivot-chipmenu-container>\n </ng-template>\n ',isInline:!0,components:[{type:Oe,selector:"kendo-pivot-chipmenu-container"},{type:Me,selector:"kendo-pivot-chipmenu-sort",inputs:["chip"]},{type:S,selector:"kendo-pivot-chipmenu-filter",inputs:["chip","expanded","isLast"],outputs:["expand","collapse"]}],directives:[{type:O,selector:"[kendoPivotChipMenuItem]",inputs:["kendoPivotChipMenuItem"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:qe,decorators:[{type:r.Component,args:[{providers:[w,D],selector:"kendo-pivot-chip-menu",template:'\n <span #anchor\n class="k-icon k-i-more-vertical"\n (click)="toggle($event, anchor, template)"\n [tabindex]="tabIndex"\n [attr.title]="chipMenuTitle">\n </span>\n <ng-template #template>\n <kendo-pivot-chipmenu-container\n (keydown.escape)="close()"\n (keydown.enter)="$event.stopImmediatePropagation()">\n <kendo-pivot-chipmenu-sort\n #sortItem\n [chip]="chip"\n [kendoPivotChipMenuItem]="sortItem"\n [service]="service">\n </kendo-pivot-chipmenu-sort>\n\n <kendo-pivot-chipmenu-filter\n #filterItem\n [chip]="chip"\n [kendoPivotChipMenuItem]="filterItem"\n [service]="service">\n </kendo-pivot-chipmenu-filter>\n </kendo-pivot-chipmenu-container>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:Ie},{type:k},{type:w}]},propDecorators:{chip:[{type:r.Input}],tabIndex:[{type:r.Input}],anchor:[{type:r.ViewChild,args:["anchor",{static:!0}]}]}});Ze.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)))})},Ze.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},Ze.prototype.handleMouseEnter=function(e){this.configuratorService.state.dragItem&&("chip"===this.elementType&&(this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setDropTarget,payload:this.item}),this.targetElement=e.target,this.cue.position(ee(e.target,"before"===this.configuratorService.state.dropDirection))),this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setDropZone,payload:this.axes}))},Ze.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(ee(this.targetElement,"before"==e)),this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setDropDirection,payload:e}))},Ze.prototype.handleMouseLeave=function(){"chip"!==this.elementType&&this.configuratorService.state.dragItem&&this.configuratorService.parseConfiguratorState({type:p.PIVOT_CONFIGURATOR_ACTION.setDropZone,payload:null})};var We=Ze;function Ze(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}We.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:We,deps:[{token:c.ElementRef},{token:I},{token:T},{token:c.Renderer2},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),We.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:We,selector:"[kendoDropTarget]",inputs:{item:"item",axes:"axes"},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:We,decorators:[{type:r.Directive,args:[{selector:"[kendoDropTarget]"}]}],ctorParameters:function(){return[{type:c.ElementRef},{type:I},{type:T},{type:c.Renderer2},{type:c.NgZone}]},propDecorators:{item:[{type:r.Input}],axes:[{type:r.Input}]}});Object.defineProperty(Ue.prototype,"pointerEvents",{get:function(){return this.drag?"none":void 0},enumerable:!1,configurable:!0}),Ue.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:p.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:p.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)}))})},Ue.prototype.ngOnDestroy=function(){this.subs.unsubscribe()};var Ke=Ue;function Ue(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}Ke.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ke,deps:[{token:_.DraggableDirective,optional:!0},{token:c.ElementRef},{token:c.NgZone},{token:I},{token:T}],target:c.ɵɵFactoryTarget.Directive}),Ke.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:Ke,selector:"[kendoChipDraggable]",inputs:{item:"item"},host:{properties:{"style.pointerEvents":"this.pointerEvents","style.touch-action":"this.touchActions"}},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Ke,decorators:[{type:r.Directive,args:[{selector:"[kendoChipDraggable]"}]}],ctorParameters:function(){return[{type:_.DraggableDirective,decorators:[{type:r.Optional}]},{type:c.ElementRef},{type:c.NgZone},{type:I},{type:T}]},propDecorators:{pointerEvents:[{type:r.HostBinding,args:["style.pointerEvents"]}],touchActions:[{type:r.HostBinding,args:["style.touch-action"]}],item:[{type:r.Input}]}});M.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=pe(e),t.setState(pe(e)),t.setChecked()})),this.subs.add(this.configuratorService.configuratorStateChange.subscribe(function(e){t.state=e,t.cdr.detectChanges()}))},M.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},M.prototype.getName=function(e){return e.toString()},M.prototype.setState=function(e){this.state=e,this.configuratorService.state=e},M.prototype.messageFor=function(e){return this.localization.get(e)},Object.defineProperty(M.prototype,"columnHierarchies",{get:function(){return this.extractDefaultFields(this.state.columnAxes)},enumerable:!1,configurable:!0}),Object.defineProperty(M.prototype,"rowHierarchies",{get:function(){return this.extractDefaultFields(this.state.rowAxes)},enumerable:!1,configurable:!0}),Object.defineProperty(M.prototype,"measureHierarchies",{get:function(){return this.extractDefaultFields(this.state.measureAxes)},enumerable:!1,configurable:!0}),M.prototype.setChecked=function(e){var n=this,e=(void 0===e&&(e=[]),y(y([],v(this.fields)),v(e))),e=this.getFieldsFlatMap(e).filter(function(t){return y(y(y([],v(n.columnHierarchies)),v(n.rowHierarchies)),v(n.measureHierarchies)).some(function(e){return e===t.uniqueName||e===t.defaultHierarchy})});this.checked=e},M.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},M.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)},M.prototype.handleChildrenLoaded=function(e){"local"!==this.dataService.directive.type&&(e=e.children.map(function(e){return e.dataItem}),this.setChecked(e))},M.prototype.handleCheckedChange=function(e,t){e.target.checked?this.checked=y(y([],v(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)},M.prototype.handleSubmit=function(){this.dataService.configuratorFieldChange.emit(this.state)},M.prototype.handleReset=function(){this.setState(pe(this.originalState)),this.setChecked()},M.prototype.getFieldsFlatMap=function(e){var t=this,n=y([],v(e=void 0===e?[]:e));return(e||[]).forEach(function(e){n=n.concat(t.getFieldsFlatMap(e.children))}),n},M.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 $e=M;function M(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.sort=new Array,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(R.mergeMap(function(e){return s.of(e)})):s.of(e.children)}}$e.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:$e,deps:[{token:b},{token:d.LocalizationService},{token:I},{token:c.ChangeDetectorRef}],target:c.ɵɵFactoryTarget.Component}),$e.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:$e,selector:"kendo-pivotgrid-configurator",inputs:{horizontal:"horizontal",sort:"sort",filter:"filter"},host:{properties:{"class.k-pivotgrid-configurator":"this.hostClass"}},providers:[I,T,Ie],ngImport:c,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\n <kendo-pivot-chip-menu\n [chip]="item">\n </kendo-pivot-chip-menu>\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\n <kendo-pivot-chip-menu\n [chip]="item">\n </kendo-pivot-chip-menu>\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 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:o.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:m.ChipListComponent,selector:"kendo-chiplist, kendo-chip-list",inputs:["selection","size"],outputs:["selectedChange","remove"]},{type:m.ChipComponent,selector:"kendo-chip",inputs:["label","icon","iconClass","avatarClass","selected","removable","removeIcon","disabled","size","rounded","fillMode","themeColor"],outputs:["remove","contentClick"]},{type:qe,selector:"kendo-pivot-chip-menu",inputs:["chip","tabIndex"]}],directives:[{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:o.ExpandDirective,selector:"[kendoTreeViewExpandable]",inputs:["isExpanded","expandBy","expandOnFilter","expandedKeys"],outputs:["expandedKeysChange"]},{type:o.NodeTemplateDirective,selector:"[kendoTreeViewNodeTemplate]"},{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:h.CheckBoxDirective,selector:"input[kendoCheckBox]",inputs:["size","rounded"]},{type:u.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:We,selector:"[kendoDropTarget]",inputs:["item","axes"]},{type:u.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:Ke,selector:"[kendoChipDraggable]",inputs:["item"]},{type:_.DraggableDirective,selector:"[kendoDraggable]",inputs:["enableDrag"],outputs:["kendoPress","kendoDrag","kendoRelease"]},{type:m.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"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:$e,decorators:[{type:r.Component,args:[{selector:"kendo-pivotgrid-configurator",providers:[I,T,Ie],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\n <kendo-pivot-chip-menu\n [chip]="item">\n </kendo-pivot-chip-menu>\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\n <kendo-pivot-chip-menu\n [chip]="item">\n </kendo-pivot-chip-menu>\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 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:b},{type:d.LocalizationService},{type:I},{type:c.ChangeDetectorRef}]},propDecorators:{hostClass:[{type:r.HostBinding,args:["class.k-pivotgrid-configurator"]}],horizontal:[{type:r.Input}],sort:[{type:r.Input}],filter:[{type:r.Input}]}});$(Ye,Xe=t.ComponentMessages);var Xe,o=Ye;function Ye(){return null!==Xe&&Xe.apply(this,arguments)||this}o.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:o,deps:null,target:c.ɵɵFactoryTarget.Directive}),o.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:o,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",chipMenuIconTitle:"chipMenuIconTitle"},usesInheritance:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:o,decorators:[{type:r.Directive}],propDecorators:{fieldMenuFilterItemLabel:[{type:r.Input}],fieldMenuSortAscendingItemLabel:[{type:r.Input}],fieldMenuSortDescendingItemLabel:[{type:r.Input}],filterInputLabel:[{type:r.Input}],filterOperatorsDropDownLabel:[{type:r.Input}],filterEqOperator:[{type:r.Input}],filterNotEqOperator:[{type:r.Input}],filterIsNullOperator:[{type:r.Input}],filterIsNotNullOperator:[{type:r.Input}],filterIsEmptyOperator:[{type:r.Input}],filterIsNotEmptyOperator:[{type:r.Input}],filterStartsWithOperator:[{type:r.Input}],filterContainsOperator:[{type:r.Input}],filterNotContainsOperator:[{type:r.Input}],filterEndsWithOperator:[{type:r.Input}],filterFilterButton:[{type:r.Input}],filterClearButton:[{type:r.Input}],loading:[{type:r.Input}],emptyCellLabel:[{type:r.Input}],configuratorButtonText:[{type:r.Input}],configuratorHeaderText:[{type:r.Input}],configuratorFieldsText:[{type:r.Input}],configuratorColumnsText:[{type:r.Input}],configuratorRowsText:[{type:r.Input}],configuratorValuesText:[{type:r.Input}],configuratorCancelButtonText:[{type:r.Input}],configuratorApplyButtonText:[{type:r.Input}],configuratorEmptyRowsText:[{type:r.Input}],configuratorEmptyColumnsText:[{type:r.Input}],configuratorEmptyMeasuresText:[{type:r.Input}],chipMenuIconTitle:[{type:r.Input}]}});$(et,Qe=o);var Qe,Je=et;function et(e){var t=Qe.call(this)||this;return t.service=e,t}Je.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Je,deps:[{token:d.LocalizationService}],target:c.ɵɵFactoryTarget.Directive}),Je.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:Je,selector:"[kendoPivotGridLocalizedMessages]",providers:[{provide:o,useExisting:r.forwardRef(function(){return Je})}],usesInheritance:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:Je,decorators:[{type:r.Directive,args:[{providers:[{provide:o,useExisting:r.forwardRef(function(){return Je})}],selector:"[kendoPivotGridLocalizedMessages]"}]}],ctorParameters:function(){return[{type:d.LocalizationService}]}});var tt={type:"converging-spinner",themeColor:"primary",size:"large"},nt={position:"right",horizontal:!1},h=(Object.defineProperty(P.prototype,"rightPositionClass",{get:function(){var e;return"right"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"leftPositionClass",{get:function(){var e;return"left"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"bottomPositionClass",{get:function(){var e;return"bottom"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"topPositionClass",{get:function(){var e;return"top"===(null==(e=this.configuratorSettings)?void 0:e.position)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"dir",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"loaderSettings",{get:function(){return this._loaderSettings},set:function(e){this._loaderSettings=Object.assign({},tt,e)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"loadingText",{get:function(){return this.localization.get("loading")},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"configuratorSettings",{get:function(){return this.configurator&&Object.assign({},nt,this.configurator)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"aggregateData",{get:function(){return ue(this.dataService.aggregateData)},enumerable:!1,configurable:!0}),P.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(R.merge(s.fromEvent(n,"wheel"),s.fromEvent(r.valuesTable.nativeElement,"scroll"))).subscribe(function(e){return r.handleScroll(e)})),r.navigable&&r.initNavigation()})},P.prototype.ngAfterContentInit=function(){var t=this;this.subs.add(this.dataService.loading.subscribe(function(e){return t.loading=e}))},P.prototype.ngOnChanges=function(e){l.isChanged("navigable",e)&&(this.navigable?this.initNavigation():this.stopNavigation())},P.prototype.ngOnDestroy=function(){this.resizeObservers.forEach(function(e){return e.disconnect()}),this.subs.unsubscribe(),this.stopNavigation()},P.prototype.messageFor=function(e){return this.localization.get(e)},P.prototype.initNavigation=function(){var e=this,t=(this.stopNavigation(),this.navigation=new p.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(R.merge(this.dataService.directive.configurationChange)).subscribe(function(){return e.zone.runOutsideAngular(function(){setTimeout(function(){return e.navigation.update()})})}))},P.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())},P);function P(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=tt,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")?J(e,[a.valuesTable.nativeElement,a.rowHeadersTable.nativeElement],"scrollTop","Y"):e.target.closest(".k-pivotgrid-column-headers")&&J(e,[a.valuesTable.nativeElement,a.colHeadersTable.nativeElement],"scrollLeft","X")},V.validatePackage(K),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}h.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:h,deps:[{token:c.ElementRef},{token:c.NgZone},{token:b},{token:d.LocalizationService},{token:c.Renderer2},{token:_.ScrollbarWidthService}],target:c.ɵɵFactoryTarget.Component}),h.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:h,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:[b,t.LocalizationService,k,{provide:t.L10N_PREFIX,useValue:"kendo.pivotgrid"}],viewQueries:[{propertyName:"colHeadersTable",first:!0,predicate:["colHeadersTable"],descendants:!0,read:r.ElementRef},{propertyName:"rowHeadersTable",first:!0,predicate:["rowHeadersTable"],descendants:!0,read:r.ElementRef},{propertyName:"valuesTable",first:!0,predicate:["valuesTable"],descendants:!0,read:r.ElementRef},{propertyName:"table",first:!0,predicate:["table"],descendants:!0,read:r.ElementRef}],usesOnChanges:!0,ngImport:c,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"\n \n i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"\n chipMenuIconTitle="{{ \'{fieldName} Field Menu\' }}"></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\n .k-pivotgrid-empty-cell:focus {\n outline: none;\n }\n "],components:[{type:C,selector:"kendo-pivotgrid-table",inputs:["tableType","colWidth"]},{type:g.LoaderComponent,selector:"kendo-loader",inputs:["type","themeColor","size"]},{type:$e,selector:"kendo-pivotgrid-configurator",inputs:["horizontal","sort","filter"]}],directives:[{type:Je,selector:"[kendoPivotGridLocalizedMessages]"},{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:h,decorators:[{type:r.Component,args:[{selector:"kendo-pivotgrid",providers:[b,t.LocalizationService,k,{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"\n \n i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"\n chipMenuIconTitle="{{ \'{fieldName} Field Menu\' }}"></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\n .k-pivotgrid-empty-cell:focus {\n outline: none;\n }\n "]}]}],ctorParameters:function(){return[{type:c.ElementRef},{type:c.NgZone},{type:b},{type:d.LocalizationService},{type:c.Renderer2},{type:_.ScrollbarWidthService}]},propDecorators:{hostClass:[{type:r.HostBinding,args:["class.k-d-flex"]},{type:r.HostBinding,args:["class.k-pos-relative"]}],rightPositionClass:[{type:r.HostBinding,args:["class.k-flex-row"]}],leftPositionClass:[{type:r.HostBinding,args:["class.k-flex-row-reverse"]}],bottomPositionClass:[{type:r.HostBinding,args:["class.k-flex-column"]}],topPositionClass:[{type:r.HostBinding,args:["class.k-flex-column-reverse"]}],dir:[{type:r.HostBinding,args:["attr.dir"]}],ariaRole:[{type:r.HostBinding,args:["attr.role"]}],colHeadersTable:[{type:r.ViewChild,args:["colHeadersTable",{read:r.ElementRef}]}],rowHeadersTable:[{type:r.ViewChild,args:["rowHeadersTable",{read:r.ElementRef}]}],valuesTable:[{type:r.ViewChild,args:["valuesTable",{read:r.ElementRef}]}],table:[{type:r.ViewChild,args:["table",{read:r.ElementRef}]}],loaderSettings:[{type:r.Input}],configurator:[{type:r.Input}],columnHeadersWidth:[{type:r.Input}],navigable:[{type:r.Input}]}});var ot,rt=function(e,t,n,o,r){this.columnAxes=e,this.rowAxes=t,this.measureAxes=n,this.sort=o,this.filter=r},it=($(at,ot=l.PreventableEvent),at);function at(e){var t=ot.call(this)||this;return Object.assign(t,e),t}$(pt,st=l.PreventableEvent);var st,lt=pt;function pt(e){var t=st.call(this)||this;return Object.assign(t,e),t}Object.defineProperty(ct.prototype,"state",{get:function(){return new rt(this.columnAxes,this.rowAxes,this.measureAxes,this.sort,this.filter)},enumerable:!1,configurable:!0}),ct.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=p.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 lt(t);if(o.configurationChange.emit(e),e.isDefaultPrevented())return}o.dataService.configuredFields.next({columnAxes:t.columnAxes,rowAxes:t.rowAxes,measureAxes:t.measureAxes,sort:t.sort,filter:t.filter}),o.loadData(t)})})),this.subs.add(this.dataService.valuesRows.subscribe(function(e){o.zone.run(function(){o.dataService.aggregateData=e})})),this.dataService.directive=this},ct.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},ct.prototype.updateDataServiceFields=function(){this.dataService.normalizedData=this.dataState.data,this.dataService.rows=this.dataState.rows,this.dataService.columns=this.dataState.columns,this.dataService.updateRowsAndCols()},ct.prototype.updateConfiguratorFields=function(){this.dataService.fields.next(this.configuratorFields),this.dataService.configuredFields.next({columnAxes:this.columnAxes,rowAxes:this.rowAxes,measureAxes:this.measureAxes,sort:this.sort,filter:this.filter})},ct.prototype.updateHeaders=function(e,t,n){n={type:p.HEADERS_ACTION.toggle,payload:n},n=p.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 it(t);if(this.expandChange.emit(t),t.isDefaultPrevented())return}this[e]=n,this.loadData(this.state)};m=ct;function ct(e,t){this.dataService=e,this.zone=t,this.columnAxes=[],this.rowAxes=[],this.measureAxes=[],this.sort=[],this.expandChange=new r.EventEmitter,this.configurationChange=new r.EventEmitter,this.dataLoaded=new r.EventEmitter,this.subs=new s.Subscription}m.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,deps:[{token:b},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),m.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:m,selector:"kendo-base-binding-directive",inputs:{columnAxes:"columnAxes",rowAxes:"rowAxes",measureAxes:"measureAxes",sort:"sort",filter:"filter"},outputs:{expandChange:"expandChange",configurationChange:"configurationChange",dataLoaded:"dataLoaded"},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,decorators:[{type:r.Directive,args:[{selector:"kendo-base-binding-directive"}]}],ctorParameters:function(){return[{type:b},{type:c.NgZone}]},propDecorators:{columnAxes:[{type:r.Input}],rowAxes:[{type:r.Input}],measureAxes:[{type:r.Input}],sort:[{type:r.Input}],filter:[{type:r.Input}],expandChange:[{type:r.Output}],configurationChange:[{type:r.Output}],dataLoaded:[{type:r.Output}]}});var dt,ut={dataField:"aggregate",columnsData:"columns"},g=($(gt,dt=m),gt.prototype.ngOnChanges=function(e){l.anyChanged(["data","dimensions","columnAxes","rowAxes","measureAxes","measures"],e)&&this.loadData(this.state)},gt.prototype.fetchChildren=function(e){return e.children},gt.prototype.loadFields=function(){this.configuratorFields=p.createFlatSchemaDimensions(this.dimensions,this.measures),this.updateConfiguratorFields()},gt.prototype.loadData=function(e){var n=this,t=e.columnAxes,o=e.rowAxes,r=e.measureAxes,i=e.sort,e=e.filter,a=this.getRootAxes(t),s=this.getRootAxes(o),a=a.split("&").map(this.createAxisSettings),s=s.split("&").map(this.createAxisSettings),r=r.map(function(t){return n.measures.find(function(e){return String(e.name)===String(t.name)})}).filter(Boolean),e=p.createDataTree(this.data,s,a,r,ut,e);this.dataState=p.createLocalDataState({dataTree:e,rowSettings:s,columnSettings:a,rowAxes:o,columnAxes:t,measures:r,sort:i,fields:ut}),this.updateDataServiceFields()},gt.prototype.getRootAxes=function(e){return Array.from(p.rootFields(e).keys()).join("&")},gt);function gt(e,t){var n=dt.call(this,e,t)||this;return n.type="local",n.createAxisSettings=function(e){return Object.assign({key:e},n.dimensions[e])},n}g.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:g,deps:[{token:b},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),g.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:g,selector:"[kendoPivotLocalBinding]",inputs:{data:["kendoPivotLocalBinding","data"],dimensions:"dimensions",measures:"measures"},exportAs:["kendoPivotLocalBinding"],usesInheritance:!0,usesOnChanges:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:g,decorators:[{type:r.Directive,args:[{selector:"[kendoPivotLocalBinding]",exportAs:"kendoPivotLocalBinding"}]}],ctorParameters:function(){return[{type:b},{type:c.NgZone}]},propDecorators:{data:[{type:r.Input,args:["kendoPivotLocalBinding"]}],dimensions:[{type:r.Input}],measures:[{type:r.Input}]}});$(N,mt=m),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,r=e.measureAxes,i=e.sort,e=e.filter,n=(this.dataService.loading.next(!0),{connection:{catalog:this.catalog,cube:this.cube},columnAxes:n,rowAxes:o,measureAxes:r,sort:i,filter:e});p.fetchData({url:this.url},pe(n)).then(p.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"};p.fetchDiscover({url:this.url},e).then(function(e){p.addKPI(e),t.configuratorFields=e,t.updateConfiguratorFields()})},N.prototype.updateFields=function(r,i){return X(this,void 0,void 0,function(){var t,n,o;return Y(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=p.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 X(this,void 0,void 0,function(){var t;return Y(this,function(e){return t={connection:{catalog:this.catalog,cube:this.cube},restrictions:{catalogName:this.catalog,cubeName:this.cube},command:"schemaKPIs"},[2,p.fetchDiscover({url:this.url},t)]})})},N.prototype.loadAvailableFields=function(i){return X(this,void 0,void 0,function(){var t,n,o,r;return Y(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,p.fetchDiscover({url:this.url},r)]})})};var mt,u=N;function N(e,t){e=mt.call(this,e,t)||this;return e.type="olap",e}u.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:u,deps:[{token:b},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Directive}),u.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:u,selector:"[kendoPivotOLAPBinding]",inputs:{url:"url",cube:"cube",catalog:"catalog"},exportAs:["kendoPivotOLAPBinding"],usesInheritance:!0,usesOnChanges:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:u,decorators:[{type:r.Directive,args:[{selector:"[kendoPivotOLAPBinding]",exportAs:"kendoPivotOLAPBinding"}]}],ctorParameters:function(){return[{type:b},{type:c.NgZone}]},propDecorators:{url:[{type:r.Input}],cube:[{type:r.Input}],catalog:[{type:r.Input}]}});$(ht,ft=o),Object.defineProperty(ht.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var ft,L=ht;function ht(e){var t=ft.call(this)||this;return t.service=e,t}L.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:L,deps:[{token:d.LocalizationService}],target:c.ɵɵFactoryTarget.Component}),L.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:L,selector:"kendo-pivotgrid-messages",providers:[{provide:o,useExisting:r.forwardRef(function(){return L})}],usesInheritance:!0,ngImport:c,template:"",isInline:!0}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:L,decorators:[{type:r.Component,args:[{providers:[{provide:o,useExisting:r.forwardRef(function(){return L})}],selector:"kendo-pivotgrid-messages",template:""}]}],ctorParameters:function(){return[{type:d.LocalizationService}]}});t=[n.CommonModule,H.DropDownsModule,q.InputsModule,j.ButtonsModule],m=function(){},m.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,deps:[],target:c.ɵɵFactoryTarget.NgModule}),m.ɵmod=c.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,imports:[n.CommonModule,H.DropDownsModule,q.InputsModule,j.ButtonsModule],exports:[n.CommonModule,H.DropDownsModule,q.InputsModule,j.ButtonsModule]}),m.ɵinj=c.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,imports:[[t],n.CommonModule,H.DropDownsModule,q.InputsModule,j.ButtonsModule]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,decorators:[{type:r.NgModule,args:[{imports:[t],exports:[t]}]}]}),o=[A,Me,qe,S,F,Ge,E,i,Oe,O],vt.exports=function(){return[A,Me,Oe,O,qe]},n=vt;function vt(){}n.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:n,deps:[],target:c.ɵɵFactoryTarget.NgModule}),n.ɵmod=c.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:n,declarations:[A,Me,qe,S,F,Ge,E,i,Oe,O],imports:[m,z.ReactiveFormsModule,z.FormsModule],exports:[A,Me,qe,S,F,Ge,E,i,Oe,O]}),n.ɵinj=c.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:n,imports:[[m,z.ReactiveFormsModule,z.FormsModule]]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:n,decorators:[{type:r.NgModule,args:[{declarations:[o],imports:[m,z.ReactiveFormsModule,z.FormsModule],exports:[o]}]}]});H=[l.EventsModule,B.IndicatorsModule,G.TreeViewModule,l.DraggableModule,n,m],q=[h,C,$e,x,g,u,Ke,We,Je,L],j=[h,C,x,g,u,L],t=function(){};t.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,deps:[],target:c.ɵɵFactoryTarget.NgModule}),t.ɵmod=c.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,declarations:[h,C,$e,x,g,u,Ke,We,Je,L],imports:[l.EventsModule,B.IndicatorsModule,G.TreeViewModule,l.DraggableModule,n,m],exports:[h,C,x,g,u,L]}),t.ɵinj=c.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,imports:[y([],v(H))]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,decorators:[{type:r.NgModule,args:[{imports:y([],v(H)),declarations:y([],v(q)),exports:y([],v(j))}]}]}),Object.defineProperty(e,"averageAggregate",{enumerable:!0,get:function(){return p.averageAggregate}}),Object.defineProperty(e,"maxAggregate",{enumerable:!0,get:function(){return p.maxAggregate}}),Object.defineProperty(e,"minAggregate",{enumerable:!0,get:function(){return p.minAggregate}}),Object.defineProperty(e,"sumAggregate",{enumerable:!0,get:function(){return p.sumAggregate}}),e.ConfigurationChangeEvent=lt,e.CustomMessagesComponent=L,e.DraggableChipDirective=Ke,e.DropTargetDirective=We,e.ExpandChangeEvent=it,e.PivotGridCellDirective=x,e.PivotGridComponent=h,e.PivotGridConfiguratorComponent=$e,e.PivotGridModule=t,e.PivotGridTableComponent=C,e.PivotLocalBindingDirective=g,e.PivotOLAPBindingDirective=u,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -6,6 +6,7 @@ import { EventEmitter, NgZone } from '@angular/core';
6
6
  import { PivotDataItem, PivotGridField, Tuple } from '@progress/kendo-pivotgrid-common';
7
7
  import { BehaviorSubject } from 'rxjs';
8
8
  import { PivotBaseBindingDirective } from './base-binding-directive';
9
+ import { PivotDataRowItem } from '../models/data-row-item';
9
10
  import * as i0 from "@angular/core";
10
11
  /**
11
12
  * @hidden
@@ -20,6 +21,7 @@ export declare class PivotGridDataService {
20
21
  rows: Tuple[];
21
22
  columns: Tuple[];
22
23
  wrapper: Element;
24
+ aggregateData: PivotDataRowItem[];
23
25
  columnHeaderLeaves: {
24
26
  total: boolean;
25
27
  path: string[];
@@ -91,9 +91,7 @@ export class PivotBaseBindingDirective {
91
91
  }));
92
92
  this.subs.add(this.dataService.valuesRows.subscribe((data) => {
93
93
  this.zone.run(() => {
94
- if (hasObservers(this.dataLoaded)) {
95
- this.dataLoaded.emit(data);
96
- }
94
+ this.dataService.aggregateData = data;
97
95
  });
98
96
  }));
99
97
  this.dataService.directive = this;
@@ -7,6 +7,7 @@ import { Directive, Input } from '@angular/core';
7
7
  import { addKPI, buildKPIMeasures, createDataState, fetchData, fetchDiscover } from '@progress/kendo-pivotgrid-common';
8
8
  import { anyChanged } from '@progress/kendo-angular-common';
9
9
  import { PivotBaseBindingDirective } from './base-binding-directive';
10
+ import { clone } from '../util';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "./pivotgrid-data.service";
12
13
  /**
@@ -37,7 +38,7 @@ export class PivotOLAPBindingDirective extends PivotBaseBindingDirective {
37
38
  sort,
38
39
  filter
39
40
  };
40
- fetchData({ url: this.url }, JSON.parse(JSON.stringify(options)))
41
+ fetchData({ url: this.url }, clone(options))
41
42
  .then(createDataState)
42
43
  .then(newDataState => {
43
44
  this.dataState = newDataState;
@@ -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: 1662107494,
12
+ publishDate: 1662977534,
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
  };
@@ -8,7 +8,7 @@ import { packageMetadata } from './package-metadata';
8
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
- import { syncScroll, syncWheel } from './util';
11
+ import { cloneArray, 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';
@@ -45,7 +45,7 @@ export class PivotGridComponent {
45
45
  this.hostClass = true;
46
46
  this.ariaRole = 'grid';
47
47
  /**
48
- * Specify the width of the column header and data cells. Value is treated as pixels.
48
+ * Specify the width of the column header and data cells. Value is treated as pixels [(see example)]({% slug appearance_pivotgrid %}#toc-column-headers-width).
49
49
  *
50
50
  * @default 200
51
51
  */
@@ -131,6 +131,12 @@ export class PivotGridComponent {
131
131
  get configuratorSettings() {
132
132
  return this.configurator && Object.assign({}, DEFAULT_CONFIGURATOR_SETTINGS, this.configurator);
133
133
  }
134
+ /**
135
+ * Holds the displayed aggregated PivotGrid values.
136
+ */
137
+ get aggregateData() {
138
+ return cloneArray(this.dataService.aggregateData);
139
+ }
134
140
  ngAfterViewInit() {
135
141
  if (isDocumentAvailable()) {
136
142
  this.zone.runOutsideAngular(() => {
@@ -340,7 +346,7 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
340
346
  <span>{{messageFor('configuratorButtonText')}}<span class="k-icon k-i-gear k-color-inherit"></span>
341
347
  </span>
342
348
  </div>
343
- `, isInline: true, 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: i4.PivotGridTableComponent, selector: "kendo-pivotgrid-table", inputs: ["tableType", "colWidth"] }, { type: i5.LoaderComponent, selector: "kendo-loader", inputs: ["type", "themeColor", "size"] }, { type: i6.PivotGridConfiguratorComponent, selector: "kendo-pivotgrid-configurator", inputs: ["horizontal", "sort", "filter"] }], directives: [{ type: i7.LocalizedMessagesDirective, selector: "[kendoPivotGridLocalizedMessages]" }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
349
+ `, isInline: true, 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\n .k-pivotgrid-empty-cell:focus {\n outline: none;\n }\n "], components: [{ type: i4.PivotGridTableComponent, selector: "kendo-pivotgrid-table", inputs: ["tableType", "colWidth"] }, { type: i5.LoaderComponent, selector: "kendo-loader", inputs: ["type", "themeColor", "size"] }, { type: i6.PivotGridConfiguratorComponent, selector: "kendo-pivotgrid-configurator", inputs: ["horizontal", "sort", "filter"] }], directives: [{ type: i7.LocalizedMessagesDirective, selector: "[kendoPivotGridLocalizedMessages]" }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
344
350
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, decorators: [{
345
351
  type: Component,
346
352
  args: [{
@@ -499,6 +505,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
499
505
  left: 50%;
500
506
  transform: translate(-50%, -50%);
501
507
  }
508
+
509
+ .k-pivotgrid-empty-cell:focus {
510
+ outline: none;
511
+ }
502
512
  `]
503
513
  }]
504
514
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.PivotGridDataService }, { type: i2.LocalizationService }, { type: i0.Renderer2 }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
@@ -65,7 +65,7 @@ PivotGridTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
65
65
  </tr>
66
66
  </tbody>
67
67
  </table>
68
- `, isInline: true, components: [{ type: i2.PivotGridCellDirective, selector: "[kendoPivotGridCell]", inputs: ["kendoPivotGridCell", "tableType", "rowIndex", "colIndex"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
68
+ `, isInline: true, styles: ["\n /** TODO: Remove if added to themes */\n .k-pivotgrid-cell:focus {\n outline: none;\n }\n "], components: [{ type: i2.PivotGridCellDirective, selector: "[kendoPivotGridCell]", inputs: ["kendoPivotGridCell", "tableType", "rowIndex", "colIndex"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
69
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridTableComponent, decorators: [{
70
70
  type: Component,
71
71
  args: [{
@@ -105,7 +105,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
105
105
  </tr>
106
106
  </tbody>
107
107
  </table>
108
- `
108
+ `,
109
+ styles: [`
110
+ /** TODO: Remove if added to themes */
111
+ .k-pivotgrid-cell:focus {
112
+ outline: none;
113
+ }
114
+ `]
109
115
  }]
110
116
  }], ctorParameters: function () { return [{ type: i1.PivotGridDataService }]; }, propDecorators: { tableType: [{
111
117
  type: Input
package/esm2015/util.js CHANGED
@@ -73,34 +73,6 @@ export const syncWheel = (event, tables, prop, axis) => {
73
73
  tables[1][prop] += delta;
74
74
  }
75
75
  };
76
- /**
77
- * @hidden
78
- */
79
- export function cloneTo(obj, result) {
80
- for (let field in obj) {
81
- if (obj.hasOwnProperty(field)) {
82
- const value = obj[field];
83
- if (Array.isArray(value)) {
84
- result[field] = value.slice(0);
85
- }
86
- else if (value && typeof value === 'object' && !(value instanceof Date)) {
87
- result[field] = result[field] || {};
88
- cloneTo(value, result[field]);
89
- }
90
- else {
91
- result[field] = value;
92
- }
93
- }
94
- }
95
- }
96
- /**
97
- * @hidden
98
- */
99
- export function clone(obj) {
100
- const result = {};
101
- cloneTo(obj, result);
102
- return result;
103
- }
104
76
  /**
105
77
  * @hidden
106
78
  */
@@ -163,3 +135,49 @@ export const filterAndMap = (arr, predicate, mapper) => arr.reduce((acc, curr) =
163
135
  * @hidden
164
136
  */
165
137
  export const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
138
+ /**
139
+ * @hidden
140
+ */
141
+ export const cloneDate = (date) => date ? new Date(date.getTime()) : null;
142
+ /**
143
+ * @hidden
144
+ */
145
+ export function clone(obj) {
146
+ const result = {};
147
+ cloneObject(obj, result);
148
+ return result;
149
+ }
150
+ /**
151
+ * @hidden
152
+ */
153
+ export function cloneObject(obj, result) {
154
+ for (let field in obj) {
155
+ if (obj.hasOwnProperty(field)) {
156
+ const value = obj[field];
157
+ result[field] = cloneValue(value, result[field]);
158
+ }
159
+ }
160
+ }
161
+ /**
162
+ * @hidden
163
+ */
164
+ export function cloneValue(value, nextValue) {
165
+ if (Array.isArray(value)) {
166
+ return cloneArray(value);
167
+ }
168
+ else if (value instanceof Date) {
169
+ return cloneDate(value);
170
+ }
171
+ else if (value && typeof value === 'object') {
172
+ const newNextValue = nextValue || {};
173
+ cloneObject(value, newNextValue);
174
+ return newNextValue;
175
+ }
176
+ return value;
177
+ }
178
+ /**
179
+ * @hidden
180
+ */
181
+ export function cloneArray(array) {
182
+ return array.map(value => cloneValue(value, undefined));
183
+ }
@@ -38,7 +38,7 @@ const packageMetadata = {
38
38
  name: '@progress/kendo-angular-pivotgrid',
39
39
  productName: 'Kendo UI for Angular',
40
40
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
41
- publishDate: 1662107494,
41
+ publishDate: 1662977534,
42
42
  version: '',
43
43
  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'
44
44
  };
@@ -114,34 +114,6 @@ const syncWheel = (event, tables, prop, axis) => {
114
114
  tables[1][prop] += delta;
115
115
  }
116
116
  };
117
- /**
118
- * @hidden
119
- */
120
- function cloneTo(obj, result) {
121
- for (let field in obj) {
122
- if (obj.hasOwnProperty(field)) {
123
- const value = obj[field];
124
- if (Array.isArray(value)) {
125
- result[field] = value.slice(0);
126
- }
127
- else if (value && typeof value === 'object' && !(value instanceof Date)) {
128
- result[field] = result[field] || {};
129
- cloneTo(value, result[field]);
130
- }
131
- else {
132
- result[field] = value;
133
- }
134
- }
135
- }
136
- }
137
- /**
138
- * @hidden
139
- */
140
- function clone(obj) {
141
- const result = {};
142
- cloneTo(obj, result);
143
- return result;
144
- }
145
117
  /**
146
118
  * @hidden
147
119
  */
@@ -204,6 +176,52 @@ const filterAndMap = (arr, predicate, mapper) => arr.reduce((acc, curr) => predi
204
176
  * @hidden
205
177
  */
206
178
  const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
179
+ /**
180
+ * @hidden
181
+ */
182
+ const cloneDate = (date) => date ? new Date(date.getTime()) : null;
183
+ /**
184
+ * @hidden
185
+ */
186
+ function clone(obj) {
187
+ const result = {};
188
+ cloneObject(obj, result);
189
+ return result;
190
+ }
191
+ /**
192
+ * @hidden
193
+ */
194
+ function cloneObject(obj, result) {
195
+ for (let field in obj) {
196
+ if (obj.hasOwnProperty(field)) {
197
+ const value = obj[field];
198
+ result[field] = cloneValue(value, result[field]);
199
+ }
200
+ }
201
+ }
202
+ /**
203
+ * @hidden
204
+ */
205
+ function cloneValue(value, nextValue) {
206
+ if (Array.isArray(value)) {
207
+ return cloneArray(value);
208
+ }
209
+ else if (value instanceof Date) {
210
+ return cloneDate(value);
211
+ }
212
+ else if (value && typeof value === 'object') {
213
+ const newNextValue = nextValue || {};
214
+ cloneObject(value, newNextValue);
215
+ return newNextValue;
216
+ }
217
+ return value;
218
+ }
219
+ /**
220
+ * @hidden
221
+ */
222
+ function cloneArray(array) {
223
+ return array.map(value => cloneValue(value, undefined));
224
+ }
207
225
 
208
226
  /**
209
227
  * @hidden
@@ -425,7 +443,7 @@ PivotGridTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
425
443
  </tr>
426
444
  </tbody>
427
445
  </table>
428
- `, isInline: true, components: [{ type: PivotGridCellDirective, selector: "[kendoPivotGridCell]", inputs: ["kendoPivotGridCell", "tableType", "rowIndex", "colIndex"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
446
+ `, isInline: true, styles: ["\n /** TODO: Remove if added to themes */\n .k-pivotgrid-cell:focus {\n outline: none;\n }\n "], components: [{ type: PivotGridCellDirective, selector: "[kendoPivotGridCell]", inputs: ["kendoPivotGridCell", "tableType", "rowIndex", "colIndex"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
429
447
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridTableComponent, decorators: [{
430
448
  type: Component,
431
449
  args: [{
@@ -465,7 +483,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
465
483
  </tr>
466
484
  </tbody>
467
485
  </table>
468
- `
486
+ `,
487
+ styles: [`
488
+ /** TODO: Remove if added to themes */
489
+ .k-pivotgrid-cell:focus {
490
+ outline: none;
491
+ }
492
+ `]
469
493
  }]
470
494
  }], ctorParameters: function () { return [{ type: PivotGridDataService }]; }, propDecorators: { tableType: [{
471
495
  type: Input
@@ -2417,7 +2441,7 @@ class PivotGridComponent {
2417
2441
  this.hostClass = true;
2418
2442
  this.ariaRole = 'grid';
2419
2443
  /**
2420
- * Specify the width of the column header and data cells. Value is treated as pixels.
2444
+ * Specify the width of the column header and data cells. Value is treated as pixels [(see example)]({% slug appearance_pivotgrid %}#toc-column-headers-width).
2421
2445
  *
2422
2446
  * @default 200
2423
2447
  */
@@ -2503,6 +2527,12 @@ class PivotGridComponent {
2503
2527
  get configuratorSettings() {
2504
2528
  return this.configurator && Object.assign({}, DEFAULT_CONFIGURATOR_SETTINGS, this.configurator);
2505
2529
  }
2530
+ /**
2531
+ * Holds the displayed aggregated PivotGrid values.
2532
+ */
2533
+ get aggregateData() {
2534
+ return cloneArray(this.dataService.aggregateData);
2535
+ }
2506
2536
  ngAfterViewInit() {
2507
2537
  if (isDocumentAvailable()) {
2508
2538
  this.zone.runOutsideAngular(() => {
@@ -2712,7 +2742,7 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
2712
2742
  <span>{{messageFor('configuratorButtonText')}}<span class="k-icon k-i-gear k-color-inherit"></span>
2713
2743
  </span>
2714
2744
  </div>
2715
- `, isInline: true, 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: PivotGridTableComponent, selector: "kendo-pivotgrid-table", inputs: ["tableType", "colWidth"] }, { type: i5$1.LoaderComponent, selector: "kendo-loader", inputs: ["type", "themeColor", "size"] }, { type: PivotGridConfiguratorComponent, selector: "kendo-pivotgrid-configurator", inputs: ["horizontal", "sort", "filter"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoPivotGridLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2745
+ `, isInline: true, 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\n .k-pivotgrid-empty-cell:focus {\n outline: none;\n }\n "], components: [{ type: PivotGridTableComponent, selector: "kendo-pivotgrid-table", inputs: ["tableType", "colWidth"] }, { type: i5$1.LoaderComponent, selector: "kendo-loader", inputs: ["type", "themeColor", "size"] }, { type: PivotGridConfiguratorComponent, selector: "kendo-pivotgrid-configurator", inputs: ["horizontal", "sort", "filter"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoPivotGridLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2716
2746
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, decorators: [{
2717
2747
  type: Component,
2718
2748
  args: [{
@@ -2871,6 +2901,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2871
2901
  left: 50%;
2872
2902
  transform: translate(-50%, -50%);
2873
2903
  }
2904
+
2905
+ .k-pivotgrid-empty-cell:focus {
2906
+ outline: none;
2907
+ }
2874
2908
  `]
2875
2909
  }]
2876
2910
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: PivotGridDataService }, { type: i1.LocalizationService }, { type: i0.Renderer2 }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
@@ -3040,9 +3074,7 @@ class PivotBaseBindingDirective {
3040
3074
  }));
3041
3075
  this.subs.add(this.dataService.valuesRows.subscribe((data) => {
3042
3076
  this.zone.run(() => {
3043
- if (hasObservers(this.dataLoaded)) {
3044
- this.dataLoaded.emit(data);
3045
- }
3077
+ this.dataService.aggregateData = data;
3046
3078
  });
3047
3079
  }));
3048
3080
  this.dataService.directive = this;
@@ -3211,7 +3243,7 @@ class PivotOLAPBindingDirective extends PivotBaseBindingDirective {
3211
3243
  sort,
3212
3244
  filter
3213
3245
  };
3214
- fetchData({ url: this.url }, JSON.parse(JSON.stringify(options)))
3246
+ fetchData({ url: this.url }, clone(options))
3215
3247
  .then(createDataState)
3216
3248
  .then(newDataState => {
3217
3249
  this.dataState = newDataState;
package/main.d.ts CHANGED
@@ -15,4 +15,5 @@ export { DropTargetDirective } from './configurator/drop-target.directive';
15
15
  export { ExpandChangeEvent } from './models/expanded-change-event';
16
16
  export { ConfigurationChangeEvent } from './models/configuration-change-event';
17
17
  export { PivotDataRowItem } from './models/data-row-item';
18
+ export { ConfiguratorSettings } from './models/configurator-settings';
18
19
  export { PivotGridAxis, PivotGridField, AxisDataItem, DimensionField, HierarchyField, KPIField, KPIMeasureField, LevelField, MeasureField, MemberField, PivotDataItem, sumAggregate, averageAggregate, minAggregate, maxAggregate, Aggregate, Dimension, Measure } from '@progress/kendo-pivotgrid-common';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-pivotgrid",
3
- "version": "0.2.0-dev.202209020832",
3
+ "version": "0.2.0-dev.202209121012",
4
4
  "description": "PivotGrid package for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -21,7 +21,7 @@
21
21
  "friendlyName": "PivotGrid"
22
22
  },
23
23
  "dependencies": {
24
- "@progress/kendo-pivotgrid-common": "0.4.0",
24
+ "@progress/kendo-pivotgrid-common": "0.4.1",
25
25
  "@progress/kendo-schematics": "^3.0.0",
26
26
  "@telerik/kendo-draggable": "^2.0.0",
27
27
  "tslib": "^2.3.1"
@@ -35,7 +35,7 @@
35
35
  "@progress/kendo-angular-buttons": "^8.0.0",
36
36
  "@progress/kendo-angular-indicators": "^2.0.0",
37
37
  "@progress/kendo-angular-intl": "^4.0.0",
38
- "@progress/kendo-angular-inputs": "^9.0.3",
38
+ "@progress/kendo-angular-inputs": "9 - 10",
39
39
  "@progress/kendo-angular-l10n": "^4.0.0",
40
40
  "@progress/kendo-angular-popup": "^5.0.0",
41
41
  "@progress/kendo-angular-treeview": "^7.1.0",
@@ -8,6 +8,7 @@ import { PivotGridDataService } from './data-binding/pivotgrid-data.service';
8
8
  import { LoaderSettings } from './models/loader-settings';
9
9
  import { LocalizationService } from '@progress/kendo-angular-l10n';
10
10
  import { ConfiguratorSettings } from './models/configurator-settings';
11
+ import { PivotDataRowItem } from './models/data-row-item';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * Represents the Kendo UI PivotGrid component for Angular.
@@ -49,7 +50,7 @@ export declare class PivotGridComponent implements AfterViewInit, AfterContentIn
49
50
  configurator: boolean | ConfiguratorSettings;
50
51
  get configuratorSettings(): ConfiguratorSettings;
51
52
  /**
52
- * Specify the width of the column header and data cells. Value is treated as pixels.
53
+ * Specify the width of the column header and data cells. Value is treated as pixels [(see example)]({% slug appearance_pivotgrid %}#toc-column-headers-width).
53
54
  *
54
55
  * @default 200
55
56
  */
@@ -60,6 +61,10 @@ export declare class PivotGridComponent implements AfterViewInit, AfterContentIn
60
61
  * @default false
61
62
  */
62
63
  navigable: boolean;
64
+ /**
65
+ * Holds the displayed aggregated PivotGrid values.
66
+ */
67
+ get aggregateData(): PivotDataRowItem[];
63
68
  loading: boolean;
64
69
  showConfigurator: boolean;
65
70
  private resizeObservers;
@@ -10,7 +10,7 @@ function default_1(options) {
10
10
  // Additional dependencies to install.
11
11
  // See https://github.com/telerik/kendo-schematics/issues/28
12
12
  peerDependencies: {
13
- // "@progress/kendo-angular-foo": "^1.0.0"
13
+ '@progress/kendo-angular-dialog': '^7.0.0'
14
14
  } });
15
15
  return schematics_1.externalSchematic('@progress/kendo-schematics', 'ng-add', finalOptions);
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tooling/schematics/ngAdd/index.ts"],"names":[],"mappings":";;AAAA,2DAGqC;AAErC,mBAAyB,OAAY;IACjC,MAAM,YAAY,mCACX,OAAO,KACV,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE,WAAW;QACpB,sCAAsC;QACtC,4DAA4D;QAC5D,gBAAgB,EAAE;QACd,0CAA0C;SAC7C,GACJ,CAAC;IAEF,OAAO,8BAAiB,CAAC,4BAA4B,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACnF,CAAC;AAbD,4BAaC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tooling/schematics/ngAdd/index.ts"],"names":[],"mappings":";;AAAA,2DAGqC;AAErC,mBAAyB,OAAY;IACjC,MAAM,YAAY,mCACX,OAAO,KACV,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE,WAAW;QACpB,sCAAsC;QACtC,4DAA4D;QAC5D,gBAAgB,EAAE;YACd,gCAAgC,EAAE,QAAQ;SAC7C,GACJ,CAAC;IAEF,OAAO,8BAAiB,CAAC,4BAA4B,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACnF,CAAC;AAbD,4BAaC"}
package/util.d.ts CHANGED
@@ -32,14 +32,6 @@ export declare const syncScroll: (source: HTMLTableElement, targets: HTMLTableEl
32
32
  * @hidden
33
33
  */
34
34
  export declare const syncWheel: (event: Event, tables: Element[], prop: 'scrollTop' | 'scrollLeft', axis: 'X' | 'Y') => void;
35
- /**
36
- * @hidden
37
- */
38
- export declare function cloneTo(obj: any, result: any): void;
39
- /**
40
- * @hidden
41
- */
42
- export declare function clone(obj: any): any;
43
35
  /**
44
36
  * @hidden
45
37
  */
@@ -67,3 +59,23 @@ export declare const filterAndMap: (arr: any[], predicate: (item: any) => boolea
67
59
  * @hidden
68
60
  */
69
61
  export declare const replaceMessagePlaceholder: (message: string, name: string, value: string) => string;
62
+ /**
63
+ * @hidden
64
+ */
65
+ export declare const cloneDate: (date?: Date) => Date | null;
66
+ /**
67
+ * @hidden
68
+ */
69
+ export declare function clone(obj: any): any;
70
+ /**
71
+ * @hidden
72
+ */
73
+ export declare function cloneObject(obj: any, result: any): void;
74
+ /**
75
+ * @hidden
76
+ */
77
+ export declare function cloneValue(value: any, nextValue: any): any;
78
+ /**
79
+ * @hidden
80
+ */
81
+ export declare function cloneArray(array: any[]): any;