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

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.
@@ -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: 1644849909,
147
+ publishDate: 1645797407,
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
  };
@@ -352,15 +352,35 @@ var AriaLabelValueDirective = /** @class */ (function () {
352
352
  * @hidden
353
353
  */
354
354
  var FilterBooleanEditorComponent = /** @class */ (function () {
355
- function FilterBooleanEditorComponent(localization) {
355
+ function FilterBooleanEditorComponent(localization, cdr) {
356
356
  this.localization = localization;
357
+ this.cdr = cdr;
357
358
  this.valueChange = new EventEmitter();
358
- this.items = [
359
+ this.items = this.getValueItems();
360
+ this.defaultItem = this.getDefaultItem();
361
+ }
362
+ FilterBooleanEditorComponent.prototype.ngOnInit = function () {
363
+ var _this = this;
364
+ this.localizationSubscription = this.localization.changes.subscribe(function () {
365
+ _this.defaultItem = _this.getDefaultItem();
366
+ _this.items = _this.getValueItems();
367
+ _this.cdr.detectChanges();
368
+ });
369
+ };
370
+ FilterBooleanEditorComponent.prototype.getDefaultItem = function () {
371
+ return { text: this.localization.get("filterBooleanAll"), value: null };
372
+ };
373
+ FilterBooleanEditorComponent.prototype.getValueItems = function () {
374
+ return [
359
375
  { text: this.localization.get("filterIsTrue"), value: true },
360
376
  { text: this.localization.get("filterIsFalse"), value: false }
361
377
  ];
362
- this.defaultItem = { text: this.localization.get("filterBooleanAll"), value: null };
363
- }
378
+ };
379
+ FilterBooleanEditorComponent.prototype.ngOnDestroy = function () {
380
+ if (this.localizationSubscription) {
381
+ this.localizationSubscription.unsubscribe();
382
+ }
383
+ };
364
384
  FilterBooleanEditorComponent.prototype.messageFor = function (key) {
365
385
  return this.localization.get(key);
366
386
  };
@@ -377,7 +397,7 @@ var FilterBooleanEditorComponent = /** @class */ (function () {
377
397
  selector: 'kendo-filter-boolean-editor',
378
398
  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 "
379
399
  }),
380
- __metadata("design:paramtypes", [LocalizationService])
400
+ __metadata("design:paramtypes", [LocalizationService, ChangeDetectorRef])
381
401
  ], FilterBooleanEditorComponent);
382
402
  return FilterBooleanEditorComponent;
383
403
  }());
@@ -536,9 +556,10 @@ var FilterExpressionOperatorsComponent = /** @class */ (function () {
536
556
  * @hidden
537
557
  */
538
558
  var FilterExpressionComponent = /** @class */ (function () {
539
- function FilterExpressionComponent(filterService, localization) {
559
+ function FilterExpressionComponent(filterService, localization, cdr) {
540
560
  this.filterService = filterService;
541
561
  this.localization = localization;
562
+ this.cdr = cdr;
542
563
  this.valueChange = new EventEmitter();
543
564
  this.operators = [];
544
565
  this.filters = [];
@@ -546,16 +567,26 @@ var FilterExpressionComponent = /** @class */ (function () {
546
567
  this.isEditorDisabled = false;
547
568
  }
548
569
  FilterExpressionComponent.prototype.ngOnInit = function () {
570
+ var _this = this;
549
571
  this.filters = this.filterService.filters;
572
+ var foundFilter = this.getFilterExpressionByField(this.currentItem.field);
550
573
  if (this.currentItem.field) {
551
- var foundFilter = this.getFilterExpressionByField(this.currentItem.field);
552
574
  this.setOperators(foundFilter);
553
575
  }
576
+ var defaultFilter = this.getFilterExpressionByField(this.filterService.filters[0].field);
554
577
  if (!this.currentItem.field) {
555
578
  this.currentItem.field = this.filterService.filters[0].field;
556
- var defaultFilter = this.getFilterExpressionByField(this.filterService.filters[0].field);
557
579
  this.setOperators(defaultFilter);
558
580
  }
581
+ this.localizationSubscription = this.localization.changes.subscribe(function () {
582
+ _this.setOperators(foundFilter || defaultFilter);
583
+ _this.cdr.detectChanges();
584
+ });
585
+ };
586
+ FilterExpressionComponent.prototype.ngOnDestroy = function () {
587
+ if (this.localizationSubscription) {
588
+ this.localizationSubscription.unsubscribe();
589
+ }
559
590
  };
560
591
  FilterExpressionComponent.prototype.normalizeOperators = function (filterEditor, operators) {
561
592
  var result = [];
@@ -589,7 +620,7 @@ var FilterExpressionComponent = /** @class */ (function () {
589
620
  FilterExpressionComponent.prototype.getDefaultOperators = function (operatorsType) {
590
621
  switch (operatorsType) {
591
622
  case 'string':
592
- return localizeOperators(defaultDateOperators)(this.localization);
623
+ return localizeOperators(defaultStringOperators)(this.localization);
593
624
  case 'number':
594
625
  return localizeOperators(defaultNumericOperators)(this.localization);
595
626
  case 'date':
@@ -639,7 +670,7 @@ var FilterExpressionComponent = /** @class */ (function () {
639
670
  selector: 'kendo-filter-expression',
640
671
  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 "
641
672
  }),
642
- __metadata("design:paramtypes", [FilterService, LocalizationService])
673
+ __metadata("design:paramtypes", [FilterService, LocalizationService, ChangeDetectorRef])
643
674
  ], FilterExpressionComponent);
644
675
  return FilterExpressionComponent;
645
676
  }());
@@ -648,23 +679,34 @@ var FilterExpressionComponent = /** @class */ (function () {
648
679
  * @hidden
649
680
  */
650
681
  var FilterGroupComponent = /** @class */ (function () {
651
- function FilterGroupComponent(filterService, localization) {
682
+ function FilterGroupComponent(filterService, localization, cdr) {
652
683
  this.filterService = filterService;
653
684
  this.localization = localization;
685
+ this.cdr = cdr;
654
686
  this.index = 0;
655
687
  this.currentItem = {
656
688
  logic: 'or',
657
689
  filters: []
658
690
  };
659
691
  this.valueChange = new EventEmitter();
692
+ this.operators = [];
660
693
  }
661
- Object.defineProperty(FilterGroupComponent.prototype, "logicOperators", {
662
- get: function () {
663
- return localizeOperators(logicOperators)(this.localization);
664
- },
665
- enumerable: true,
666
- configurable: true
667
- });
694
+ FilterGroupComponent.prototype.ngOnInit = function () {
695
+ var _this = this;
696
+ this.operators = this.getLogicOperators();
697
+ this.localizationSubscription = this.localization.changes.subscribe(function () {
698
+ _this.operators = _this.getLogicOperators();
699
+ _this.cdr.detectChanges();
700
+ });
701
+ };
702
+ FilterGroupComponent.prototype.ngOnDestroy = function () {
703
+ if (this.localizationSubscription) {
704
+ this.localizationSubscription.unsubscribe();
705
+ }
706
+ };
707
+ FilterGroupComponent.prototype.getLogicOperators = function () {
708
+ return localizeOperators(logicOperators)(this.localization);
709
+ };
668
710
  FilterGroupComponent.prototype.messageFor = function (key) {
669
711
  return this.localization.get(key);
670
712
  };
@@ -701,9 +743,9 @@ var FilterGroupComponent = /** @class */ (function () {
701
743
  FilterGroupComponent = __decorate([
702
744
  Component({
703
745
  selector: 'kendo-filter-group',
704
- template: "\n <div class=\"k-filter-toolbar\" role=\"toolbar\" [attr.aria-label]=\"messageFor('filterToolbarAriaLabel')\">\n <div class=\"k-toolbar\">\n <div class=\"k-filter-toolbar-item\">\n <div class=\"k-widget k-button-group\" role=\"group\">\n <button\n *ngFor=\"let operator of logicOperators\"\n kendoButton\n [ngClass]=\"{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}\"\n [selected]=\"currentItem.logic === operator.value\"\n [title]=\"operator.text\"\n (click)=\"selectedChange(operator.value)\"\n >\n {{operator.text}}\n </button>\n </div>\n </div>\n <div class=\"k-filter-toolbar-item\">\n <button\n kendoButton\n [title]=\"messageFor('addFilter')\"\n icon=\"filter-add-expression\"\n (click)=\"addFilterExpression()\">\n {{messageFor('addFilter')}}\n </button>\n </div>\n <div class=\"k-filter-toolbar-item\">\n <button\n kendoButton\n [title]=\"messageFor('addGroup')\"\n icon=\"filter-add-group\"\n (click)=\"addFilterGroup()\">\n {{messageFor('addGroup')}}\n </button>\n </div>\n <div class=\"k-filter-toolbar-item\">\n <button\n kendoButton\n icon=\"close\"\n fillMode=\"flat\"\n [title]=\"messageFor('remove')\"\n (click)=\"removeFilterGroup()\">\n </button>\n </div>\n </div>\n </div>\n\n <ul class=\"k-filter-lines\" *ngIf=\"currentItem.filters\">\n <ng-container *ngFor=\"let item of currentItem.filters; let i = index;\">\n <li class=\"k-filter-item\" *ngIf=\"!item.filters\">\n <kendo-filter-expression (valueChange)=\"valueChange.emit()\" [currentItem]=\"item\" [index]=\"i\">\n </kendo-filter-expression>\n </li>\n <li class=\"k-filter-item\" *ngIf=\"item.filters\" >\n <kendo-filter-group\n (valueChange)=\"valueChange.emit()\"\n [currentItem]=\"item\"\n [index]=\"i\"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n "
746
+ 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 "
705
747
  }),
706
- __metadata("design:paramtypes", [FilterService, LocalizationService])
748
+ __metadata("design:paramtypes", [FilterService, LocalizationService, ChangeDetectorRef])
707
749
  ], FilterGroupComponent);
708
750
  return FilterGroupComponent;
709
751
  }());
@@ -11,15 +11,35 @@ var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
11
11
  * @hidden
12
12
  */
13
13
  var FilterBooleanEditorComponent = /** @class */ (function () {
14
- function FilterBooleanEditorComponent(localization) {
14
+ function FilterBooleanEditorComponent(localization, cdr) {
15
15
  this.localization = localization;
16
+ this.cdr = cdr;
16
17
  this.valueChange = new core_1.EventEmitter();
17
- this.items = [
18
+ this.items = this.getValueItems();
19
+ this.defaultItem = this.getDefaultItem();
20
+ }
21
+ FilterBooleanEditorComponent.prototype.ngOnInit = function () {
22
+ var _this = this;
23
+ this.localizationSubscription = this.localization.changes.subscribe(function () {
24
+ _this.defaultItem = _this.getDefaultItem();
25
+ _this.items = _this.getValueItems();
26
+ _this.cdr.detectChanges();
27
+ });
28
+ };
29
+ FilterBooleanEditorComponent.prototype.getDefaultItem = function () {
30
+ return { text: this.localization.get("filterBooleanAll"), value: null };
31
+ };
32
+ FilterBooleanEditorComponent.prototype.getValueItems = function () {
33
+ return [
18
34
  { text: this.localization.get("filterIsTrue"), value: true },
19
35
  { text: this.localization.get("filterIsFalse"), value: false }
20
36
  ];
21
- this.defaultItem = { text: this.localization.get("filterBooleanAll"), value: null };
22
- }
37
+ };
38
+ FilterBooleanEditorComponent.prototype.ngOnDestroy = function () {
39
+ if (this.localizationSubscription) {
40
+ this.localizationSubscription.unsubscribe();
41
+ }
42
+ };
23
43
  FilterBooleanEditorComponent.prototype.messageFor = function (key) {
24
44
  return this.localization.get(key);
25
45
  };
@@ -36,7 +56,7 @@ var FilterBooleanEditorComponent = /** @class */ (function () {
36
56
  selector: 'kendo-filter-boolean-editor',
37
57
  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 "
38
58
  }),
39
- tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService])
59
+ tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService, core_1.ChangeDetectorRef])
40
60
  ], FilterBooleanEditorComponent);
41
61
  return FilterBooleanEditorComponent;
42
62
  }());
@@ -13,9 +13,10 @@ var util_1 = require("./util");
13
13
  * @hidden
14
14
  */
15
15
  var FilterExpressionComponent = /** @class */ (function () {
16
- function FilterExpressionComponent(filterService, localization) {
16
+ function FilterExpressionComponent(filterService, localization, cdr) {
17
17
  this.filterService = filterService;
18
18
  this.localization = localization;
19
+ this.cdr = cdr;
19
20
  this.valueChange = new core_1.EventEmitter();
20
21
  this.operators = [];
21
22
  this.filters = [];
@@ -23,16 +24,26 @@ var FilterExpressionComponent = /** @class */ (function () {
23
24
  this.isEditorDisabled = false;
24
25
  }
25
26
  FilterExpressionComponent.prototype.ngOnInit = function () {
27
+ var _this = this;
26
28
  this.filters = this.filterService.filters;
29
+ var foundFilter = this.getFilterExpressionByField(this.currentItem.field);
27
30
  if (this.currentItem.field) {
28
- var foundFilter = this.getFilterExpressionByField(this.currentItem.field);
29
31
  this.setOperators(foundFilter);
30
32
  }
33
+ var defaultFilter = this.getFilterExpressionByField(this.filterService.filters[0].field);
31
34
  if (!this.currentItem.field) {
32
35
  this.currentItem.field = this.filterService.filters[0].field;
33
- var defaultFilter = this.getFilterExpressionByField(this.filterService.filters[0].field);
34
36
  this.setOperators(defaultFilter);
35
37
  }
38
+ this.localizationSubscription = this.localization.changes.subscribe(function () {
39
+ _this.setOperators(foundFilter || defaultFilter);
40
+ _this.cdr.detectChanges();
41
+ });
42
+ };
43
+ FilterExpressionComponent.prototype.ngOnDestroy = function () {
44
+ if (this.localizationSubscription) {
45
+ this.localizationSubscription.unsubscribe();
46
+ }
36
47
  };
37
48
  FilterExpressionComponent.prototype.normalizeOperators = function (filterEditor, operators) {
38
49
  var result = [];
@@ -66,7 +77,7 @@ var FilterExpressionComponent = /** @class */ (function () {
66
77
  FilterExpressionComponent.prototype.getDefaultOperators = function (operatorsType) {
67
78
  switch (operatorsType) {
68
79
  case 'string':
69
- return util_1.localizeOperators(util_1.defaultDateOperators)(this.localization);
80
+ return util_1.localizeOperators(util_1.defaultStringOperators)(this.localization);
70
81
  case 'number':
71
82
  return util_1.localizeOperators(util_1.defaultNumericOperators)(this.localization);
72
83
  case 'date':
@@ -116,7 +127,7 @@ var FilterExpressionComponent = /** @class */ (function () {
116
127
  selector: 'kendo-filter-expression',
117
128
  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 "
118
129
  }),
119
- tslib_1.__metadata("design:paramtypes", [filter_service_1.FilterService, kendo_angular_l10n_1.LocalizationService])
130
+ tslib_1.__metadata("design:paramtypes", [filter_service_1.FilterService, kendo_angular_l10n_1.LocalizationService, core_1.ChangeDetectorRef])
120
131
  ], FilterExpressionComponent);
121
132
  return FilterExpressionComponent;
122
133
  }());
@@ -13,23 +13,34 @@ var util_1 = require("./util");
13
13
  * @hidden
14
14
  */
15
15
  var FilterGroupComponent = /** @class */ (function () {
16
- function FilterGroupComponent(filterService, localization) {
16
+ function FilterGroupComponent(filterService, localization, cdr) {
17
17
  this.filterService = filterService;
18
18
  this.localization = localization;
19
+ this.cdr = cdr;
19
20
  this.index = 0;
20
21
  this.currentItem = {
21
22
  logic: 'or',
22
23
  filters: []
23
24
  };
24
25
  this.valueChange = new core_1.EventEmitter();
26
+ this.operators = [];
25
27
  }
26
- Object.defineProperty(FilterGroupComponent.prototype, "logicOperators", {
27
- get: function () {
28
- return util_1.localizeOperators(util_1.logicOperators)(this.localization);
29
- },
30
- enumerable: true,
31
- configurable: true
32
- });
28
+ FilterGroupComponent.prototype.ngOnInit = function () {
29
+ var _this = this;
30
+ this.operators = this.getLogicOperators();
31
+ this.localizationSubscription = this.localization.changes.subscribe(function () {
32
+ _this.operators = _this.getLogicOperators();
33
+ _this.cdr.detectChanges();
34
+ });
35
+ };
36
+ FilterGroupComponent.prototype.ngOnDestroy = function () {
37
+ if (this.localizationSubscription) {
38
+ this.localizationSubscription.unsubscribe();
39
+ }
40
+ };
41
+ FilterGroupComponent.prototype.getLogicOperators = function () {
42
+ return util_1.localizeOperators(util_1.logicOperators)(this.localization);
43
+ };
33
44
  FilterGroupComponent.prototype.messageFor = function (key) {
34
45
  return this.localization.get(key);
35
46
  };
@@ -66,9 +77,9 @@ var FilterGroupComponent = /** @class */ (function () {
66
77
  FilterGroupComponent = tslib_1.__decorate([
67
78
  core_1.Component({
68
79
  selector: 'kendo-filter-group',
69
- template: "\n <div class=\"k-filter-toolbar\" role=\"toolbar\" [attr.aria-label]=\"messageFor('filterToolbarAriaLabel')\">\n <div class=\"k-toolbar\">\n <div class=\"k-filter-toolbar-item\">\n <div class=\"k-widget k-button-group\" role=\"group\">\n <button\n *ngFor=\"let operator of logicOperators\"\n kendoButton\n [ngClass]=\"{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}\"\n [selected]=\"currentItem.logic === operator.value\"\n [title]=\"operator.text\"\n (click)=\"selectedChange(operator.value)\"\n >\n {{operator.text}}\n </button>\n </div>\n </div>\n <div class=\"k-filter-toolbar-item\">\n <button\n kendoButton\n [title]=\"messageFor('addFilter')\"\n icon=\"filter-add-expression\"\n (click)=\"addFilterExpression()\">\n {{messageFor('addFilter')}}\n </button>\n </div>\n <div class=\"k-filter-toolbar-item\">\n <button\n kendoButton\n [title]=\"messageFor('addGroup')\"\n icon=\"filter-add-group\"\n (click)=\"addFilterGroup()\">\n {{messageFor('addGroup')}}\n </button>\n </div>\n <div class=\"k-filter-toolbar-item\">\n <button\n kendoButton\n icon=\"close\"\n fillMode=\"flat\"\n [title]=\"messageFor('remove')\"\n (click)=\"removeFilterGroup()\">\n </button>\n </div>\n </div>\n </div>\n\n <ul class=\"k-filter-lines\" *ngIf=\"currentItem.filters\">\n <ng-container *ngFor=\"let item of currentItem.filters; let i = index;\">\n <li class=\"k-filter-item\" *ngIf=\"!item.filters\">\n <kendo-filter-expression (valueChange)=\"valueChange.emit()\" [currentItem]=\"item\" [index]=\"i\">\n </kendo-filter-expression>\n </li>\n <li class=\"k-filter-item\" *ngIf=\"item.filters\" >\n <kendo-filter-group\n (valueChange)=\"valueChange.emit()\"\n [currentItem]=\"item\"\n [index]=\"i\"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n "
80
+ 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 "
70
81
  }),
71
- tslib_1.__metadata("design:paramtypes", [filter_service_1.FilterService, kendo_angular_l10n_1.LocalizationService])
82
+ tslib_1.__metadata("design:paramtypes", [filter_service_1.FilterService, kendo_angular_l10n_1.LocalizationService, core_1.ChangeDetectorRef])
72
83
  ], FilterGroupComponent);
73
84
  return FilterGroupComponent;
74
85
  }());
@@ -11,7 +11,7 @@ exports.packageMetadata = {
11
11
  name: '@progress/kendo-angular-filter',
12
12
  productName: 'Kendo UI for Angular',
13
13
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
14
- publishDate: 1644849909,
14
+ publishDate: 1645797407,
15
15
  version: '',
16
16
  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'
17
17
  };
@@ -2,4 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- System.register("@progress/kendo-angular-filter",["tslib","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-licensing","@angular/common","@progress/kendo-angular-dropdowns","@progress/kendo-angular-dateinputs","@progress/kendo-angular-inputs","@progress/kendo-angular-buttons","@progress/kendo-angular-label"],function(m){var n,a,l,s,d,u,p,f,c,g;function t(e){return e.__useDefault?e.default:e}return{setters:[function(e){n=t(e)},function(e){a=t(e)},function(e){l=t(e)},function(e){s=t(e)},function(e){d=t(e)},function(e){u=t(e)},function(e){p=t(e)},function(e){f=t(e)},function(e){c=t(e)},function(e){g=t(e)}],execute:function(){function i(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}var r,o;r=[function(e,t){e.exports=a},function(e,t){e.exports=n},function(e,t){e.exports=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),r=r(0),i=(o.prototype.addFilterGroup=function(e){e.filters.push({logic:"or",filters:[]})},o.prototype.addFilterExpression=function(e){e.filters.push({operator:"eq",value:null,field:null})},o.prototype.remove=function(t,r,e){var i,o=this;e=e||this.value,t!==e?0<=(i=e.filters.indexOf(t))&&i===r?e.filters=e.filters.filter(function(e){return e!==t}):e.filters.forEach(function(e){return e.filters&&o.remove(t,r,e)}):e.filters=[]},i.__decorate([r.Injectable()],o));function o(){this.value={filters:[],logic:"or"},this.filters=[],this.isEditorDisabled=!1}t.FilterService=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nullOperators=["isnull","isnotnull","isempty","isnotempty"],t.numericOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.stringOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Contains",value:"contains"},{text:"Does not contain",value:"doesnotcontain"},{text:"Starts with",value:"startswith"},{text:"Ends with",value:"endswith"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"},{text:"Is empty",value:"isempty"},{text:"Is not empty",value:"isnotempty"}],t.booleanOperators=[{text:"Is equal to",value:"eq"},{text:"Is not equal to",value:"neq"}],t.dateOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.isArray=function(e){return Array.isArray(e)},t.getKeyByValue=function(t,r){return Object.keys(t).find(function(e){return t[e]===r})},t.defaultStringOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"},t.defaultNumericOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterGteOperator:"gte",filterGtOperator:"gt",filterLteOperator:"lte",filterLtOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultDateOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterAfterOrEqualOperator:"gte",filterAfterOperator:"gt",filterBeforeOrEqualOperator:"lte",filterBeforeOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultOperators={string:t.defaultStringOperators,number:t.defaultNumericOperators,date:t.defaultDateOperators},t.logicOperators={filterAndLogic:"and",filterOrLogic:"or"},t.isFilterEditor=function(e){return 0<=["string","number","boolean","date"].indexOf(e)},t.localizeOperators=function(r){return function(t){return Object.keys(r).map(function(e){return{text:t.get(e),value:r[e]}})}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=r(1),n=r(0),r=(i=r(2).ComponentMessages,o.__extends(a,i),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterExpressionOperators",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterExpressionFilters",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"remove",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"addGroup",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"addFilter",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterAndLogic",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterOrLogic",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterEqOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterNotEqOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsNullOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsNotNullOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsEmptyOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsNotEmptyOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterStartsWithOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterContainsOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterNotContainsOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterEndsWithOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterGteOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterGtOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterLteOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterLtOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsTrue",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsFalse",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterBooleanAll",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterAfterOrEqualOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterAfterOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterBeforeOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterBeforeOrEqualOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"editorNumericDecrement",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"editorNumericIncrement",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"editorDateTodayText",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"editorDateToggleText",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterFieldAriaLabel",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterOperatorAriaLabel",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterValueAriaLabel",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterAriaLabel",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterToolbarAriaLabel",void 0),a);function a(){return null!==i&&i.apply(this,arguments)||this}t.Messages=r},function(u,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=t(1),i=t(0),o=t(2),n=t(3),a=t(4),l=t(0),s=t(26),p=t(25),t=(Object.defineProperty(d.prototype,"filters",{get:function(){return this.filterService.filters},set:function(e){if(i.isDevMode()&&(!a.isArray(e)||0===e.length))throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.filterService.filters=e.map(function(e){e=Object.assign({},e);return e.title||(e.title=e.field),e})},enumerable:!0,configurable:!0}),Object.defineProperty(d.prototype,"value",{get:function(){return this.filterService.value},set:function(e){e=JSON.parse(JSON.stringify(e));this.normalizeValue(e),this.filterService.value=e},enumerable:!0,configurable:!0}),d.prototype.ngOnInit=function(){var t=this;if(0===this.filters.length)throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.localizationSubscription=this.localization.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr",t.cdr.detectChanges()})},d.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},d.prototype.getCurrentFilter=function(){return this.value},d.prototype.getCurrentFilterChildren=function(){return this.value.filters},d.prototype.onValueChange=function(){this.valueChange.emit(this.filterService.value)},d.prototype.normalizeFilter=function(t){var e=this.filterService.filters.find(function(e){return e.field===t.field});if(i.isDevMode()&&!e)throw new Error("There is no user-defined filter with '"+t.field+"' field provided through the [filters] input property.");i.isDevMode()&&"boolean"===e.editor&&!t.value&&!1!==t.value&&console.warn("Provide a value for the boolean '"+t.field+"' user-defined filter as the operator is always set to 'eq'."),"boolean"===e.editor&&(t.operator="eq"),"date"===e.editor&&t.value&&(t.value=new Date(t.value)),t.value||!1===t.value||(t.value=null)},d.prototype.normalizeValue=function(e){var t=this;e.filters.forEach(function(e){e.filters?t.normalizeValue(e):t.normalizeFilter(e)})},r.__decorate([i.HostBinding("attr.dir"),r.__metadata("design:type",String)],d.prototype,"direction",void 0),r.__decorate([i.Input(),r.__metadata("design:type",Array),r.__metadata("design:paramtypes",[Array])],d.prototype,"filters",null),r.__decorate([i.Input(),r.__metadata("design:type",Object),r.__metadata("design:paramtypes",[Object])],d.prototype,"value",null),r.__decorate([i.Output(),r.__metadata("design:type",i.EventEmitter)],d.prototype,"valueChange",void 0),r.__decorate([i.Component({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'}),r.__metadata("design:paramtypes",[n.FilterService,o.LocalizationService,l.ChangeDetectorRef])],d));function d(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new i.EventEmitter,s.validatePackage(p.packageMetadata),this.direction=t.rtl?"rtl":"ltr"}e.FilterComponent=t},function(e,t){e.exports=p},function(e,t){e.exports=c},function(e,t){e.exports=g},function(e,t){e.exports=f},function(e,t){e.exports=u},function(e,t){e.exports=d},function(u,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=t(1),i=t(12),o=t(11),n=t(10),a=t(9),l=t(0),s=t(8),d=t(3),t=t(7),i=[i.CommonModule,n.InputsModule,a.LabelModule,o.DropDownsModule,s.ButtonsModule,t.DateInputsModule],n=r.__decorate([l.NgModule({imports:i.slice(),exports:i.slice(),providers:[d.FilterService]})],p);function p(){}e.SharedModule=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o,n=r(1),a=r(0),l=r(2),r=r(5),r=(i=r.Messages,n.__extends(s,i),o=s,o=n.__decorate([a.Directive({providers:[{provide:r.Messages,useExisting:a.forwardRef(function(){return o})}],selector:"[kendoFilterLocalizedMessages]"}),n.__metadata("design:paramtypes",[l.LocalizationService])],s));function s(e){var t=i.call(this)||this;return t.service=e,t}t.LocalizedMessagesDirective=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o,n=r(1),a=r(0),l=r(2),r=r(5),r=(i=r.Messages,n.__extends(s,i),o=s,Object.defineProperty(s.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),o=n.__decorate([a.Component({providers:[{provide:r.Messages,useExisting:a.forwardRef(function(){return o})}],selector:"kendo-filter-messages",template:""}),n.__metadata("design:paramtypes",[l.LocalizationService])],s));function s(e){var t=i.call(this)||this;return t.service=e,t}t.CustomMessagesComponent=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),a=r(3),l=r(4),r=(Object.defineProperty(s.prototype,"logicOperators",{get:function(){return l.localizeOperators(l.logicOperators)(this.localization)},enumerable:!0,configurable:!0}),s.prototype.messageFor=function(e){return this.localization.get(e)},s.prototype.selectedChange=function(e){this.currentItem.logic!==e&&(this.currentItem.logic=e,this.valueChange.emit())},s.prototype.addFilterExpression=function(){this.filterService.addFilterExpression(this.currentItem),this.valueChange.emit()},s.prototype.addFilterGroup=function(){this.filterService.addFilterGroup(this.currentItem),this.valueChange.emit()},s.prototype.removeFilterGroup=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},i.__decorate([o.Input(),i.__metadata("design:type",Number)],s.prototype,"index",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],s.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],s.prototype,"valueChange",void 0),i.__decorate([o.Component({selector:"kendo-filter-group",template:'\n <div class="k-filter-toolbar" role="toolbar" [attr.aria-label]="messageFor(\'filterToolbarAriaLabel\')">\n <div class="k-toolbar">\n <div class="k-filter-toolbar-item">\n <div class="k-widget k-button-group" role="group">\n <button\n *ngFor="let operator of logicOperators"\n kendoButton\n [ngClass]="{\'k-group-start\': operator.value === \'and\', \'k-group-end\': operator.value === \'or\'}"\n [selected]="currentItem.logic === operator.value"\n [title]="operator.text"\n (click)="selectedChange(operator.value)"\n >\n {{operator.text}}\n </button>\n </div>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addFilter\')"\n icon="filter-add-expression"\n (click)="addFilterExpression()">\n {{messageFor(\'addFilter\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n [title]="messageFor(\'addGroup\')"\n icon="filter-add-group"\n (click)="addFilterGroup()">\n {{messageFor(\'addGroup\')}}\n </button>\n </div>\n <div class="k-filter-toolbar-item">\n <button\n kendoButton\n icon="close"\n fillMode="flat"\n [title]="messageFor(\'remove\')"\n (click)="removeFilterGroup()">\n </button>\n </div>\n </div>\n </div>\n\n <ul class="k-filter-lines" *ngIf="currentItem.filters">\n <ng-container *ngFor="let item of currentItem.filters; let i = index;">\n <li class="k-filter-item" *ngIf="!item.filters">\n <kendo-filter-expression (valueChange)="valueChange.emit()" [currentItem]="item" [index]="i">\n </kendo-filter-expression>\n </li>\n <li class="k-filter-item" *ngIf="item.filters" >\n <kendo-filter-group\n (valueChange)="valueChange.emit()"\n [currentItem]="item"\n [index]="i"\n >\n </kendo-filter-group>\n </li>\n </ng-container>\n </ul>\n '}),i.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService])],s));function s(e,t){this.filterService=e,this.localization=t,this.index=0,this.currentItem={logic:"or",filters:[]},this.valueChange=new o.EventEmitter}t.FilterGroupComponent=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),a=r(3),l=r(4),r=(s.prototype.ngOnInit=function(){var e;this.filters=this.filterService.filters,this.currentItem.field&&(e=this.getFilterExpressionByField(this.currentItem.field),this.setOperators(e)),this.currentItem.field||(this.currentItem.field=this.filterService.filters[0].field,e=this.getFilterExpressionByField(this.filterService.filters[0].field),this.setOperators(e))},s.prototype.normalizeOperators=function(e,t){for(var r=[],i=0;i<t.length;i++)l.isFilterEditor(e)&&r.push({value:t[i],text:this.localization.get(l.getKeyByValue(l.defaultOperators[e],t[i]))});return r},s.prototype.messageFor=function(e){return this.localization.get(e)},s.prototype.getFilterExpressionByField=function(t){return this.filterService.filters.find(function(e){return e.field===t})||null},s.prototype.filterValueChange=function(e){this.currentItem.value=null,this.currentItem.field=e;e=this.getFilterExpressionByField(this.currentItem.field);this.setOperators(e),this.valueChange.emit()},s.prototype.getDefaultOperators=function(e){switch(e){case"string":return l.localizeOperators(l.defaultDateOperators)(this.localization);case"number":return l.localizeOperators(l.defaultNumericOperators)(this.localization);case"date":return l.localizeOperators(l.defaultDateOperators)(this.localization)}},s.prototype.getEditorType=function(){var t=this;return this.filterService.filters.find(function(e){return e.field===t.currentItem.field}).editor},s.prototype.removeFilterExpression=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},s.prototype.setOperators=function(e){var t;this.isBoolean="boolean"===e.editor,this.isBoolean||(e.operators?(t=this.normalizeOperators(e.editor,e.operators),this.operators=t,this.currentItem.operator=t[0].value):(this.operators=this.getDefaultOperators(e.editor),this.currentItem.operator=this.operators[0].value))},i.__decorate([o.Input(),i.__metadata("design:type",Number)],s.prototype,"index",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],s.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],s.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService])],s));function s(e,t){this.filterService=e,this.localization=t,this.valueChange=new o.EventEmitter,this.operators=[],this.filters=[],this.isBoolean=!1,this.isEditorDisabled=!1}t.FilterExpressionComponent=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),a=r(3),l=r(4),r=(s.prototype.messageFor=function(e){return this.localization.get(e)},s.prototype.operatorValueChange=function(e){this.valueChange.emit(),this.filterService.isEditorDisabled=0<=l.nullOperators.indexOf(e)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],s.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],s.prototype,"valueChange",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Array)],s.prototype,"operators",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService])],s));function s(e,t){this.filterService=e,this.localization=t,this.valueChange=new o.EventEmitter,this.operators=[]}t.FilterExpressionOperatorsComponent=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),r=r(3),i=(a.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},a.prototype.messageFor=function(e){return this.localization.get(e)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],a.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],a.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[n.LocalizationService,r.FilterService])],a));function a(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}t.FilterTextEditorComponent=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),r=r(3),i=(a.prototype.messageFor=function(e){return this.localization.get(e)},a.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},i.__decorate([o.Input(),i.__metadata("design:type",Object)],a.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],a.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[n.LocalizationService,r.FilterService])],a));function a(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}t.FilterNumericEditorComponent=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),r=r(3),i=(a.prototype.messageFor=function(e){return this.localization.get(e)},a.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},i.__decorate([o.Input(),i.__metadata("design:type",Object)],a.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],a.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[n.LocalizationService,r.FilterService])],a));function a(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}t.FilterDateEditorComponent=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),r=r(2),i=(n.prototype.messageFor=function(e){return this.localization.get(e)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],n.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],n.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[r.LocalizationService])],n));function n(e){this.localization=e,this.valueChange=new o.EventEmitter,this.items=[{text:this.localization.get("filterIsTrue"),value:!0},{text:this.localization.get("filterIsFalse"),value:!1}],this.defaultItem={text:this.localization.get("filterBooleanAll"),value:null}}t.FilterBooleanEditorComponent=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),r=r(0),i=(o.prototype.ngOnChanges=function(){var e=this.hostElement.nativeElement.querySelector("input")||this.hostElement.nativeElement;this.renderer.setAttribute(e,"aria-label",this.ariaLabel)},i.__decorate([r.Input("kendoAriaLabelValue"),i.__metadata("design:type",String)],o.prototype,"ariaLabel",void 0),i.__decorate([r.Directive({selector:"[kendoAriaLabelValue]"}),i.__metadata("design:paramtypes",[r.ElementRef,r.Renderer2])],o));function o(e,t){this.hostElement=e,this.renderer=t}t.AriaLabelValueDirective=i},function(u,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=t(1),p=t(0),i=t(2),o=t(23),n=t(22),a=t(21),l=t(20),s=t(19),d=t(18),f=t(17),c=t(16),m=t(6),g=t(15),v=t(14),t=t(13),r=r.__decorate([p.NgModule({imports:[t.SharedModule],declarations:[m.FilterComponent,l.FilterNumericEditorComponent,s.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,d.FilterExpressionOperatorsComponent,n.FilterBooleanEditorComponent,a.FilterDateEditorComponent,v.LocalizedMessagesDirective,g.CustomMessagesComponent,o.AriaLabelValueDirective],exports:[m.FilterComponent,l.FilterNumericEditorComponent,s.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,d.FilterExpressionOperatorsComponent,n.FilterBooleanEditorComponent,a.FilterDateEditorComponent,v.LocalizedMessagesDirective,g.CustomMessagesComponent,o.AriaLabelValueDirective],providers:[i.LocalizationService,{provide:i.L10N_PREFIX,useValue:"kendo.filter"}]})],h);function h(){}e.FilterModule=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-filter",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1644849909,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t){e.exports=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=r(6),o=(t.FilterComponent=o.FilterComponent,r(24)),n=(t.FilterModule=o.FilterModule,t);for(i in n)m(i,n[i])}],o={},i.m=r,i.c=o,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=27)}}});
5
+ System.register("@progress/kendo-angular-filter",["tslib","@angular/core","@progress/kendo-licensing","@progress/kendo-angular-l10n","@angular/common","@progress/kendo-angular-dropdowns","@progress/kendo-angular-inputs","@progress/kendo-angular-label","@progress/kendo-angular-dateinputs","@progress/kendo-angular-buttons"],function(g){var n,a,l,s,u,d,p,f,c,m;function t(e){return e.__useDefault?e.default:e}return{setters:[function(e){n=t(e)},function(e){a=t(e)},function(e){l=t(e)},function(e){s=t(e)},function(e){u=t(e)},function(e){d=t(e)},function(e){p=t(e)},function(e){f=t(e)},function(e){c=t(e)},function(e){m=t(e)}],execute:function(){function i(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}var r,o;r=[function(e,t){e.exports=a},function(e,t){e.exports=n},function(e,t){e.exports=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),r=r(0),i=(o.prototype.addFilterGroup=function(e){e.filters.push({logic:"or",filters:[]})},o.prototype.addFilterExpression=function(e){e.filters.push({operator:"eq",value:null,field:null})},o.prototype.remove=function(t,r,e){var i,o=this;e=e||this.value,t!==e?0<=(i=e.filters.indexOf(t))&&i===r?e.filters=e.filters.filter(function(e){return e!==t}):e.filters.forEach(function(e){return e.filters&&o.remove(t,r,e)}):e.filters=[]},i.__decorate([r.Injectable()],o));function o(){this.value={filters:[],logic:"or"},this.filters=[],this.isEditorDisabled=!1}t.FilterService=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nullOperators=["isnull","isnotnull","isempty","isnotempty"],t.numericOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.stringOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Contains",value:"contains"},{text:"Does not contain",value:"doesnotcontain"},{text:"Starts with",value:"startswith"},{text:"Ends with",value:"endswith"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"},{text:"Is empty",value:"isempty"},{text:"Is not empty",value:"isnotempty"}],t.booleanOperators=[{text:"Is equal to",value:"eq"},{text:"Is not equal to",value:"neq"}],t.dateOperators=[{text:"Is equal to",value:"eq"},{text:"Not equal to",value:"neq"},{text:"Greater than or equal to",value:"gte"},{text:"Greater than",value:"gt"},{text:"Less than or equal to",value:"lte"},{text:"Less than",value:"lt"},{text:"Is null",value:"isnull"},{text:"Is not null",value:"isnotnull"}],t.isArray=function(e){return Array.isArray(e)},t.getKeyByValue=function(t,r){return Object.keys(t).find(function(e){return t[e]===r})},t.defaultStringOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterContainsOperator:"contains",filterNotContainsOperator:"doesnotcontain",filterStartsWithOperator:"startswith",filterEndsWithOperator:"endswith",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull",filterIsEmptyOperator:"isempty",filterIsNotEmptyOperator:"isnotempty"},t.defaultNumericOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterGteOperator:"gte",filterGtOperator:"gt",filterLteOperator:"lte",filterLtOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultDateOperators={filterEqOperator:"eq",filterNotEqOperator:"neq",filterAfterOrEqualOperator:"gte",filterAfterOperator:"gt",filterBeforeOrEqualOperator:"lte",filterBeforeOperator:"lt",filterIsNullOperator:"isnull",filterIsNotNullOperator:"isnotnull"},t.defaultOperators={string:t.defaultStringOperators,number:t.defaultNumericOperators,date:t.defaultDateOperators},t.logicOperators={filterAndLogic:"and",filterOrLogic:"or"},t.isFilterEditor=function(e){return 0<=["string","number","boolean","date"].indexOf(e)},t.localizeOperators=function(r){return function(t){return Object.keys(r).map(function(e){return{text:t.get(e),value:r[e]}})}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=r(1),n=r(0),r=(i=r(2).ComponentMessages,o.__extends(a,i),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterExpressionOperators",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterExpressionFilters",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"remove",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"addGroup",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"addFilter",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterAndLogic",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterOrLogic",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterEqOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterNotEqOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsNullOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsNotNullOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsEmptyOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsNotEmptyOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterStartsWithOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterContainsOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterNotContainsOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterEndsWithOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterGteOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterGtOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterLteOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterLtOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsTrue",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterIsFalse",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterBooleanAll",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterAfterOrEqualOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterAfterOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterBeforeOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterBeforeOrEqualOperator",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"editorNumericDecrement",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"editorNumericIncrement",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"editorDateTodayText",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"editorDateToggleText",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterFieldAriaLabel",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterOperatorAriaLabel",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterValueAriaLabel",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterAriaLabel",void 0),o.__decorate([n.Input(),o.__metadata("design:type",String)],a.prototype,"filterToolbarAriaLabel",void 0),a);function a(){return null!==i&&i.apply(this,arguments)||this}t.Messages=r},function(d,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=t(1),i=t(0),o=t(2),n=t(3),a=t(4),l=t(0),s=t(26),p=t(25),t=(Object.defineProperty(u.prototype,"filters",{get:function(){return this.filterService.filters},set:function(e){if(i.isDevMode()&&(!a.isArray(e)||0===e.length))throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.filterService.filters=e.map(function(e){e=Object.assign({},e);return e.title||(e.title=e.field),e})},enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,"value",{get:function(){return this.filterService.value},set:function(e){e=JSON.parse(JSON.stringify(e));this.normalizeValue(e),this.filterService.value=e},enumerable:!0,configurable:!0}),u.prototype.ngOnInit=function(){var t=this;if(0===this.filters.length)throw new Error("Pass at least one user-defined filter through the [filters] input property. See http://www.telerik.com/kendo-angular-ui/components/filter/#data-binding");this.localizationSubscription=this.localization.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr",t.cdr.detectChanges()})},u.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},u.prototype.getCurrentFilter=function(){return this.value},u.prototype.getCurrentFilterChildren=function(){return this.value.filters},u.prototype.onValueChange=function(){this.valueChange.emit(this.filterService.value)},u.prototype.normalizeFilter=function(t){var e=this.filterService.filters.find(function(e){return e.field===t.field});if(i.isDevMode()&&!e)throw new Error("There is no user-defined filter with '"+t.field+"' field provided through the [filters] input property.");i.isDevMode()&&"boolean"===e.editor&&!t.value&&!1!==t.value&&console.warn("Provide a value for the boolean '"+t.field+"' user-defined filter as the operator is always set to 'eq'."),"boolean"===e.editor&&(t.operator="eq"),"date"===e.editor&&t.value&&(t.value=new Date(t.value)),t.value||!1===t.value||(t.value=null)},u.prototype.normalizeValue=function(e){var t=this;e.filters.forEach(function(e){e.filters?t.normalizeValue(e):t.normalizeFilter(e)})},r.__decorate([i.HostBinding("attr.dir"),r.__metadata("design:type",String)],u.prototype,"direction",void 0),r.__decorate([i.Input(),r.__metadata("design:type",Array),r.__metadata("design:paramtypes",[Array])],u.prototype,"filters",null),r.__decorate([i.Input(),r.__metadata("design:type",Object),r.__metadata("design:paramtypes",[Object])],u.prototype,"value",null),r.__decorate([i.Output(),r.__metadata("design:type",i.EventEmitter)],u.prototype,"valueChange",void 0),r.__decorate([i.Component({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'}),r.__metadata("design:paramtypes",[n.FilterService,o.LocalizationService,l.ChangeDetectorRef])],u));function u(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new i.EventEmitter,s.validatePackage(p.packageMetadata),this.direction=t.rtl?"rtl":"ltr"}e.FilterComponent=t},function(e,t){e.exports=c},function(e,t){e.exports=m},function(e,t){e.exports=f},function(e,t){e.exports=p},function(e,t){e.exports=d},function(e,t){e.exports=u},function(d,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=t(1),i=t(12),o=t(11),n=t(10),a=t(9),l=t(0),s=t(8),u=t(3),t=t(7),i=[i.CommonModule,n.InputsModule,a.LabelModule,o.DropDownsModule,s.ButtonsModule,t.DateInputsModule],n=r.__decorate([l.NgModule({imports:i.slice(),exports:i.slice(),providers:[u.FilterService]})],p);function p(){}e.SharedModule=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o,n=r(1),a=r(0),l=r(2),r=r(5),r=(i=r.Messages,n.__extends(s,i),o=s,o=n.__decorate([a.Directive({providers:[{provide:r.Messages,useExisting:a.forwardRef(function(){return o})}],selector:"[kendoFilterLocalizedMessages]"}),n.__metadata("design:paramtypes",[l.LocalizationService])],s));function s(e){var t=i.call(this)||this;return t.service=e,t}t.LocalizedMessagesDirective=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o,n=r(1),a=r(0),l=r(2),r=r(5),r=(i=r.Messages,n.__extends(s,i),o=s,Object.defineProperty(s.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),o=n.__decorate([a.Component({providers:[{provide:r.Messages,useExisting:a.forwardRef(function(){return o})}],selector:"kendo-filter-messages",template:""}),n.__metadata("design:paramtypes",[l.LocalizationService])],s));function s(e){var t=i.call(this)||this;return t.service=e,t}t.CustomMessagesComponent=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),a=r(3),l=r(4),r=(s.prototype.ngOnInit=function(){var e=this;this.operators=this.getLogicOperators(),this.localizationSubscription=this.localization.changes.subscribe(function(){e.operators=e.getLogicOperators(),e.cdr.detectChanges()})},s.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},s.prototype.getLogicOperators=function(){return l.localizeOperators(l.logicOperators)(this.localization)},s.prototype.messageFor=function(e){return this.localization.get(e)},s.prototype.selectedChange=function(e){this.currentItem.logic!==e&&(this.currentItem.logic=e,this.valueChange.emit())},s.prototype.addFilterExpression=function(){this.filterService.addFilterExpression(this.currentItem),this.valueChange.emit()},s.prototype.addFilterGroup=function(){this.filterService.addFilterGroup(this.currentItem),this.valueChange.emit()},s.prototype.removeFilterGroup=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},i.__decorate([o.Input(),i.__metadata("design:type",Number)],s.prototype,"index",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],s.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],s.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService,o.ChangeDetectorRef])],s));function s(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.index=0,this.currentItem={logic:"or",filters:[]},this.valueChange=new o.EventEmitter,this.operators=[]}t.FilterGroupComponent=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),a=r(3),l=r(4),r=(s.prototype.ngOnInit=function(){var e=this,t=(this.filters=this.filterService.filters,this.getFilterExpressionByField(this.currentItem.field)),r=(this.currentItem.field&&this.setOperators(t),this.getFilterExpressionByField(this.filterService.filters[0].field));this.currentItem.field||(this.currentItem.field=this.filterService.filters[0].field,this.setOperators(r)),this.localizationSubscription=this.localization.changes.subscribe(function(){e.setOperators(t||r),e.cdr.detectChanges()})},s.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},s.prototype.normalizeOperators=function(e,t){for(var r=[],i=0;i<t.length;i++)l.isFilterEditor(e)&&r.push({value:t[i],text:this.localization.get(l.getKeyByValue(l.defaultOperators[e],t[i]))});return r},s.prototype.messageFor=function(e){return this.localization.get(e)},s.prototype.getFilterExpressionByField=function(t){return this.filterService.filters.find(function(e){return e.field===t})||null},s.prototype.filterValueChange=function(e){this.currentItem.value=null,this.currentItem.field=e;e=this.getFilterExpressionByField(this.currentItem.field);this.setOperators(e),this.valueChange.emit()},s.prototype.getDefaultOperators=function(e){switch(e){case"string":return l.localizeOperators(l.defaultStringOperators)(this.localization);case"number":return l.localizeOperators(l.defaultNumericOperators)(this.localization);case"date":return l.localizeOperators(l.defaultDateOperators)(this.localization)}},s.prototype.getEditorType=function(){var t=this;return this.filterService.filters.find(function(e){return e.field===t.currentItem.field}).editor},s.prototype.removeFilterExpression=function(){this.filterService.remove(this.currentItem,this.index),this.valueChange.emit()},s.prototype.setOperators=function(e){var t;this.isBoolean="boolean"===e.editor,this.isBoolean||(e.operators?(t=this.normalizeOperators(e.editor,e.operators),this.operators=t,this.currentItem.operator=t[0].value):(this.operators=this.getDefaultOperators(e.editor),this.currentItem.operator=this.operators[0].value))},i.__decorate([o.Input(),i.__metadata("design:type",Number)],s.prototype,"index",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],s.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],s.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService,o.ChangeDetectorRef])],s));function s(e,t,r){this.filterService=e,this.localization=t,this.cdr=r,this.valueChange=new o.EventEmitter,this.operators=[],this.filters=[],this.isBoolean=!1,this.isEditorDisabled=!1}t.FilterExpressionComponent=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),a=r(3),l=r(4),r=(s.prototype.messageFor=function(e){return this.localization.get(e)},s.prototype.operatorValueChange=function(e){this.valueChange.emit(),this.filterService.isEditorDisabled=0<=l.nullOperators.indexOf(e)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],s.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],s.prototype,"valueChange",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Array)],s.prototype,"operators",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[a.FilterService,n.LocalizationService])],s));function s(e,t){this.filterService=e,this.localization=t,this.valueChange=new o.EventEmitter,this.operators=[]}t.FilterExpressionOperatorsComponent=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),r=r(3),i=(a.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},a.prototype.messageFor=function(e){return this.localization.get(e)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],a.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],a.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[n.LocalizationService,r.FilterService])],a));function a(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}t.FilterTextEditorComponent=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),r=r(3),i=(a.prototype.messageFor=function(e){return this.localization.get(e)},a.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},i.__decorate([o.Input(),i.__metadata("design:type",Object)],a.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],a.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[n.LocalizationService,r.FilterService])],a));function a(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}t.FilterNumericEditorComponent=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),n=r(2),r=r(3),i=(a.prototype.messageFor=function(e){return this.localization.get(e)},a.prototype.isDisabled=function(){var e=this.filterService.isEditorDisabled;return e&&(this.currentItem.value=null),e},i.__decorate([o.Input(),i.__metadata("design:type",Object)],a.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],a.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[n.LocalizationService,r.FilterService])],a));function a(e,t){this.localization=e,this.filterService=t,this.valueChange=new o.EventEmitter}t.FilterDateEditorComponent=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),o=r(0),r=r(2),i=(n.prototype.ngOnInit=function(){var e=this;this.localizationSubscription=this.localization.changes.subscribe(function(){e.defaultItem=e.getDefaultItem(),e.items=e.getValueItems(),e.cdr.detectChanges()})},n.prototype.getDefaultItem=function(){return{text:this.localization.get("filterBooleanAll"),value:null}},n.prototype.getValueItems=function(){return[{text:this.localization.get("filterIsTrue"),value:!0},{text:this.localization.get("filterIsFalse"),value:!1}]},n.prototype.ngOnDestroy=function(){this.localizationSubscription&&this.localizationSubscription.unsubscribe()},n.prototype.messageFor=function(e){return this.localization.get(e)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],n.prototype,"currentItem",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],n.prototype,"valueChange",void 0),i.__decorate([o.Component({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 '}),i.__metadata("design:paramtypes",[r.LocalizationService,o.ChangeDetectorRef])],n));function n(e,t){this.localization=e,this.cdr=t,this.valueChange=new o.EventEmitter,this.items=this.getValueItems(),this.defaultItem=this.getDefaultItem()}t.FilterBooleanEditorComponent=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(1),r=r(0),i=(o.prototype.ngOnChanges=function(){var e=this.hostElement.nativeElement.querySelector("input")||this.hostElement.nativeElement;this.renderer.setAttribute(e,"aria-label",this.ariaLabel)},i.__decorate([r.Input("kendoAriaLabelValue"),i.__metadata("design:type",String)],o.prototype,"ariaLabel",void 0),i.__decorate([r.Directive({selector:"[kendoAriaLabelValue]"}),i.__metadata("design:paramtypes",[r.ElementRef,r.Renderer2])],o));function o(e,t){this.hostElement=e,this.renderer=t}t.AriaLabelValueDirective=i},function(d,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=t(1),p=t(0),i=t(2),o=t(23),n=t(22),a=t(21),l=t(20),s=t(19),u=t(18),f=t(17),c=t(16),g=t(6),m=t(15),h=t(14),t=t(13),r=r.__decorate([p.NgModule({imports:[t.SharedModule],declarations:[g.FilterComponent,l.FilterNumericEditorComponent,s.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,u.FilterExpressionOperatorsComponent,n.FilterBooleanEditorComponent,a.FilterDateEditorComponent,h.LocalizedMessagesDirective,m.CustomMessagesComponent,o.AriaLabelValueDirective],exports:[g.FilterComponent,l.FilterNumericEditorComponent,s.FilterTextEditorComponent,f.FilterExpressionComponent,c.FilterGroupComponent,u.FilterExpressionOperatorsComponent,n.FilterBooleanEditorComponent,a.FilterDateEditorComponent,h.LocalizedMessagesDirective,m.CustomMessagesComponent,o.AriaLabelValueDirective],providers:[i.LocalizationService,{provide:i.L10N_PREFIX,useValue:"kendo.filter"}]})],v);function v(){}e.FilterModule=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-filter",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1645797407,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t){e.exports=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=r(6),o=(t.FilterComponent=o.FilterComponent,r(24)),n=(t.FilterModule=o.FilterModule,t);for(i in n)g(i,n[i])}],o={},i.m=r,i.c=o,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=27)}}});
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Kendo UI Angular Filter",
4
4
  "author": "Progress",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
- "version": "0.1.4",
6
+ "version": "0.1.6-dev.202202251358",
7
7
  "main": "dist/npm/index.js",
8
8
  "module": "dist/fesm5/index.js",
9
9
  "es2015": "dist/fesm2015/index.js",
@@ -76,7 +76,7 @@
76
76
  "@progress/kendo-angular-e2e": "^3.0.0",
77
77
  "@progress/kendo-e2e": "^0.7.0",
78
78
  "@progress/kendo-angular-jest-preset": "^2.0.0",
79
- "@progress/kendo-angular-tasks": "^19.0.1",
79
+ "@progress/kendo-angular-tasks": "cdn-bundle-v18",
80
80
  "@progress/kendo-licensing": "^1.0.0",
81
81
  "@progress/kendo-theme-bootstrap": "^5.0.0",
82
82
  "@progress/kendo-theme-default": "^5.0.0",