@progress/kendo-angular-treelist 13.0.0-develop.9 → 13.0.1-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/esm2020/filtering/cell/autocomplete-filter-cell.component.mjs +12 -1
- package/esm2020/filtering/cell/boolean-filter-cell.component.mjs +18 -1
- package/esm2020/filtering/cell/date-filter-cell.component.mjs +12 -1
- package/esm2020/filtering/cell/filter-cell-operators.component.mjs +21 -1
- package/esm2020/filtering/cell/filter-cell-wrapper.component.mjs +3 -1
- package/esm2020/filtering/cell/numeric-filter-cell.component.mjs +12 -1
- package/esm2020/filtering/cell/string-filter-cell.component.mjs +12 -1
- package/esm2020/filtering/filter-input.directive.mjs +29 -3
- package/esm2020/filtering/menu/boolean-filter-menu.component.mjs +22 -7
- package/esm2020/filtering/menu/date-filter-menu-input.component.mjs +1 -1
- package/esm2020/filtering/menu/numeric-filter-menu-input.component.mjs +1 -1
- package/esm2020/filtering/menu/string-filter-menu-input.component.mjs +19 -8
- package/esm2020/localization/messages.mjs +11 -1
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/rendering/cell.component.mjs +5 -0
- package/esm2020/rendering/header/header.component.mjs +5 -0
- package/esm2020/rendering/list.component.mjs +20 -18
- package/esm2020/treelist.component.mjs +44 -10
- package/fesm2015/progress-kendo-angular-treelist.mjs +246 -67
- package/fesm2020/progress-kendo-angular-treelist.mjs +246 -67
- package/filtering/cell/autocomplete-filter-cell.component.d.ts +4 -0
- package/filtering/cell/boolean-filter-cell.component.d.ts +8 -0
- package/filtering/cell/date-filter-cell.component.d.ts +4 -0
- package/filtering/cell/filter-cell-operators.component.d.ts +14 -1
- package/filtering/cell/numeric-filter-cell.component.d.ts +4 -0
- package/filtering/cell/string-filter-cell.component.d.ts +4 -0
- package/filtering/filter-input.directive.d.ts +7 -1
- package/filtering/menu/boolean-filter-menu.component.d.ts +8 -1
- package/filtering/menu/string-filter-menu-input.component.d.ts +4 -0
- package/localization/messages.d.ts +37 -1
- package/package.json +16 -16
- package/rendering/cell.component.d.ts +1 -0
- package/rendering/header/header.component.d.ts +1 -0
- package/schematics/ngAdd/index.js +3 -3
|
@@ -8,6 +8,7 @@ import { ColumnComponent } from '../../columns/column.component';
|
|
|
8
8
|
import { FilterService } from '../filter.service';
|
|
9
9
|
import { BaseFilterCellComponent, localizeOperators } from '../base-filter-cell.component';
|
|
10
10
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
11
|
+
import { replaceMessagePlaceholder } from '../../utils';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "../filter.service";
|
|
13
14
|
import * as i2 from "../../columns/column.component";
|
|
@@ -50,6 +51,14 @@ export class AutoCompleteFilterCellComponent extends BaseFilterCellComponent {
|
|
|
50
51
|
get currentOperator() {
|
|
51
52
|
return this.currentFilter ? this.currentFilter.operator : "contains";
|
|
52
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* @hidden
|
|
56
|
+
*/
|
|
57
|
+
get columnLabel() {
|
|
58
|
+
const localizationMsg = this.localization.get('filterInputLabel') || '';
|
|
59
|
+
const columnName = this.column.title || this.column.field;
|
|
60
|
+
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
61
|
+
}
|
|
53
62
|
}
|
|
54
63
|
AutoCompleteFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteFilterCellComponent, deps: [{ token: i1.FilterService }, { token: i2.ColumnComponent }, { token: i3.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
64
|
AutoCompleteFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AutoCompleteFilterCellComponent, selector: "kendo-treelist-autocomplete-filter-cell", inputs: { showOperators: "showOperators", column: "column", filter: "filter", data: "data", valueField: "valueField" }, usesInheritance: true, ngImport: i0, template: `
|
|
@@ -61,11 +70,12 @@ AutoCompleteFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
61
70
|
<kendo-autocomplete
|
|
62
71
|
kendoFilterInput
|
|
63
72
|
[data]="data"
|
|
73
|
+
[columnLabel]="columnLabel"
|
|
64
74
|
[valueField]="valueField"
|
|
65
75
|
[value]="currentFilter?.value">
|
|
66
76
|
</kendo-autocomplete>
|
|
67
77
|
</kendo-treelist-filter-wrapper-cell>
|
|
68
|
-
`, isInline: true, components: [{ type: i4.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i5.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
|
|
78
|
+
`, isInline: true, components: [{ type: i4.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i5.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }] });
|
|
69
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteFilterCellComponent, decorators: [{
|
|
70
80
|
type: Component,
|
|
71
81
|
args: [{
|
|
@@ -79,6 +89,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
79
89
|
<kendo-autocomplete
|
|
80
90
|
kendoFilterInput
|
|
81
91
|
[data]="data"
|
|
92
|
+
[columnLabel]="columnLabel"
|
|
82
93
|
[valueField]="valueField"
|
|
83
94
|
[value]="currentFilter?.value">
|
|
84
95
|
</kendo-autocomplete>
|
|
@@ -6,6 +6,7 @@ import { Component, ChangeDetectorRef } from '@angular/core';
|
|
|
6
6
|
import { FilterService } from '../filter.service';
|
|
7
7
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { BooleanFilterComponent } from '../boolean-filter.component';
|
|
9
|
+
import { replaceMessagePlaceholder } from '../../utils';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "../filter.service";
|
|
11
12
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
@@ -37,6 +38,20 @@ export class BooleanFilterCellComponent extends BooleanFilterComponent {
|
|
|
37
38
|
super.localizationChange();
|
|
38
39
|
this.cd.markForCheck();
|
|
39
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* @hidden
|
|
43
|
+
*/
|
|
44
|
+
messageFor(token) {
|
|
45
|
+
return this.localization.get(token);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @hidden
|
|
49
|
+
*/
|
|
50
|
+
get columnLabel() {
|
|
51
|
+
const localizationMsg = this.localization.get('booleanFilterCellLabel') || '';
|
|
52
|
+
const columnName = this.column.title || this.column.field;
|
|
53
|
+
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
54
|
+
}
|
|
40
55
|
}
|
|
41
56
|
BooleanFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterCellComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
57
|
BooleanFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BooleanFilterCellComponent, selector: "kendo-treelist-boolean-filter-cell", usesInheritance: true, ngImport: i0, template: `
|
|
@@ -48,6 +63,7 @@ BooleanFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
48
63
|
<kendo-dropdownlist
|
|
49
64
|
kendoFilterInput
|
|
50
65
|
[defaultItem]="defaultItem"
|
|
66
|
+
[columnLabel]="columnLabel"
|
|
51
67
|
[data]="items"
|
|
52
68
|
textField="text"
|
|
53
69
|
valueField="value"
|
|
@@ -56,7 +72,7 @@ BooleanFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
56
72
|
[value]="currentFilter?.value">
|
|
57
73
|
</kendo-dropdownlist>
|
|
58
74
|
</kendo-treelist-filter-wrapper-cell>
|
|
59
|
-
`, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i5.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
|
|
75
|
+
`, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i5.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }] });
|
|
60
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterCellComponent, decorators: [{
|
|
61
77
|
type: Component,
|
|
62
78
|
args: [{
|
|
@@ -70,6 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
70
86
|
<kendo-dropdownlist
|
|
71
87
|
kendoFilterInput
|
|
72
88
|
[defaultItem]="defaultItem"
|
|
89
|
+
[columnLabel]="columnLabel"
|
|
73
90
|
[data]="items"
|
|
74
91
|
textField="text"
|
|
75
92
|
valueField="value"
|
|
@@ -6,6 +6,7 @@ import { Component, Input } from '@angular/core';
|
|
|
6
6
|
import { FilterService } from '../filter.service';
|
|
7
7
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { DateFilterComponent } from '../date-filter.component';
|
|
9
|
+
import { replaceMessagePlaceholder } from '../../utils';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "../filter.service";
|
|
11
12
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
@@ -39,6 +40,14 @@ export class DateFilterCellComponent extends DateFilterComponent {
|
|
|
39
40
|
*/
|
|
40
41
|
this.showOperators = true;
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* @hidden
|
|
45
|
+
*/
|
|
46
|
+
get columnLabel() {
|
|
47
|
+
const localizationMsg = this.localization.get('filterInputLabel') || '';
|
|
48
|
+
const columnName = this.column.title || this.column.field;
|
|
49
|
+
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
50
|
+
}
|
|
42
51
|
}
|
|
43
52
|
DateFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterCellComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
44
53
|
DateFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DateFilterCellComponent, selector: "kendo-treelist-date-filter-cell", inputs: { showOperators: "showOperators" }, usesInheritance: true, ngImport: i0, template: `
|
|
@@ -53,6 +62,7 @@ DateFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
53
62
|
kendoFilterInput
|
|
54
63
|
[value]="currentFilter?.value"
|
|
55
64
|
[format]="format"
|
|
65
|
+
[columnLabel]="columnLabel"
|
|
56
66
|
[formatPlaceholder]="formatPlaceholder"
|
|
57
67
|
[placeholder]="placeholder"
|
|
58
68
|
[activeView]="activeView"
|
|
@@ -64,7 +74,7 @@ DateFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
64
74
|
>
|
|
65
75
|
</kendo-datepicker>
|
|
66
76
|
</kendo-treelist-filter-wrapper-cell>
|
|
67
|
-
`, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i4.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i5.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
|
|
77
|
+
`, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i4.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i5.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }] });
|
|
68
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterCellComponent, decorators: [{
|
|
69
79
|
type: Component,
|
|
70
80
|
args: [{
|
|
@@ -81,6 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
81
91
|
kendoFilterInput
|
|
82
92
|
[value]="currentFilter?.value"
|
|
83
93
|
[format]="format"
|
|
94
|
+
[columnLabel]="columnLabel"
|
|
84
95
|
[formatPlaceholder]="formatPlaceholder"
|
|
85
96
|
[placeholder]="placeholder"
|
|
86
97
|
[activeView]="activeView"
|
|
@@ -7,6 +7,8 @@ import { Keys } from '@progress/kendo-angular-common';
|
|
|
7
7
|
import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
|
|
8
8
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
9
9
|
import { filterClearIcon } from '@progress/kendo-svg-icons';
|
|
10
|
+
import { replaceMessagePlaceholder } from '../../utils';
|
|
11
|
+
import { ColumnComponent } from '../../columns/column.component';
|
|
10
12
|
import * as i0 from "@angular/core";
|
|
11
13
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
12
14
|
import * as i2 from "@progress/kendo-angular-dropdowns";
|
|
@@ -103,9 +105,23 @@ export class FilterCellOperatorsComponent {
|
|
|
103
105
|
this.subscription.unsubscribe();
|
|
104
106
|
}
|
|
105
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* @hidden
|
|
110
|
+
*/
|
|
111
|
+
get columnLabel() {
|
|
112
|
+
const localizationMsg = this.localization.get('filterCellOperatorLabel') || '';
|
|
113
|
+
const columnName = this.column.title || this.column.field;
|
|
114
|
+
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @hidden
|
|
118
|
+
*/
|
|
119
|
+
messageFor(token) {
|
|
120
|
+
return this.localization.get(token);
|
|
121
|
+
}
|
|
106
122
|
}
|
|
107
123
|
FilterCellOperatorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
108
|
-
FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterCellOperatorsComponent, selector: "kendo-treelist-filter-cell-operators", inputs: { operators: "operators", showButton: "showButton", showOperators: "showOperators", value: "value" }, outputs: { valueChange: "valueChange", clear: "clear" }, host: { properties: { "class.k-filtercell-operator": "this.hostClasses" } }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: `
|
|
124
|
+
FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterCellOperatorsComponent, selector: "kendo-treelist-filter-cell-operators", inputs: { operators: "operators", showButton: "showButton", showOperators: "showOperators", value: "value", column: "column" }, outputs: { valueChange: "valueChange", clear: "clear" }, host: { properties: { "class.k-filtercell-operator": "this.hostClasses" } }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: `
|
|
109
125
|
<kendo-dropdownlist
|
|
110
126
|
#dropdown
|
|
111
127
|
*ngIf="showOperators"
|
|
@@ -114,6 +130,7 @@ FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
114
130
|
class="k-dropdown-operator"
|
|
115
131
|
(valueChange)="onChange($event)"
|
|
116
132
|
[value]="value"
|
|
133
|
+
[attr.aria-label]="columnLabel"
|
|
117
134
|
iconClass="k-i-filter"
|
|
118
135
|
[valuePrimitive]="true"
|
|
119
136
|
textField="text"
|
|
@@ -145,6 +162,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
145
162
|
class="k-dropdown-operator"
|
|
146
163
|
(valueChange)="onChange($event)"
|
|
147
164
|
[value]="value"
|
|
165
|
+
[attr.aria-label]="columnLabel"
|
|
148
166
|
iconClass="k-i-filter"
|
|
149
167
|
[valuePrimitive]="true"
|
|
150
168
|
textField="text"
|
|
@@ -178,6 +196,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
178
196
|
type: Input
|
|
179
197
|
}], value: [{
|
|
180
198
|
type: Input
|
|
199
|
+
}], column: [{
|
|
200
|
+
type: Input
|
|
181
201
|
}], valueChange: [{
|
|
182
202
|
type: Output
|
|
183
203
|
}], clear: [{
|
|
@@ -39,11 +39,12 @@ FilterCellWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
39
39
|
<kendo-treelist-filter-cell-operators
|
|
40
40
|
[showOperators]="showOperators"
|
|
41
41
|
[operators]="operators"
|
|
42
|
+
[column]="column"
|
|
42
43
|
(clear)="onClear()"
|
|
43
44
|
[showButton]="showButton"
|
|
44
45
|
[(value)]="currentOperator">
|
|
45
46
|
</kendo-treelist-filter-cell-operators>
|
|
46
|
-
`, isInline: true, components: [{ type: i2.FilterCellOperatorsComponent, selector: "kendo-treelist-filter-cell-operators", inputs: ["operators", "showButton", "showOperators", "value"], outputs: ["valueChange", "clear"] }] });
|
|
47
|
+
`, isInline: true, components: [{ type: i2.FilterCellOperatorsComponent, selector: "kendo-treelist-filter-cell-operators", inputs: ["operators", "showButton", "showOperators", "value", "column"], outputs: ["valueChange", "clear"] }] });
|
|
47
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellWrapperComponent, decorators: [{
|
|
48
49
|
type: Component,
|
|
49
50
|
args: [{
|
|
@@ -53,6 +54,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
53
54
|
<kendo-treelist-filter-cell-operators
|
|
54
55
|
[showOperators]="showOperators"
|
|
55
56
|
[operators]="operators"
|
|
57
|
+
[column]="column"
|
|
56
58
|
(clear)="onClear()"
|
|
57
59
|
[showButton]="showButton"
|
|
58
60
|
[(value)]="currentOperator">
|
|
@@ -6,6 +6,7 @@ import { Component, Input } from '@angular/core';
|
|
|
6
6
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import { FilterService } from '../filter.service';
|
|
8
8
|
import { NumericFilterComponent } from '../numeric-filter.component';
|
|
9
|
+
import { replaceMessagePlaceholder } from '../../utils';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "../filter.service";
|
|
11
12
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
@@ -46,6 +47,14 @@ export class NumericFilterCellComponent extends NumericFilterComponent {
|
|
|
46
47
|
*/
|
|
47
48
|
this.showOperators = true;
|
|
48
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* @hidden
|
|
52
|
+
*/
|
|
53
|
+
get columnLabel() {
|
|
54
|
+
const localizationMsg = this.localization.get('filterInputLabel') || '';
|
|
55
|
+
const columnName = this.column.title || this.column.field;
|
|
56
|
+
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
57
|
+
}
|
|
49
58
|
}
|
|
50
59
|
NumericFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterCellComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
60
|
NumericFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: NumericFilterCellComponent, selector: "kendo-treelist-numeric-filter-cell", inputs: { filterDelay: "filterDelay", showOperators: "showOperators" }, usesInheritance: true, ngImport: i0, template: `
|
|
@@ -58,6 +67,7 @@ NumericFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
58
67
|
<kendo-numerictextbox
|
|
59
68
|
kendoTreeListFocusable
|
|
60
69
|
kendoFilterInput
|
|
70
|
+
[columnLabel]="columnLabel"
|
|
61
71
|
[filterDelay]="filterDelay"
|
|
62
72
|
[autoCorrect]="true"
|
|
63
73
|
[value]="currentFilter?.value"
|
|
@@ -69,7 +79,7 @@ NumericFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
69
79
|
[step]="step">
|
|
70
80
|
</kendo-numerictextbox>
|
|
71
81
|
</kendo-treelist-filter-wrapper-cell>
|
|
72
|
-
`, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i4.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"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
|
|
82
|
+
`, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i4.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"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }] });
|
|
73
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterCellComponent, decorators: [{
|
|
74
84
|
type: Component,
|
|
75
85
|
args: [{
|
|
@@ -84,6 +94,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
84
94
|
<kendo-numerictextbox
|
|
85
95
|
kendoTreeListFocusable
|
|
86
96
|
kendoFilterInput
|
|
97
|
+
[columnLabel]="columnLabel"
|
|
87
98
|
[filterDelay]="filterDelay"
|
|
88
99
|
[autoCorrect]="true"
|
|
89
100
|
[value]="currentFilter?.value"
|
|
@@ -6,6 +6,7 @@ import { Component, Input } from '@angular/core';
|
|
|
6
6
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import { FilterService } from '../filter.service';
|
|
8
8
|
import { StringFilterComponent } from '../string-filter.component';
|
|
9
|
+
import { replaceMessagePlaceholder } from '../../utils';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "../filter.service";
|
|
11
12
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
@@ -48,6 +49,14 @@ export class StringFilterCellComponent extends StringFilterComponent {
|
|
|
48
49
|
*/
|
|
49
50
|
this.showOperators = true;
|
|
50
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* @hidden
|
|
54
|
+
*/
|
|
55
|
+
get columnLabel() {
|
|
56
|
+
const localizationMsg = this.localization.get('filterInputLabel') || '';
|
|
57
|
+
const columnName = this.column.title || this.column.field;
|
|
58
|
+
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
59
|
+
}
|
|
51
60
|
}
|
|
52
61
|
StringFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterCellComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
62
|
StringFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StringFilterCellComponent, selector: "kendo-treelist-string-filter-cell", inputs: { filterDelay: "filterDelay", showOperators: "showOperators" }, usesInheritance: true, ngImport: i0, template: `
|
|
@@ -61,10 +70,11 @@ StringFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
61
70
|
class="k-textbox k-input k-input-md k-rounded-md k-input-solid"
|
|
62
71
|
kendoTreeListFocusable
|
|
63
72
|
kendoFilterInput
|
|
73
|
+
[columnLabel]="columnLabel"
|
|
64
74
|
[filterDelay]="filterDelay"
|
|
65
75
|
[ngModel]="currentFilter?.value" />
|
|
66
76
|
</kendo-treelist-filter-wrapper-cell>
|
|
67
|
-
`, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }], directives: [{ type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
77
|
+
`, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }], directives: [{ type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
68
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterCellComponent, decorators: [{
|
|
69
79
|
type: Component,
|
|
70
80
|
args: [{
|
|
@@ -80,6 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
80
90
|
class="k-textbox k-input k-input-md k-rounded-md k-input-solid"
|
|
81
91
|
kendoTreeListFocusable
|
|
82
92
|
kendoFilterInput
|
|
93
|
+
[columnLabel]="columnLabel"
|
|
83
94
|
[filterDelay]="filterDelay"
|
|
84
95
|
[ngModel]="currentFilter?.value" />
|
|
85
96
|
</kendo-treelist-filter-wrapper-cell>
|
|
@@ -2,17 +2,20 @@
|
|
|
2
2
|
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Directive, ElementRef, EventEmitter, Inject, Input, NgZone, Renderer2, Self } from '@angular/core';
|
|
5
|
+
import { Directive, ElementRef, EventEmitter, Inject, Input, NgZone, Renderer2, Self, ContentChild } from '@angular/core';
|
|
6
6
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
7
|
import { debounceTime, filter } from 'rxjs/operators';
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
9
|
import { isChanged } from '../utils';
|
|
10
|
+
import { KendoInput, isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
/**
|
|
12
13
|
* @hidden
|
|
13
14
|
*/
|
|
14
15
|
export class FilterInputDirective {
|
|
15
16
|
constructor(valueAccessors, ngZone, element, renderer) {
|
|
17
|
+
this.element = element;
|
|
18
|
+
this.renderer = renderer;
|
|
16
19
|
this.change = new EventEmitter();
|
|
17
20
|
this.composing = false;
|
|
18
21
|
this.filterDelay = 500;
|
|
@@ -34,6 +37,7 @@ export class FilterInputDirective {
|
|
|
34
37
|
this.accessor.setDisabledState(value);
|
|
35
38
|
}
|
|
36
39
|
ngAfterViewInit() {
|
|
40
|
+
this.addAriaAttributes();
|
|
37
41
|
this.accessor.registerOnChange(x => this.filterDelay > 0 ?
|
|
38
42
|
this.changeRequests.next(x) :
|
|
39
43
|
this.change.emit(x));
|
|
@@ -59,9 +63,24 @@ export class FilterInputDirective {
|
|
|
59
63
|
this.changeRequestsSubscription.unsubscribe();
|
|
60
64
|
}
|
|
61
65
|
}
|
|
66
|
+
addAriaAttributes() {
|
|
67
|
+
const ariaValue = this.columnLabel;
|
|
68
|
+
if (this.kendoInput && this.kendoInput.focusableId && isDocumentAvailable()) {
|
|
69
|
+
const focusableElement = this.element.nativeElement.querySelector(`#${this.kendoInput.focusableId}`) ||
|
|
70
|
+
this.element.nativeElement;
|
|
71
|
+
this.renderer.setAttribute(focusableElement, 'aria-label', ariaValue);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
const inputElement = this.element.nativeElement.querySelector('.k-input-inner');
|
|
75
|
+
const elementToSetLabel = inputElement ? inputElement : this.element.nativeElement;
|
|
76
|
+
if (ariaValue) {
|
|
77
|
+
this.renderer.setAttribute(elementToSetLabel, 'aria-label', ariaValue);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
62
81
|
}
|
|
63
82
|
FilterInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterInputDirective, deps: [{ token: NG_VALUE_ACCESSOR, self: true }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
64
|
-
FilterInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: { filterDelay: "filterDelay", value: "value" }, usesOnChanges: true, ngImport: i0 });
|
|
83
|
+
FilterInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: { filterDelay: "filterDelay", columnLabel: "columnLabel", column: "column", value: "value" }, queries: [{ propertyName: "kendoInput", first: true, predicate: KendoInput, descendants: true, static: true }], usesOnChanges: true, ngImport: i0 });
|
|
65
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterInputDirective, decorators: [{
|
|
66
85
|
type: Directive,
|
|
67
86
|
args: [{
|
|
@@ -72,7 +91,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
72
91
|
}, {
|
|
73
92
|
type: Inject,
|
|
74
93
|
args: [NG_VALUE_ACCESSOR]
|
|
75
|
-
}] }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: {
|
|
94
|
+
}] }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { kendoInput: [{
|
|
95
|
+
type: ContentChild,
|
|
96
|
+
args: [KendoInput, { static: true }]
|
|
97
|
+
}], filterDelay: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], columnLabel: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], column: [{
|
|
76
102
|
type: Input
|
|
77
103
|
}], value: [{
|
|
78
104
|
type: Input
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, Input, HostBinding } from '@angular/core';
|
|
5
|
+
import { Component, Input, HostBinding, ViewChild, ElementRef, Renderer2 } from '@angular/core';
|
|
6
6
|
import { FilterService } from '../filter.service';
|
|
7
7
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { BooleanFilterComponent } from '../boolean-filter.component';
|
|
9
9
|
import { guid } from '@progress/kendo-angular-common';
|
|
10
|
+
import { replaceMessagePlaceholder } from '../../utils';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
12
13
|
import * as i2 from "@angular/common";
|
|
@@ -28,8 +29,9 @@ import * as i3 from "@progress/kendo-angular-inputs";
|
|
|
28
29
|
* ```
|
|
29
30
|
*/
|
|
30
31
|
export class BooleanFilterMenuComponent extends BooleanFilterComponent {
|
|
31
|
-
constructor(localization) {
|
|
32
|
+
constructor(renderer, localization) {
|
|
32
33
|
super(null, localization);
|
|
34
|
+
this.renderer = renderer;
|
|
33
35
|
/**
|
|
34
36
|
* The current menu filter.
|
|
35
37
|
* @type {CompositeFilterDescriptor}
|
|
@@ -65,12 +67,22 @@ export class BooleanFilterMenuComponent extends BooleanFilterComponent {
|
|
|
65
67
|
isSelected(radioValue) {
|
|
66
68
|
return this.filtersByField(this.column.field).some(({ value }) => value === radioValue);
|
|
67
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* @hidden
|
|
72
|
+
*/
|
|
73
|
+
columnLabel() {
|
|
74
|
+
const elem = this.inputElem.nativeElement;
|
|
75
|
+
const localizationMsg = this.localization.get('filterInputLabel') || '';
|
|
76
|
+
const columnName = this.column.title || this.column.field;
|
|
77
|
+
const fullMessage = replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
78
|
+
this.renderer.setAttribute(elem, 'aria-label', fullMessage);
|
|
79
|
+
}
|
|
68
80
|
}
|
|
69
|
-
BooleanFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterMenuComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
BooleanFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BooleanFilterMenuComponent, selector: "kendo-treelist-boolean-filter-menu", inputs: { filter: "filter", filterService: "filterService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
|
|
81
|
+
BooleanFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterMenuComponent, deps: [{ token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
+
BooleanFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BooleanFilterMenuComponent, selector: "kendo-treelist-boolean-filter-menu", inputs: { filter: "filter", filterService: "filterService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, viewQueries: [{ propertyName: "inputElem", first: true, predicate: ["inputElem"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
71
83
|
<ul class="k-radio-list k-reset">
|
|
72
84
|
<li *ngFor="let item of items">
|
|
73
|
-
<input type="radio"
|
|
85
|
+
<input #inputElem type="radio"
|
|
74
86
|
kendoRadioButton
|
|
75
87
|
[name]="idPrefix"
|
|
76
88
|
[checked]="isSelected(item.value)"
|
|
@@ -88,7 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
88
100
|
template: `
|
|
89
101
|
<ul class="k-radio-list k-reset">
|
|
90
102
|
<li *ngFor="let item of items">
|
|
91
|
-
<input type="radio"
|
|
103
|
+
<input #inputElem type="radio"
|
|
92
104
|
kendoRadioButton
|
|
93
105
|
[name]="idPrefix"
|
|
94
106
|
[checked]="isSelected(item.value)"
|
|
@@ -100,9 +112,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
100
112
|
</ul>
|
|
101
113
|
`
|
|
102
114
|
}]
|
|
103
|
-
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { hostClasses: [{
|
|
115
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.LocalizationService }]; }, propDecorators: { hostClasses: [{
|
|
104
116
|
type: HostBinding,
|
|
105
117
|
args: ['class.k-filtercell']
|
|
118
|
+
}], inputElem: [{
|
|
119
|
+
type: ViewChild,
|
|
120
|
+
args: ['inputElem']
|
|
106
121
|
}], filter: [{
|
|
107
122
|
type: Input
|
|
108
123
|
}], filterService: [{
|
|
@@ -59,7 +59,7 @@ DateFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
59
59
|
>
|
|
60
60
|
</kendo-datepicker>
|
|
61
61
|
</kendo-treelist-filter-menu-input-wrapper>
|
|
62
|
-
`, isInline: true, components: [{ type: i2.FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }, { type: i3.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i4.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
|
|
62
|
+
`, isInline: true, components: [{ type: i2.FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }, { type: i3.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i4.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }] });
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuInputComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
65
|
args: [{
|
|
@@ -50,7 +50,7 @@ NumericFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
50
50
|
[step]="step">
|
|
51
51
|
</kendo-numerictextbox>
|
|
52
52
|
</kendo-treelist-filter-menu-input-wrapper>
|
|
53
|
-
`, isInline: true, components: [{ type: i1.FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }, { type: i2.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"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i3.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
|
|
53
|
+
`, isInline: true, components: [{ type: i1.FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }, { type: i2.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"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i3.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }] });
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuInputComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
56
|
args: [{
|
|
@@ -5,20 +5,29 @@
|
|
|
5
5
|
import { Component, Input } from '@angular/core';
|
|
6
6
|
import { ColumnComponent } from "../../columns/column.component";
|
|
7
7
|
import { FilterService } from '../filter.service';
|
|
8
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
9
|
+
import { replaceMessagePlaceholder } from '../../utils';
|
|
8
10
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "
|
|
10
|
-
import * as i2 from "
|
|
11
|
-
import * as i3 from "@angular
|
|
12
|
-
import * as i4 from "
|
|
11
|
+
import * as i1 from "@progress/kendo-angular-l10n";
|
|
12
|
+
import * as i2 from "./filter-menu-input-wrapper.component";
|
|
13
|
+
import * as i3 from "@progress/kendo-angular-inputs";
|
|
14
|
+
import * as i4 from "@angular/forms";
|
|
15
|
+
import * as i5 from "../filter-input.directive";
|
|
13
16
|
/**
|
|
14
17
|
* @hidden
|
|
15
18
|
*/
|
|
16
19
|
export class StringFilterMenuInputComponent {
|
|
17
|
-
constructor() {
|
|
20
|
+
constructor(localization) {
|
|
21
|
+
this.localization = localization;
|
|
18
22
|
this.operators = [];
|
|
19
23
|
}
|
|
24
|
+
get columnLabel() {
|
|
25
|
+
const localizationMsg = this.localization.get('filterInputLabel') || '';
|
|
26
|
+
const columnName = this.column ? this.column.title || this.column.field : '';
|
|
27
|
+
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
28
|
+
}
|
|
20
29
|
}
|
|
21
|
-
StringFilterMenuInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
StringFilterMenuInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuInputComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
31
|
StringFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StringFilterMenuInputComponent, selector: "kendo-treelist-string-filter-menu-input", inputs: { operators: "operators", column: "column", filter: "filter", operator: "operator", currentFilter: "currentFilter", filterService: "filterService" }, ngImport: i0, template: `
|
|
23
32
|
<kendo-treelist-filter-menu-input-wrapper
|
|
24
33
|
[column]="column"
|
|
@@ -31,10 +40,11 @@ StringFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
31
40
|
<input
|
|
32
41
|
kendoTextBox
|
|
33
42
|
kendoFilterInput
|
|
43
|
+
[columnLabel]="columnLabel"
|
|
34
44
|
[filterDelay]="0"
|
|
35
45
|
[ngModel]="currentFilter?.value" />
|
|
36
46
|
</kendo-treelist-filter-menu-input-wrapper>
|
|
37
|
-
`, isInline: true, components: [{ type:
|
|
47
|
+
`, isInline: true, components: [{ type: i2.FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }], directives: [{ type: i3.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
38
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuInputComponent, decorators: [{
|
|
39
49
|
type: Component,
|
|
40
50
|
args: [{
|
|
@@ -51,12 +61,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
51
61
|
<input
|
|
52
62
|
kendoTextBox
|
|
53
63
|
kendoFilterInput
|
|
64
|
+
[columnLabel]="columnLabel"
|
|
54
65
|
[filterDelay]="0"
|
|
55
66
|
[ngModel]="currentFilter?.value" />
|
|
56
67
|
</kendo-treelist-filter-menu-input-wrapper>
|
|
57
68
|
`
|
|
58
69
|
}]
|
|
59
|
-
}], propDecorators: { operators: [{
|
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { operators: [{
|
|
60
71
|
type: Input
|
|
61
72
|
}], column: [{
|
|
62
73
|
type: Input
|