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

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 (58) hide show
  1. package/codemods/utils.js +805 -394
  2. package/codemods/v20/grid-kendogridgroupbinding.js +8 -11
  3. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +850 -756
  4. package/esm2022/aggregates/status-bar.component.mjs +13 -11
  5. package/esm2022/column-menu/column-chooser-content.component.mjs +133 -123
  6. package/esm2022/column-menu/column-list.component.mjs +64 -61
  7. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +12 -11
  8. package/esm2022/column-menu/column-menu-autosize.component.mjs +12 -11
  9. package/esm2022/column-menu/column-menu-item.component.mjs +221 -85
  10. package/esm2022/column-menu/column-menu-position.component.mjs +46 -43
  11. package/esm2022/column-menu/column-menu.component.mjs +401 -315
  12. package/esm2022/databinding.directive.mjs +1 -0
  13. package/esm2022/editing/add-command.directive.mjs +27 -17
  14. package/esm2022/editing/cancel-command.directive.mjs +27 -17
  15. package/esm2022/editing/edit-command.directive.mjs +27 -17
  16. package/esm2022/editing/form/form-formfield.component.mjs +97 -70
  17. package/esm2022/editing/form/form.component.mjs +77 -61
  18. package/esm2022/editing/remove-command.directive.mjs +27 -17
  19. package/esm2022/editing/save-command.directive.mjs +27 -17
  20. package/esm2022/excel/excel-command.directive.mjs +27 -17
  21. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +20 -17
  22. package/esm2022/filtering/cell/filter-cell.component.mjs +35 -33
  23. package/esm2022/filtering/filter-row.component.mjs +37 -29
  24. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +34 -31
  25. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +8 -7
  26. package/esm2022/filtering/menu/date-filter-menu.component.mjs +52 -49
  27. package/esm2022/filtering/menu/filter-menu-container.component.mjs +115 -92
  28. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +50 -47
  29. package/esm2022/filtering/menu/string-filter-menu.component.mjs +36 -33
  30. package/esm2022/filtering/multicheckbox-filter.component.mjs +54 -43
  31. package/esm2022/grid.component.mjs +1579 -1483
  32. package/esm2022/grouping/group-header.component.mjs +113 -89
  33. package/esm2022/grouping/group-panel.component.mjs +84 -77
  34. package/esm2022/index.mjs +1 -0
  35. package/esm2022/navigation/navigation.service.mjs +4 -4
  36. package/esm2022/package-metadata.mjs +2 -2
  37. package/esm2022/pdf/pdf-command.directive.mjs +27 -17
  38. package/esm2022/rendering/cell.component.mjs +411 -365
  39. package/esm2022/rendering/common/col-group.component.mjs +25 -15
  40. package/esm2022/rendering/common/loading.component.mjs +23 -19
  41. package/esm2022/rendering/details/detail-template.directive.mjs +6 -4
  42. package/esm2022/rendering/footer/footer.component.mjs +128 -112
  43. package/esm2022/rendering/header/header.component.mjs +414 -353
  44. package/esm2022/rendering/list.component.mjs +227 -204
  45. package/esm2022/rendering/table-body.component.mjs +553 -493
  46. package/esm2022/rendering/toolbar/toolbar.component.mjs +13 -11
  47. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +86 -79
  48. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +54 -51
  49. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +141 -118
  50. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +72 -65
  51. package/fesm2022/progress-kendo-angular-grid.mjs +6462 -5545
  52. package/filtering/menu/date-filter-menu-input.component.d.ts +1 -2
  53. package/filtering/menu/filter-menu-container.component.d.ts +2 -2
  54. package/index.d.ts +1 -0
  55. package/package.json +25 -26
  56. package/rendering/details/detail-template.directive.d.ts +6 -4
  57. package/schematics/ngAdd/index.js +7 -7
  58. package/codemods/template-transformer/index.js +0 -93
@@ -8,7 +8,7 @@ import { DetailTemplateDirective } from '../rendering/details/detail-template.di
8
8
  import { ContextService } from '../common/provider.service';
9
9
  import { LogicalCellDirective } from '../navigation/logical-cell.directive';
10
10
  import { FilterCellComponent } from './cell/filter-cell.component';
11
- import { NgFor, NgIf, NgStyle, NgClass } from '@angular/common';
11
+ import { NgStyle, NgClass } from '@angular/common';
12
12
  import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "../common/provider.service";
@@ -47,63 +47,71 @@ export class FilterRowComponent {
47
47
  return this.ctx.grid?.isStacked;
48
48
  }
49
49
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterRowComponent, deps: [{ token: i1.ContextService }, { token: i2.ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
50
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterRowComponent, isStandalone: true, selector: "[kendoGridFilterRow]", inputs: { columns: "columns", filter: "filter", groups: "groups", detailTemplate: "detailTemplate", logicalRowIndex: "logicalRowIndex", lockedColumnsCount: "lockedColumnsCount" }, host: { properties: { "class.k-filter-row": "this.filterRowClass" } }, ngImport: i0, template: `
51
- <td
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterRowComponent, isStandalone: true, selector: "[kendoGridFilterRow]", inputs: { columns: "columns", filter: "filter", groups: "groups", detailTemplate: "detailTemplate", logicalRowIndex: "logicalRowIndex", lockedColumnsCount: "lockedColumnsCount" }, host: { properties: { "class.k-filter-row": "this.filterRowClass" } }, ngImport: i0, template: `
51
+ @for (g of groups; track g) {
52
+ <td
52
53
  class="k-table-td k-group-cell k-table-group-td"
53
- *ngFor="let g of groups"
54
54
  role="presentation">
55
- </td>
56
- <td
55
+ </td>
56
+ }
57
+ @if (detailTemplate?.templateRef && !isStacked) {
58
+ <td
57
59
  class="k-table-td k-hierarchy-cell"
58
- *ngIf="detailTemplate?.templateRef && !isStacked"
59
60
  role="presentation">
60
- </td>
61
- <td *ngFor="let column of columns; let columnIndex = index"
61
+ </td>
62
+ }
63
+ @for (column of columns; track column; let columnIndex = $index) {
64
+ <td
62
65
  class="k-table-td"
63
66
  [class.k-grid-header-sticky]="column.sticky"
64
67
  [ngStyle]="addStickyStyles(column)"
65
68
  [ngClass]="column.filterClass"
66
69
  [attr.aria-label]="filterLabel($any(column))"
67
70
  kendoGridFilterCell
68
- [column]="$any(column)"
69
- [filter]="filter"
71
+ [column]="$any(column)"
72
+ [filter]="filter"
70
73
  kendoGridLogicalCell
71
- [logicalRowIndex]="logicalRowIndex"
72
- [logicalColIndex]="getLogicalColIndex(columnIndex)"
73
- ></td>
74
- `, 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: FilterCellComponent, selector: "[kendoGridFilterCell]", inputs: ["column", "filter", "size"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
74
+ [logicalRowIndex]="logicalRowIndex"
75
+ [logicalColIndex]="getLogicalColIndex(columnIndex)"
76
+ ></td>
77
+ }
78
+ `, isInline: true, dependencies: [{ kind: "component", type: FilterCellComponent, selector: "[kendoGridFilterCell]", inputs: ["column", "filter", "size"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
75
79
  }
76
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterRowComponent, decorators: [{
77
81
  type: Component,
78
82
  args: [{
79
83
  selector: '[kendoGridFilterRow]',
80
84
  template: `
81
- <td
85
+ @for (g of groups; track g) {
86
+ <td
82
87
  class="k-table-td k-group-cell k-table-group-td"
83
- *ngFor="let g of groups"
84
88
  role="presentation">
85
- </td>
86
- <td
89
+ </td>
90
+ }
91
+ @if (detailTemplate?.templateRef && !isStacked) {
92
+ <td
87
93
  class="k-table-td k-hierarchy-cell"
88
- *ngIf="detailTemplate?.templateRef && !isStacked"
89
94
  role="presentation">
90
- </td>
91
- <td *ngFor="let column of columns; let columnIndex = index"
95
+ </td>
96
+ }
97
+ @for (column of columns; track column; let columnIndex = $index) {
98
+ <td
92
99
  class="k-table-td"
93
100
  [class.k-grid-header-sticky]="column.sticky"
94
101
  [ngStyle]="addStickyStyles(column)"
95
102
  [ngClass]="column.filterClass"
96
103
  [attr.aria-label]="filterLabel($any(column))"
97
104
  kendoGridFilterCell
98
- [column]="$any(column)"
99
- [filter]="filter"
105
+ [column]="$any(column)"
106
+ [filter]="filter"
100
107
  kendoGridLogicalCell
101
- [logicalRowIndex]="logicalRowIndex"
102
- [logicalColIndex]="getLogicalColIndex(columnIndex)"
103
- ></td>
104
- `,
108
+ [logicalRowIndex]="logicalRowIndex"
109
+ [logicalColIndex]="getLogicalColIndex(columnIndex)"
110
+ ></td>
111
+ }
112
+ `,
105
113
  standalone: true,
106
- imports: [NgFor, NgIf, FilterCellComponent, LogicalCellDirective, NgStyle, NgClass]
114
+ imports: [FilterCellComponent, LogicalCellDirective, NgStyle, NgClass]
107
115
  }]
108
116
  }], ctorParameters: () => [{ type: i1.ContextService }, { type: i2.ColumnInfoService }], propDecorators: { columns: [{
109
117
  type: Input
@@ -9,7 +9,6 @@ import { guid, replaceMessagePlaceholder } from '@progress/kendo-angular-common'
9
9
  import { BooleanFilterRadioButtonDirective } from './filter-radio-button.directive';
10
10
  import { MenuTabbingService } from './menu-tabbing.service';
11
11
  import { ContextService } from '../../common/provider.service';
12
- import { NgFor } from '@angular/common';
13
12
  import { RadioButtonComponent } from '@progress/kendo-angular-inputs';
14
13
  import * as i0 from "@angular/core";
15
14
  import * as i1 from "../../common/provider.service";
@@ -105,24 +104,26 @@ export class BooleanFilterMenuComponent extends BooleanFilterComponent {
105
104
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
106
105
  }
107
106
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFilterMenuComponent, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Component });
108
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BooleanFilterMenuComponent, isStandalone: true, selector: "kendo-grid-boolean-filter-menu", inputs: { filter: "filter", filterService: "filterService", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, viewQueries: [{ propertyName: "radioButtons", predicate: BooleanFilterRadioButtonDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: `
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BooleanFilterMenuComponent, isStandalone: true, selector: "kendo-grid-boolean-filter-menu", inputs: { filter: "filter", filterService: "filterService", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, viewQueries: [{ propertyName: "radioButtons", predicate: BooleanFilterRadioButtonDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: `
109
108
  <ul class="k-radio-list k-reset">
110
- <li *ngFor="let item of items">
111
- <kendo-radiobutton
112
- kendoFilterMenuRadioButton
113
- [columnLabel]="columnLabel"
114
- #input
115
- [size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
116
- [name]="idPrefix"
117
- [checked]="isSelected(item.value)"
118
- [attr.id]="radioId(item.value)"
119
- (change)="onChange(item.value, input)"
120
- (keydown.shift.tab)="onShiftTab($event)"
121
- ></kendo-radiobutton>
122
- <label class="k-radio-label" [attr.for]="input.focusableId">{{item.text}}</label>
109
+ @for (item of items; track item) {
110
+ <li>
111
+ <kendo-radiobutton
112
+ kendoFilterMenuRadioButton
113
+ [columnLabel]="columnLabel"
114
+ #input
115
+ [size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
116
+ [name]="idPrefix"
117
+ [checked]="isSelected(item.value)"
118
+ [attr.id]="radioId(item.value)"
119
+ (change)="onChange(item.value, input)"
120
+ (keydown.shift.tab)="onShiftTab($event)"
121
+ ></kendo-radiobutton>
122
+ <label class="k-radio-label" [attr.for]="input.focusableId">{{item.text}}</label>
123
123
  </li>
124
+ }
124
125
  </ul>
125
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: RadioButtonComponent, selector: "kendo-radiobutton", inputs: ["checked"], outputs: ["checkedChange"], exportAs: ["kendoRadioButton"] }, { kind: "directive", type: BooleanFilterRadioButtonDirective, selector: "[kendoFilterMenuRadioButton]", inputs: ["columnLabel"] }] });
126
+ `, isInline: true, dependencies: [{ kind: "component", type: RadioButtonComponent, selector: "kendo-radiobutton", inputs: ["checked"], outputs: ["checkedChange"], exportAs: ["kendoRadioButton"] }, { kind: "directive", type: BooleanFilterRadioButtonDirective, selector: "[kendoFilterMenuRadioButton]", inputs: ["columnLabel"] }] });
126
127
  }
127
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFilterMenuComponent, decorators: [{
128
129
  type: Component,
@@ -130,24 +131,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
130
131
  selector: 'kendo-grid-boolean-filter-menu',
131
132
  template: `
132
133
  <ul class="k-radio-list k-reset">
133
- <li *ngFor="let item of items">
134
- <kendo-radiobutton
135
- kendoFilterMenuRadioButton
136
- [columnLabel]="columnLabel"
137
- #input
138
- [size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
139
- [name]="idPrefix"
140
- [checked]="isSelected(item.value)"
141
- [attr.id]="radioId(item.value)"
142
- (change)="onChange(item.value, input)"
143
- (keydown.shift.tab)="onShiftTab($event)"
144
- ></kendo-radiobutton>
145
- <label class="k-radio-label" [attr.for]="input.focusableId">{{item.text}}</label>
134
+ @for (item of items; track item) {
135
+ <li>
136
+ <kendo-radiobutton
137
+ kendoFilterMenuRadioButton
138
+ [columnLabel]="columnLabel"
139
+ #input
140
+ [size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
141
+ [name]="idPrefix"
142
+ [checked]="isSelected(item.value)"
143
+ [attr.id]="radioId(item.value)"
144
+ (change)="onChange(item.value, input)"
145
+ (keydown.shift.tab)="onShiftTab($event)"
146
+ ></kendo-radiobutton>
147
+ <label class="k-radio-label" [attr.for]="input.focusableId">{{item.text}}</label>
146
148
  </li>
149
+ }
147
150
  </ul>
148
- `,
151
+ `,
149
152
  standalone: true,
150
- imports: [NgFor, RadioButtonComponent, BooleanFilterRadioButtonDirective]
153
+ imports: [RadioButtonComponent, BooleanFilterRadioButtonDirective]
151
154
  }]
152
155
  }], ctorParameters: () => [{ type: i1.ContextService }], propDecorators: { hostClasses: [{
153
156
  type: HostBinding,
@@ -7,7 +7,7 @@ import { Component, Input } from '@angular/core';
7
7
  import { ColumnComponent } from "../../columns/column.component";
8
8
  import { FilterService } from '../filter.service';
9
9
  import { SinglePopupService } from '../../common/single-popup.service';
10
- import { filter } from 'rxjs/operators';
10
+ import { take } from 'rxjs/operators';
11
11
  import { DatePickerComponent, DatePickerCustomMessagesComponent } from '@progress/kendo-angular-dateinputs';
12
12
  import { ContextService } from '../../common/provider.service';
13
13
  import { FilterInputDirective } from '../filter-input.directive';
@@ -49,9 +49,12 @@ export class DateFilterMenuInputComponent {
49
49
  this.subscription.unsubscribe();
50
50
  }
51
51
  }
52
- open(picker) {
52
+ open() {
53
+ if (this.subscription) {
54
+ this.subscription.unsubscribe();
55
+ }
53
56
  this.subscription = this.popupService.onClose
54
- .pipe(filter(() => picker.isActive))
57
+ .pipe(take(1))
55
58
  .subscribe(e => e.preventDefault());
56
59
  }
57
60
  messageFor(key) {
@@ -74,13 +77,12 @@ export class DateFilterMenuInputComponent {
74
77
  [isFirstDropDown]="isFirstDropDown"
75
78
  [menuTabbingService]="menuTabbingService">
76
79
  <kendo-datepicker
77
- #picker
78
80
  kendoFilterInput
79
81
  [adaptiveMode]="ctx.grid?.adaptiveMode"
80
82
  [size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
81
83
  [columnLabel]="columnLabel"
82
84
  [filterDelay]="0"
83
- (open)="open(picker)"
85
+ (open)="open()"
84
86
  [value]="currentFilter?.value"
85
87
  [placeholder]="placeholder"
86
88
  [formatPlaceholder]="formatPlaceholder"
@@ -114,13 +116,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
114
116
  [isFirstDropDown]="isFirstDropDown"
115
117
  [menuTabbingService]="menuTabbingService">
116
118
  <kendo-datepicker
117
- #picker
118
119
  kendoFilterInput
119
120
  [adaptiveMode]="ctx.grid?.adaptiveMode"
120
121
  [size]="ctx.grid?.isActionSheetExpanded ? 'large' : null"
121
122
  [columnLabel]="columnLabel"
122
123
  [filterDelay]="0"
123
- (open)="open(picker)"
124
+ (open)="open()"
124
125
  [value]="currentFilter?.value"
125
126
  [placeholder]="placeholder"
126
127
  [formatPlaceholder]="formatPlaceholder"
@@ -9,7 +9,6 @@ import { DateFilterComponent } from '../date-filter.component';
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 { DateFilterMenuInputComponent } from './date-filter-menu-input.component';
14
13
  import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
15
14
  import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
@@ -81,27 +80,27 @@ export class DateFilterMenuComponent extends DateFilterComponent {
81
80
  super.localizationChange();
82
81
  }
83
82
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateFilterMenuComponent, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DateFilterMenuComponent, isStandalone: true, selector: "kendo-grid-date-filter-menu", inputs: { filter: "filter", extra: "extra", filterService: "filterService", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
83
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DateFilterMenuComponent, isStandalone: true, selector: "kendo-grid-date-filter-menu", inputs: { filter: "filter", extra: "extra", filterService: "filterService", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
85
84
  <kendo-grid-date-filter-menu-input
86
- [currentFilter]="firstFilter"
87
- [operators]="operators"
88
- [filterService]="filterService"
89
- [column]="column"
90
- [filter]="filter"
91
- [activeView]="activeView"
92
- [bottomView]="bottomView"
93
- [topView]="topView"
94
- [format]="format"
95
- [formatPlaceholder]="formatPlaceholder"
96
- [placeholder]="placeholder"
97
- [min]="min"
98
- [max]="max"
99
- [weekNumber]="weekNumber"
100
- [isFirstDropDown]="true"
101
- [menuTabbingService]="menuTabbingService">
85
+ [currentFilter]="firstFilter"
86
+ [operators]="operators"
87
+ [filterService]="filterService"
88
+ [column]="column"
89
+ [filter]="filter"
90
+ [activeView]="activeView"
91
+ [bottomView]="bottomView"
92
+ [topView]="topView"
93
+ [format]="format"
94
+ [formatPlaceholder]="formatPlaceholder"
95
+ [placeholder]="placeholder"
96
+ [min]="min"
97
+ [max]="max"
98
+ [weekNumber]="weekNumber"
99
+ [isFirstDropDown]="true"
100
+ [menuTabbingService]="menuTabbingService">
102
101
  </kendo-grid-date-filter-menu-input>
103
- <kendo-dropdownlist
104
- *ngIf="extra"
102
+ @if (extra) {
103
+ <kendo-dropdownlist
105
104
  kendoFilterMenuDropDown
106
105
  [adaptiveTitle]="ctx.localization.get('adaptiveFilterOperatorsTitle')"
107
106
  [adaptiveMode]="ctx.grid?.adaptiveMode"
@@ -114,9 +113,10 @@ export class DateFilterMenuComponent extends DateFilterComponent {
114
113
  [value]="filter?.logic"
115
114
  textField="text"
116
115
  valueField="value">
117
- </kendo-dropdownlist>
118
- <kendo-grid-date-filter-menu-input
119
- *ngIf="extra"
116
+ </kendo-dropdownlist>
117
+ }
118
+ @if (extra) {
119
+ <kendo-grid-date-filter-menu-input
120
120
  [operators]="operators"
121
121
  [currentFilter]="secondFilter"
122
122
  [filterService]="filterService"
@@ -132,8 +132,9 @@ export class DateFilterMenuComponent extends DateFilterComponent {
132
132
  [max]="max"
133
133
  [weekNumber]="weekNumber"
134
134
  [menuTabbingService]="menuTabbingService">
135
- </kendo-grid-date-filter-menu-input>
136
- `, isInline: true, dependencies: [{ kind: "component", type: DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { 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"] }] });
135
+ </kendo-grid-date-filter-menu-input>
136
+ }
137
+ `, isInline: true, dependencies: [{ kind: "component", type: DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { 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"] }] });
137
138
  }
138
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateFilterMenuComponent, decorators: [{
139
140
  type: Component,
@@ -141,25 +142,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
141
142
  selector: 'kendo-grid-date-filter-menu',
142
143
  template: `
143
144
  <kendo-grid-date-filter-menu-input
144
- [currentFilter]="firstFilter"
145
- [operators]="operators"
146
- [filterService]="filterService"
147
- [column]="column"
148
- [filter]="filter"
149
- [activeView]="activeView"
150
- [bottomView]="bottomView"
151
- [topView]="topView"
152
- [format]="format"
153
- [formatPlaceholder]="formatPlaceholder"
154
- [placeholder]="placeholder"
155
- [min]="min"
156
- [max]="max"
157
- [weekNumber]="weekNumber"
158
- [isFirstDropDown]="true"
159
- [menuTabbingService]="menuTabbingService">
145
+ [currentFilter]="firstFilter"
146
+ [operators]="operators"
147
+ [filterService]="filterService"
148
+ [column]="column"
149
+ [filter]="filter"
150
+ [activeView]="activeView"
151
+ [bottomView]="bottomView"
152
+ [topView]="topView"
153
+ [format]="format"
154
+ [formatPlaceholder]="formatPlaceholder"
155
+ [placeholder]="placeholder"
156
+ [min]="min"
157
+ [max]="max"
158
+ [weekNumber]="weekNumber"
159
+ [isFirstDropDown]="true"
160
+ [menuTabbingService]="menuTabbingService">
160
161
  </kendo-grid-date-filter-menu-input>
161
- <kendo-dropdownlist
162
- *ngIf="extra"
162
+ @if (extra) {
163
+ <kendo-dropdownlist
163
164
  kendoFilterMenuDropDown
164
165
  [adaptiveTitle]="ctx.localization.get('adaptiveFilterOperatorsTitle')"
165
166
  [adaptiveMode]="ctx.grid?.adaptiveMode"
@@ -172,9 +173,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
172
173
  [value]="filter?.logic"
173
174
  textField="text"
174
175
  valueField="value">
175
- </kendo-dropdownlist>
176
- <kendo-grid-date-filter-menu-input
177
- *ngIf="extra"
176
+ </kendo-dropdownlist>
177
+ }
178
+ @if (extra) {
179
+ <kendo-grid-date-filter-menu-input
178
180
  [operators]="operators"
179
181
  [currentFilter]="secondFilter"
180
182
  [filterService]="filterService"
@@ -190,10 +192,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
190
192
  [max]="max"
191
193
  [weekNumber]="weekNumber"
192
194
  [menuTabbingService]="menuTabbingService">
193
- </kendo-grid-date-filter-menu-input>
194
- `,
195
+ </kendo-grid-date-filter-menu-input>
196
+ }
197
+ `,
195
198
  standalone: true,
196
- imports: [DateFilterMenuInputComponent, NgIf, DropDownListComponent, FilterMenuDropDownListDirective]
199
+ imports: [DateFilterMenuInputComponent, DropDownListComponent, FilterMenuDropDownListDirective]
197
200
  }]
198
201
  }], ctorParameters: () => [{ type: i1.ContextService }], propDecorators: { hostClasses: [{
199
202
  type: HostBinding,