@progress/kendo-angular-filter 0.1.4 → 0.1.5-dev.202202160956

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,21 +2,29 @@
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 { EventEmitter } from '@angular/core';
5
+ import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
8
8
  import { FilterService } from './filter.service';
9
9
  /**
10
10
  * @hidden
11
11
  */
12
- export declare class FilterGroupComponent {
12
+ export declare class FilterGroupComponent implements OnInit, OnDestroy {
13
13
  private filterService;
14
14
  localization: LocalizationService;
15
+ private cdr;
15
16
  index: number;
16
17
  currentItem: CompositeFilterDescriptor;
17
18
  valueChange: EventEmitter<void>;
18
- constructor(filterService: FilterService, localization: LocalizationService);
19
- readonly logicOperators: {
19
+ operators: {
20
+ text: string;
21
+ value: string;
22
+ }[];
23
+ private localizationSubscription;
24
+ constructor(filterService: FilterService, localization: LocalizationService, cdr: ChangeDetectorRef);
25
+ ngOnInit(): void;
26
+ ngOnDestroy(): void;
27
+ getLogicOperators(): {
20
28
  text: string;
21
29
  value: string;
22
30
  }[];
@@ -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 * as tslib_1 from "tslib";
6
- import { Component, EventEmitter, Input, Output } from '@angular/core';
6
+ import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { FilterService } from './filter.service';
9
9
  import { localizeOperators, logicOperators } from './util';
@@ -11,17 +11,31 @@ import { localizeOperators, logicOperators } from './util';
11
11
  * @hidden
12
12
  */
13
13
  let FilterGroupComponent = class FilterGroupComponent {
14
- constructor(filterService, localization) {
14
+ constructor(filterService, localization, cdr) {
15
15
  this.filterService = filterService;
16
16
  this.localization = localization;
17
+ this.cdr = cdr;
17
18
  this.index = 0;
18
19
  this.currentItem = {
19
20
  logic: 'or',
20
21
  filters: []
21
22
  };
22
23
  this.valueChange = new EventEmitter();
24
+ this.operators = [];
23
25
  }
24
- get logicOperators() {
26
+ ngOnInit() {
27
+ this.operators = this.getLogicOperators();
28
+ this.localizationSubscription = this.localization.changes.subscribe(() => {
29
+ this.operators = this.getLogicOperators();
30
+ this.cdr.detectChanges();
31
+ });
32
+ }
33
+ ngOnDestroy() {
34
+ if (this.localizationSubscription) {
35
+ this.localizationSubscription.unsubscribe();
36
+ }
37
+ }
38
+ getLogicOperators() {
25
39
  return localizeOperators(logicOperators)(this.localization);
26
40
  }
27
41
  messageFor(key) {
@@ -67,7 +81,7 @@ FilterGroupComponent = tslib_1.__decorate([
67
81
  <div class="k-filter-toolbar-item">
68
82
  <div class="k-widget k-button-group" role="group">
69
83
  <button
70
- *ngFor="let operator of logicOperators"
84
+ *ngFor="let operator of operators"
71
85
  kendoButton
72
86
  [ngClass]="{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}"
73
87
  [selected]="currentItem.logic === operator.value"
@@ -126,6 +140,6 @@ FilterGroupComponent = tslib_1.__decorate([
126
140
  </ul>
127
141
  `
128
142
  }),
129
- tslib_1.__metadata("design:paramtypes", [FilterService, LocalizationService])
143
+ tslib_1.__metadata("design:paramtypes", [FilterService, LocalizationService, ChangeDetectorRef])
130
144
  ], FilterGroupComponent);
131
145
  export { FilterGroupComponent };
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"FilterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":44,"character":1},"arguments":[{"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"}]}],"members":{"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":175,"character":5},"arguments":["attr.dir"]}]}],"filters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":179,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":202,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":218,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FilterService"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":223,"character":30},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":224,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getCurrentFilter":[{"__symbolic":"method"}],"getCurrentFilterChildren":[{"__symbolic":"method"}],"onValueChange":[{"__symbolic":"method"}],"normalizeFilter":[{"__symbolic":"method"}],"normalizeValue":[{"__symbolic":"method"}]}},"FilterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":46,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"SharedModule"}],"declarations":[{"__symbolic":"reference","name":"FilterComponent"},{"__symbolic":"reference","name":"FilterNumericEditorComponent"},{"__symbolic":"reference","name":"FilterTextEditorComponent"},{"__symbolic":"reference","name":"FilterExpressionComponent"},{"__symbolic":"reference","name":"FilterGroupComponent"},{"__symbolic":"reference","name":"FilterExpressionOperatorsComponent"},{"__symbolic":"reference","name":"FilterBooleanEditorComponent"},{"__symbolic":"reference","name":"FilterDateEditorComponent"},{"__symbolic":"reference","name":"LocalizedMessagesDirective"},{"__symbolic":"reference","name":"CustomMessagesComponent"},{"__symbolic":"reference","name":"AriaLabelValueDirective"}],"exports":[{"__symbolic":"reference","name":"FilterComponent"},{"__symbolic":"reference","name":"FilterNumericEditorComponent"},{"__symbolic":"reference","name":"FilterTextEditorComponent"},{"__symbolic":"reference","name":"FilterExpressionComponent"},{"__symbolic":"reference","name":"FilterGroupComponent"},{"__symbolic":"reference","name":"FilterExpressionOperatorsComponent"},{"__symbolic":"reference","name":"FilterBooleanEditorComponent"},{"__symbolic":"reference","name":"FilterDateEditorComponent"},{"__symbolic":"reference","name":"LocalizedMessagesDirective"},{"__symbolic":"reference","name":"CustomMessagesComponent"},{"__symbolic":"reference","name":"AriaLabelValueDirective"}],"providers":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":72,"character":8},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"L10N_PREFIX","line":74,"character":21},"useValue":"kendo.filter"}]}]}],"members":{}},"FilterExpression":{"__symbolic":"interface"},"FilterService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"addFilterGroup":[{"__symbolic":"method"}],"addFilterExpression":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}]}},"SharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":23,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-inputs","name":"InputsModule","line":13,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-label","name":"LabelModule","line":14,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dropdowns","name":"DropDownsModule","line":15,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-buttons","name":"ButtonsModule","line":16,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dateinputs","name":"DateInputsModule","line":17,"character":4}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-inputs","name":"InputsModule","line":13,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-label","name":"LabelModule","line":14,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dropdowns","name":"DropDownsModule","line":15,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-buttons","name":"ButtonsModule","line":16,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dateinputs","name":"DateInputsModule","line":17,"character":4}],"providers":[{"__symbolic":"reference","name":"FilterService"}]}]}],"members":{}},"FilterNumericEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":28,"character":38},{"__symbolic":"reference","name":"FilterService"}]}],"messageFor":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}]}},"FilterTextEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":24,"character":38},{"__symbolic":"reference","name":"FilterService"}]}],"isDisabled":[{"__symbolic":"method"}],"messageFor":[{"__symbolic":"method"}]}},"FilterExpressionComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"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)=\"valueChange.emit();\">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]=\"getEditorType()\">\n <kendo-filter-text-editor *ngSwitchCase=\"'string'\" [currentItem]=\"currentItem\" (valueChange)=\"valueChange.emit()\"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase=\"'number'\" [currentItem]=\"currentItem\" (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\" (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 "}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":5}}]}],"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FilterService"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":65,"character":78}]}],"ngOnInit":[{"__symbolic":"method"}],"normalizeOperators":[{"__symbolic":"method"}],"messageFor":[{"__symbolic":"method"}],"getFilterExpressionByField":[{"__symbolic":"method"}],"filterValueChange":[{"__symbolic":"method"}],"getDefaultOperators":[{"__symbolic":"method"}],"getEditorType":[{"__symbolic":"method"}],"removeFilterExpression":[{"__symbolic":"method"}],"setOperators":[{"__symbolic":"method"}]}},"FilterGroupComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"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 logicOperators\"\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 "}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":82,"character":5}}]}],"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":83,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":87,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FilterService"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":89,"character":75}]}],"messageFor":[{"__symbolic":"method"}],"selectedChange":[{"__symbolic":"method"}],"addFilterExpression":[{"__symbolic":"method"}],"addFilterGroup":[{"__symbolic":"method"}],"removeFilterGroup":[{"__symbolic":"method"}]}},"FilterExpressionOperatorsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":5}}]}],"operators":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FilterService"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":31,"character":76}]}],"messageFor":[{"__symbolic":"method"}],"operatorValueChange":[{"__symbolic":"method"}]}},"FilterBooleanEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":35,"character":38}]}],"messageFor":[{"__symbolic":"method"}]}},"FilterDateEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":28,"character":38},{"__symbolic":"reference","name":"FilterService"}]}],"messageFor":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}]}},"LocalizedMessagesDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Messages"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"Messages"},"useExisting":{"__symbolic":"reference","name":"LocalizedMessagesDirective"}}],"selector":"[kendoFilterLocalizedMessages]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":17,"character":35}]}]}},"Messages":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"ComponentMessages","line":6,"character":30},"members":{"filterExpressionOperators":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}}]}],"filterExpressionFilters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":6}}]}],"remove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"addGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"addFilter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"filterAndLogic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"filterOrLogic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"filterEqOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"filterNotEqOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"filterIsNullOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"filterIsNotNullOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":5}}]}],"filterIsEmptyOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}}]}],"filterIsNotEmptyOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5}}]}],"filterStartsWithOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":5}}]}],"filterContainsOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":5}}]}],"filterNotContainsOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":5}}]}],"filterEndsWithOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":5}}]}],"filterGteOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":5}}]}],"filterGtOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":5}}]}],"filterLteOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":5}}]}],"filterLtOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":110,"character":5}}]}],"filterIsTrue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":5}}]}],"filterIsFalse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":5}}]}],"filterBooleanAll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":5}}]}],"filterAfterOrEqualOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":5}}]}],"filterAfterOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":5}}]}],"filterBeforeOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":140,"character":5}}]}],"filterBeforeOrEqualOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":145,"character":5}}]}],"editorNumericDecrement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":150,"character":5}}]}],"editorNumericIncrement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":155,"character":5}}]}],"editorDateTodayText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":160,"character":5}}]}],"editorDateToggleText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":165,"character":5}}]}],"filterFieldAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":170,"character":5}}]}],"filterOperatorAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":175,"character":5}}]}],"filterValueAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":180,"character":6}}]}],"filterAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":6}}]}],"filterToolbarAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":190,"character":6}}]}]}},"CustomMessagesComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Messages"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"Messages"},"useExisting":{"__symbolic":"reference","name":"CustomMessagesComponent"}}],"selector":"kendo-filter-messages","template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":19,"character":35}]}]}},"AriaLabelValueDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[kendoAriaLabelValue]"}]}],"members":{"ariaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":5},"arguments":["kendoAriaLabelValue"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":26}]}],"ngOnChanges":[{"__symbolic":"method"}]}}},"origins":{"FilterComponent":"./filter.component","FilterModule":"./filter.module","FilterExpression":"./model/filter-expression","FilterService":"./filter.service","SharedModule":"./shared.module","FilterNumericEditorComponent":"./editors/numeric-editor.component","FilterTextEditorComponent":"./editors/text-editor.component","FilterExpressionComponent":"./filter-expression.component","FilterGroupComponent":"./filter-group.component","FilterExpressionOperatorsComponent":"./filter-expression-operators.component","FilterBooleanEditorComponent":"./editors/boolean-editor.component","FilterDateEditorComponent":"./editors/date-editor.component","LocalizedMessagesDirective":"./localization/localized-messages.directive","Messages":"./localization/messages","CustomMessagesComponent":"./localization/custom-messages.component","AriaLabelValueDirective":"./aria-label.directive"},"importAs":"@progress/kendo-angular-filter"}
1
+ {"__symbolic":"module","version":4,"metadata":{"FilterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":44,"character":1},"arguments":[{"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"}]}],"members":{"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":175,"character":5},"arguments":["attr.dir"]}]}],"filters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":179,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":202,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":218,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FilterService"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":223,"character":30},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":224,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getCurrentFilter":[{"__symbolic":"method"}],"getCurrentFilterChildren":[{"__symbolic":"method"}],"onValueChange":[{"__symbolic":"method"}],"normalizeFilter":[{"__symbolic":"method"}],"normalizeValue":[{"__symbolic":"method"}]}},"FilterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":46,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"SharedModule"}],"declarations":[{"__symbolic":"reference","name":"FilterComponent"},{"__symbolic":"reference","name":"FilterNumericEditorComponent"},{"__symbolic":"reference","name":"FilterTextEditorComponent"},{"__symbolic":"reference","name":"FilterExpressionComponent"},{"__symbolic":"reference","name":"FilterGroupComponent"},{"__symbolic":"reference","name":"FilterExpressionOperatorsComponent"},{"__symbolic":"reference","name":"FilterBooleanEditorComponent"},{"__symbolic":"reference","name":"FilterDateEditorComponent"},{"__symbolic":"reference","name":"LocalizedMessagesDirective"},{"__symbolic":"reference","name":"CustomMessagesComponent"},{"__symbolic":"reference","name":"AriaLabelValueDirective"}],"exports":[{"__symbolic":"reference","name":"FilterComponent"},{"__symbolic":"reference","name":"FilterNumericEditorComponent"},{"__symbolic":"reference","name":"FilterTextEditorComponent"},{"__symbolic":"reference","name":"FilterExpressionComponent"},{"__symbolic":"reference","name":"FilterGroupComponent"},{"__symbolic":"reference","name":"FilterExpressionOperatorsComponent"},{"__symbolic":"reference","name":"FilterBooleanEditorComponent"},{"__symbolic":"reference","name":"FilterDateEditorComponent"},{"__symbolic":"reference","name":"LocalizedMessagesDirective"},{"__symbolic":"reference","name":"CustomMessagesComponent"},{"__symbolic":"reference","name":"AriaLabelValueDirective"}],"providers":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":72,"character":8},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"L10N_PREFIX","line":74,"character":21},"useValue":"kendo.filter"}]}]}],"members":{}},"FilterExpression":{"__symbolic":"interface"},"FilterService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"addFilterGroup":[{"__symbolic":"method"}],"addFilterExpression":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}]}},"SharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":23,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-inputs","name":"InputsModule","line":13,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-label","name":"LabelModule","line":14,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dropdowns","name":"DropDownsModule","line":15,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-buttons","name":"ButtonsModule","line":16,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dateinputs","name":"DateInputsModule","line":17,"character":4}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-inputs","name":"InputsModule","line":13,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-label","name":"LabelModule","line":14,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dropdowns","name":"DropDownsModule","line":15,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-buttons","name":"ButtonsModule","line":16,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dateinputs","name":"DateInputsModule","line":17,"character":4}],"providers":[{"__symbolic":"reference","name":"FilterService"}]}]}],"members":{}},"FilterNumericEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":28,"character":38},{"__symbolic":"reference","name":"FilterService"}]}],"messageFor":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}]}},"FilterTextEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":24,"character":38},{"__symbolic":"reference","name":"FilterService"}]}],"isDisabled":[{"__symbolic":"method"}],"messageFor":[{"__symbolic":"method"}]}},"FilterExpressionComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"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)=\"valueChange.emit();\">\n </kendo-filter-expression-operators>\n </div>\n\n <ng-container [ngSwitch]=\"getEditorType()\">\n <kendo-filter-text-editor *ngSwitchCase=\"'string'\" [currentItem]=\"currentItem\" (valueChange)=\"valueChange.emit()\"></kendo-filter-text-editor>\n <kendo-filter-numeric-editor *ngSwitchCase=\"'number'\" [currentItem]=\"currentItem\" (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\" (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 "}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}}]}],"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FilterService"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":68,"character":78},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":68,"character":112}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"normalizeOperators":[{"__symbolic":"method"}],"messageFor":[{"__symbolic":"method"}],"getFilterExpressionByField":[{"__symbolic":"method"}],"filterValueChange":[{"__symbolic":"method"}],"getDefaultOperators":[{"__symbolic":"method"}],"getEditorType":[{"__symbolic":"method"}],"removeFilterExpression":[{"__symbolic":"method"}],"setOperators":[{"__symbolic":"method"}]}},"FilterGroupComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"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 "}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":5}}]}],"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":91,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FilterService"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":97,"character":75},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":97,"character":109}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getLogicOperators":[{"__symbolic":"method"}],"messageFor":[{"__symbolic":"method"}],"selectedChange":[{"__symbolic":"method"}],"addFilterExpression":[{"__symbolic":"method"}],"addFilterGroup":[{"__symbolic":"method"}],"removeFilterGroup":[{"__symbolic":"method"}]}},"FilterExpressionOperatorsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":5}}]}],"operators":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FilterService"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":31,"character":76}]}],"messageFor":[{"__symbolic":"method"}],"operatorValueChange":[{"__symbolic":"method"}]}},"FilterBooleanEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":35,"character":38},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":35,"character":72}]}],"ngOnInit":[{"__symbolic":"method"}],"getDefaultItem":[{"__symbolic":"method"}],"getValueItems":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"messageFor":[{"__symbolic":"method"}]}},"FilterDateEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"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 "}]}],"members":{"currentItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":28,"character":38},{"__symbolic":"reference","name":"FilterService"}]}],"messageFor":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}]}},"LocalizedMessagesDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Messages"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"Messages"},"useExisting":{"__symbolic":"reference","name":"LocalizedMessagesDirective"}}],"selector":"[kendoFilterLocalizedMessages]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":17,"character":35}]}]}},"Messages":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"ComponentMessages","line":6,"character":30},"members":{"filterExpressionOperators":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}}]}],"filterExpressionFilters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":6}}]}],"remove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"addGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"addFilter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"filterAndLogic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"filterOrLogic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"filterEqOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"filterNotEqOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"filterIsNullOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"filterIsNotNullOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":5}}]}],"filterIsEmptyOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}}]}],"filterIsNotEmptyOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5}}]}],"filterStartsWithOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":5}}]}],"filterContainsOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":5}}]}],"filterNotContainsOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":5}}]}],"filterEndsWithOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":5}}]}],"filterGteOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":5}}]}],"filterGtOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":5}}]}],"filterLteOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":5}}]}],"filterLtOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":110,"character":5}}]}],"filterIsTrue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":5}}]}],"filterIsFalse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":5}}]}],"filterBooleanAll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":5}}]}],"filterAfterOrEqualOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":5}}]}],"filterAfterOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":5}}]}],"filterBeforeOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":140,"character":5}}]}],"filterBeforeOrEqualOperator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":145,"character":5}}]}],"editorNumericDecrement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":150,"character":5}}]}],"editorNumericIncrement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":155,"character":5}}]}],"editorDateTodayText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":160,"character":5}}]}],"editorDateToggleText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":165,"character":5}}]}],"filterFieldAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":170,"character":5}}]}],"filterOperatorAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":175,"character":5}}]}],"filterValueAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":180,"character":6}}]}],"filterAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":6}}]}],"filterToolbarAriaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":190,"character":6}}]}]}},"CustomMessagesComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Messages"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"Messages"},"useExisting":{"__symbolic":"reference","name":"CustomMessagesComponent"}}],"selector":"kendo-filter-messages","template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":19,"character":35}]}]}},"AriaLabelValueDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[kendoAriaLabelValue]"}]}],"members":{"ariaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":5},"arguments":["kendoAriaLabelValue"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":11,"character":26}]}],"ngOnChanges":[{"__symbolic":"method"}]}}},"origins":{"FilterComponent":"./filter.component","FilterModule":"./filter.module","FilterExpression":"./model/filter-expression","FilterService":"./filter.service","SharedModule":"./shared.module","FilterNumericEditorComponent":"./editors/numeric-editor.component","FilterTextEditorComponent":"./editors/text-editor.component","FilterExpressionComponent":"./filter-expression.component","FilterGroupComponent":"./filter-group.component","FilterExpressionOperatorsComponent":"./filter-expression-operators.component","FilterBooleanEditorComponent":"./editors/boolean-editor.component","FilterDateEditorComponent":"./editors/date-editor.component","LocalizedMessagesDirective":"./localization/localized-messages.directive","Messages":"./localization/messages","CustomMessagesComponent":"./localization/custom-messages.component","AriaLabelValueDirective":"./aria-label.directive"},"importAs":"@progress/kendo-angular-filter"}
@@ -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: 1644849909,
12
+ publishDate: 1645005293,
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
  };
@@ -145,7 +145,7 @@ const packageMetadata = {
145
145
  name: '@progress/kendo-angular-filter',
146
146
  productName: 'Kendo UI for Angular',
147
147
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
148
- publishDate: 1644849909,
148
+ publishDate: 1645005293,
149
149
  version: '',
150
150
  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'
151
151
  };
@@ -465,14 +465,33 @@ AriaLabelValueDirective = __decorate([
465
465
  * @hidden
466
466
  */
467
467
  let FilterBooleanEditorComponent = class FilterBooleanEditorComponent {
468
- constructor(localization) {
468
+ constructor(localization, cdr) {
469
469
  this.localization = localization;
470
+ this.cdr = cdr;
470
471
  this.valueChange = new EventEmitter();
471
- this.items = [
472
+ this.items = this.getValueItems();
473
+ this.defaultItem = this.getDefaultItem();
474
+ }
475
+ ngOnInit() {
476
+ this.localizationSubscription = this.localization.changes.subscribe(() => {
477
+ this.defaultItem = this.getDefaultItem();
478
+ this.items = this.getValueItems();
479
+ this.cdr.detectChanges();
480
+ });
481
+ }
482
+ getDefaultItem() {
483
+ return { text: this.localization.get("filterBooleanAll"), value: null };
484
+ }
485
+ getValueItems() {
486
+ return [
472
487
  { text: this.localization.get("filterIsTrue"), value: true },
473
488
  { text: this.localization.get("filterIsFalse"), value: false }
474
489
  ];
475
- this.defaultItem = { text: this.localization.get("filterBooleanAll"), value: null };
490
+ }
491
+ ngOnDestroy() {
492
+ if (this.localizationSubscription) {
493
+ this.localizationSubscription.unsubscribe();
494
+ }
476
495
  }
477
496
  messageFor(key) {
478
497
  return this.localization.get(key);
@@ -504,7 +523,7 @@ FilterBooleanEditorComponent = __decorate([
504
523
  </kendo-dropdownlist>
505
524
  `
506
525
  }),
507
- __metadata("design:paramtypes", [LocalizationService])
526
+ __metadata("design:paramtypes", [LocalizationService, ChangeDetectorRef])
508
527
  ], FilterBooleanEditorComponent);
509
528
 
510
529
  /**
@@ -701,9 +720,10 @@ FilterExpressionOperatorsComponent = __decorate([
701
720
  * @hidden
702
721
  */
703
722
  let FilterExpressionComponent = class FilterExpressionComponent {
704
- constructor(filterService, localization) {
723
+ constructor(filterService, localization, cdr) {
705
724
  this.filterService = filterService;
706
725
  this.localization = localization;
726
+ this.cdr = cdr;
707
727
  this.valueChange = new EventEmitter();
708
728
  this.operators = [];
709
729
  this.filters = [];
@@ -712,15 +732,24 @@ let FilterExpressionComponent = class FilterExpressionComponent {
712
732
  }
713
733
  ngOnInit() {
714
734
  this.filters = this.filterService.filters;
735
+ const foundFilter = this.getFilterExpressionByField(this.currentItem.field);
715
736
  if (this.currentItem.field) {
716
- const foundFilter = this.getFilterExpressionByField(this.currentItem.field);
717
737
  this.setOperators(foundFilter);
718
738
  }
739
+ const defaultFilter = this.getFilterExpressionByField(this.filterService.filters[0].field);
719
740
  if (!this.currentItem.field) {
720
741
  this.currentItem.field = this.filterService.filters[0].field;
721
- const defaultFilter = this.getFilterExpressionByField(this.filterService.filters[0].field);
722
742
  this.setOperators(defaultFilter);
723
743
  }
744
+ this.localizationSubscription = this.localization.changes.subscribe(() => {
745
+ this.setOperators(foundFilter || defaultFilter);
746
+ this.cdr.detectChanges();
747
+ });
748
+ }
749
+ ngOnDestroy() {
750
+ if (this.localizationSubscription) {
751
+ this.localizationSubscription.unsubscribe();
752
+ }
724
753
  }
725
754
  normalizeOperators(filterEditor, operators) {
726
755
  let result = [];
@@ -754,7 +783,7 @@ let FilterExpressionComponent = class FilterExpressionComponent {
754
783
  getDefaultOperators(operatorsType) {
755
784
  switch (operatorsType) {
756
785
  case 'string':
757
- return localizeOperators(defaultDateOperators)(this.localization);
786
+ return localizeOperators(defaultStringOperators)(this.localization);
758
787
  case 'number':
759
788
  return localizeOperators(defaultNumericOperators)(this.localization);
760
789
  case 'date':
@@ -845,24 +874,38 @@ FilterExpressionComponent = __decorate([
845
874
  </div>
846
875
  `
847
876
  }),
848
- __metadata("design:paramtypes", [FilterService, LocalizationService])
877
+ __metadata("design:paramtypes", [FilterService, LocalizationService, ChangeDetectorRef])
849
878
  ], FilterExpressionComponent);
850
879
 
851
880
  /**
852
881
  * @hidden
853
882
  */
854
883
  let FilterGroupComponent = class FilterGroupComponent {
855
- constructor(filterService, localization) {
884
+ constructor(filterService, localization, cdr) {
856
885
  this.filterService = filterService;
857
886
  this.localization = localization;
887
+ this.cdr = cdr;
858
888
  this.index = 0;
859
889
  this.currentItem = {
860
890
  logic: 'or',
861
891
  filters: []
862
892
  };
863
893
  this.valueChange = new EventEmitter();
894
+ this.operators = [];
864
895
  }
865
- get logicOperators() {
896
+ ngOnInit() {
897
+ this.operators = this.getLogicOperators();
898
+ this.localizationSubscription = this.localization.changes.subscribe(() => {
899
+ this.operators = this.getLogicOperators();
900
+ this.cdr.detectChanges();
901
+ });
902
+ }
903
+ ngOnDestroy() {
904
+ if (this.localizationSubscription) {
905
+ this.localizationSubscription.unsubscribe();
906
+ }
907
+ }
908
+ getLogicOperators() {
866
909
  return localizeOperators(logicOperators)(this.localization);
867
910
  }
868
911
  messageFor(key) {
@@ -908,7 +951,7 @@ FilterGroupComponent = __decorate([
908
951
  <div class="k-filter-toolbar-item">
909
952
  <div class="k-widget k-button-group" role="group">
910
953
  <button
911
- *ngFor="let operator of logicOperators"
954
+ *ngFor="let operator of operators"
912
955
  kendoButton
913
956
  [ngClass]="{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}"
914
957
  [selected]="currentItem.logic === operator.value"
@@ -967,7 +1010,7 @@ FilterGroupComponent = __decorate([
967
1010
  </ul>
968
1011
  `
969
1012
  }),
970
- __metadata("design:paramtypes", [FilterService, LocalizationService])
1013
+ __metadata("design:paramtypes", [FilterService, LocalizationService, ChangeDetectorRef])
971
1014
  ], FilterGroupComponent);
972
1015
 
973
1016
  /**