@progress/kendo-angular-filter 2.0.1-dev.202205190755 → 2.0.1-dev.202205191247
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.
- package/bundles/kendo-angular-filter.umd.js +1 -1
- package/esm2015/filter-expression-operators.component.js +22 -4
- package/esm2015/filter-expression.component.js +3 -1
- package/esm2015/filter-group.component.js +6 -3
- package/esm2015/package-metadata.js +1 -1
- package/fesm2015/kendo-angular-filter.js +30 -8
- package/filter-expression-operators.component.d.ts +6 -3
- package/filter-group.component.d.ts +1 -0
- package/package.json +1 -1
- package/util.d.ts +2 -4
|
@@ -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-angular-l10n"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-dateinputs"),require("@angular/common"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-label")):"function"==typeof define&&define.amd?define("KendoAngularFilter",["exports","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-licensing","@progress/kendo-angular-dropdowns","@progress/kendo-angular-inputs","@progress/kendo-angular-dateinputs","@angular/common","@progress/kendo-angular-buttons","@progress/kendo-angular-label"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularFilter={},e.ng.core,e.KendoAngularL10N,e.KendoLicensing,e.KendoAngularDropdowns,e.KendoAngularInputs,e.KendoAngularDateinputs,e.ng.common,e.KendoAngularButtons,e.KendoAngularLabel)}(this,function(e,n,t,z,r,o,i,a,l,s){"use strict";function p(r){if(r&&r.__esModule)return r;var n=Object.create(null);return r&&Object.keys(r).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(r,e),Object.defineProperty(n,e,t.get?t:{enumerable:!0,get:function(){return r[e]}}))}),n.default=r,Object.freeze(n)}var u=p(n),d=p(t),f=p(r),c=p(o),g=p(i),m=p(a),h=p(l),v=(b.prototype.addFilterGroup=function(e){e.filters.push({logic:"or",filters:[]})},b.prototype.addFilterExpression=function(e){e.filters.push({operator:"eq",value:null,field:null})},b.prototype.remove=function(t,r,e){var n,o=this;e=e||this.normalizedValue,t===e?e.filters=[]:0<=(n=e.filters.indexOf(t))&&n===r?e.filters=e.filters.filter(function(e){return e!==t}):e.filters.forEach(function(e){return e.filters&&o.remove(t,r,e)})},b);function b(){this.filters=[]}v.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:v,deps:[],target:u.ɵɵFactoryTarget.Injectable}),v.ɵprov=u.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:v}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:v,decorators:[{type:n.Injectable}]});function I(r){return function(t){return Object.keys(r).map(function(e){return{text:t.get(e),value:r[e]}})}}var k=["isnull","isnotnull","isempty","isnotempty"],M={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"},B={filterEqOperator:"eq",filterNotEqOperator:"neq",filterGteOperator:"gte",filterGtOperator:"gt",filterLteOperator:"lte",filterLtOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},G={filterEqOperator:"eq",filterNotEqOperator:"neq",filterAfterOrEqualOperator:"gte",filterAfterOperator:"gt",filterBeforeOrEqualOperator:"lte",filterBeforeOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},P={string:M,number:B,date:G},j={filterAndLogic:"and",filterOrLogic:"or"},R={name:"@progress/kendo-angular-filter",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1652946928,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"},y=(W.prototype.ngOnChanges=function(){var e=this.hostElement.nativeElement.querySelector("input")||this.hostElement.nativeElement;this.renderer.setAttribute(e,"aria-label",this.ariaLabel)},W);function W(e,t){this.hostElement=e,this.renderer=t}y.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:y,deps:[{token:u.ElementRef},{token:u.Renderer2}],target:u.ɵɵFactoryTarget.Directive}),y.ɵdir=u.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:y,selector:"[kendoAriaLabelValue]",inputs:{ariaLabel:["kendoAriaLabelValue","ariaLabel"]},usesOnChanges:!0,ngImport:u}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:y,decorators:[{type:n.Directive,args:[{selector:"[kendoAriaLabelValue]"}]}],ctorParameters:function(){return[{type:u.ElementRef},{type:u.Renderer2}]},propDecorators:{ariaLabel:[{type:n.Input,args:["kendoAriaLabelValue"]}]}});x.prototype.messageFor=function(e){return this.localization.get(e)},x.prototype.operatorValueChange=function(e){this.valueChange.emit(e)};var O=x;function x(e){this.localization=e,this.operators=[],this.valueChange=new n.EventEmitter}O.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:O,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),O.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"kendo-filter-expression-operators",inputs:{currentItem:"currentItem",operators:"operators"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterOperatorAriaLabel\')"\n [data]="operators"\n [title]="messageFor(\'filterExpressionOperators\')"\n [(value)]="currentItem.operator"\n (valueChange)="operatorValueChange($event)"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n ',isInline:!0,components:[{type:f.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:y,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:O,decorators:[{type:n.Component,args:[{selector:"kendo-filter-expression-operators",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterOperatorAriaLabel\')"\n [data]="operators"\n [title]="messageFor(\'filterExpressionOperators\')"\n [(value)]="currentItem.operator"\n (valueChange)="operatorValueChange($event)"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService}]},propDecorators:{currentItem:[{type:n.Input}],operators:[{type:n.Input}],valueChange:[{type:n.Output}]}});_.prototype.messageFor=function(e){return this.localization.get(e)};var C=_;function _(e){this.localization=e,this.valueChange=new n.EventEmitter}C.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:C,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),C.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"kendo-filter-text-editor",inputs:{currentItem:"currentItem",isDisabled:"isDisabled"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-textbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n </kendo-textbox>\n ',isInline:!0,components:[{type:c.TextBoxComponent,selector:"kendo-textbox",inputs:["focusableId","title","disabled","readonly","tabindex","value","selectOnFocus","showSuccessIcon","showErrorIcon","clearButton","successIcon","errorIcon","clearButtonIcon","size","rounded","fillMode","tabIndex","placeholder","maxlength"],outputs:["valueChange","inputFocus","inputBlur","focus","blur"],exportAs:["kendoTextBox"]}],directives:[{type:y,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:C,decorators:[{type:n.Component,args:[{selector:"kendo-filter-text-editor",template:'\n <kendo-textbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n </kendo-textbox>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService}]},propDecorators:{currentItem:[{type:n.Input}],isDisabled:[{type:n.Input}],valueChange:[{type:n.Output}]}});K.prototype.messageFor=function(e){return this.localization.get(e)};var F=K;function K(e){this.localization=e,this.valueChange=new n.EventEmitter}F.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:F,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),F.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:F,selector:"kendo-filter-numeric-editor",inputs:{currentItem:"currentItem",isDisabled:"isDisabled"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-numerictextbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n <kendo-numerictextbox-messages\n [increment]="messageFor(\'editorNumericIncrement\')"\n [decrement]="messageFor(\'editorNumericDecrement\')">\n </kendo-numerictextbox-messages>\n </kendo-numerictextbox>\n ',isInline:!0,components:[{type:c.NumericTextBoxComponent,selector:"kendo-numerictextbox",inputs:["focusableId","disabled","readonly","title","autoCorrect","format","max","min","decimals","placeholder","step","spinners","rangeValidation","tabindex","tabIndex","changeValueOnScroll","selectOnFocus","value","maxlength","size","rounded","fillMode"],outputs:["valueChange","focus","blur"],exportAs:["kendoNumericTextBox"]},{type:c.NumericTextBoxCustomMessagesComponent,selector:"kendo-numerictextbox-messages"}],directives:[{type:y,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:F,decorators:[{type:n.Component,args:[{selector:"kendo-filter-numeric-editor",template:'\n <kendo-numerictextbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n <kendo-numerictextbox-messages\n [increment]="messageFor(\'editorNumericIncrement\')"\n [decrement]="messageFor(\'editorNumericDecrement\')">\n </kendo-numerictextbox-messages>\n </kendo-numerictextbox>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService}]},propDecorators:{currentItem:[{type:n.Input}],isDisabled:[{type:n.Input}],valueChange:[{type:n.Output}]}});D.prototype.ngOnInit=function(){var e=this;this.localizationSubscription=this.localization.changes.subscribe(function(){e.defaultItem=e.getDefaultItem(),e.items=e.getValueItems(),e.cdr.detectChanges()})},D.prototype.getDefaultItem=function(){return{text:this.localization.get("filterBooleanAll"),value:null}},D.prototype.getValueItems=function(){return[{text:this.localization.get("filterIsTrue"),value:!0},{text:this.localization.get("filterIsFalse"),value:!1}]},D.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},D.prototype.messageFor=function(e){return this.localization.get(e)};c=D;function D(e,t){this.localization=e,this.cdr=t,this.valueChange=new n.EventEmitter,this.items=this.getValueItems(),this.defaultItem=this.getDefaultItem()}c.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:c,deps:[{token:d.LocalizationService},{token:u.ChangeDetectorRef}],target:u.ɵɵFactoryTarget.Component}),c.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:c,selector:"kendo-filter-boolean-editor",inputs:{currentItem:"currentItem"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [data]="items"\n [defaultItem]="defaultItem"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n ',isInline:!0,components:[{type:f.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:y,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:c,decorators:[{type:n.Component,args:[{selector:"kendo-filter-boolean-editor",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [data]="items"\n [defaultItem]="defaultItem"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService},{type:u.ChangeDetectorRef}]},propDecorators:{currentItem:[{type:n.Input}],valueChange:[{type:n.Output}]}});U.prototype.messageFor=function(e){return this.localization.get(e)};var T=U;function U(e){this.localization=e,this.valueChange=new n.EventEmitter}T.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:T,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),T.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:T,selector:"kendo-filter-date-editor",inputs:{currentItem:"currentItem",isDisabled:"isDisabled"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-datepicker\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n <kendo-datepicker-messages\n [toggle]="messageFor(\'editorDateToggleText\')"\n [today]="messageFor(\'editorDateTodayText\')">\n </kendo-datepicker-messages>\n </kendo-datepicker>\n ',isInline:!0,components:[{type:g.DatePickerComponent,selector:"kendo-datepicker",inputs:["cellTemplate","monthCellTemplate","yearCellTemplate","decadeCellTemplate","centuryCellTemplate","weekNumberTemplate","headerTitleTemplate","navigationItemTemplate","focusableId","activeView","bottomView","topView","calendarType","animateCalendarNavigation","disabled","readonly","readOnlyInput","popupSettings","navigation","min","max","incompleteDateValidation","focusedDate","value","format","twoDigitYearMax","formatPlaceholder","placeholder","tabindex","tabIndex","disabledDates","title","rangeValidation","disabledDatesValidation","weekNumber","size","rounded","fillMode"],outputs:["valueChange","focus","blur","open","close"],exportAs:["kendo-datepicker"]},{type:g.DatePickerCustomMessagesComponent,selector:"kendo-datepicker-messages"}],directives:[{type:y,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:T,decorators:[{type:n.Component,args:[{selector:"kendo-filter-date-editor",template:'\n <kendo-datepicker\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n <kendo-datepicker-messages\n [toggle]="messageFor(\'editorDateToggleText\')"\n [today]="messageFor(\'editorDateTodayText\')">\n </kendo-datepicker-messages>\n </kendo-datepicker>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService}]},propDecorators:{currentItem:[{type:n.Input}],isDisabled:[{type:n.Input}],valueChange:[{type:n.Output}]}});L.prototype.ngOnInit=function(){var e=this,t=(this.isEditorDisabled=0<=k.indexOf(this.currentItem.operator),this.filters=this.filterService.filters,this.getFilterExpressionByField(this.currentItem.field)),r=(this.currentItem.field&&this.setOperators(t),this.getFilterExpressionByField(this.filterService.filters[0].field));this.currentItem.field||(this.currentItem.field=this.filterService.filters[0].field,this.setOperators(r)),this.localizationSubscription=this.localization.changes.subscribe(function(){e.setOperators(t||r),e.cdr.detectChanges()})},L.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},L.prototype.normalizeOperators=function(e,t){for(var r=[],n=0;n<t.length;n++)0<=["string","number","boolean","date"].indexOf(e)&&r.push({value:t[n],text:this.localization.get(function(t,r){return Object.keys(t).find(function(e){return t[e]===r})}(P[e],t[n]))});return r},L.prototype.messageFor=function(e){return this.localization.get(e)},L.prototype.getFilterExpressionByField=function(t){var e=this.filterService.filters.find(function(e){return e.field===t});return e||null},L.prototype.filterValueChange=function(e){this.currentItem.value=null,this.currentItem.field=e;e=this.getFilterExpressionByField(this.currentItem.field);this.setOperators(e),this.valueChange.emit()},L.prototype.getDefaultOperators=function(e){switch(e){case"string":return I(M)(this.localization);case"number":return I(B)(this.localization);case"date":return I(G)(this.localization)}},L.prototype.getEditorType=function(){var t=this;return this.filterService.filters.find(function(e){return e.field===t.currentItem.field}).editor},L.prototype.removeFilterExpression=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},L.prototype.setOperators=function(e){var t;this.isBoolean="boolean"===e.editor,this.isBoolean||(e.operators?(t=this.normalizeOperators(e.editor,e.operators),this.operators=t,this.currentItem.operator||(this.currentItem.operator=t[0].value)):(this.operators=this.getDefaultOperators(e.editor),this.currentItem.operator||(this.currentItem.operator=this.operators[0].value)))},L.prototype.onOperatorChange=function(e){this.valueChange.emit(),0<=k.indexOf(e)?(this.currentItem.value=null,this.isEditorDisabled=!0):this.isEditorDisabled=!1};g=L;function L(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new n.EventEmitter,this.operators=[],this.filters=[],this.isBoolean=!1,this.isEditorDisabled=!1}g.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:g,deps:[{token:v},{token:d.LocalizationService},{token:u.ChangeDetectorRef}],target:u.ɵɵFactoryTarget.Component}),g.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:g,selector:"kendo-filter-expression",inputs:{index:"index",currentItem:"currentItem"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <div class="k-filter-toolbar" role="group" [attr.aria-label]="messageFor(\'filterAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item k-filter-field">\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterFieldAriaLabel\')"\n [title]="messageFor(\'filterExpressionFilters\')"\n [data]="filters"\n textField="title"\n valueField="field"\n [value]="currentItem.field"\n [valuePrimitive]="true"\n (valueChange)="filterValueChange($event)">\n </kendo-dropdownlist>\n </div>\n <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator">\n <kendo-filter-expression-operators\n [currentItem]="currentItem"\n [operators]="operators"\n (valueChange)="onOperatorChange($event);">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]="getEditorType()">\n <kendo-filter-text-editor *ngSwitchCase="\'string\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase="\'number\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>\n <kendo-filter-boolean-editor *ngSwitchCase="\'boolean\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>\n <kendo-filter-date-editor *ngSwitchCase="\'date\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>\n </ng-container>\n\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterExpression()">\n </button>\n </div>\n </div>\n </div>\n ',isInline:!0,components:[{type:f.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"]},{type:O,selector:"kendo-filter-expression-operators",inputs:["currentItem","operators"],outputs:["valueChange"]},{type:C,selector:"kendo-filter-text-editor",inputs:["currentItem","isDisabled"],outputs:["valueChange"]},{type:F,selector:"kendo-filter-numeric-editor",inputs:["currentItem","isDisabled"],outputs:["valueChange"]},{type:c,selector:"kendo-filter-boolean-editor",inputs:["currentItem"],outputs:["valueChange"]},{type:T,selector:"kendo-filter-date-editor",inputs:["currentItem","isDisabled"],outputs:["valueChange"]}],directives:[{type:y,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]},{type:m.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:m.NgSwitch,selector:"[ngSwitch]",inputs:["ngSwitch"]},{type:m.NgSwitchCase,selector:"[ngSwitchCase]",inputs:["ngSwitchCase"]},{type:h.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"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:g,decorators:[{type:n.Component,args:[{selector:"kendo-filter-expression",template:'\n <div class="k-filter-toolbar" role="group" [attr.aria-label]="messageFor(\'filterAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item k-filter-field">\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterFieldAriaLabel\')"\n [title]="messageFor(\'filterExpressionFilters\')"\n [data]="filters"\n textField="title"\n valueField="field"\n [value]="currentItem.field"\n [valuePrimitive]="true"\n (valueChange)="filterValueChange($event)">\n </kendo-dropdownlist>\n </div>\n <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator">\n <kendo-filter-expression-operators\n [currentItem]="currentItem"\n [operators]="operators"\n (valueChange)="onOperatorChange($event);">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]="getEditorType()">\n <kendo-filter-text-editor *ngSwitchCase="\'string\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase="\'number\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>\n <kendo-filter-boolean-editor *ngSwitchCase="\'boolean\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>\n <kendo-filter-date-editor *ngSwitchCase="\'date\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>\n </ng-container>\n\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterExpression()">\n </button>\n </div>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:v},{type:d.LocalizationService},{type:u.ChangeDetectorRef}]},propDecorators:{index:[{type:n.Input}],currentItem:[{type:n.Input}],valueChange:[{type:n.Output}]}});E.prototype.ngOnInit=function(){var e=this;this.operators=this.getLogicOperators(),this.localizationSubscription=this.localization.changes.subscribe(function(){e.operators=e.getLogicOperators(),e.cdr.detectChanges()})},E.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},E.prototype.getLogicOperators=function(){return I(j)(this.localization)},E.prototype.messageFor=function(e){return this.localization.get(e)},E.prototype.selectedChange=function(e){this.currentItem.logic!==e&&(this.currentItem.logic=e,this.valueChange.emit())},E.prototype.addFilterExpression=function(){this.filterService.addFilterExpression(this.currentItem),this.valueChange.emit()},E.prototype.addFilterGroup=function(){this.filterService.addFilterGroup(this.currentItem),this.valueChange.emit()},E.prototype.removeFilterGroup=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()};f=E;function E(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.index=0,this.currentItem={logic:"or",filters:[]},this.valueChange=new n.EventEmitter,this.operators=[]}f.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:f,deps:[{token:v},{token:d.LocalizationService},{token:u.ChangeDetectorRef}],target:u.ɵɵFactoryTarget.Component}),f.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:f,selector:"kendo-filter-group",inputs:{index:"index",currentItem:"currentItem"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <div class="k-filter-toolbar" role="toolbar" [attr.aria-label]="messageFor(\'filterToolbarAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item">\n <div class="k-widget k-button-group" role="group">\n <button\n *ngFor="let operator of operators"\n kendoButton\n [ngClass]="{\'k-group-start\': operator.value === \'and\', \'k-group-end\': operator.value === \'or\'}"\n [selected]="currentItem.logic === operator.value"\n [title]="operator.text"\n (click)="selectedChange(operator.value)"\n >\n {{operator.text}}\n </button>\n </div>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addFilter\')"\n icon="filter-add-expression"\n (click)="addFilterExpression()">\n {{messageFor(\'addFilter\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addGroup\')"\n icon="filter-add-group"\n (click)="addFilterGroup()">\n {{messageFor(\'addGroup\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterGroup()">\n </button>\n </div>\n </div>\n </div>\n\n <ul class="k-filter-lines" *ngIf="currentItem.filters">\n <ng-container *ngFor="let item of currentItem.filters; let i = index;">\n <li class="k-filter-item" *ngIf="!item[\'filters\']">\n <kendo-filter-expression (valueChange)="valueChange.emit()" [currentItem]="item" [index]="i">\n </kendo-filter-expression>\n </li>\n <li class="k-filter-item" *ngIf="item[\'filters\']">\n <kendo-filter-group\n (valueChange)="valueChange.emit()"\n [currentItem]="item"\n [index]="i"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n ',isInline:!0,components:[{type:g,selector:"kendo-filter-expression",inputs:["index","currentItem"],outputs:["valueChange"]},{type:f,selector:"kendo-filter-group",inputs:["index","currentItem"],outputs:["valueChange"]}],directives:[{type:m.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:h.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"]},{type:m.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:m.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:f,decorators:[{type:n.Component,args:[{selector:"kendo-filter-group",template:'\n <div class="k-filter-toolbar" role="toolbar" [attr.aria-label]="messageFor(\'filterToolbarAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item">\n <div class="k-widget k-button-group" role="group">\n <button\n *ngFor="let operator of operators"\n kendoButton\n [ngClass]="{\'k-group-start\': operator.value === \'and\', \'k-group-end\': operator.value === \'or\'}"\n [selected]="currentItem.logic === operator.value"\n [title]="operator.text"\n (click)="selectedChange(operator.value)"\n >\n {{operator.text}}\n </button>\n </div>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addFilter\')"\n icon="filter-add-expression"\n (click)="addFilterExpression()">\n {{messageFor(\'addFilter\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addGroup\')"\n icon="filter-add-group"\n (click)="addFilterGroup()">\n {{messageFor(\'addGroup\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterGroup()">\n </button>\n </div>\n </div>\n </div>\n\n <ul class="k-filter-lines" *ngIf="currentItem.filters">\n <ng-container *ngFor="let item of currentItem.filters; let i = index;">\n <li class="k-filter-item" *ngIf="!item[\'filters\']">\n <kendo-filter-expression (valueChange)="valueChange.emit()" [currentItem]="item" [index]="i">\n </kendo-filter-expression>\n </li>\n <li class="k-filter-item" *ngIf="item[\'filters\']">\n <kendo-filter-group\n (valueChange)="valueChange.emit()"\n [currentItem]="item"\n [index]="i"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n '}]}],ctorParameters:function(){return[{type:v},{type:d.LocalizationService},{type:u.ChangeDetectorRef}]},propDecorators:{index:[{type:n.Input}],currentItem:[{type:n.Input}],valueChange:[{type:n.Output}]}});var $=function(e,t){return($=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function A(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}$(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}Object.create;function V(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function N(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||((n=n||Array.prototype.slice.call(t,0,o))[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))}Object.create;A(J,H=t.ComponentMessages);var H,h=J;function J(){return null!==H&&H.apply(this,arguments)||this}h.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,deps:null,target:u.ɵɵFactoryTarget.Directive}),h.ɵdir=u.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:h,selector:"[kendoFilterMessages]",inputs:{filterExpressionOperators:"filterExpressionOperators",filterExpressionFilters:"filterExpressionFilters",remove:"remove",addGroup:"addGroup",addFilter:"addFilter",filterAndLogic:"filterAndLogic",filterOrLogic:"filterOrLogic",filterEqOperator:"filterEqOperator",filterNotEqOperator:"filterNotEqOperator",filterIsNullOperator:"filterIsNullOperator",filterIsNotNullOperator:"filterIsNotNullOperator",filterIsEmptyOperator:"filterIsEmptyOperator",filterIsNotEmptyOperator:"filterIsNotEmptyOperator",filterStartsWithOperator:"filterStartsWithOperator",filterContainsOperator:"filterContainsOperator",filterNotContainsOperator:"filterNotContainsOperator",filterEndsWithOperator:"filterEndsWithOperator",filterGteOperator:"filterGteOperator",filterGtOperator:"filterGtOperator",filterLteOperator:"filterLteOperator",filterLtOperator:"filterLtOperator",filterIsTrue:"filterIsTrue",filterIsFalse:"filterIsFalse",filterBooleanAll:"filterBooleanAll",filterAfterOrEqualOperator:"filterAfterOrEqualOperator",filterAfterOperator:"filterAfterOperator",filterBeforeOperator:"filterBeforeOperator",filterBeforeOrEqualOperator:"filterBeforeOrEqualOperator",editorNumericDecrement:"editorNumericDecrement",editorNumericIncrement:"editorNumericIncrement",editorDateTodayText:"editorDateTodayText",editorDateToggleText:"editorDateToggleText",filterFieldAriaLabel:"filterFieldAriaLabel",filterOperatorAriaLabel:"filterOperatorAriaLabel",filterValueAriaLabel:"filterValueAriaLabel",filterAriaLabel:"filterAriaLabel",filterToolbarAriaLabel:"filterToolbarAriaLabel"},usesInheritance:!0,ngImport:u}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,decorators:[{type:n.Directive,args:[{selector:"[kendoFilterMessages]"}]}],propDecorators:{filterExpressionOperators:[{type:n.Input}],filterExpressionFilters:[{type:n.Input}],remove:[{type:n.Input}],addGroup:[{type:n.Input}],addFilter:[{type:n.Input}],filterAndLogic:[{type:n.Input}],filterOrLogic:[{type:n.Input}],filterEqOperator:[{type:n.Input}],filterNotEqOperator:[{type:n.Input}],filterIsNullOperator:[{type:n.Input}],filterIsNotNullOperator:[{type:n.Input}],filterIsEmptyOperator:[{type:n.Input}],filterIsNotEmptyOperator:[{type:n.Input}],filterStartsWithOperator:[{type:n.Input}],filterContainsOperator:[{type:n.Input}],filterNotContainsOperator:[{type:n.Input}],filterEndsWithOperator:[{type:n.Input}],filterGteOperator:[{type:n.Input}],filterGtOperator:[{type:n.Input}],filterLteOperator:[{type:n.Input}],filterLtOperator:[{type:n.Input}],filterIsTrue:[{type:n.Input}],filterIsFalse:[{type:n.Input}],filterBooleanAll:[{type:n.Input}],filterAfterOrEqualOperator:[{type:n.Input}],filterAfterOperator:[{type:n.Input}],filterBeforeOperator:[{type:n.Input}],filterBeforeOrEqualOperator:[{type:n.Input}],editorNumericDecrement:[{type:n.Input}],editorNumericIncrement:[{type:n.Input}],editorDateTodayText:[{type:n.Input}],editorDateToggleText:[{type:n.Input}],filterFieldAriaLabel:[{type:n.Input}],filterOperatorAriaLabel:[{type:n.Input}],filterValueAriaLabel:[{type:n.Input}],filterAriaLabel:[{type:n.Input}],filterToolbarAriaLabel:[{type:n.Input}]}});A(Y,X=h);var X,w=Y;function Y(e){var t=X.call(this)||this;return t.service=e,t}w.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:w,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Directive}),w.ɵdir=u.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:w,selector:"[kendoFilterLocalizedMessages]",providers:[{provide:h,useExisting:n.forwardRef(function(){return w})}],usesInheritance:!0,ngImport:u}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:w,decorators:[{type:n.Directive,args:[{providers:[{provide:h,useExisting:n.forwardRef(function(){return w})}],selector:"[kendoFilterLocalizedMessages]"}]}],ctorParameters:function(){return[{type:d.LocalizationService}]}});Object.defineProperty(S.prototype,"filters",{get:function(){return this.filterService.filters},set:function(e){if(n.isDevMode()&&(!Array.isArray(e)||0===e.length))throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.filterService.filters=e.map(function(e){e=Object.assign({},e);return e.title||(e.title=e.field),e}),this.setValue(this.value)},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"value",{get:function(){return this._value},set:function(e){e=JSON.parse(JSON.stringify(e));this._value=e,this.setValue(this.value)},enumerable:!1,configurable:!0}),S.prototype.ngOnInit=function(){var t=this;if(0===this.filters.length)throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.localizationSubscription=this.localization.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr",t.cdr.detectChanges()})},S.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},S.prototype.getCurrentFilter=function(){return this.filterService.normalizedValue},S.prototype.onValueChange=function(){this.valueChange.emit(this.filterService.normalizedValue)},S.prototype.normalizeFilter=function(t){var e=this.filterService.filters.find(function(e){return e.field===t.field});if(n.isDevMode()&&!e)throw new Error("There is no user-defined filter with '"+t.field+"' field provided through the [filters] input property.");if(n.isDevMode()&&"boolean"===e.editor&&!t.value&&!1!==t.value&&console.warn("Provide a value for the boolean '"+t.field+"' user-defined filter as the operator is always set to 'eq'."),t.operator&&e.operators&&!e.operators.some(function(e){return e===t.operator}))throw new Error("The user-defined filter with field '"+t.field+"' is missing the '"+t.operator+"' operator.");"boolean"===e.editor&&(t.operator="eq"),"date"===e.editor&&t.value&&(t.value=new Date(t.value)),null==t.value&&(t.value=null),0<=k.indexOf(t.operator)&&(t.value=null)},S.prototype.setValue=function(e){this.normalizeValue(e),this.filterService.normalizedValue=e},S.prototype.normalizeValue=function(e){var t=this;this.filterService.filters.length&&e.filters.forEach(function(e){e.filters?t.normalizeValue(e):t.normalizeFilter(e)})};m=S;function S(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new n.EventEmitter,this._value={filters:[],logic:"and"},z.validatePackage(R),this.direction=t.rtl?"rtl":"ltr"}m.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:m,deps:[{token:v},{token:d.LocalizationService},{token:u.ChangeDetectorRef}],target:u.ɵɵFactoryTarget.Component}),m.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:m,selector:"kendo-filter",inputs:{filters:"filters",value:"value"},outputs:{valueChange:"valueChange"},host:{properties:{"attr.dir":"this.direction"}},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.filter"},v],ngImport:u,template:'\n <ng-container kendoFilterLocalizedMessages\n i18n-editorDateTodayText="kendo.filter.editorDateTodayText|The text of the Today button of the Date editor"\n editorDateTodayText="Today"\n\n i18n-editorDateToggleText="kendo.filter.editorDateToggleText|The title of the Toggle button of the Date editor."\n editorDateToggleText="Toggle calendar"\n\n i18n-editorNumericDecrement="kendo.filter.editorNumericDecrement|The title of the Decrement button of the Numeric editor"\n editorNumericDecrement="Decrement"\n\n i18n-editorNumericIncrement="kendo.filter.editorNumericIncrement|The title of the Increment button of the Numeric editor"\n editorNumericIncrement="Increment"\n\n i18n-filterExpressionOperators="kendo.filter.filterExpressionOperators|The text of the Filter Expression Operators drop down"\n filterExpressionOperators="Operators"\n\n i18n-filterExpressionFilters="kendo.filter.filterExpressionFilters|The text of the Filter Expression filters drop down"\n filterExpressionFilters="Fields"\n\n i18n-remove="kendo.filter.remove|The text of the Remove button"\n remove="Remove"\n\n i18n-addFilter="kendo.filter.addFilter|The text of the Add Filter button"\n addFilter="Add Filter"\n\n i18n-addGroup="kendo.filter.addGroup|The text of the Add Group button"\n addGroup="Add Group"\n\n i18n-filterAndLogic="kendo.filter.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.filter.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-filterEqOperator="kendo.filter.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.filter.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.filter.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.filter.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.filter.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.filter.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.filter.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.filter.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.filter.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.filter.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.filter.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.filter.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.filter.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.filter.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.filter.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.filter.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.filter.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.filter.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.filter.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.filter.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.filter.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFieldAriaLabel="kendo.filter.filterFieldAriaLabel|The text of the filter field aria label"\n filterFieldAriaLabel="field"\n\n i18n-filterOperatorAriaLabel="kendo.filter.filterOperatorAriaLabel|The text of the filter operator aria label"\n filterOperatorAriaLabel="operator"\n\n i18n-filterValueAriaLabel="kendo.filter.filterValueAriaLabel|The text of the filter value aria label"\n filterValueAriaLabel="value"\n\n i18n-filterAriaLabel="kendo.filter.filterAriaLabel|The text of the filter row aria label"\n filterAriaLabel="filter"\n\n i18n-filterToolbarAriaLabel="kendo.filter.filterToolbarAriaLabel|The text of the filter toolbar aria label"\n filterToolbarAriaLabel="filter settings"\n >\n </ng-container>\n <div class="k-widget k-filter" [attr.dir]="direction">\n <ul class=\'k-filter-container\'>\n <li class=\'k-filter-group-main\'>\n <kendo-filter-group\n [currentItem]="getCurrentFilter()"\n (valueChange)="onValueChange()"\n >\n </kendo-filter-group>\n </li>\n </ul>\n </div>\n ',isInline:!0,components:[{type:f,selector:"kendo-filter-group",inputs:["index","currentItem"],outputs:["valueChange"]}],directives:[{type:w,selector:"[kendoFilterLocalizedMessages]"}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:m,decorators:[{type:n.Component,args:[{providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.filter"},v],selector:"kendo-filter",template:'\n <ng-container kendoFilterLocalizedMessages\n i18n-editorDateTodayText="kendo.filter.editorDateTodayText|The text of the Today button of the Date editor"\n editorDateTodayText="Today"\n\n i18n-editorDateToggleText="kendo.filter.editorDateToggleText|The title of the Toggle button of the Date editor."\n editorDateToggleText="Toggle calendar"\n\n i18n-editorNumericDecrement="kendo.filter.editorNumericDecrement|The title of the Decrement button of the Numeric editor"\n editorNumericDecrement="Decrement"\n\n i18n-editorNumericIncrement="kendo.filter.editorNumericIncrement|The title of the Increment button of the Numeric editor"\n editorNumericIncrement="Increment"\n\n i18n-filterExpressionOperators="kendo.filter.filterExpressionOperators|The text of the Filter Expression Operators drop down"\n filterExpressionOperators="Operators"\n\n i18n-filterExpressionFilters="kendo.filter.filterExpressionFilters|The text of the Filter Expression filters drop down"\n filterExpressionFilters="Fields"\n\n i18n-remove="kendo.filter.remove|The text of the Remove button"\n remove="Remove"\n\n i18n-addFilter="kendo.filter.addFilter|The text of the Add Filter button"\n addFilter="Add Filter"\n\n i18n-addGroup="kendo.filter.addGroup|The text of the Add Group button"\n addGroup="Add Group"\n\n i18n-filterAndLogic="kendo.filter.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.filter.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-filterEqOperator="kendo.filter.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.filter.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.filter.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.filter.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.filter.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.filter.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.filter.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.filter.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.filter.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.filter.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.filter.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.filter.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.filter.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.filter.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.filter.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.filter.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.filter.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.filter.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.filter.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.filter.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.filter.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFieldAriaLabel="kendo.filter.filterFieldAriaLabel|The text of the filter field aria label"\n filterFieldAriaLabel="field"\n\n i18n-filterOperatorAriaLabel="kendo.filter.filterOperatorAriaLabel|The text of the filter operator aria label"\n filterOperatorAriaLabel="operator"\n\n i18n-filterValueAriaLabel="kendo.filter.filterValueAriaLabel|The text of the filter value aria label"\n filterValueAriaLabel="value"\n\n i18n-filterAriaLabel="kendo.filter.filterAriaLabel|The text of the filter row aria label"\n filterAriaLabel="filter"\n\n i18n-filterToolbarAriaLabel="kendo.filter.filterToolbarAriaLabel|The text of the filter toolbar aria label"\n filterToolbarAriaLabel="filter settings"\n >\n </ng-container>\n <div class="k-widget k-filter" [attr.dir]="direction">\n <ul class=\'k-filter-container\'>\n <li class=\'k-filter-group-main\'>\n <kendo-filter-group\n [currentItem]="getCurrentFilter()"\n (valueChange)="onValueChange()"\n >\n </kendo-filter-group>\n </li>\n </ul>\n </div>\n '}]}],ctorParameters:function(){return[{type:v},{type:d.LocalizationService},{type:u.ChangeDetectorRef}]},propDecorators:{direction:[{type:n.HostBinding,args:["attr.dir"]}],filters:[{type:n.Input}],value:[{type:n.Input}],valueChange:[{type:n.Output}]}});A(Z,Q=h),Object.defineProperty(Z.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var Q,q=Z;function Z(e){var t=Q.call(this)||this;return t.service=e,t}q.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:q,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),q.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:q,selector:"kendo-filter-messages",providers:[{provide:h,useExisting:n.forwardRef(function(){return q})}],usesInheritance:!0,ngImport:u,template:"",isInline:!0}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:q,decorators:[{type:n.Component,args:[{providers:[{provide:h,useExisting:n.forwardRef(function(){return q})}],selector:"kendo-filter-messages",template:""}]}],ctorParameters:function(){return[{type:d.LocalizationService}]}});t=[a.CommonModule,o.InputsModule,s.LabelModule,r.DropDownsModule,l.ButtonsModule,i.DateInputsModule],h=function(){},h.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,deps:[],target:u.ɵɵFactoryTarget.NgModule}),h.ɵmod=u.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,imports:[a.CommonModule,o.InputsModule,s.LabelModule,r.DropDownsModule,l.ButtonsModule,i.DateInputsModule],exports:[a.CommonModule,o.InputsModule,s.LabelModule,r.DropDownsModule,l.ButtonsModule,i.DateInputsModule]}),h.ɵinj=u.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,imports:[N([],V(t)),a.CommonModule,o.InputsModule,s.LabelModule,r.DropDownsModule,l.ButtonsModule,i.DateInputsModule]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,decorators:[{type:n.NgModule,args:[{imports:N([],V(t)),exports:N([],V(t))}]}]}),a=function(){};a.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:a,deps:[],target:u.ɵɵFactoryTarget.NgModule}),a.ɵmod=u.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:a,declarations:[m,F,C,g,f,O,c,T,w,q,y],imports:[h],exports:[m,F,C,g,f,O,c,T,w,q,y]}),a.ɵinj=u.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:a,imports:[[h]]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:a,decorators:[{type:n.NgModule,args:[{imports:[h],declarations:[m,F,C,g,f,O,c,T,w,q,y],exports:[m,F,C,g,f,O,c,T,w,q,y]}]}]}),e.AriaLabelValueDirective=y,e.CustomMessagesComponent=q,e.FilterBooleanEditorComponent=c,e.FilterComponent=m,e.FilterDateEditorComponent=T,e.FilterExpressionComponent=g,e.FilterExpressionOperatorsComponent=O,e.FilterGroupComponent=f,e.FilterModule=a,e.FilterNumericEditorComponent=F,e.FilterTextEditorComponent=C,e.LocalizedMessagesDirective=w,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
5
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-dateinputs"),require("@angular/common"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-label")):"function"==typeof define&&define.amd?define("KendoAngularFilter",["exports","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-licensing","@progress/kendo-angular-dropdowns","@progress/kendo-angular-inputs","@progress/kendo-angular-dateinputs","@angular/common","@progress/kendo-angular-buttons","@progress/kendo-angular-label"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularFilter={},e.ng.core,e.KendoAngularL10N,e.KendoLicensing,e.KendoAngularDropdowns,e.KendoAngularInputs,e.KendoAngularDateinputs,e.ng.common,e.KendoAngularButtons,e.KendoAngularLabel)}(this,function(e,n,t,z,r,o,i,a,l,s){"use strict";function p(r){if(r&&r.__esModule)return r;var n=Object.create(null);return r&&Object.keys(r).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(r,e),Object.defineProperty(n,e,t.get?t:{enumerable:!0,get:function(){return r[e]}}))}),n.default=r,Object.freeze(n)}var u=p(n),d=p(t),f=p(r),c=p(o),m=p(i),g=p(a),h=p(l),v=(I.prototype.addFilterGroup=function(e){e.filters.push({logic:"or",filters:[]})},I.prototype.addFilterExpression=function(e){e.filters.push({operator:"eq",value:null,field:null})},I.prototype.remove=function(t,r,e){var n,o=this;e=e||this.normalizedValue,t===e?e.filters=[]:0<=(n=e.filters.indexOf(t))&&n===r?e.filters=e.filters.filter(function(e){return e!==t}):e.filters.forEach(function(e){return e.filters&&o.remove(t,r,e)})},I);function I(){this.filters=[]}v.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:v,deps:[],target:u.ɵɵFactoryTarget.Injectable}),v.ɵprov=u.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:v}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:v,decorators:[{type:n.Injectable}]});function b(t,r){return Object.keys(t).find(function(e){return t[e]===r})}function k(r){return function(t){return Object.keys(r).map(function(e){return{text:t.get(e),value:r[e]}})}}var y=["isnull","isnotnull","isempty","isnotempty"],M={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"},B={filterEqOperator:"eq",filterNotEqOperator:"neq",filterGteOperator:"gte",filterGtOperator:"gt",filterLteOperator:"lte",filterLtOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},G={filterEqOperator:"eq",filterNotEqOperator:"neq",filterAfterOrEqualOperator:"gte",filterAfterOperator:"gt",filterBeforeOrEqualOperator:"lte",filterBeforeOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},P={string:M,number:B,date:G},j={filterAndLogic:"and",filterOrLogic:"or"},R={name:"@progress/kendo-angular-filter",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1652964392,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"},O=(W.prototype.ngOnChanges=function(){var e=this.hostElement.nativeElement.querySelector("input")||this.hostElement.nativeElement;this.renderer.setAttribute(e,"aria-label",this.ariaLabel)},W);function W(e,t){this.hostElement=e,this.renderer=t}O.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:O,deps:[{token:u.ElementRef},{token:u.Renderer2}],target:u.ɵɵFactoryTarget.Directive}),O.ɵdir=u.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"[kendoAriaLabelValue]",inputs:{ariaLabel:["kendoAriaLabelValue","ariaLabel"]},usesOnChanges:!0,ngImport:u}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:O,decorators:[{type:n.Directive,args:[{selector:"[kendoAriaLabelValue]"}]}],ctorParameters:function(){return[{type:u.ElementRef},{type:u.Renderer2}]},propDecorators:{ariaLabel:[{type:n.Input,args:["kendoAriaLabelValue"]}]}});C.prototype.messageFor=function(e){return this.localization.get(e)},C.prototype.getOperator=function(e){return this.messageFor(b(P[this.editorType],e))},C.prototype.operatorValueChange=function(e){this.valueChange.emit(e)};var x=C;function C(e){this.localization=e,this.valueChange=new n.EventEmitter,this.operators=[]}x.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:x,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),x.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:x,selector:"kendo-filter-expression-operators",inputs:{currentItem:"currentItem",editorType:"editorType",operators:"operators"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterOperatorAriaLabel\')"\n [data]="operators"\n [title]="messageFor(\'filterExpressionOperators\')"\n [(value)]="currentItem.operator"\n (valueChange)="operatorValueChange($event)"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n <ng-template kendoDropDownListValueTemplate let-dataItem>\n {{ getOperator(dataItem.value) }}\n </ng-template>\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n {{ getOperator(dataItem.value) }}\n </ng-template>\n </kendo-dropdownlist>\n ',isInline:!0,components:[{type:f.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:O,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]},{type:f.ValueTemplateDirective,selector:"[kendoDropDownListValueTemplate],[kendoDropDownTreeValueTemplate]"},{type:f.ItemTemplateDirective,selector:"[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]"}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:x,decorators:[{type:n.Component,args:[{selector:"kendo-filter-expression-operators",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterOperatorAriaLabel\')"\n [data]="operators"\n [title]="messageFor(\'filterExpressionOperators\')"\n [(value)]="currentItem.operator"\n (valueChange)="operatorValueChange($event)"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n <ng-template kendoDropDownListValueTemplate let-dataItem>\n {{ getOperator(dataItem.value) }}\n </ng-template>\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n {{ getOperator(dataItem.value) }}\n </ng-template>\n </kendo-dropdownlist>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService}]},propDecorators:{currentItem:[{type:n.Input}],editorType:[{type:n.Input}],valueChange:[{type:n.Output}],operators:[{type:n.Input}]}});_.prototype.messageFor=function(e){return this.localization.get(e)};var D=_;function _(e){this.localization=e,this.valueChange=new n.EventEmitter}D.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:D,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),D.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:D,selector:"kendo-filter-text-editor",inputs:{currentItem:"currentItem",isDisabled:"isDisabled"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-textbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n </kendo-textbox>\n ',isInline:!0,components:[{type:c.TextBoxComponent,selector:"kendo-textbox",inputs:["focusableId","title","disabled","readonly","tabindex","value","selectOnFocus","showSuccessIcon","showErrorIcon","clearButton","successIcon","errorIcon","clearButtonIcon","size","rounded","fillMode","tabIndex","placeholder","maxlength"],outputs:["valueChange","inputFocus","inputBlur","focus","blur"],exportAs:["kendoTextBox"]}],directives:[{type:O,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:D,decorators:[{type:n.Component,args:[{selector:"kendo-filter-text-editor",template:'\n <kendo-textbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n </kendo-textbox>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService}]},propDecorators:{currentItem:[{type:n.Input}],isDisabled:[{type:n.Input}],valueChange:[{type:n.Output}]}});K.prototype.messageFor=function(e){return this.localization.get(e)};var F=K;function K(e){this.localization=e,this.valueChange=new n.EventEmitter}F.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:F,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),F.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:F,selector:"kendo-filter-numeric-editor",inputs:{currentItem:"currentItem",isDisabled:"isDisabled"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-numerictextbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n <kendo-numerictextbox-messages\n [increment]="messageFor(\'editorNumericIncrement\')"\n [decrement]="messageFor(\'editorNumericDecrement\')">\n </kendo-numerictextbox-messages>\n </kendo-numerictextbox>\n ',isInline:!0,components:[{type:c.NumericTextBoxComponent,selector:"kendo-numerictextbox",inputs:["focusableId","disabled","readonly","title","autoCorrect","format","max","min","decimals","placeholder","step","spinners","rangeValidation","tabindex","tabIndex","changeValueOnScroll","selectOnFocus","value","maxlength","size","rounded","fillMode"],outputs:["valueChange","focus","blur"],exportAs:["kendoNumericTextBox"]},{type:c.NumericTextBoxCustomMessagesComponent,selector:"kendo-numerictextbox-messages"}],directives:[{type:O,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:F,decorators:[{type:n.Component,args:[{selector:"kendo-filter-numeric-editor",template:'\n <kendo-numerictextbox\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n <kendo-numerictextbox-messages\n [increment]="messageFor(\'editorNumericIncrement\')"\n [decrement]="messageFor(\'editorNumericDecrement\')">\n </kendo-numerictextbox-messages>\n </kendo-numerictextbox>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService}]},propDecorators:{currentItem:[{type:n.Input}],isDisabled:[{type:n.Input}],valueChange:[{type:n.Output}]}});T.prototype.ngOnInit=function(){var e=this;this.localizationSubscription=this.localization.changes.subscribe(function(){e.defaultItem=e.getDefaultItem(),e.items=e.getValueItems(),e.cdr.detectChanges()})},T.prototype.getDefaultItem=function(){return{text:this.localization.get("filterBooleanAll"),value:null}},T.prototype.getValueItems=function(){return[{text:this.localization.get("filterIsTrue"),value:!0},{text:this.localization.get("filterIsFalse"),value:!1}]},T.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},T.prototype.messageFor=function(e){return this.localization.get(e)};c=T;function T(e,t){this.localization=e,this.cdr=t,this.valueChange=new n.EventEmitter,this.items=this.getValueItems(),this.defaultItem=this.getDefaultItem()}c.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:c,deps:[{token:d.LocalizationService},{token:u.ChangeDetectorRef}],target:u.ɵɵFactoryTarget.Component}),c.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:c,selector:"kendo-filter-boolean-editor",inputs:{currentItem:"currentItem"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [data]="items"\n [defaultItem]="defaultItem"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n ',isInline:!0,components:[{type:f.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:O,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:c,decorators:[{type:n.Component,args:[{selector:"kendo-filter-boolean-editor",template:'\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [data]="items"\n [defaultItem]="defaultItem"\n [valuePrimitive]="true"\n textField="text"\n valueField="value"\n >\n </kendo-dropdownlist>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService},{type:u.ChangeDetectorRef}]},propDecorators:{currentItem:[{type:n.Input}],valueChange:[{type:n.Output}]}});U.prototype.messageFor=function(e){return this.localization.get(e)};var L=U;function U(e){this.localization=e,this.valueChange=new n.EventEmitter}L.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:L,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),L.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:L,selector:"kendo-filter-date-editor",inputs:{currentItem:"currentItem",isDisabled:"isDisabled"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <kendo-datepicker\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n <kendo-datepicker-messages\n [toggle]="messageFor(\'editorDateToggleText\')"\n [today]="messageFor(\'editorDateTodayText\')">\n </kendo-datepicker-messages>\n </kendo-datepicker>\n ',isInline:!0,components:[{type:m.DatePickerComponent,selector:"kendo-datepicker",inputs:["cellTemplate","monthCellTemplate","yearCellTemplate","decadeCellTemplate","centuryCellTemplate","weekNumberTemplate","headerTitleTemplate","navigationItemTemplate","focusableId","activeView","bottomView","topView","calendarType","animateCalendarNavigation","disabled","readonly","readOnlyInput","popupSettings","navigation","min","max","incompleteDateValidation","focusedDate","value","format","twoDigitYearMax","formatPlaceholder","placeholder","tabindex","tabIndex","disabledDates","title","rangeValidation","disabledDatesValidation","weekNumber","size","rounded","fillMode"],outputs:["valueChange","focus","blur","open","close"],exportAs:["kendo-datepicker"]},{type:m.DatePickerCustomMessagesComponent,selector:"kendo-datepicker-messages"}],directives:[{type:O,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:L,decorators:[{type:n.Component,args:[{selector:"kendo-filter-date-editor",template:'\n <kendo-datepicker\n [kendoAriaLabelValue]="messageFor(\'filterValueAriaLabel\')"\n class="k-filter-toolbar-item k-filter-value"\n [(value)]="currentItem.value"\n (valueChange)="valueChange.emit()"\n [disabled]="isDisabled">\n <kendo-datepicker-messages\n [toggle]="messageFor(\'editorDateToggleText\')"\n [today]="messageFor(\'editorDateTodayText\')">\n </kendo-datepicker-messages>\n </kendo-datepicker>\n '}]}],ctorParameters:function(){return[{type:d.LocalizationService}]},propDecorators:{currentItem:[{type:n.Input}],isDisabled:[{type:n.Input}],valueChange:[{type:n.Output}]}});E.prototype.ngOnInit=function(){var e=this,t=(this.isEditorDisabled=0<=y.indexOf(this.currentItem.operator),this.filters=this.filterService.filters,this.getFilterExpressionByField(this.currentItem.field)),r=(this.currentItem.field&&this.setOperators(t),this.getFilterExpressionByField(this.filterService.filters[0].field));this.currentItem.field||(this.currentItem.field=this.filterService.filters[0].field,this.setOperators(r)),this.localizationSubscription=this.localization.changes.subscribe(function(){e.setOperators(t||r),e.cdr.detectChanges()})},E.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},E.prototype.normalizeOperators=function(e,t){for(var r=[],n=0;n<t.length;n++)0<=["string","number","boolean","date"].indexOf(e)&&r.push({value:t[n],text:this.localization.get(b(P[e],t[n]))});return r},E.prototype.messageFor=function(e){return this.localization.get(e)},E.prototype.getFilterExpressionByField=function(t){var e=this.filterService.filters.find(function(e){return e.field===t});return e||null},E.prototype.filterValueChange=function(e){this.currentItem.value=null,this.currentItem.field=e;e=this.getFilterExpressionByField(this.currentItem.field);this.setOperators(e),this.valueChange.emit()},E.prototype.getDefaultOperators=function(e){switch(e){case"string":return k(M)(this.localization);case"number":return k(B)(this.localization);case"date":return k(G)(this.localization)}},E.prototype.getEditorType=function(){var t=this;return this.filterService.filters.find(function(e){return e.field===t.currentItem.field}).editor},E.prototype.removeFilterExpression=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},E.prototype.setOperators=function(e){var t;this.isBoolean="boolean"===e.editor,this.isBoolean||(e.operators?(t=this.normalizeOperators(e.editor,e.operators),this.operators=t,this.currentItem.operator||(this.currentItem.operator=t[0].value)):(this.operators=this.getDefaultOperators(e.editor),this.currentItem.operator||(this.currentItem.operator=this.operators[0].value)))},E.prototype.onOperatorChange=function(e){this.valueChange.emit(),0<=y.indexOf(e)?(this.currentItem.value=null,this.isEditorDisabled=!0):this.isEditorDisabled=!1};m=E;function E(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new n.EventEmitter,this.operators=[],this.filters=[],this.isBoolean=!1,this.isEditorDisabled=!1}m.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:m,deps:[{token:v},{token:d.LocalizationService},{token:u.ChangeDetectorRef}],target:u.ɵɵFactoryTarget.Component}),m.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:m,selector:"kendo-filter-expression",inputs:{index:"index",currentItem:"currentItem"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <div class="k-filter-toolbar" role="group" [attr.aria-label]="messageFor(\'filterAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item k-filter-field">\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterFieldAriaLabel\')"\n [title]="messageFor(\'filterExpressionFilters\')"\n [data]="filters"\n textField="title"\n valueField="field"\n [value]="currentItem.field"\n [valuePrimitive]="true"\n (valueChange)="filterValueChange($event)">\n </kendo-dropdownlist>\n </div>\n <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator">\n <kendo-filter-expression-operators\n [currentItem]="currentItem"\n [operators]="operators"\n [editorType]="getEditorType()"\n (valueChange)="onOperatorChange($event);">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]="getEditorType()">\n <kendo-filter-text-editor *ngSwitchCase="\'string\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase="\'number\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>\n <kendo-filter-boolean-editor *ngSwitchCase="\'boolean\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>\n <kendo-filter-date-editor *ngSwitchCase="\'date\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>\n </ng-container>\n\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterExpression()">\n </button>\n </div>\n </div>\n </div>\n ',isInline:!0,components:[{type:f.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"]},{type:x,selector:"kendo-filter-expression-operators",inputs:["currentItem","editorType","operators"],outputs:["valueChange"]},{type:D,selector:"kendo-filter-text-editor",inputs:["currentItem","isDisabled"],outputs:["valueChange"]},{type:F,selector:"kendo-filter-numeric-editor",inputs:["currentItem","isDisabled"],outputs:["valueChange"]},{type:c,selector:"kendo-filter-boolean-editor",inputs:["currentItem"],outputs:["valueChange"]},{type:L,selector:"kendo-filter-date-editor",inputs:["currentItem","isDisabled"],outputs:["valueChange"]}],directives:[{type:O,selector:"[kendoAriaLabelValue]",inputs:["kendoAriaLabelValue"]},{type:g.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:g.NgSwitch,selector:"[ngSwitch]",inputs:["ngSwitch"]},{type:g.NgSwitchCase,selector:"[ngSwitchCase]",inputs:["ngSwitchCase"]},{type:h.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"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:m,decorators:[{type:n.Component,args:[{selector:"kendo-filter-expression",template:'\n <div class="k-filter-toolbar" role="group" [attr.aria-label]="messageFor(\'filterAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item k-filter-field">\n <kendo-dropdownlist\n [kendoAriaLabelValue]="messageFor(\'filterFieldAriaLabel\')"\n [title]="messageFor(\'filterExpressionFilters\')"\n [data]="filters"\n textField="title"\n valueField="field"\n [value]="currentItem.field"\n [valuePrimitive]="true"\n (valueChange)="filterValueChange($event)">\n </kendo-dropdownlist>\n </div>\n <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator">\n <kendo-filter-expression-operators\n [currentItem]="currentItem"\n [operators]="operators"\n [editorType]="getEditorType()"\n (valueChange)="onOperatorChange($event);">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]="getEditorType()">\n <kendo-filter-text-editor *ngSwitchCase="\'string\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase="\'number\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>\n <kendo-filter-boolean-editor *ngSwitchCase="\'boolean\'" [currentItem]="currentItem" (valueChange)="valueChange.emit()"></kendo-filter-boolean-editor>\n <kendo-filter-date-editor *ngSwitchCase="\'date\'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-date-editor>\n </ng-container>\n\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterExpression()">\n </button>\n </div>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:v},{type:d.LocalizationService},{type:u.ChangeDetectorRef}]},propDecorators:{index:[{type:n.Input}],currentItem:[{type:n.Input}],valueChange:[{type:n.Output}]}});A.prototype.ngOnInit=function(){var e=this;this.operators=this.getLogicOperators(),this.localizationSubscription=this.localization.changes.subscribe(function(){e.operators=e.getLogicOperators(),e.cdr.detectChanges()})},A.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},A.prototype.getLogicOperators=function(){return k(j)(this.localization)},A.prototype.messageFor=function(e){return this.localization.get(e)},A.prototype.getOperator=function(e){return this.messageFor(b(j,e))},A.prototype.selectedChange=function(e){this.currentItem.logic!==e&&(this.currentItem.logic=e,this.valueChange.emit())},A.prototype.addFilterExpression=function(){this.filterService.addFilterExpression(this.currentItem),this.valueChange.emit()},A.prototype.addFilterGroup=function(){this.filterService.addFilterGroup(this.currentItem),this.valueChange.emit()},A.prototype.removeFilterGroup=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()};f=A;function A(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.index=0,this.currentItem={logic:"or",filters:[]},this.valueChange=new n.EventEmitter,this.operators=[]}f.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:f,deps:[{token:v},{token:d.LocalizationService},{token:u.ChangeDetectorRef}],target:u.ɵɵFactoryTarget.Component}),f.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:f,selector:"kendo-filter-group",inputs:{index:"index",currentItem:"currentItem"},outputs:{valueChange:"valueChange"},ngImport:u,template:'\n <div class="k-filter-toolbar" role="toolbar" [attr.aria-label]="messageFor(\'filterToolbarAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item">\n <div class="k-widget k-button-group" role="group">\n <button\n *ngFor="let operator of operators"\n kendoButton\n [ngClass]="{\'k-group-start\': operator.value === \'and\', \'k-group-end\': operator.value === \'or\'}"\n [selected]="currentItem.logic === operator.value"\n [title]="operator.text"\n (click)="selectedChange(operator.value)"\n >\n {{getOperator(operator.value)}}\n </button>\n </div>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addFilter\')"\n icon="filter-add-expression"\n (click)="addFilterExpression()">\n {{messageFor(\'addFilter\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addGroup\')"\n icon="filter-add-group"\n (click)="addFilterGroup()">\n {{messageFor(\'addGroup\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterGroup()">\n </button>\n </div>\n </div>\n </div>\n\n <ul class="k-filter-lines" *ngIf="currentItem.filters">\n <ng-container *ngFor="let item of currentItem.filters; let i = index;">\n <li class="k-filter-item" *ngIf="!item[\'filters\']">\n <kendo-filter-expression (valueChange)="valueChange.emit()" [currentItem]="item" [index]="i">\n </kendo-filter-expression>\n </li>\n <li class="k-filter-item" *ngIf="item[\'filters\']">\n <kendo-filter-group\n (valueChange)="valueChange.emit()"\n [currentItem]="item"\n [index]="i"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n ',isInline:!0,components:[{type:m,selector:"kendo-filter-expression",inputs:["index","currentItem"],outputs:["valueChange"]},{type:f,selector:"kendo-filter-group",inputs:["index","currentItem"],outputs:["valueChange"]}],directives:[{type:g.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:h.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"]},{type:g.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:g.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:f,decorators:[{type:n.Component,args:[{selector:"kendo-filter-group",template:'\n <div class="k-filter-toolbar" role="toolbar" [attr.aria-label]="messageFor(\'filterToolbarAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item">\n <div class="k-widget k-button-group" role="group">\n <button\n *ngFor="let operator of operators"\n kendoButton\n [ngClass]="{\'k-group-start\': operator.value === \'and\', \'k-group-end\': operator.value === \'or\'}"\n [selected]="currentItem.logic === operator.value"\n [title]="operator.text"\n (click)="selectedChange(operator.value)"\n >\n {{getOperator(operator.value)}}\n </button>\n </div>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addFilter\')"\n icon="filter-add-expression"\n (click)="addFilterExpression()">\n {{messageFor(\'addFilter\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addGroup\')"\n icon="filter-add-group"\n (click)="addFilterGroup()">\n {{messageFor(\'addGroup\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterGroup()">\n </button>\n </div>\n </div>\n </div>\n\n <ul class="k-filter-lines" *ngIf="currentItem.filters">\n <ng-container *ngFor="let item of currentItem.filters; let i = index;">\n <li class="k-filter-item" *ngIf="!item[\'filters\']">\n <kendo-filter-expression (valueChange)="valueChange.emit()" [currentItem]="item" [index]="i">\n </kendo-filter-expression>\n </li>\n <li class="k-filter-item" *ngIf="item[\'filters\']">\n <kendo-filter-group\n (valueChange)="valueChange.emit()"\n [currentItem]="item"\n [index]="i"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n '}]}],ctorParameters:function(){return[{type:v},{type:d.LocalizationService},{type:u.ChangeDetectorRef}]},propDecorators:{index:[{type:n.Input}],currentItem:[{type:n.Input}],valueChange:[{type:n.Output}]}});var $=function(e,t){return($=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function V(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}$(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}Object.create;function N(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function H(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||((n=n||Array.prototype.slice.call(t,0,o))[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))}Object.create;V(X,J=t.ComponentMessages);var J,h=X;function X(){return null!==J&&J.apply(this,arguments)||this}h.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,deps:null,target:u.ɵɵFactoryTarget.Directive}),h.ɵdir=u.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:h,selector:"[kendoFilterMessages]",inputs:{filterExpressionOperators:"filterExpressionOperators",filterExpressionFilters:"filterExpressionFilters",remove:"remove",addGroup:"addGroup",addFilter:"addFilter",filterAndLogic:"filterAndLogic",filterOrLogic:"filterOrLogic",filterEqOperator:"filterEqOperator",filterNotEqOperator:"filterNotEqOperator",filterIsNullOperator:"filterIsNullOperator",filterIsNotNullOperator:"filterIsNotNullOperator",filterIsEmptyOperator:"filterIsEmptyOperator",filterIsNotEmptyOperator:"filterIsNotEmptyOperator",filterStartsWithOperator:"filterStartsWithOperator",filterContainsOperator:"filterContainsOperator",filterNotContainsOperator:"filterNotContainsOperator",filterEndsWithOperator:"filterEndsWithOperator",filterGteOperator:"filterGteOperator",filterGtOperator:"filterGtOperator",filterLteOperator:"filterLteOperator",filterLtOperator:"filterLtOperator",filterIsTrue:"filterIsTrue",filterIsFalse:"filterIsFalse",filterBooleanAll:"filterBooleanAll",filterAfterOrEqualOperator:"filterAfterOrEqualOperator",filterAfterOperator:"filterAfterOperator",filterBeforeOperator:"filterBeforeOperator",filterBeforeOrEqualOperator:"filterBeforeOrEqualOperator",editorNumericDecrement:"editorNumericDecrement",editorNumericIncrement:"editorNumericIncrement",editorDateTodayText:"editorDateTodayText",editorDateToggleText:"editorDateToggleText",filterFieldAriaLabel:"filterFieldAriaLabel",filterOperatorAriaLabel:"filterOperatorAriaLabel",filterValueAriaLabel:"filterValueAriaLabel",filterAriaLabel:"filterAriaLabel",filterToolbarAriaLabel:"filterToolbarAriaLabel"},usesInheritance:!0,ngImport:u}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,decorators:[{type:n.Directive,args:[{selector:"[kendoFilterMessages]"}]}],propDecorators:{filterExpressionOperators:[{type:n.Input}],filterExpressionFilters:[{type:n.Input}],remove:[{type:n.Input}],addGroup:[{type:n.Input}],addFilter:[{type:n.Input}],filterAndLogic:[{type:n.Input}],filterOrLogic:[{type:n.Input}],filterEqOperator:[{type:n.Input}],filterNotEqOperator:[{type:n.Input}],filterIsNullOperator:[{type:n.Input}],filterIsNotNullOperator:[{type:n.Input}],filterIsEmptyOperator:[{type:n.Input}],filterIsNotEmptyOperator:[{type:n.Input}],filterStartsWithOperator:[{type:n.Input}],filterContainsOperator:[{type:n.Input}],filterNotContainsOperator:[{type:n.Input}],filterEndsWithOperator:[{type:n.Input}],filterGteOperator:[{type:n.Input}],filterGtOperator:[{type:n.Input}],filterLteOperator:[{type:n.Input}],filterLtOperator:[{type:n.Input}],filterIsTrue:[{type:n.Input}],filterIsFalse:[{type:n.Input}],filterBooleanAll:[{type:n.Input}],filterAfterOrEqualOperator:[{type:n.Input}],filterAfterOperator:[{type:n.Input}],filterBeforeOperator:[{type:n.Input}],filterBeforeOrEqualOperator:[{type:n.Input}],editorNumericDecrement:[{type:n.Input}],editorNumericIncrement:[{type:n.Input}],editorDateTodayText:[{type:n.Input}],editorDateToggleText:[{type:n.Input}],filterFieldAriaLabel:[{type:n.Input}],filterOperatorAriaLabel:[{type:n.Input}],filterValueAriaLabel:[{type:n.Input}],filterAriaLabel:[{type:n.Input}],filterToolbarAriaLabel:[{type:n.Input}]}});V(Q,Y=h);var Y,w=Q;function Q(e){var t=Y.call(this)||this;return t.service=e,t}w.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:w,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Directive}),w.ɵdir=u.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:w,selector:"[kendoFilterLocalizedMessages]",providers:[{provide:h,useExisting:n.forwardRef(function(){return w})}],usesInheritance:!0,ngImport:u}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:w,decorators:[{type:n.Directive,args:[{providers:[{provide:h,useExisting:n.forwardRef(function(){return w})}],selector:"[kendoFilterLocalizedMessages]"}]}],ctorParameters:function(){return[{type:d.LocalizationService}]}});Object.defineProperty(S.prototype,"filters",{get:function(){return this.filterService.filters},set:function(e){if(n.isDevMode()&&(!Array.isArray(e)||0===e.length))throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.filterService.filters=e.map(function(e){e=Object.assign({},e);return e.title||(e.title=e.field),e}),this.setValue(this.value)},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"value",{get:function(){return this._value},set:function(e){e=JSON.parse(JSON.stringify(e));this._value=e,this.setValue(this.value)},enumerable:!1,configurable:!0}),S.prototype.ngOnInit=function(){var t=this;if(0===this.filters.length)throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.localizationSubscription=this.localization.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr",t.cdr.detectChanges()})},S.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},S.prototype.getCurrentFilter=function(){return this.filterService.normalizedValue},S.prototype.onValueChange=function(){this.valueChange.emit(this.filterService.normalizedValue)},S.prototype.normalizeFilter=function(t){var e=this.filterService.filters.find(function(e){return e.field===t.field});if(n.isDevMode()&&!e)throw new Error("There is no user-defined filter with '"+t.field+"' field provided through the [filters] input property.");if(n.isDevMode()&&"boolean"===e.editor&&!t.value&&!1!==t.value&&console.warn("Provide a value for the boolean '"+t.field+"' user-defined filter as the operator is always set to 'eq'."),t.operator&&e.operators&&!e.operators.some(function(e){return e===t.operator}))throw new Error("The user-defined filter with field '"+t.field+"' is missing the '"+t.operator+"' operator.");"boolean"===e.editor&&(t.operator="eq"),"date"===e.editor&&t.value&&(t.value=new Date(t.value)),null==t.value&&(t.value=null),0<=y.indexOf(t.operator)&&(t.value=null)},S.prototype.setValue=function(e){this.normalizeValue(e),this.filterService.normalizedValue=e},S.prototype.normalizeValue=function(e){var t=this;this.filterService.filters.length&&e.filters.forEach(function(e){e.filters?t.normalizeValue(e):t.normalizeFilter(e)})};g=S;function S(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new n.EventEmitter,this._value={filters:[],logic:"and"},z.validatePackage(R),this.direction=t.rtl?"rtl":"ltr"}g.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:g,deps:[{token:v},{token:d.LocalizationService},{token:u.ChangeDetectorRef}],target:u.ɵɵFactoryTarget.Component}),g.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:g,selector:"kendo-filter",inputs:{filters:"filters",value:"value"},outputs:{valueChange:"valueChange"},host:{properties:{"attr.dir":"this.direction"}},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.filter"},v],ngImport:u,template:'\n <ng-container kendoFilterLocalizedMessages\n i18n-editorDateTodayText="kendo.filter.editorDateTodayText|The text of the Today button of the Date editor"\n editorDateTodayText="Today"\n\n i18n-editorDateToggleText="kendo.filter.editorDateToggleText|The title of the Toggle button of the Date editor."\n editorDateToggleText="Toggle calendar"\n\n i18n-editorNumericDecrement="kendo.filter.editorNumericDecrement|The title of the Decrement button of the Numeric editor"\n editorNumericDecrement="Decrement"\n\n i18n-editorNumericIncrement="kendo.filter.editorNumericIncrement|The title of the Increment button of the Numeric editor"\n editorNumericIncrement="Increment"\n\n i18n-filterExpressionOperators="kendo.filter.filterExpressionOperators|The text of the Filter Expression Operators drop down"\n filterExpressionOperators="Operators"\n\n i18n-filterExpressionFilters="kendo.filter.filterExpressionFilters|The text of the Filter Expression filters drop down"\n filterExpressionFilters="Fields"\n\n i18n-remove="kendo.filter.remove|The text of the Remove button"\n remove="Remove"\n\n i18n-addFilter="kendo.filter.addFilter|The text of the Add Filter button"\n addFilter="Add Filter"\n\n i18n-addGroup="kendo.filter.addGroup|The text of the Add Group button"\n addGroup="Add Group"\n\n i18n-filterAndLogic="kendo.filter.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.filter.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-filterEqOperator="kendo.filter.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.filter.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.filter.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.filter.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.filter.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.filter.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.filter.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.filter.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.filter.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.filter.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.filter.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.filter.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.filter.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.filter.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.filter.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.filter.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.filter.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.filter.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.filter.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.filter.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.filter.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFieldAriaLabel="kendo.filter.filterFieldAriaLabel|The text of the filter field aria label"\n filterFieldAriaLabel="field"\n\n i18n-filterOperatorAriaLabel="kendo.filter.filterOperatorAriaLabel|The text of the filter operator aria label"\n filterOperatorAriaLabel="operator"\n\n i18n-filterValueAriaLabel="kendo.filter.filterValueAriaLabel|The text of the filter value aria label"\n filterValueAriaLabel="value"\n\n i18n-filterAriaLabel="kendo.filter.filterAriaLabel|The text of the filter row aria label"\n filterAriaLabel="filter"\n\n i18n-filterToolbarAriaLabel="kendo.filter.filterToolbarAriaLabel|The text of the filter toolbar aria label"\n filterToolbarAriaLabel="filter settings"\n >\n </ng-container>\n <div class="k-widget k-filter" [attr.dir]="direction">\n <ul class=\'k-filter-container\'>\n <li class=\'k-filter-group-main\'>\n <kendo-filter-group\n [currentItem]="getCurrentFilter()"\n (valueChange)="onValueChange()"\n >\n </kendo-filter-group>\n </li>\n </ul>\n </div>\n ',isInline:!0,components:[{type:f,selector:"kendo-filter-group",inputs:["index","currentItem"],outputs:["valueChange"]}],directives:[{type:w,selector:"[kendoFilterLocalizedMessages]"}]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:g,decorators:[{type:n.Component,args:[{providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.filter"},v],selector:"kendo-filter",template:'\n <ng-container kendoFilterLocalizedMessages\n i18n-editorDateTodayText="kendo.filter.editorDateTodayText|The text of the Today button of the Date editor"\n editorDateTodayText="Today"\n\n i18n-editorDateToggleText="kendo.filter.editorDateToggleText|The title of the Toggle button of the Date editor."\n editorDateToggleText="Toggle calendar"\n\n i18n-editorNumericDecrement="kendo.filter.editorNumericDecrement|The title of the Decrement button of the Numeric editor"\n editorNumericDecrement="Decrement"\n\n i18n-editorNumericIncrement="kendo.filter.editorNumericIncrement|The title of the Increment button of the Numeric editor"\n editorNumericIncrement="Increment"\n\n i18n-filterExpressionOperators="kendo.filter.filterExpressionOperators|The text of the Filter Expression Operators drop down"\n filterExpressionOperators="Operators"\n\n i18n-filterExpressionFilters="kendo.filter.filterExpressionFilters|The text of the Filter Expression filters drop down"\n filterExpressionFilters="Fields"\n\n i18n-remove="kendo.filter.remove|The text of the Remove button"\n remove="Remove"\n\n i18n-addFilter="kendo.filter.addFilter|The text of the Add Filter button"\n addFilter="Add Filter"\n\n i18n-addGroup="kendo.filter.addGroup|The text of the Add Group button"\n addGroup="Add Group"\n\n i18n-filterAndLogic="kendo.filter.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.filter.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-filterEqOperator="kendo.filter.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.filter.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.filter.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.filter.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.filter.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.filter.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.filter.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.filter.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.filter.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.filter.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.filter.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.filter.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.filter.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.filter.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.filter.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.filter.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.filter.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.filter.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.filter.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.filter.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.filter.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFieldAriaLabel="kendo.filter.filterFieldAriaLabel|The text of the filter field aria label"\n filterFieldAriaLabel="field"\n\n i18n-filterOperatorAriaLabel="kendo.filter.filterOperatorAriaLabel|The text of the filter operator aria label"\n filterOperatorAriaLabel="operator"\n\n i18n-filterValueAriaLabel="kendo.filter.filterValueAriaLabel|The text of the filter value aria label"\n filterValueAriaLabel="value"\n\n i18n-filterAriaLabel="kendo.filter.filterAriaLabel|The text of the filter row aria label"\n filterAriaLabel="filter"\n\n i18n-filterToolbarAriaLabel="kendo.filter.filterToolbarAriaLabel|The text of the filter toolbar aria label"\n filterToolbarAriaLabel="filter settings"\n >\n </ng-container>\n <div class="k-widget k-filter" [attr.dir]="direction">\n <ul class=\'k-filter-container\'>\n <li class=\'k-filter-group-main\'>\n <kendo-filter-group\n [currentItem]="getCurrentFilter()"\n (valueChange)="onValueChange()"\n >\n </kendo-filter-group>\n </li>\n </ul>\n </div>\n '}]}],ctorParameters:function(){return[{type:v},{type:d.LocalizationService},{type:u.ChangeDetectorRef}]},propDecorators:{direction:[{type:n.HostBinding,args:["attr.dir"]}],filters:[{type:n.Input}],value:[{type:n.Input}],valueChange:[{type:n.Output}]}});V(ee,Z=h),Object.defineProperty(ee.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var Z,q=ee;function ee(e){var t=Z.call(this)||this;return t.service=e,t}q.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:q,deps:[{token:d.LocalizationService}],target:u.ɵɵFactoryTarget.Component}),q.ɵcmp=u.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:q,selector:"kendo-filter-messages",providers:[{provide:h,useExisting:n.forwardRef(function(){return q})}],usesInheritance:!0,ngImport:u,template:"",isInline:!0}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:q,decorators:[{type:n.Component,args:[{providers:[{provide:h,useExisting:n.forwardRef(function(){return q})}],selector:"kendo-filter-messages",template:""}]}],ctorParameters:function(){return[{type:d.LocalizationService}]}});t=[a.CommonModule,o.InputsModule,s.LabelModule,r.DropDownsModule,l.ButtonsModule,i.DateInputsModule],h=function(){},h.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,deps:[],target:u.ɵɵFactoryTarget.NgModule}),h.ɵmod=u.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,imports:[a.CommonModule,o.InputsModule,s.LabelModule,r.DropDownsModule,l.ButtonsModule,i.DateInputsModule],exports:[a.CommonModule,o.InputsModule,s.LabelModule,r.DropDownsModule,l.ButtonsModule,i.DateInputsModule]}),h.ɵinj=u.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,imports:[H([],N(t)),a.CommonModule,o.InputsModule,s.LabelModule,r.DropDownsModule,l.ButtonsModule,i.DateInputsModule]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:h,decorators:[{type:n.NgModule,args:[{imports:H([],N(t)),exports:H([],N(t))}]}]}),a=function(){};a.ɵfac=u.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:a,deps:[],target:u.ɵɵFactoryTarget.NgModule}),a.ɵmod=u.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:a,declarations:[g,F,D,m,f,x,c,L,w,q,O],imports:[h],exports:[g,F,D,m,f,x,c,L,w,q,O]}),a.ɵinj=u.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:a,imports:[[h]]}),u.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:u,type:a,decorators:[{type:n.NgModule,args:[{imports:[h],declarations:[g,F,D,m,f,x,c,L,w,q,O],exports:[g,F,D,m,f,x,c,L,w,q,O]}]}]}),e.AriaLabelValueDirective=O,e.CustomMessagesComponent=q,e.FilterBooleanEditorComponent=c,e.FilterComponent=g,e.FilterDateEditorComponent=L,e.FilterExpressionComponent=m,e.FilterExpressionOperatorsComponent=x,e.FilterGroupComponent=f,e.FilterModule=a,e.FilterNumericEditorComponent=F,e.FilterTextEditorComponent=D,e.LocalizedMessagesDirective=w,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
6
|
+
import { defaultOperators, getKeyByValue } from './util';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
8
9
|
import * as i2 from "@progress/kendo-angular-dropdowns";
|
|
@@ -13,18 +14,21 @@ import * as i3 from "./aria-label.directive";
|
|
|
13
14
|
export class FilterExpressionOperatorsComponent {
|
|
14
15
|
constructor(localization) {
|
|
15
16
|
this.localization = localization;
|
|
16
|
-
this.operators = [];
|
|
17
17
|
this.valueChange = new EventEmitter();
|
|
18
|
+
this.operators = [];
|
|
18
19
|
}
|
|
19
20
|
messageFor(key) {
|
|
20
21
|
return this.localization.get(key);
|
|
21
22
|
}
|
|
23
|
+
getOperator(operatorValue) {
|
|
24
|
+
return this.messageFor(getKeyByValue(defaultOperators[this.editorType], operatorValue));
|
|
25
|
+
}
|
|
22
26
|
operatorValueChange(value) {
|
|
23
27
|
this.valueChange.emit(value);
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
30
|
FilterExpressionOperatorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionOperatorsComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
FilterExpressionOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: { currentItem: "currentItem", operators: "operators" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
|
|
31
|
+
FilterExpressionOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: { currentItem: "currentItem", editorType: "editorType", operators: "operators" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
|
|
28
32
|
<kendo-dropdownlist
|
|
29
33
|
[kendoAriaLabelValue]="messageFor('filterOperatorAriaLabel')"
|
|
30
34
|
[data]="operators"
|
|
@@ -35,8 +39,14 @@ FilterExpressionOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersio
|
|
|
35
39
|
textField="text"
|
|
36
40
|
valueField="value"
|
|
37
41
|
>
|
|
42
|
+
<ng-template kendoDropDownListValueTemplate let-dataItem>
|
|
43
|
+
{{ getOperator(dataItem.value) }}
|
|
44
|
+
</ng-template>
|
|
45
|
+
<ng-template kendoDropDownListItemTemplate let-dataItem>
|
|
46
|
+
{{ getOperator(dataItem.value) }}
|
|
47
|
+
</ng-template>
|
|
38
48
|
</kendo-dropdownlist>
|
|
39
|
-
`, isInline: true, components: [{ type: i2.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: i3.AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
|
|
49
|
+
`, isInline: true, components: [{ type: i2.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: i3.AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i2.ValueTemplateDirective, selector: "[kendoDropDownListValueTemplate],[kendoDropDownTreeValueTemplate]" }, { type: i2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
|
|
40
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionOperatorsComponent, decorators: [{
|
|
41
51
|
type: Component,
|
|
42
52
|
args: [{
|
|
@@ -52,13 +62,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
52
62
|
textField="text"
|
|
53
63
|
valueField="value"
|
|
54
64
|
>
|
|
65
|
+
<ng-template kendoDropDownListValueTemplate let-dataItem>
|
|
66
|
+
{{ getOperator(dataItem.value) }}
|
|
67
|
+
</ng-template>
|
|
68
|
+
<ng-template kendoDropDownListItemTemplate let-dataItem>
|
|
69
|
+
{{ getOperator(dataItem.value) }}
|
|
70
|
+
</ng-template>
|
|
55
71
|
</kendo-dropdownlist>
|
|
56
72
|
`
|
|
57
73
|
}]
|
|
58
74
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { currentItem: [{
|
|
59
75
|
type: Input
|
|
60
|
-
}],
|
|
76
|
+
}], editorType: [{
|
|
61
77
|
type: Input
|
|
62
78
|
}], valueChange: [{
|
|
63
79
|
type: Output
|
|
80
|
+
}], operators: [{
|
|
81
|
+
type: Input
|
|
64
82
|
}] } });
|
|
@@ -151,6 +151,7 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
151
151
|
<kendo-filter-expression-operators
|
|
152
152
|
[currentItem]="currentItem"
|
|
153
153
|
[operators]="operators"
|
|
154
|
+
[editorType]="getEditorType()"
|
|
154
155
|
(valueChange)="onOperatorChange($event);">
|
|
155
156
|
</kendo-filter-expression-operators>
|
|
156
157
|
</div>
|
|
@@ -173,7 +174,7 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
173
174
|
</div>
|
|
174
175
|
</div>
|
|
175
176
|
</div>
|
|
176
|
-
`, isInline: true, components: [{ type: i3.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"] }, { type: i4.FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "operators"], outputs: ["valueChange"] }, { type: i5.FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: i6.FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: i7.FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: i8.FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }], directives: [{ type: i9.AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i11.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"] }] });
|
|
177
|
+
`, isInline: true, components: [{ type: i3.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"] }, { type: i4.FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "editorType", "operators"], outputs: ["valueChange"] }, { type: i5.FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: i6.FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: i7.FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: i8.FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }], directives: [{ type: i9.AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i11.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"] }] });
|
|
177
178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionComponent, decorators: [{
|
|
178
179
|
type: Component,
|
|
179
180
|
args: [{
|
|
@@ -197,6 +198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
197
198
|
<kendo-filter-expression-operators
|
|
198
199
|
[currentItem]="currentItem"
|
|
199
200
|
[operators]="operators"
|
|
201
|
+
[editorType]="getEditorType()"
|
|
200
202
|
(valueChange)="onOperatorChange($event);">
|
|
201
203
|
</kendo-filter-expression-operators>
|
|
202
204
|
</div>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
6
|
-
import { localizeOperators, logicOperators } from './util';
|
|
6
|
+
import { getKeyByValue, localizeOperators, logicOperators } from './util';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "./filter.service";
|
|
9
9
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
@@ -44,6 +44,9 @@ export class FilterGroupComponent {
|
|
|
44
44
|
messageFor(key) {
|
|
45
45
|
return this.localization.get(key);
|
|
46
46
|
}
|
|
47
|
+
getOperator(operatorValue) {
|
|
48
|
+
return this.messageFor(getKeyByValue(logicOperators, operatorValue));
|
|
49
|
+
}
|
|
47
50
|
selectedChange(logicOperator) {
|
|
48
51
|
if (this.currentItem.logic !== logicOperator) {
|
|
49
52
|
this.currentItem.logic = logicOperator;
|
|
@@ -77,7 +80,7 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
77
80
|
[title]="operator.text"
|
|
78
81
|
(click)="selectedChange(operator.value)"
|
|
79
82
|
>
|
|
80
|
-
{{operator.
|
|
83
|
+
{{getOperator(operator.value)}}
|
|
81
84
|
</button>
|
|
82
85
|
</div>
|
|
83
86
|
</div>
|
|
@@ -145,7 +148,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
145
148
|
[title]="operator.text"
|
|
146
149
|
(click)="selectedChange(operator.value)"
|
|
147
150
|
>
|
|
148
|
-
{{operator.
|
|
151
|
+
{{getOperator(operator.value)}}
|
|
149
152
|
</button>
|
|
150
153
|
</div>
|
|
151
154
|
</div>
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-filter',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1652964392,
|
|
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
|
};
|
|
@@ -200,7 +200,7 @@ const packageMetadata = {
|
|
|
200
200
|
name: '@progress/kendo-angular-filter',
|
|
201
201
|
productName: 'Kendo UI for Angular',
|
|
202
202
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
203
|
-
publishDate:
|
|
203
|
+
publishDate: 1652964392,
|
|
204
204
|
version: '',
|
|
205
205
|
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'
|
|
206
206
|
};
|
|
@@ -234,18 +234,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
234
234
|
class FilterExpressionOperatorsComponent {
|
|
235
235
|
constructor(localization) {
|
|
236
236
|
this.localization = localization;
|
|
237
|
-
this.operators = [];
|
|
238
237
|
this.valueChange = new EventEmitter();
|
|
238
|
+
this.operators = [];
|
|
239
239
|
}
|
|
240
240
|
messageFor(key) {
|
|
241
241
|
return this.localization.get(key);
|
|
242
242
|
}
|
|
243
|
+
getOperator(operatorValue) {
|
|
244
|
+
return this.messageFor(getKeyByValue(defaultOperators[this.editorType], operatorValue));
|
|
245
|
+
}
|
|
243
246
|
operatorValueChange(value) {
|
|
244
247
|
this.valueChange.emit(value);
|
|
245
248
|
}
|
|
246
249
|
}
|
|
247
250
|
FilterExpressionOperatorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionOperatorsComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
248
|
-
FilterExpressionOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: { currentItem: "currentItem", operators: "operators" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
|
|
251
|
+
FilterExpressionOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: { currentItem: "currentItem", editorType: "editorType", operators: "operators" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
|
|
249
252
|
<kendo-dropdownlist
|
|
250
253
|
[kendoAriaLabelValue]="messageFor('filterOperatorAriaLabel')"
|
|
251
254
|
[data]="operators"
|
|
@@ -256,8 +259,14 @@ FilterExpressionOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersio
|
|
|
256
259
|
textField="text"
|
|
257
260
|
valueField="value"
|
|
258
261
|
>
|
|
262
|
+
<ng-template kendoDropDownListValueTemplate let-dataItem>
|
|
263
|
+
{{ getOperator(dataItem.value) }}
|
|
264
|
+
</ng-template>
|
|
265
|
+
<ng-template kendoDropDownListItemTemplate let-dataItem>
|
|
266
|
+
{{ getOperator(dataItem.value) }}
|
|
267
|
+
</ng-template>
|
|
259
268
|
</kendo-dropdownlist>
|
|
260
|
-
`, isInline: true, components: [{ type: i2.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: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
|
|
269
|
+
`, isInline: true, components: [{ type: i2.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: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i2.ValueTemplateDirective, selector: "[kendoDropDownListValueTemplate],[kendoDropDownTreeValueTemplate]" }, { type: i2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
|
|
261
270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionOperatorsComponent, decorators: [{
|
|
262
271
|
type: Component,
|
|
263
272
|
args: [{
|
|
@@ -273,15 +282,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
273
282
|
textField="text"
|
|
274
283
|
valueField="value"
|
|
275
284
|
>
|
|
285
|
+
<ng-template kendoDropDownListValueTemplate let-dataItem>
|
|
286
|
+
{{ getOperator(dataItem.value) }}
|
|
287
|
+
</ng-template>
|
|
288
|
+
<ng-template kendoDropDownListItemTemplate let-dataItem>
|
|
289
|
+
{{ getOperator(dataItem.value) }}
|
|
290
|
+
</ng-template>
|
|
276
291
|
</kendo-dropdownlist>
|
|
277
292
|
`
|
|
278
293
|
}]
|
|
279
294
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { currentItem: [{
|
|
280
295
|
type: Input
|
|
281
|
-
}],
|
|
296
|
+
}], editorType: [{
|
|
282
297
|
type: Input
|
|
283
298
|
}], valueChange: [{
|
|
284
299
|
type: Output
|
|
300
|
+
}], operators: [{
|
|
301
|
+
type: Input
|
|
285
302
|
}] } });
|
|
286
303
|
|
|
287
304
|
/**
|
|
@@ -643,6 +660,7 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
643
660
|
<kendo-filter-expression-operators
|
|
644
661
|
[currentItem]="currentItem"
|
|
645
662
|
[operators]="operators"
|
|
663
|
+
[editorType]="getEditorType()"
|
|
646
664
|
(valueChange)="onOperatorChange($event);">
|
|
647
665
|
</kendo-filter-expression-operators>
|
|
648
666
|
</div>
|
|
@@ -665,7 +683,7 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
665
683
|
</div>
|
|
666
684
|
</div>
|
|
667
685
|
</div>
|
|
668
|
-
`, isInline: true, components: [{ type: i2.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"] }, { type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "operators"], outputs: ["valueChange"] }, { type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i11.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"] }] });
|
|
686
|
+
`, isInline: true, components: [{ type: i2.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"] }, { type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "editorType", "operators"], outputs: ["valueChange"] }, { type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i11.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"] }] });
|
|
669
687
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterExpressionComponent, decorators: [{
|
|
670
688
|
type: Component,
|
|
671
689
|
args: [{
|
|
@@ -689,6 +707,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
689
707
|
<kendo-filter-expression-operators
|
|
690
708
|
[currentItem]="currentItem"
|
|
691
709
|
[operators]="operators"
|
|
710
|
+
[editorType]="getEditorType()"
|
|
692
711
|
(valueChange)="onOperatorChange($event);">
|
|
693
712
|
</kendo-filter-expression-operators>
|
|
694
713
|
</div>
|
|
@@ -755,6 +774,9 @@ class FilterGroupComponent {
|
|
|
755
774
|
messageFor(key) {
|
|
756
775
|
return this.localization.get(key);
|
|
757
776
|
}
|
|
777
|
+
getOperator(operatorValue) {
|
|
778
|
+
return this.messageFor(getKeyByValue(logicOperators, operatorValue));
|
|
779
|
+
}
|
|
758
780
|
selectedChange(logicOperator) {
|
|
759
781
|
if (this.currentItem.logic !== logicOperator) {
|
|
760
782
|
this.currentItem.logic = logicOperator;
|
|
@@ -788,7 +810,7 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
788
810
|
[title]="operator.text"
|
|
789
811
|
(click)="selectedChange(operator.value)"
|
|
790
812
|
>
|
|
791
|
-
{{operator.
|
|
813
|
+
{{getOperator(operator.value)}}
|
|
792
814
|
</button>
|
|
793
815
|
</div>
|
|
794
816
|
</div>
|
|
@@ -856,7 +878,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
856
878
|
[title]="operator.text"
|
|
857
879
|
(click)="selectedChange(operator.value)"
|
|
858
880
|
>
|
|
859
|
-
{{operator.
|
|
881
|
+
{{getOperator(operator.value)}}
|
|
860
882
|
</button>
|
|
861
883
|
</div>
|
|
862
884
|
</div>
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { EventEmitter } from '@angular/core';
|
|
6
6
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import { FilterDescriptor } from '@progress/kendo-data-query';
|
|
8
|
+
import { FilterEditor, FilterOperator } from './model/filter-expression';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
/**
|
|
10
11
|
* @hidden
|
|
@@ -12,14 +13,16 @@ import * as i0 from "@angular/core";
|
|
|
12
13
|
export declare class FilterExpressionOperatorsComponent {
|
|
13
14
|
private localization;
|
|
14
15
|
currentItem: FilterDescriptor;
|
|
16
|
+
editorType: FilterEditor;
|
|
17
|
+
valueChange: EventEmitter<FilterOperator>;
|
|
15
18
|
operators: {
|
|
16
19
|
text: string;
|
|
17
20
|
value: string;
|
|
18
21
|
}[];
|
|
19
|
-
valueChange: EventEmitter<string>;
|
|
20
22
|
constructor(localization: LocalizationService);
|
|
21
23
|
messageFor(key: string): string;
|
|
22
|
-
|
|
24
|
+
getOperator(operatorValue: FilterOperator): string;
|
|
25
|
+
operatorValueChange(value: FilterOperator): void;
|
|
23
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<FilterExpressionOperatorsComponent, never>;
|
|
24
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FilterExpressionOperatorsComponent, "kendo-filter-expression-operators", never, { "currentItem": "currentItem"; "operators": "operators"; }, { "valueChange": "valueChange"; }, never, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FilterExpressionOperatorsComponent, "kendo-filter-expression-operators", never, { "currentItem": "currentItem"; "editorType": "editorType"; "operators": "operators"; }, { "valueChange": "valueChange"; }, never, never>;
|
|
25
28
|
}
|
|
@@ -32,6 +32,7 @@ export declare class FilterGroupComponent implements OnInit, OnDestroy {
|
|
|
32
32
|
value: 'and' | 'or';
|
|
33
33
|
}[];
|
|
34
34
|
messageFor(key: string): string;
|
|
35
|
+
getOperator(operatorValue: 'and' | 'or'): string;
|
|
35
36
|
selectedChange(logicOperator: 'or' | 'and'): void;
|
|
36
37
|
addFilterExpression(): void;
|
|
37
38
|
addFilterGroup(): void;
|
package/package.json
CHANGED
package/util.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { FilterOperator } from "./model/filter-expression";
|
|
5
6
|
/**
|
|
6
7
|
* @hidden
|
|
7
8
|
*/
|
|
@@ -41,10 +42,7 @@ export declare const isArray: Function;
|
|
|
41
42
|
/**
|
|
42
43
|
* @hidden
|
|
43
44
|
*/
|
|
44
|
-
export declare const getKeyByValue: (object: object, value:
|
|
45
|
-
text: string;
|
|
46
|
-
value: string;
|
|
47
|
-
}) => string;
|
|
45
|
+
export declare const getKeyByValue: (object: object, value: FilterOperator | "and" | "or") => string;
|
|
48
46
|
/**
|
|
49
47
|
* @hidden
|
|
50
48
|
*/
|