@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.
- package/base-filter-row.component.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-filter.mjs +61 -61
- package/localization/messages.d.ts +1 -1
- package/package.json +16 -24
- package/schematics/ngAdd/index.js +4 -4
- package/esm2022/aria-label.directive.mjs +0 -34
- package/esm2022/base-filter-row.component.mjs +0 -75
- package/esm2022/directives.mjs +0 -17
- package/esm2022/editors/boolean-editor.component.mjs +0 -97
- package/esm2022/editors/date-editor.component.mjs +0 -75
- package/esm2022/editors/numeric-editor.component.mjs +0 -75
- package/esm2022/editors/text-editor.component.mjs +0 -62
- package/esm2022/error-messages.mjs +0 -16
- package/esm2022/filter-expression-operators.component.mjs +0 -90
- package/esm2022/filter-expression.component.mjs +0 -352
- package/esm2022/filter-field.component.mjs +0 -109
- package/esm2022/filter-group.component.mjs +0 -303
- package/esm2022/filter.component.mjs +0 -611
- package/esm2022/filter.module.mjs +0 -105
- package/esm2022/filter.service.mjs +0 -41
- package/esm2022/index.mjs +0 -19
- package/esm2022/localization/custom-messages.component.mjs +0 -44
- package/esm2022/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/localization/messages.mjs +0 -243
- package/esm2022/model/filter-expression.mjs +0 -8
- package/esm2022/navigation.service.mjs +0 -162
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/progress-kendo-angular-filter.mjs +0 -8
- package/esm2022/templates/value-editor.template.mjs +0 -32
- 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
|
-
}] } });
|
package/esm2022/directives.mjs
DELETED
|
@@ -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
|
-
}] } });
|