@progress/kendo-angular-filter 0.1.6-dev.202202251358 → 0.1.7-dev.202203101154

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.
@@ -99,11 +99,15 @@ let FilterExpressionComponent = class FilterExpressionComponent {
99
99
  if (filter.operators) {
100
100
  const localizedOperators = this.normalizeOperators(filter.editor, filter.operators);
101
101
  this.operators = localizedOperators;
102
- this.currentItem.operator = localizedOperators[0].value;
102
+ if (!this.currentItem.operator) {
103
+ this.currentItem.operator = localizedOperators[0].value;
104
+ }
103
105
  }
104
106
  else {
105
107
  this.operators = this.getDefaultOperators(filter.editor);
106
- this.currentItem.operator = this.operators[0].value;
108
+ if (!this.currentItem.operator) {
109
+ this.currentItem.operator = this.operators[0].value;
110
+ }
107
111
  }
108
112
  }
109
113
  };
@@ -5,7 +5,7 @@
5
5
  import { OnInit, EventEmitter } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { FilterService } from './filter.service';
8
- import { CompositeFilterDescriptor, FilterDescriptor } from '@progress/kendo-data-query';
8
+ import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
9
9
  import { FilterExpression } from './model/filter-expression';
10
10
  import { Direction } from './util';
11
11
  import { ChangeDetectorRef } from '@angular/core';
@@ -68,10 +68,6 @@ export declare class FilterComponent implements OnInit, OnDestroy {
68
68
  * @hidden
69
69
  */
70
70
  getCurrentFilter(): CompositeFilterDescriptor;
71
- /**
72
- * @hidden
73
- */
74
- getCurrentFilterChildren(): (CompositeFilterDescriptor | FilterDescriptor)[];
75
71
  /**
76
72
  * @hidden
77
73
  */
@@ -104,12 +104,6 @@ let FilterComponent = class FilterComponent {
104
104
  getCurrentFilter() {
105
105
  return this.value;
106
106
  }
107
- /**
108
- * @hidden
109
- */
110
- getCurrentFilterChildren() {
111
- return this.value.filters;
112
- }
113
107
  /**
114
108
  * @hidden
115
109
  */
@@ -124,6 +118,9 @@ let FilterComponent = class FilterComponent {
124
118
  if (isDevMode() && foundFilter.editor === 'boolean' && (!filterDescriptor.value && filterDescriptor.value !== false)) {
125
119
  console.warn(`Provide a value for the boolean '${filterDescriptor.field}' user-defined filter as the operator is always set to 'eq'.`);
126
120
  }
121
+ if (filterDescriptor.operator && foundFilter.operators && !foundFilter.operators.some(operator => operator === filterDescriptor.operator)) {
122
+ throw new Error(`The user-defined filter with field '${filterDescriptor.field}' is missing the '${filterDescriptor.operator}' operator.`);
123
+ }
127
124
  if (foundFilter.editor === 'boolean') {
128
125
  filterDescriptor.operator = 'eq';
129
126
  }
@@ -291,7 +288,8 @@ FilterComponent = tslib_1.__decorate([
291
288
  </li>
292
289
  </ul>
293
290
  </div>
294
- `
291
+ `,
292
+ providers: [FilterService]
295
293
  }),
296
294
  tslib_1.__metadata("design:paramtypes", [FilterService,
297
295
  LocalizationService,
@@ -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":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"}
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","providers":[{"__symbolic":"reference","name":"FilterService"}]}]}],"members":{"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":176,"character":5},"arguments":["attr.dir"]}]}],"filters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":180,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":203,"character":5}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":219,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FilterService"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":224,"character":30},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":225,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getCurrentFilter":[{"__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":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-inputs","name":"InputsModule","line":12,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-label","name":"LabelModule","line":13,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dropdowns","name":"DropDownsModule","line":14,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-buttons","name":"ButtonsModule","line":15,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dateinputs","name":"DateInputsModule","line":16,"character":4}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-inputs","name":"InputsModule","line":12,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-label","name":"LabelModule","line":13,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dropdowns","name":"DropDownsModule","line":14,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-buttons","name":"ButtonsModule","line":15,"character":4},{"__symbolic":"reference","module":"@progress/kendo-angular-dateinputs","name":"DateInputsModule","line":16,"character":4}]}]}],"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: 1645797407,
12
+ publishDate: 1646913177,
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
  };
@@ -9,7 +9,6 @@ import { InputsModule } from '@progress/kendo-angular-inputs';
9
9
  import { LabelModule } from '@progress/kendo-angular-label';
10
10
  import { NgModule } from '@angular/core';
11
11
  import { ButtonsModule } from '@progress/kendo-angular-buttons';
12
- import { FilterService } from './filter.service';
13
12
  import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
14
13
  const importedModules = [
15
14
  CommonModule,
@@ -27,8 +26,7 @@ let SharedModule = class SharedModule {
27
26
  SharedModule = tslib_1.__decorate([
28
27
  NgModule({
29
28
  imports: [...importedModules],
30
- exports: [...importedModules],
31
- providers: [FilterService]
29
+ exports: [...importedModules]
32
30
  })
33
31
  ], SharedModule);
34
32
  export { SharedModule };
@@ -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: 1645797407,
148
+ publishDate: 1646913177,
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
  };
@@ -244,12 +244,6 @@ let FilterComponent = class FilterComponent {
244
244
  getCurrentFilter() {
245
245
  return this.value;
246
246
  }
247
- /**
248
- * @hidden
249
- */
250
- getCurrentFilterChildren() {
251
- return this.value.filters;
252
- }
253
247
  /**
254
248
  * @hidden
255
249
  */
@@ -264,6 +258,9 @@ let FilterComponent = class FilterComponent {
264
258
  if (isDevMode() && foundFilter.editor === 'boolean' && (!filterDescriptor.value && filterDescriptor.value !== false)) {
265
259
  console.warn(`Provide a value for the boolean '${filterDescriptor.field}' user-defined filter as the operator is always set to 'eq'.`);
266
260
  }
261
+ if (filterDescriptor.operator && foundFilter.operators && !foundFilter.operators.some(operator => operator === filterDescriptor.operator)) {
262
+ throw new Error(`The user-defined filter with field '${filterDescriptor.field}' is missing the '${filterDescriptor.operator}' operator.`);
263
+ }
267
264
  if (foundFilter.editor === 'boolean') {
268
265
  filterDescriptor.operator = 'eq';
269
266
  }
@@ -431,7 +428,8 @@ FilterComponent = __decorate([
431
428
  </li>
432
429
  </ul>
433
430
  </div>
434
- `
431
+ `,
432
+ providers: [FilterService]
435
433
  }),
436
434
  __metadata("design:paramtypes", [FilterService,
437
435
  LocalizationService,
@@ -808,11 +806,15 @@ let FilterExpressionComponent = class FilterExpressionComponent {
808
806
  if (filter.operators) {
809
807
  const localizedOperators = this.normalizeOperators(filter.editor, filter.operators);
810
808
  this.operators = localizedOperators;
811
- this.currentItem.operator = localizedOperators[0].value;
809
+ if (!this.currentItem.operator) {
810
+ this.currentItem.operator = localizedOperators[0].value;
811
+ }
812
812
  }
813
813
  else {
814
814
  this.operators = this.getDefaultOperators(filter.editor);
815
- this.currentItem.operator = this.operators[0].value;
815
+ if (!this.currentItem.operator) {
816
+ this.currentItem.operator = this.operators[0].value;
817
+ }
816
818
  }
817
819
  }
818
820
  };
@@ -1234,8 +1236,7 @@ let SharedModule = class SharedModule {
1234
1236
  SharedModule = __decorate([
1235
1237
  NgModule({
1236
1238
  imports: [...importedModules],
1237
- exports: [...importedModules],
1238
- providers: [FilterService]
1239
+ exports: [...importedModules]
1239
1240
  })
1240
1241
  ], SharedModule);
1241
1242
 
@@ -144,7 +144,7 @@ var packageMetadata = {
144
144
  name: '@progress/kendo-angular-filter',
145
145
  productName: 'Kendo UI for Angular',
146
146
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
147
- publishDate: 1645797407,
147
+ publishDate: 1646913177,
148
148
  version: '',
149
149
  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'
150
150
  };
@@ -253,12 +253,6 @@ var FilterComponent = /** @class */ (function () {
253
253
  FilterComponent.prototype.getCurrentFilter = function () {
254
254
  return this.value;
255
255
  };
256
- /**
257
- * @hidden
258
- */
259
- FilterComponent.prototype.getCurrentFilterChildren = function () {
260
- return this.value.filters;
261
- };
262
256
  /**
263
257
  * @hidden
264
258
  */
@@ -273,6 +267,9 @@ var FilterComponent = /** @class */ (function () {
273
267
  if (isDevMode() && foundFilter.editor === 'boolean' && (!filterDescriptor.value && filterDescriptor.value !== false)) {
274
268
  console.warn("Provide a value for the boolean '" + filterDescriptor.field + "' user-defined filter as the operator is always set to 'eq'.");
275
269
  }
270
+ if (filterDescriptor.operator && foundFilter.operators && !foundFilter.operators.some(function (operator) { return operator === filterDescriptor.operator; })) {
271
+ throw new Error("The user-defined filter with field '" + filterDescriptor.field + "' is missing the '" + filterDescriptor.operator + "' operator.");
272
+ }
276
273
  if (foundFilter.editor === 'boolean') {
277
274
  filterDescriptor.operator = 'eq';
278
275
  }
@@ -315,7 +312,8 @@ var FilterComponent = /** @class */ (function () {
315
312
  FilterComponent = __decorate([
316
313
  Component({
317
314
  selector: 'kendo-filter',
318
- 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"
315
+ 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",
316
+ providers: [FilterService]
319
317
  }),
320
318
  __metadata("design:paramtypes", [FilterService,
321
319
  LocalizationService,
@@ -646,11 +644,15 @@ var FilterExpressionComponent = /** @class */ (function () {
646
644
  if (filter.operators) {
647
645
  var localizedOperators = this.normalizeOperators(filter.editor, filter.operators);
648
646
  this.operators = localizedOperators;
649
- this.currentItem.operator = localizedOperators[0].value;
647
+ if (!this.currentItem.operator) {
648
+ this.currentItem.operator = localizedOperators[0].value;
649
+ }
650
650
  }
651
651
  else {
652
652
  this.operators = this.getDefaultOperators(filter.editor);
653
- this.currentItem.operator = this.operators[0].value;
653
+ if (!this.currentItem.operator) {
654
+ this.currentItem.operator = this.operators[0].value;
655
+ }
654
656
  }
655
657
  };
656
658
  __decorate([
@@ -989,8 +991,7 @@ var SharedModule = /** @class */ (function () {
989
991
  SharedModule = __decorate([
990
992
  NgModule({
991
993
  imports: importedModules.slice(),
992
- exports: importedModules.slice(),
993
- providers: [FilterService]
994
+ exports: importedModules.slice()
994
995
  })
995
996
  ], SharedModule);
996
997
  return SharedModule;
@@ -103,11 +103,15 @@ var FilterExpressionComponent = /** @class */ (function () {
103
103
  if (filter.operators) {
104
104
  var localizedOperators = this.normalizeOperators(filter.editor, filter.operators);
105
105
  this.operators = localizedOperators;
106
- this.currentItem.operator = localizedOperators[0].value;
106
+ if (!this.currentItem.operator) {
107
+ this.currentItem.operator = localizedOperators[0].value;
108
+ }
107
109
  }
108
110
  else {
109
111
  this.operators = this.getDefaultOperators(filter.editor);
110
- this.currentItem.operator = this.operators[0].value;
112
+ if (!this.currentItem.operator) {
113
+ this.currentItem.operator = this.operators[0].value;
114
+ }
111
115
  }
112
116
  };
113
117
  tslib_1.__decorate([