@progress/kendo-angular-grid 21.1.1-develop.2 → 21.2.0-develop.2

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 (48) hide show
  1. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +850 -756
  2. package/esm2022/aggregates/status-bar.component.mjs +13 -11
  3. package/esm2022/column-menu/column-chooser-content.component.mjs +133 -123
  4. package/esm2022/column-menu/column-list.component.mjs +62 -59
  5. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +12 -11
  6. package/esm2022/column-menu/column-menu-autosize.component.mjs +12 -11
  7. package/esm2022/column-menu/column-menu-item.component.mjs +221 -85
  8. package/esm2022/column-menu/column-menu-position.component.mjs +46 -43
  9. package/esm2022/column-menu/column-menu.component.mjs +401 -315
  10. package/esm2022/editing/add-command.directive.mjs +27 -17
  11. package/esm2022/editing/cancel-command.directive.mjs +27 -17
  12. package/esm2022/editing/edit-command.directive.mjs +27 -17
  13. package/esm2022/editing/form/form-formfield.component.mjs +97 -70
  14. package/esm2022/editing/form/form.component.mjs +77 -61
  15. package/esm2022/editing/remove-command.directive.mjs +27 -17
  16. package/esm2022/editing/save-command.directive.mjs +27 -17
  17. package/esm2022/excel/excel-command.directive.mjs +27 -17
  18. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +20 -17
  19. package/esm2022/filtering/cell/filter-cell.component.mjs +35 -33
  20. package/esm2022/filtering/filter-row.component.mjs +37 -29
  21. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +34 -31
  22. package/esm2022/filtering/menu/date-filter-menu.component.mjs +52 -49
  23. package/esm2022/filtering/menu/filter-menu-container.component.mjs +97 -89
  24. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +50 -47
  25. package/esm2022/filtering/menu/string-filter-menu.component.mjs +36 -33
  26. package/esm2022/filtering/multicheckbox-filter.component.mjs +54 -43
  27. package/esm2022/grid.component.mjs +1579 -1483
  28. package/esm2022/grouping/group-header.component.mjs +113 -89
  29. package/esm2022/grouping/group-panel.component.mjs +82 -75
  30. package/esm2022/package-metadata.mjs +2 -2
  31. package/esm2022/pdf/pdf-command.directive.mjs +27 -17
  32. package/esm2022/rendering/cell.component.mjs +411 -365
  33. package/esm2022/rendering/common/col-group.component.mjs +25 -15
  34. package/esm2022/rendering/common/loading.component.mjs +23 -19
  35. package/esm2022/rendering/details/detail-template.directive.mjs +6 -4
  36. package/esm2022/rendering/footer/footer.component.mjs +128 -112
  37. package/esm2022/rendering/header/header.component.mjs +412 -351
  38. package/esm2022/rendering/list.component.mjs +225 -202
  39. package/esm2022/rendering/table-body.component.mjs +553 -493
  40. package/esm2022/rendering/toolbar/toolbar.component.mjs +13 -11
  41. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +86 -79
  42. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +54 -51
  43. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +138 -115
  44. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +72 -65
  45. package/fesm2022/progress-kendo-angular-grid.mjs +6426 -5525
  46. package/package.json +24 -24
  47. package/rendering/details/detail-template.directive.d.ts +6 -4
  48. package/schematics/ngAdd/index.js +7 -7
@@ -9,7 +9,6 @@ import { setFilter, logicOperators } from '../base-filter-cell.component';
9
9
  import { MenuTabbingService } from './menu-tabbing.service';
10
10
  import { ContextService } from '../../common/provider.service';
11
11
  import { FilterMenuDropDownListDirective } from './filter-menu-dropdownlist.directive';
12
- import { NgIf } from '@angular/common';
13
12
  import { NumericFilterMenuInputComponent } from './numeric-filter-menu-input.component';
14
13
  import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
15
14
  import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
@@ -99,26 +98,26 @@ export class NumericFilterMenuComponent extends NumericFilterComponent {
99
98
  super.localizationChange();
100
99
  }
101
100
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericFilterMenuComponent, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Component });
102
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NumericFilterMenuComponent, isStandalone: true, selector: "kendo-grid-numeric-filter-menu", inputs: { filter: "filter", extra: "extra", filterService: "filterService", filterDelay: "filterDelay", placeholder: "placeholder", extraPlaceholder: "extraPlaceholder", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
101
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NumericFilterMenuComponent, isStandalone: true, selector: "kendo-grid-numeric-filter-menu", inputs: { filter: "filter", extra: "extra", filterService: "filterService", filterDelay: "filterDelay", placeholder: "placeholder", extraPlaceholder: "extraPlaceholder", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
103
102
  <kendo-grid-numeric-filter-menu-input
104
- [currentFilter]="firstFilter"
105
- [operators]="operators"
106
- [filterService]="filterService"
107
- [column]="column"
108
- [filter]="filter"
109
- [filterDelay]="filterDelay"
110
- [format]="format"
111
- [decimals]="decimals"
112
- [spinners]="spinners"
113
- [min]="min"
114
- [max]="max"
115
- [step]="step"
116
- [menuTabbingService]="menuTabbingService"
117
- [isFirstDropDown]="true"
118
- [placeholder]="placeholder">
103
+ [currentFilter]="firstFilter"
104
+ [operators]="operators"
105
+ [filterService]="filterService"
106
+ [column]="column"
107
+ [filter]="filter"
108
+ [filterDelay]="filterDelay"
109
+ [format]="format"
110
+ [decimals]="decimals"
111
+ [spinners]="spinners"
112
+ [min]="min"
113
+ [max]="max"
114
+ [step]="step"
115
+ [menuTabbingService]="menuTabbingService"
116
+ [isFirstDropDown]="true"
117
+ [placeholder]="placeholder">
119
118
  </kendo-grid-numeric-filter-menu-input>
120
- <kendo-dropdownlist
121
- *ngIf="extra"
119
+ @if (extra) {
120
+ <kendo-dropdownlist
122
121
  kendoFilterMenuDropDown
123
122
  [adaptiveTitle]="ctx.localization.get('adaptiveFilterOperatorsTitle')"
124
123
  [adaptiveMode]="ctx.grid?.adaptiveMode"
@@ -131,9 +130,10 @@ export class NumericFilterMenuComponent extends NumericFilterComponent {
131
130
  [value]="filter?.logic"
132
131
  textField="text"
133
132
  valueField="value">
134
- </kendo-dropdownlist>
135
- <kendo-grid-numeric-filter-menu-input
136
- *ngIf="extra"
133
+ </kendo-dropdownlist>
134
+ }
135
+ @if (extra) {
136
+ <kendo-grid-numeric-filter-menu-input
137
137
  [operators]="operators"
138
138
  [currentFilter]="secondFilter"
139
139
  [filterService]="filterService"
@@ -147,8 +147,9 @@ export class NumericFilterMenuComponent extends NumericFilterComponent {
147
147
  [step]="step"
148
148
  [menuTabbingService]="menuTabbingService"
149
149
  [placeholder]="extraPlaceholder">
150
- </kendo-grid-numeric-filter-menu-input>
151
- `, isInline: true, dependencies: [{ kind: "component", type: NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format", "placeholder"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
150
+ </kendo-grid-numeric-filter-menu-input>
151
+ }
152
+ `, isInline: true, dependencies: [{ kind: "component", type: NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format", "placeholder"] }, { 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: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
152
153
  }
153
154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericFilterMenuComponent, decorators: [{
154
155
  type: Component,
@@ -156,24 +157,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
156
157
  selector: 'kendo-grid-numeric-filter-menu',
157
158
  template: `
158
159
  <kendo-grid-numeric-filter-menu-input
159
- [currentFilter]="firstFilter"
160
- [operators]="operators"
161
- [filterService]="filterService"
162
- [column]="column"
163
- [filter]="filter"
164
- [filterDelay]="filterDelay"
165
- [format]="format"
166
- [decimals]="decimals"
167
- [spinners]="spinners"
168
- [min]="min"
169
- [max]="max"
170
- [step]="step"
171
- [menuTabbingService]="menuTabbingService"
172
- [isFirstDropDown]="true"
173
- [placeholder]="placeholder">
160
+ [currentFilter]="firstFilter"
161
+ [operators]="operators"
162
+ [filterService]="filterService"
163
+ [column]="column"
164
+ [filter]="filter"
165
+ [filterDelay]="filterDelay"
166
+ [format]="format"
167
+ [decimals]="decimals"
168
+ [spinners]="spinners"
169
+ [min]="min"
170
+ [max]="max"
171
+ [step]="step"
172
+ [menuTabbingService]="menuTabbingService"
173
+ [isFirstDropDown]="true"
174
+ [placeholder]="placeholder">
174
175
  </kendo-grid-numeric-filter-menu-input>
175
- <kendo-dropdownlist
176
- *ngIf="extra"
176
+ @if (extra) {
177
+ <kendo-dropdownlist
177
178
  kendoFilterMenuDropDown
178
179
  [adaptiveTitle]="ctx.localization.get('adaptiveFilterOperatorsTitle')"
179
180
  [adaptiveMode]="ctx.grid?.adaptiveMode"
@@ -186,9 +187,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
186
187
  [value]="filter?.logic"
187
188
  textField="text"
188
189
  valueField="value">
189
- </kendo-dropdownlist>
190
- <kendo-grid-numeric-filter-menu-input
191
- *ngIf="extra"
190
+ </kendo-dropdownlist>
191
+ }
192
+ @if (extra) {
193
+ <kendo-grid-numeric-filter-menu-input
192
194
  [operators]="operators"
193
195
  [currentFilter]="secondFilter"
194
196
  [filterService]="filterService"
@@ -202,10 +204,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
202
204
  [step]="step"
203
205
  [menuTabbingService]="menuTabbingService"
204
206
  [placeholder]="extraPlaceholder">
205
- </kendo-grid-numeric-filter-menu-input>
206
- `,
207
+ </kendo-grid-numeric-filter-menu-input>
208
+ }
209
+ `,
207
210
  standalone: true,
208
- imports: [NumericFilterMenuInputComponent, NgIf, DropDownListComponent, FilterMenuDropDownListDirective]
211
+ imports: [NumericFilterMenuInputComponent, DropDownListComponent, FilterMenuDropDownListDirective]
209
212
  }]
210
213
  }], ctorParameters: () => [{ type: i1.ContextService }], propDecorators: { hostClasses: [{
211
214
  type: HostBinding,
@@ -9,7 +9,6 @@ import { FilterService } from '../filter.service';
9
9
  import { setFilter, logicOperators } from '../base-filter-cell.component';
10
10
  import { ContextService } from '../../common/provider.service';
11
11
  import { FilterMenuDropDownListDirective } from './filter-menu-dropdownlist.directive';
12
- import { NgIf } from '@angular/common';
13
12
  import { StringFilterMenuInputComponent } from './string-filter-menu-input.component';
14
13
  import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
15
14
  import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
@@ -97,19 +96,19 @@ export class StringFilterMenuComponent extends StringFilterComponent {
97
96
  super.localizationChange();
98
97
  }
99
98
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFilterMenuComponent, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Component });
100
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StringFilterMenuComponent, isStandalone: true, selector: "kendo-grid-string-filter-menu", inputs: { filter: "filter", extra: "extra", filterService: "filterService", placeholder: "placeholder", extraPlaceholder: "extraPlaceholder", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
99
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StringFilterMenuComponent, isStandalone: true, selector: "kendo-grid-string-filter-menu", inputs: { filter: "filter", extra: "extra", filterService: "filterService", placeholder: "placeholder", extraPlaceholder: "extraPlaceholder", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
101
100
  <kendo-grid-string-filter-menu-input
102
- [currentFilter]="firstFilter"
103
- [operators]="operators"
104
- [filterService]="filterService"
105
- [column]="column"
106
- [filter]="filter"
107
- [isFirstDropDown]="true"
108
- [placeholder]="placeholder"
109
- [menuTabbingService]="menuTabbingService">
101
+ [currentFilter]="firstFilter"
102
+ [operators]="operators"
103
+ [filterService]="filterService"
104
+ [column]="column"
105
+ [filter]="filter"
106
+ [isFirstDropDown]="true"
107
+ [placeholder]="placeholder"
108
+ [menuTabbingService]="menuTabbingService">
110
109
  </kendo-grid-string-filter-menu-input>
111
- <kendo-dropdownlist
112
- *ngIf="extra"
110
+ @if (extra) {
111
+ <kendo-dropdownlist
113
112
  kendoFilterMenuDropDown
114
113
  [adaptiveTitle]="ctx.localization.get('adaptiveFilterOperatorsTitle')"
115
114
  [adaptiveMode]="ctx.grid?.adaptiveMode"
@@ -121,9 +120,10 @@ export class StringFilterMenuComponent extends StringFilterComponent {
121
120
  [value]="filter?.logic"
122
121
  textField="text"
123
122
  valueField="value">
124
- </kendo-dropdownlist>
125
- <kendo-grid-string-filter-menu-input
126
- *ngIf="extra"
123
+ </kendo-dropdownlist>
124
+ }
125
+ @if (extra) {
126
+ <kendo-grid-string-filter-menu-input
127
127
  [operators]="operators"
128
128
  [currentFilter]="secondFilter"
129
129
  [filterService]="filterService"
@@ -131,8 +131,9 @@ export class StringFilterMenuComponent extends StringFilterComponent {
131
131
  [filter]="filter"
132
132
  [placeholder]="extraPlaceholder"
133
133
  [menuTabbingService]="menuTabbingService">
134
- </kendo-grid-string-filter-menu-input>
135
- `, isInline: true, dependencies: [{ kind: "component", type: StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService", "placeholder"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
134
+ </kendo-grid-string-filter-menu-input>
135
+ }
136
+ `, isInline: true, dependencies: [{ kind: "component", type: StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService", "placeholder"] }, { 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: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
136
137
  }
137
138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFilterMenuComponent, decorators: [{
138
139
  type: Component,
@@ -140,17 +141,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
140
141
  selector: 'kendo-grid-string-filter-menu',
141
142
  template: `
142
143
  <kendo-grid-string-filter-menu-input
143
- [currentFilter]="firstFilter"
144
- [operators]="operators"
145
- [filterService]="filterService"
146
- [column]="column"
147
- [filter]="filter"
148
- [isFirstDropDown]="true"
149
- [placeholder]="placeholder"
150
- [menuTabbingService]="menuTabbingService">
144
+ [currentFilter]="firstFilter"
145
+ [operators]="operators"
146
+ [filterService]="filterService"
147
+ [column]="column"
148
+ [filter]="filter"
149
+ [isFirstDropDown]="true"
150
+ [placeholder]="placeholder"
151
+ [menuTabbingService]="menuTabbingService">
151
152
  </kendo-grid-string-filter-menu-input>
152
- <kendo-dropdownlist
153
- *ngIf="extra"
153
+ @if (extra) {
154
+ <kendo-dropdownlist
154
155
  kendoFilterMenuDropDown
155
156
  [adaptiveTitle]="ctx.localization.get('adaptiveFilterOperatorsTitle')"
156
157
  [adaptiveMode]="ctx.grid?.adaptiveMode"
@@ -162,9 +163,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
162
163
  [value]="filter?.logic"
163
164
  textField="text"
164
165
  valueField="value">
165
- </kendo-dropdownlist>
166
- <kendo-grid-string-filter-menu-input
167
- *ngIf="extra"
166
+ </kendo-dropdownlist>
167
+ }
168
+ @if (extra) {
169
+ <kendo-grid-string-filter-menu-input
168
170
  [operators]="operators"
169
171
  [currentFilter]="secondFilter"
170
172
  [filterService]="filterService"
@@ -172,10 +174,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
172
174
  [filter]="filter"
173
175
  [placeholder]="extraPlaceholder"
174
176
  [menuTabbingService]="menuTabbingService">
175
- </kendo-grid-string-filter-menu-input>
176
- `,
177
+ </kendo-grid-string-filter-menu-input>
178
+ }
179
+ `,
177
180
  standalone: true,
178
- imports: [StringFilterMenuInputComponent, NgIf, DropDownListComponent, FilterMenuDropDownListDirective]
181
+ imports: [StringFilterMenuInputComponent, DropDownListComponent, FilterMenuDropDownListDirective]
179
182
  }]
180
183
  }], ctorParameters: () => [{ type: i1.ContextService }], propDecorators: { hostClasses: [{
181
184
  type: HostBinding,
@@ -4,7 +4,6 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, Input, EventEmitter, Output, ViewChild } from '@angular/core';
6
6
  import { filterBy } from '@progress/kendo-data-query';
7
- import { NgFor, NgIf } from '@angular/common';
8
7
  import { CheckBoxComponent, TextBoxComponent, TextBoxPrefixTemplateDirective } from '@progress/kendo-angular-inputs';
9
8
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
10
9
  import { searchIcon } from '@progress/kendo-svg-icons';
@@ -233,75 +232,87 @@ export class MultiCheckboxFilterComponent {
233
232
  }
234
233
  }
235
234
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MultiCheckboxFilterComponent, deps: [{ token: i1.ContextService }, { token: i2.LocalDataChangesService }], target: i0.ɵɵFactoryTarget.Component });
236
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MultiCheckboxFilterComponent, isStandalone: true, selector: "kendo-grid-multicheckbox-filter", inputs: { column: "column" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: FilterInputDirective, descendants: true }], ngImport: i0, template: `
237
- <kendo-textbox *ngIf="normalizedFilterVariant.search"
235
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MultiCheckboxFilterComponent, isStandalone: true, selector: "kendo-grid-multicheckbox-filter", inputs: { column: "column" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: FilterInputDirective, descendants: true }], ngImport: i0, template: `
236
+ @if (normalizedFilterVariant.search) {
237
+ <kendo-textbox
238
238
  kendoFilterInput
239
239
  class="k-searchbox"
240
240
  [placeholder]="messageFor('multiCheckboxFilterSearchPlaceholder')">
241
241
  <ng-template kendoTextBoxPrefixTemplate>
242
- <kendo-icon-wrapper innerCssClass="k-input-icon" name="search" [svgIcon]="searchIcon"></kendo-icon-wrapper>
242
+ <kendo-icon-wrapper innerCssClass="k-input-icon" name="search" [svgIcon]="searchIcon"></kendo-icon-wrapper>
243
243
  </ng-template>
244
- </kendo-textbox>
244
+ </kendo-textbox>
245
+ }
245
246
  <ul class="k-reset k-multicheck-wrap">
246
- <li class="k-item k-check-all-wrap" *ngIf="showSelectAll">
247
- <label class="k-label k-checkbox-label" role="option">
248
- <kendo-checkbox
249
- [checkedState]="selectAllChecked"
250
- (checkedStateChange)="handleCheckBoxChange($event, null, true)">
251
- </kendo-checkbox>
252
- <span>{{ messageFor('multiCheckboxFilterSelectAllLabel') }}</span>
253
- </label>
247
+ @if (showSelectAll) {
248
+ <li class="k-item k-check-all-wrap">
249
+ <label class="k-label k-checkbox-label" role="option">
250
+ <kendo-checkbox
251
+ [checkedState]="selectAllChecked"
252
+ (checkedStateChange)="handleCheckBoxChange($event, null, true)">
253
+ </kendo-checkbox>
254
+ <span>{{ messageFor('multiCheckboxFilterSelectAllLabel') }}</span>
255
+ </label>
254
256
  </li>
255
- <li class="k-item" *ngFor="let item of listData">
256
- <label class="k-label k-checkbox-label" role="option">
257
- <kendo-checkbox
258
- [checkedState]="isItemSelected(item)"
259
- (checkedStateChange)="handleCheckBoxChange($event, item)">
260
- </kendo-checkbox>
261
- <span>{{ item | format: column.format }}</span>
262
- </label>
257
+ }
258
+ @for (item of listData; track item) {
259
+ <li class="k-item">
260
+ <label class="k-label k-checkbox-label" role="option">
261
+ <kendo-checkbox
262
+ [checkedState]="isItemSelected(item)"
263
+ (checkedStateChange)="handleCheckBoxChange($event, item)">
264
+ </kendo-checkbox>
265
+ <span>{{ item | format: column.format }}</span>
266
+ </label>
263
267
  </li>
268
+ }
264
269
  </ul>
265
270
  <div class="k-filter-selected-items">{{selectedItemsMessage}}</div>
266
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { 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: TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]", inputs: ["showSeparator"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "pipe", type: FormatPipe, name: "format" }, { kind: "directive", type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
271
+ `, isInline: true, dependencies: [{ kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { 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: TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]", inputs: ["showSeparator"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "pipe", type: FormatPipe, name: "format" }, { kind: "directive", type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
267
272
  }
268
273
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MultiCheckboxFilterComponent, decorators: [{
269
274
  type: Component,
270
275
  args: [{
271
276
  selector: 'kendo-grid-multicheckbox-filter',
272
277
  template: `
273
- <kendo-textbox *ngIf="normalizedFilterVariant.search"
278
+ @if (normalizedFilterVariant.search) {
279
+ <kendo-textbox
274
280
  kendoFilterInput
275
281
  class="k-searchbox"
276
282
  [placeholder]="messageFor('multiCheckboxFilterSearchPlaceholder')">
277
283
  <ng-template kendoTextBoxPrefixTemplate>
278
- <kendo-icon-wrapper innerCssClass="k-input-icon" name="search" [svgIcon]="searchIcon"></kendo-icon-wrapper>
284
+ <kendo-icon-wrapper innerCssClass="k-input-icon" name="search" [svgIcon]="searchIcon"></kendo-icon-wrapper>
279
285
  </ng-template>
280
- </kendo-textbox>
286
+ </kendo-textbox>
287
+ }
281
288
  <ul class="k-reset k-multicheck-wrap">
282
- <li class="k-item k-check-all-wrap" *ngIf="showSelectAll">
283
- <label class="k-label k-checkbox-label" role="option">
284
- <kendo-checkbox
285
- [checkedState]="selectAllChecked"
286
- (checkedStateChange)="handleCheckBoxChange($event, null, true)">
287
- </kendo-checkbox>
288
- <span>{{ messageFor('multiCheckboxFilterSelectAllLabel') }}</span>
289
- </label>
289
+ @if (showSelectAll) {
290
+ <li class="k-item k-check-all-wrap">
291
+ <label class="k-label k-checkbox-label" role="option">
292
+ <kendo-checkbox
293
+ [checkedState]="selectAllChecked"
294
+ (checkedStateChange)="handleCheckBoxChange($event, null, true)">
295
+ </kendo-checkbox>
296
+ <span>{{ messageFor('multiCheckboxFilterSelectAllLabel') }}</span>
297
+ </label>
290
298
  </li>
291
- <li class="k-item" *ngFor="let item of listData">
292
- <label class="k-label k-checkbox-label" role="option">
293
- <kendo-checkbox
294
- [checkedState]="isItemSelected(item)"
295
- (checkedStateChange)="handleCheckBoxChange($event, item)">
296
- </kendo-checkbox>
297
- <span>{{ item | format: column.format }}</span>
298
- </label>
299
+ }
300
+ @for (item of listData; track item) {
301
+ <li class="k-item">
302
+ <label class="k-label k-checkbox-label" role="option">
303
+ <kendo-checkbox
304
+ [checkedState]="isItemSelected(item)"
305
+ (checkedStateChange)="handleCheckBoxChange($event, item)">
306
+ </kendo-checkbox>
307
+ <span>{{ item | format: column.format }}</span>
308
+ </label>
299
309
  </li>
310
+ }
300
311
  </ul>
301
312
  <div class="k-filter-selected-items">{{selectedItemsMessage}}</div>
302
- `,
313
+ `,
303
314
  standalone: true,
304
- imports: [NgFor, NgIf, CheckBoxComponent, TextBoxComponent, TextBoxPrefixTemplateDirective, IconWrapperComponent, FormatPipe, FilterInputDirective]
315
+ imports: [CheckBoxComponent, TextBoxComponent, TextBoxPrefixTemplateDirective, IconWrapperComponent, FormatPipe, FilterInputDirective]
305
316
  }]
306
317
  }], ctorParameters: () => [{ type: i1.ContextService }, { type: i2.LocalDataChangesService }], propDecorators: { column: [{
307
318
  type: Input