@progress/kendo-angular-filter 21.4.1-develop.1 → 22.0.0-develop.1

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.
Files changed (30) hide show
  1. package/base-filter-row.component.d.ts +1 -1
  2. package/fesm2022/progress-kendo-angular-filter.mjs +61 -61
  3. package/localization/messages.d.ts +1 -1
  4. package/package.json +16 -24
  5. package/schematics/ngAdd/index.js +4 -4
  6. package/esm2022/aria-label.directive.mjs +0 -34
  7. package/esm2022/base-filter-row.component.mjs +0 -75
  8. package/esm2022/directives.mjs +0 -17
  9. package/esm2022/editors/boolean-editor.component.mjs +0 -97
  10. package/esm2022/editors/date-editor.component.mjs +0 -75
  11. package/esm2022/editors/numeric-editor.component.mjs +0 -75
  12. package/esm2022/editors/text-editor.component.mjs +0 -62
  13. package/esm2022/error-messages.mjs +0 -16
  14. package/esm2022/filter-expression-operators.component.mjs +0 -90
  15. package/esm2022/filter-expression.component.mjs +0 -352
  16. package/esm2022/filter-field.component.mjs +0 -109
  17. package/esm2022/filter-group.component.mjs +0 -303
  18. package/esm2022/filter.component.mjs +0 -611
  19. package/esm2022/filter.module.mjs +0 -105
  20. package/esm2022/filter.service.mjs +0 -41
  21. package/esm2022/index.mjs +0 -19
  22. package/esm2022/localization/custom-messages.component.mjs +0 -44
  23. package/esm2022/localization/localized-messages.directive.mjs +0 -39
  24. package/esm2022/localization/messages.mjs +0 -243
  25. package/esm2022/model/filter-expression.mjs +0 -8
  26. package/esm2022/navigation.service.mjs +0 -162
  27. package/esm2022/package-metadata.mjs +0 -16
  28. package/esm2022/progress-kendo-angular-filter.mjs +0 -8
  29. package/esm2022/templates/value-editor.template.mjs +0 -32
  30. package/esm2022/util.mjs +0 -174
@@ -1,75 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, ElementRef, EventEmitter, Input, Output, Renderer2 } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { NavigationService } from './navigation.service';
8
- import { selectors } from './util';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "./navigation.service";
11
- import * as i2 from "@progress/kendo-angular-l10n";
12
- /**
13
- * @hidden
14
- */
15
- export class BaseFilterRowComponent {
16
- element;
17
- navigationService;
18
- localization;
19
- renderer;
20
- index;
21
- valueChange = new EventEmitter();
22
- constructor(element, navigationService, localization, renderer) {
23
- this.element = element;
24
- this.navigationService = navigationService;
25
- this.localization = localization;
26
- this.renderer = renderer;
27
- }
28
- itemNumber = 0;
29
- get toolbarElement() {
30
- return this.element.nativeElement.querySelector('.k-toolbar');
31
- }
32
- messageFor(key) {
33
- return this.localization.get(key);
34
- }
35
- onMouseDown(event) {
36
- let elementToFocus;
37
- const closestFilterToolbarItem = event.target.closest(selectors.kendoFilterToolbarItem);
38
- const closestButton = event.target.closest(selectors.kendoFilterToolbarButton);
39
- const closestToolbarItem = event.target.closest(selectors.kendoToolbar);
40
- if (closestFilterToolbarItem || closestButton) {
41
- const index = Array.from(closestToolbarItem.children).indexOf(closestFilterToolbarItem) > -1
42
- ? Array.from(closestToolbarItem.children).indexOf(closestFilterToolbarItem)
43
- : Array.from(closestToolbarItem.children).indexOf(closestButton);
44
- this.navigationService.currentToolbarItemChildrenIndex = index;
45
- this.navigationService.isFilterNavigationActivated = true;
46
- this.navigationService.isFilterExpressionComponentFocused = true;
47
- const wrapperElement = this.navigationService.flattenFilterItems[this.itemNumber].focusableChildren[index];
48
- elementToFocus = wrapperElement.querySelector(selectors.kendoDropDownListComponent) ||
49
- wrapperElement.querySelector(selectors.kendoInput) ||
50
- wrapperElement.querySelector(selectors.kendoInputInner) ||
51
- wrapperElement.querySelector(selectors.inputElement) ||
52
- wrapperElement.querySelector(selectors.textAreaElement) ||
53
- wrapperElement.querySelector(selectors.kendoButton) ||
54
- wrapperElement;
55
- }
56
- else {
57
- this.navigationService.currentToolbarItemChildrenIndex = 0;
58
- this.navigationService.isFilterNavigationActivated = false;
59
- this.navigationService.isFilterExpressionComponentFocused = false;
60
- elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].focusableChildren[0];
61
- }
62
- this.navigationService.currentToolbarItemIndex = this.itemNumber;
63
- this.navigationService.focusCurrentElement(elementToFocus, true);
64
- }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFilterRowComponent, deps: [{ token: i0.ElementRef }, { token: i1.NavigationService }, { token: i2.LocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
66
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: BaseFilterRowComponent, inputs: { index: "index" }, outputs: { valueChange: "valueChange" }, ngImport: i0 });
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFilterRowComponent, decorators: [{
69
- type: Directive,
70
- args: [{}]
71
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NavigationService }, { type: i2.LocalizationService }, { type: i0.Renderer2 }], propDecorators: { index: [{
72
- type: Input
73
- }], valueChange: [{
74
- type: Output
75
- }] } });
@@ -1,17 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { FilterFieldComponent } from "./filter-field.component";
6
- import { FilterComponent } from "./filter.component";
7
- import { CustomMessagesComponent } from "./localization/custom-messages.component";
8
- import { FilterValueEditorTemplateDirective } from "./templates/value-editor.template";
9
- /**
10
- * Utility array that contains all `@progress/kendo-angular-filter` related components and directives
11
- */
12
- export const KENDO_FILTER = [
13
- FilterComponent,
14
- FilterFieldComponent,
15
- CustomMessagesComponent,
16
- FilterValueEditorTemplateDirective
17
- ];
@@ -1,97 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { AriaLabelValueDirective } from '../aria-label.directive';
8
- import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@progress/kendo-angular-l10n";
11
- /**
12
- * @hidden
13
- */
14
- export class FilterBooleanEditorComponent {
15
- localization;
16
- cdr;
17
- currentItem;
18
- valueChange = new EventEmitter();
19
- items;
20
- defaultItem;
21
- localizationSubscription;
22
- constructor(localization, cdr) {
23
- this.localization = localization;
24
- this.cdr = cdr;
25
- }
26
- ngOnInit() {
27
- this.localizationSubscription = this.localization.changes.subscribe(() => {
28
- this.defaultItem = this.getDefaultItem();
29
- this.items = this.getValueItems();
30
- this.cdr.detectChanges();
31
- });
32
- this.items = this.getValueItems();
33
- this.defaultItem = this.getDefaultItem();
34
- }
35
- getDefaultItem() {
36
- return { text: this.localization.get("filterBooleanAll"), value: null };
37
- }
38
- getValueItems() {
39
- return [
40
- { text: this.localization.get("filterIsTrue"), value: true },
41
- { text: this.localization.get("filterIsFalse"), value: false }
42
- ];
43
- }
44
- ngOnDestroy() {
45
- if (this.localizationSubscription) {
46
- this.localizationSubscription.unsubscribe();
47
- }
48
- }
49
- messageFor(key) {
50
- return this.localization.get(key);
51
- }
52
- onValueChange(value) {
53
- this.currentItem.value = value;
54
- this.valueChange.emit();
55
- }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterBooleanEditorComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
57
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterBooleanEditorComponent, isStandalone: true, selector: "kendo-filter-boolean-editor", inputs: { currentItem: "currentItem" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
58
- <kendo-dropdownlist
59
- [tabindex]="-1"
60
- [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
61
- [value]="currentItem.value"
62
- (valueChange)="onValueChange($event)"
63
- [data]="items"
64
- [defaultItem]="defaultItem"
65
- [valuePrimitive]="true"
66
- textField="text"
67
- valueField="value"
68
- >
69
- </kendo-dropdownlist>
70
- `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterBooleanEditorComponent, decorators: [{
73
- type: Component,
74
- args: [{
75
- selector: 'kendo-filter-boolean-editor',
76
- template: `
77
- <kendo-dropdownlist
78
- [tabindex]="-1"
79
- [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
80
- [value]="currentItem.value"
81
- (valueChange)="onValueChange($event)"
82
- [data]="items"
83
- [defaultItem]="defaultItem"
84
- [valuePrimitive]="true"
85
- textField="text"
86
- valueField="value"
87
- >
88
- </kendo-dropdownlist>
89
- `,
90
- standalone: true,
91
- imports: [DropDownListComponent, AriaLabelValueDirective]
92
- }]
93
- }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }], propDecorators: { currentItem: [{
94
- type: Input
95
- }], valueChange: [{
96
- type: Output
97
- }] } });
@@ -1,75 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, EventEmitter, Input, Output } from '@angular/core';
6
- import { DatePickerComponent, DatePickerCustomMessagesComponent } from '@progress/kendo-angular-dateinputs';
7
- import { LocalizationService } from '@progress/kendo-angular-l10n';
8
- import { AriaLabelValueDirective } from '../aria-label.directive';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@progress/kendo-angular-l10n";
11
- /**
12
- * @hidden
13
- */
14
- export class FilterDateEditorComponent {
15
- localization;
16
- currentItem;
17
- isDisabled;
18
- format;
19
- valueChange = new EventEmitter();
20
- constructor(localization) {
21
- this.localization = localization;
22
- }
23
- messageFor(key) {
24
- return this.localization.get(key);
25
- }
26
- onValueChange(value) {
27
- this.currentItem.value = value;
28
- this.valueChange.emit();
29
- }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterDateEditorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterDateEditorComponent, isStandalone: true, selector: "kendo-filter-date-editor", inputs: { currentItem: "currentItem", isDisabled: "isDisabled", format: "format" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
32
- <kendo-datepicker
33
- [tabindex]="-1"
34
- [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
35
- [value]="currentItem.value"
36
- (valueChange)="onValueChange($event)"
37
- [disabled]="isDisabled"
38
- [format]="format">
39
- <kendo-datepicker-messages
40
- [toggle]="messageFor('editorDateToggleText')"
41
- [today]="messageFor('editorDateTodayText')">
42
- </kendo-datepicker-messages>
43
- </kendo-datepicker>
44
- `, isInline: true, dependencies: [{ kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "directive", type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { kind: "component", type: DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }] });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterDateEditorComponent, decorators: [{
47
- type: Component,
48
- args: [{
49
- selector: 'kendo-filter-date-editor',
50
- template: `
51
- <kendo-datepicker
52
- [tabindex]="-1"
53
- [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
54
- [value]="currentItem.value"
55
- (valueChange)="onValueChange($event)"
56
- [disabled]="isDisabled"
57
- [format]="format">
58
- <kendo-datepicker-messages
59
- [toggle]="messageFor('editorDateToggleText')"
60
- [today]="messageFor('editorDateTodayText')">
61
- </kendo-datepicker-messages>
62
- </kendo-datepicker>
63
- `,
64
- standalone: true,
65
- imports: [DatePickerComponent, AriaLabelValueDirective, DatePickerCustomMessagesComponent]
66
- }]
67
- }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { currentItem: [{
68
- type: Input
69
- }], isDisabled: [{
70
- type: Input
71
- }], format: [{
72
- type: Input
73
- }], valueChange: [{
74
- type: Output
75
- }] } });
@@ -1,75 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, EventEmitter, Input, Output } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { NumericTextBoxComponent, NumericTextBoxCustomMessagesComponent } from '@progress/kendo-angular-inputs';
8
- import { AriaLabelValueDirective } from '../aria-label.directive';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@progress/kendo-angular-l10n";
11
- /**
12
- * @hidden
13
- */
14
- export class FilterNumericEditorComponent {
15
- localization;
16
- currentItem;
17
- isDisabled;
18
- format;
19
- valueChange = new EventEmitter();
20
- constructor(localization) {
21
- this.localization = localization;
22
- }
23
- messageFor(key) {
24
- return this.localization.get(key);
25
- }
26
- onValueChange(value) {
27
- this.currentItem.value = value;
28
- this.valueChange.emit();
29
- }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterNumericEditorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterNumericEditorComponent, isStandalone: true, selector: "kendo-filter-numeric-editor", inputs: { currentItem: "currentItem", isDisabled: "isDisabled", format: "format" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
32
- <kendo-numerictextbox
33
- [tabindex]="-1"
34
- [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
35
- [value]="currentItem.value"
36
- (valueChange)="onValueChange($event)"
37
- [disabled]="isDisabled"
38
- [format]="format">
39
- <kendo-numerictextbox-messages
40
- [increment]="messageFor('editorNumericIncrement')"
41
- [decrement]="messageFor('editorNumericDecrement')">
42
- </kendo-numerictextbox-messages>
43
- </kendo-numerictextbox>
44
- `, isInline: true, dependencies: [{ kind: "component", type: NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "directive", type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { kind: "component", type: NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }] });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterNumericEditorComponent, decorators: [{
47
- type: Component,
48
- args: [{
49
- selector: 'kendo-filter-numeric-editor',
50
- template: `
51
- <kendo-numerictextbox
52
- [tabindex]="-1"
53
- [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
54
- [value]="currentItem.value"
55
- (valueChange)="onValueChange($event)"
56
- [disabled]="isDisabled"
57
- [format]="format">
58
- <kendo-numerictextbox-messages
59
- [increment]="messageFor('editorNumericIncrement')"
60
- [decrement]="messageFor('editorNumericDecrement')">
61
- </kendo-numerictextbox-messages>
62
- </kendo-numerictextbox>
63
- `,
64
- standalone: true,
65
- imports: [NumericTextBoxComponent, AriaLabelValueDirective, NumericTextBoxCustomMessagesComponent]
66
- }]
67
- }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { currentItem: [{
68
- type: Input
69
- }], isDisabled: [{
70
- type: Input
71
- }], format: [{
72
- type: Input
73
- }], valueChange: [{
74
- type: Output
75
- }] } });
@@ -1,62 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, EventEmitter, Input, Output } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { AriaLabelValueDirective } from '../aria-label.directive';
8
- import { TextBoxComponent } from '@progress/kendo-angular-inputs';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@progress/kendo-angular-l10n";
11
- /**
12
- * @hidden
13
- */
14
- export class FilterTextEditorComponent {
15
- localization;
16
- currentItem;
17
- isDisabled;
18
- valueChange = new EventEmitter();
19
- constructor(localization) {
20
- this.localization = localization;
21
- }
22
- messageFor(key) {
23
- return this.localization.get(key);
24
- }
25
- onValueChange(value) {
26
- this.currentItem.value = value;
27
- this.valueChange.emit();
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterTextEditorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterTextEditorComponent, isStandalone: true, selector: "kendo-filter-text-editor", inputs: { currentItem: "currentItem", isDisabled: "isDisabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
31
- <kendo-textbox
32
- [tabindex]="-1"
33
- [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
34
- [value]="currentItem.value"
35
- (valueChange)="onValueChange($event)"
36
- [disabled]="isDisabled">
37
- </kendo-textbox>
38
- `, isInline: true, dependencies: [{ kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "directive", type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterTextEditorComponent, decorators: [{
41
- type: Component,
42
- args: [{
43
- selector: 'kendo-filter-text-editor',
44
- template: `
45
- <kendo-textbox
46
- [tabindex]="-1"
47
- [kendoAriaLabelValue]="messageFor('filterValueAriaLabel')"
48
- [value]="currentItem.value"
49
- (valueChange)="onValueChange($event)"
50
- [disabled]="isDisabled">
51
- </kendo-textbox>
52
- `,
53
- standalone: true,
54
- imports: [TextBoxComponent, AriaLabelValueDirective]
55
- }]
56
- }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { currentItem: [{
57
- type: Input
58
- }], isDisabled: [{
59
- type: Input
60
- }], valueChange: [{
61
- type: Output
62
- }] } });
@@ -1,16 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- /**
6
- * @hidden
7
- */
8
- export const FilterErrorMessages = {
9
- missingFilters: `Pass at least one user-defined filter through the [filters] input property or nest kendo-filter-field components. See https://www.telerik.com/kendo-angular-ui/components/filter/#data-binding`,
10
- missingFilterForUsedField: (field) => `There is no user-defined filter with '${field}' field provided through the [filters] input property.`,
11
- missingValueForBooleanField: (field) => `Provide a value for the boolean '${field}' user-defined filter as the operator is always set to 'eq'.`,
12
- operatorBooleanField: (field) => `The operator of the boolean '${field}' user-defined filter is always set to 'eq'.`,
13
- filterMissingUsedOperator: (field, operator) => `The user-defined filter with field '${field}' is missing the '${operator}' operator.`,
14
- improperNumericEditorValue: (title) => `The provided value for the numeric editor of the '${title}' filter expression isn't one of a supported type string or NumberFormat. See https://www.telerik.com/kendo-angular-ui/components/filter/#editor-formats/`,
15
- improperDateEditorValue: (title) => `The provided value for the date editor of the '${title}' filter expression isn't one of a supported type string or DateFormat. See https://www.telerik.com/kendo-angular-ui/components/filter/#editor-formats/`
16
- };
@@ -1,90 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, EventEmitter, Input, Output } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { defaultOperators, getKeyByValue } from './util';
8
- import { DropDownListComponent, ItemTemplateDirective, ValueTemplateDirective } from '@progress/kendo-angular-dropdowns';
9
- import { AriaLabelValueDirective } from './aria-label.directive';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@progress/kendo-angular-l10n";
12
- /**
13
- * @hidden
14
- */
15
- export class FilterExpressionOperatorsComponent {
16
- localization;
17
- currentItem;
18
- editorType;
19
- valueChange = new EventEmitter();
20
- operators = [];
21
- constructor(localization) {
22
- this.localization = localization;
23
- }
24
- messageFor(key) {
25
- return this.localization.get(key);
26
- }
27
- getOperator(operatorValue) {
28
- return this.messageFor(getKeyByValue(defaultOperators[this.editorType], operatorValue));
29
- }
30
- operatorValueChange(value) {
31
- this.valueChange.emit(value);
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterExpressionOperatorsComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
34
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterExpressionOperatorsComponent, isStandalone: true, selector: "kendo-filter-expression-operators", inputs: { currentItem: "currentItem", editorType: "editorType", operators: "operators" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
35
- <kendo-dropdownlist
36
- [tabindex]="-1"
37
- [kendoAriaLabelValue]="messageFor('filterOperatorAriaLabel')"
38
- [data]="operators"
39
- [title]="messageFor('filterExpressionOperators')"
40
- [(value)]="currentItem.operator"
41
- (valueChange)="operatorValueChange($event)"
42
- [valuePrimitive]="true"
43
- textField="text"
44
- valueField="value"
45
- >
46
- <ng-template kendoDropDownListValueTemplate let-dataItem>
47
- <span>{{ getOperator(dataItem.value) }}</span>
48
- </ng-template>
49
- <ng-template kendoDropDownListItemTemplate let-dataItem>
50
- <span>{{ getOperator(dataItem.value) }}</span>
51
- </ng-template>
52
- </kendo-dropdownlist>
53
- `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { kind: "directive", type: ValueTemplateDirective, selector: "[kendoDropDownListValueTemplate],[kendoDropDownTreeValueTemplate]" }, { kind: "directive", type: ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterExpressionOperatorsComponent, decorators: [{
56
- type: Component,
57
- args: [{
58
- selector: "kendo-filter-expression-operators",
59
- template: `
60
- <kendo-dropdownlist
61
- [tabindex]="-1"
62
- [kendoAriaLabelValue]="messageFor('filterOperatorAriaLabel')"
63
- [data]="operators"
64
- [title]="messageFor('filterExpressionOperators')"
65
- [(value)]="currentItem.operator"
66
- (valueChange)="operatorValueChange($event)"
67
- [valuePrimitive]="true"
68
- textField="text"
69
- valueField="value"
70
- >
71
- <ng-template kendoDropDownListValueTemplate let-dataItem>
72
- <span>{{ getOperator(dataItem.value) }}</span>
73
- </ng-template>
74
- <ng-template kendoDropDownListItemTemplate let-dataItem>
75
- <span>{{ getOperator(dataItem.value) }}</span>
76
- </ng-template>
77
- </kendo-dropdownlist>
78
- `,
79
- standalone: true,
80
- imports: [DropDownListComponent, AriaLabelValueDirective, ValueTemplateDirective, ItemTemplateDirective]
81
- }]
82
- }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { currentItem: [{
83
- type: Input
84
- }], editorType: [{
85
- type: Input
86
- }], valueChange: [{
87
- type: Output
88
- }], operators: [{
89
- type: Input
90
- }] } });