@progress/kendo-angular-treelist 21.1.1-develop.1 → 21.2.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/esm2022/column-menu/column-list.component.mjs +75 -69
  2. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +12 -11
  3. package/esm2022/column-menu/column-menu-autosize.component.mjs +12 -11
  4. package/esm2022/column-menu/column-menu-item.component.mjs +137 -57
  5. package/esm2022/column-menu/column-menu.component.mjs +145 -122
  6. package/esm2022/editing/add-command.directive.mjs +27 -17
  7. package/esm2022/editing/base-command.directive.mjs +27 -17
  8. package/esm2022/editing/cancel-command.directive.mjs +27 -17
  9. package/esm2022/editing/edit-command.directive.mjs +27 -17
  10. package/esm2022/editing/remove-command.directive.mjs +27 -17
  11. package/esm2022/editing/save-command.directive.mjs +27 -17
  12. package/esm2022/excel/excel-command.directive.mjs +27 -17
  13. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +20 -17
  14. package/esm2022/filtering/cell/filter-cell.component.mjs +35 -33
  15. package/esm2022/filtering/filter-row.component.mjs +26 -23
  16. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +32 -29
  17. package/esm2022/filtering/menu/date-filter-menu.component.mjs +52 -49
  18. package/esm2022/filtering/menu/filter-menu-container.component.mjs +75 -73
  19. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +50 -47
  20. package/esm2022/filtering/menu/string-filter-menu.component.mjs +36 -33
  21. package/esm2022/package-metadata.mjs +2 -2
  22. package/esm2022/pdf/pdf-command.directive.mjs +27 -17
  23. package/esm2022/rendering/cell.component.mjs +167 -145
  24. package/esm2022/rendering/common/col-group.component.mjs +10 -8
  25. package/esm2022/rendering/header/header.component.mjs +371 -331
  26. package/esm2022/rendering/list.component.mjs +185 -158
  27. package/esm2022/rendering/table-body.component.mjs +199 -169
  28. package/esm2022/rendering/toolbar/toolbar.component.mjs +13 -11
  29. package/esm2022/treelist.component.mjs +893 -849
  30. package/fesm2022/progress-kendo-angular-treelist.mjs +2746 -2356
  31. package/package.json +18 -18
  32. package/schematics/ngAdd/index.js +7 -3
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, ElementRef, Renderer2, NgZone, HostBinding, Input } from '@angular/core';
6
- import { NgIf, NgClass } from '@angular/common';
6
+ import { NgClass } from '@angular/common';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
9
9
  import { EditService } from './edit.service';
@@ -45,37 +45,47 @@ export class EditCommandDirective extends BaseCommandDirective {
45
45
  }
46
46
  }
47
47
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditCommandDirective, deps: [{ token: i1.EditService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
48
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EditCommandDirective, isStandalone: true, selector: "[kendoTreeListEditCommand]", inputs: { cellContext: ["kendoTreeListEditCommand", "cellContext"] }, host: { properties: { "class.k-grid-edit-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
49
- <kendo-icon-wrapper
50
- *ngIf="icon || svgIcon"
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: EditCommandDirective, isStandalone: true, selector: "[kendoTreeListEditCommand]", inputs: { cellContext: ["kendoTreeListEditCommand", "cellContext"] }, host: { properties: { "class.k-grid-edit-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
49
+ @if (icon || svgIcon) {
50
+ <kendo-icon-wrapper
51
51
  innerCssClass="k-button-icon"
52
52
  [name]="icon"
53
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
54
- <span *ngIf="imageUrl" class="k-button-icon k-icon">
53
+ [svgIcon]="svgIcon"></kendo-icon-wrapper>
54
+ }
55
+ @if (imageUrl) {
56
+ <span class="k-button-icon k-icon">
55
57
  <img [src]="imageUrl" class="k-image" role="presentation" />
56
- </span>
57
- <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
58
+ </span>
59
+ }
60
+ @if (iconClass) {
61
+ <span class="k-button-icon" [ngClass]="iconClass"></span>
62
+ }
58
63
  <span class="k-button-text"><ng-content></ng-content></span>
59
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
64
+ `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
60
65
  }
61
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditCommandDirective, decorators: [{
62
67
  type: Component,
63
68
  args: [{
64
69
  selector: '[kendoTreeListEditCommand]',
65
70
  template: `
66
- <kendo-icon-wrapper
67
- *ngIf="icon || svgIcon"
71
+ @if (icon || svgIcon) {
72
+ <kendo-icon-wrapper
68
73
  innerCssClass="k-button-icon"
69
74
  [name]="icon"
70
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
71
- <span *ngIf="imageUrl" class="k-button-icon k-icon">
75
+ [svgIcon]="svgIcon"></kendo-icon-wrapper>
76
+ }
77
+ @if (imageUrl) {
78
+ <span class="k-button-icon k-icon">
72
79
  <img [src]="imageUrl" class="k-image" role="presentation" />
73
- </span>
74
- <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
80
+ </span>
81
+ }
82
+ @if (iconClass) {
83
+ <span class="k-button-icon" [ngClass]="iconClass"></span>
84
+ }
75
85
  <span class="k-button-text"><ng-content></ng-content></span>
76
- `,
86
+ `,
77
87
  standalone: true,
78
- imports: [NgIf, IconWrapperComponent, NgClass]
88
+ imports: [IconWrapperComponent, NgClass]
79
89
  }]
80
90
  }], ctorParameters: () => [{ type: i1.EditService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { cellContext: [{
81
91
  type: Input,
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, ElementRef, Renderer2, NgZone, HostBinding, Input } from '@angular/core';
6
- import { NgIf, NgClass } from '@angular/common';
6
+ import { NgClass } from '@angular/common';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
9
9
  import { EditService } from './edit.service';
@@ -45,37 +45,47 @@ export class RemoveCommandDirective extends BaseCommandDirective {
45
45
  }
46
46
  }
47
47
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RemoveCommandDirective, deps: [{ token: i1.EditService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
48
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RemoveCommandDirective, isStandalone: true, selector: "[kendoTreeListRemoveCommand]", inputs: { cellContext: ["kendoTreeListRemoveCommand", "cellContext"] }, host: { properties: { "class.k-grid-remove-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
49
- <kendo-icon-wrapper
50
- *ngIf="icon || svgIcon"
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RemoveCommandDirective, isStandalone: true, selector: "[kendoTreeListRemoveCommand]", inputs: { cellContext: ["kendoTreeListRemoveCommand", "cellContext"] }, host: { properties: { "class.k-grid-remove-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
49
+ @if (icon || svgIcon) {
50
+ <kendo-icon-wrapper
51
51
  innerCssClass="k-button-icon"
52
52
  [name]="icon"
53
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
54
- <span *ngIf="imageUrl" class="k-button-icon k-icon">
53
+ [svgIcon]="svgIcon"></kendo-icon-wrapper>
54
+ }
55
+ @if (imageUrl) {
56
+ <span class="k-button-icon k-icon">
55
57
  <img [src]="imageUrl" class="k-image" role="presentation" />
56
- </span>
57
- <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
58
+ </span>
59
+ }
60
+ @if (iconClass) {
61
+ <span class="k-button-icon" [ngClass]="iconClass"></span>
62
+ }
58
63
  <span class="k-button-text"><ng-content></ng-content></span>
59
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
64
+ `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
60
65
  }
61
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RemoveCommandDirective, decorators: [{
62
67
  type: Component,
63
68
  args: [{
64
69
  selector: '[kendoTreeListRemoveCommand]',
65
70
  template: `
66
- <kendo-icon-wrapper
67
- *ngIf="icon || svgIcon"
71
+ @if (icon || svgIcon) {
72
+ <kendo-icon-wrapper
68
73
  innerCssClass="k-button-icon"
69
74
  [name]="icon"
70
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
71
- <span *ngIf="imageUrl" class="k-button-icon k-icon">
75
+ [svgIcon]="svgIcon"></kendo-icon-wrapper>
76
+ }
77
+ @if (imageUrl) {
78
+ <span class="k-button-icon k-icon">
72
79
  <img [src]="imageUrl" class="k-image" role="presentation" />
73
- </span>
74
- <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
80
+ </span>
81
+ }
82
+ @if (iconClass) {
83
+ <span class="k-button-icon" [ngClass]="iconClass"></span>
84
+ }
75
85
  <span class="k-button-text"><ng-content></ng-content></span>
76
- `,
86
+ `,
77
87
  standalone: true,
78
- imports: [NgIf, IconWrapperComponent, NgClass]
88
+ imports: [IconWrapperComponent, NgClass]
79
89
  }]
80
90
  }], ctorParameters: () => [{ type: i1.EditService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { cellContext: [{
81
91
  type: Input,
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, ElementRef, Renderer2, NgZone, HostBinding, Input } from '@angular/core';
6
- import { NgIf, NgClass } from '@angular/common';
6
+ import { NgClass } from '@angular/common';
7
7
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
8
8
  import { LocalizationService } from '@progress/kendo-angular-l10n';
9
9
  import { EditService } from './edit.service';
@@ -45,37 +45,47 @@ export class SaveCommandDirective extends BaseCommandDirective {
45
45
  }
46
46
  }
47
47
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SaveCommandDirective, deps: [{ token: i1.EditService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
48
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SaveCommandDirective, isStandalone: true, selector: "[kendoTreeListSaveCommand]", inputs: { cellContext: ["kendoTreeListSaveCommand", "cellContext"] }, host: { properties: { "class.k-grid-save-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
49
- <kendo-icon-wrapper
50
- *ngIf="icon || svgIcon"
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SaveCommandDirective, isStandalone: true, selector: "[kendoTreeListSaveCommand]", inputs: { cellContext: ["kendoTreeListSaveCommand", "cellContext"] }, host: { properties: { "class.k-grid-save-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
49
+ @if (icon || svgIcon) {
50
+ <kendo-icon-wrapper
51
51
  innerCssClass="k-button-icon"
52
52
  [name]="icon"
53
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
54
- <span *ngIf="imageUrl" class="k-button-icon k-icon">
53
+ [svgIcon]="svgIcon"></kendo-icon-wrapper>
54
+ }
55
+ @if (imageUrl) {
56
+ <span class="k-button-icon k-icon">
55
57
  <img [src]="imageUrl" class="k-image" role="presentation" />
56
- </span>
57
- <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
58
+ </span>
59
+ }
60
+ @if (iconClass) {
61
+ <span class="k-button-icon" [ngClass]="iconClass"></span>
62
+ }
58
63
  <span class="k-button-text"><ng-content></ng-content></span>
59
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
64
+ `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
60
65
  }
61
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SaveCommandDirective, decorators: [{
62
67
  type: Component,
63
68
  args: [{
64
69
  selector: '[kendoTreeListSaveCommand]',
65
70
  template: `
66
- <kendo-icon-wrapper
67
- *ngIf="icon || svgIcon"
71
+ @if (icon || svgIcon) {
72
+ <kendo-icon-wrapper
68
73
  innerCssClass="k-button-icon"
69
74
  [name]="icon"
70
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
71
- <span *ngIf="imageUrl" class="k-button-icon k-icon">
75
+ [svgIcon]="svgIcon"></kendo-icon-wrapper>
76
+ }
77
+ @if (imageUrl) {
78
+ <span class="k-button-icon k-icon">
72
79
  <img [src]="imageUrl" class="k-image" role="presentation" />
73
- </span>
74
- <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
80
+ </span>
81
+ }
82
+ @if (iconClass) {
83
+ <span class="k-button-icon" [ngClass]="iconClass"></span>
84
+ }
75
85
  <span class="k-button-text"><ng-content></ng-content></span>
76
- `,
86
+ `,
77
87
  standalone: true,
78
- imports: [NgIf, IconWrapperComponent, NgClass]
88
+ imports: [IconWrapperComponent, NgClass]
79
89
  }]
80
90
  }], ctorParameters: () => [{ type: i1.EditService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { cellContext: [{
81
91
  type: Input,
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, HostListener, HostBinding, ElementRef, Renderer2 as Renderer, NgZone } from '@angular/core';
6
- import { NgIf, NgClass } from '@angular/common';
6
+ import { NgClass } from '@angular/common';
7
7
  import { Button } from '@progress/kendo-angular-buttons';
8
8
  import { LocalizationService } from '@progress/kendo-angular-l10n';
9
9
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
@@ -46,37 +46,47 @@ export class ExcelCommandDirective extends Button {
46
46
  this.ngZone = ngZone;
47
47
  }
48
48
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, deps: [{ token: i1.ExcelService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
49
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExcelCommandDirective, isStandalone: true, selector: "[kendoTreeListExcelCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-excel": "this.excelClass" } }, usesInheritance: true, ngImport: i0, template: `
50
- <kendo-icon-wrapper
51
- *ngIf="icon || svgIcon"
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ExcelCommandDirective, isStandalone: true, selector: "[kendoTreeListExcelCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-excel": "this.excelClass" } }, usesInheritance: true, ngImport: i0, template: `
50
+ @if (icon || svgIcon) {
51
+ <kendo-icon-wrapper
52
52
  innerCssClass="k-button-icon"
53
53
  [name]="icon"
54
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
55
- <span *ngIf="imageUrl" class="k-button-icon k-icon">
54
+ [svgIcon]="svgIcon"></kendo-icon-wrapper>
55
+ }
56
+ @if (imageUrl) {
57
+ <span class="k-button-icon k-icon">
56
58
  <img [src]="imageUrl" class="k-image" role="presentation" />
57
- </span>
58
- <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
59
+ </span>
60
+ }
61
+ @if (iconClass) {
62
+ <span class="k-button-icon" [ngClass]="iconClass"></span>
63
+ }
59
64
  <span class="k-button-text"><ng-content></ng-content></span>
60
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
65
+ `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
61
66
  }
62
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, decorators: [{
63
68
  type: Component,
64
69
  args: [{
65
70
  selector: '[kendoTreeListExcelCommand]',
66
71
  template: `
67
- <kendo-icon-wrapper
68
- *ngIf="icon || svgIcon"
72
+ @if (icon || svgIcon) {
73
+ <kendo-icon-wrapper
69
74
  innerCssClass="k-button-icon"
70
75
  [name]="icon"
71
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
72
- <span *ngIf="imageUrl" class="k-button-icon k-icon">
76
+ [svgIcon]="svgIcon"></kendo-icon-wrapper>
77
+ }
78
+ @if (imageUrl) {
79
+ <span class="k-button-icon k-icon">
73
80
  <img [src]="imageUrl" class="k-image" role="presentation" />
74
- </span>
75
- <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
81
+ </span>
82
+ }
83
+ @if (iconClass) {
84
+ <span class="k-button-icon" [ngClass]="iconClass"></span>
85
+ }
76
86
  <span class="k-button-text"><ng-content></ng-content></span>
77
- `,
87
+ `,
78
88
  standalone: true,
79
- imports: [NgIf, IconWrapperComponent, NgClass]
89
+ imports: [IconWrapperComponent, NgClass]
80
90
  }]
81
91
  }], ctorParameters: () => [{ type: i1.ExcelService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { onClick: [{
82
92
  type: HostListener,
@@ -3,7 +3,6 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
6
- import { NgIf } from '@angular/common';
7
6
  import { Keys, replaceMessagePlaceholder } from '@progress/kendo-angular-common';
8
7
  import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
9
8
  import { LocalizationService } from '@progress/kendo-angular-l10n';
@@ -143,10 +142,10 @@ export class FilterCellOperatorsComponent {
143
142
  return this.localization.get(token);
144
143
  }
145
144
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellOperatorsComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
146
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterCellOperatorsComponent, isStandalone: true, 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: `
147
- <kendo-dropdownlist
145
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterCellOperatorsComponent, isStandalone: true, 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: `
146
+ @if (showOperators) {
147
+ <kendo-dropdownlist
148
148
  #dropdown
149
- *ngIf="showOperators"
150
149
  kendoTreeListFocusable
151
150
  [data]="operators"
152
151
  class="k-dropdown-operator"
@@ -160,27 +159,29 @@ export class FilterCellOperatorsComponent {
160
159
  [popupSettings]="{ width: 'auto' }"
161
160
  valueField="value"
162
161
  (keydown)="dropdownKeydown($event)">
163
- </kendo-dropdownlist>
164
- <button type="button"
162
+ </kendo-dropdownlist>
163
+ }
164
+ @if (showButton) {
165
+ <button type="button"
165
166
  kendoButton
166
167
  kendoTreeListFocusable
167
- *ngIf="showButton"
168
168
  icon="filter-clear"
169
169
  [svgIcon]="filterClearIcon"
170
170
  [title]="clearText"
171
171
  (click)="clearClick()"
172
172
  (keydown)="clearKeydown($event)">
173
- </button>
174
- `, isInline: true, dependencies: [{ 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: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
173
+ </button>
174
+ }
175
+ `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
175
176
  }
176
177
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
177
178
  type: Component,
178
179
  args: [{
179
180
  selector: 'kendo-treelist-filter-cell-operators',
180
181
  template: `
181
- <kendo-dropdownlist
182
+ @if (showOperators) {
183
+ <kendo-dropdownlist
182
184
  #dropdown
183
- *ngIf="showOperators"
184
185
  kendoTreeListFocusable
185
186
  [data]="operators"
186
187
  class="k-dropdown-operator"
@@ -194,20 +195,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
194
195
  [popupSettings]="{ width: 'auto' }"
195
196
  valueField="value"
196
197
  (keydown)="dropdownKeydown($event)">
197
- </kendo-dropdownlist>
198
- <button type="button"
198
+ </kendo-dropdownlist>
199
+ }
200
+ @if (showButton) {
201
+ <button type="button"
199
202
  kendoButton
200
203
  kendoTreeListFocusable
201
- *ngIf="showButton"
202
204
  icon="filter-clear"
203
205
  [svgIcon]="filterClearIcon"
204
206
  [title]="clearText"
205
207
  (click)="clearClick()"
206
208
  (keydown)="clearKeydown($event)">
207
- </button>
208
- `,
209
+ </button>
210
+ }
211
+ `,
209
212
  standalone: true,
210
- imports: [NgIf, DropDownListComponent, FocusableDirective, ButtonComponent]
213
+ imports: [DropDownListComponent, FocusableDirective, ButtonComponent]
211
214
  }]
212
215
  }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { hostClasses: [{
213
216
  type: HostBinding,
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, Input } from '@angular/core';
6
- import { NgIf, NgSwitch, NgSwitchCase, NgTemplateOutlet } from '@angular/common';
6
+ import { NgTemplateOutlet } from '@angular/common';
7
7
  import { ColumnComponent } from '../../columns/column.component';
8
8
  import { cloneFilters } from '../../common/filter-descriptor-differ';
9
9
  import { FocusGroup } from '../../navigation/focus-group';
@@ -42,45 +42,47 @@ export class FilterCellComponent {
42
42
  return isPresent(this.column) && !isNullOrEmptyString(this.column.field) && this.column.filterable;
43
43
  }
44
44
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellComponent, deps: [{ token: i1.FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterCellComponent, isStandalone: true, selector: "[kendoTreeListFilterCell]", inputs: { column: "column", filter: "filter" }, ngImport: i0, template: `
46
- <ng-container *ngIf="isFilterable">
47
- <ng-container [ngSwitch]="hasTemplate">
48
- <ng-container *ngSwitchCase="false">
49
- <ng-container kendoFilterCellHost [column]="column" [filter]="filter"></ng-container>
50
- </ng-container>
51
- <ng-container *ngSwitchCase="true">
52
- <ng-template
53
- *ngIf="column.filterCellTemplateRef"
54
- [ngTemplateOutlet]="column.filterCellTemplateRef"
55
- [ngTemplateOutletContext]="templateContext">
56
- </ng-template>
57
- </ng-container>
58
- </ng-container>
59
- </ng-container>
60
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: FilterCellHostDirective, selector: "[kendoFilterCellHost]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
45
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterCellComponent, isStandalone: true, selector: "[kendoTreeListFilterCell]", inputs: { column: "column", filter: "filter" }, ngImport: i0, template: `
46
+ @if (isFilterable) {
47
+ @switch (hasTemplate) {
48
+ @case (false) {
49
+ <ng-container kendoFilterCellHost [column]="column" [filter]="filter"></ng-container>
50
+ }
51
+ @case (true) {
52
+ @if (column.filterCellTemplateRef) {
53
+ <ng-template
54
+ [ngTemplateOutlet]="column.filterCellTemplateRef"
55
+ [ngTemplateOutletContext]="templateContext">
56
+ </ng-template>
57
+ }
58
+ }
59
+ }
60
+ }
61
+ `, isInline: true, dependencies: [{ kind: "directive", type: FilterCellHostDirective, selector: "[kendoFilterCellHost]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
61
62
  }
62
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellComponent, decorators: [{
63
64
  type: Component,
64
65
  args: [{
65
66
  selector: '[kendoTreeListFilterCell]',
66
67
  template: `
67
- <ng-container *ngIf="isFilterable">
68
- <ng-container [ngSwitch]="hasTemplate">
69
- <ng-container *ngSwitchCase="false">
70
- <ng-container kendoFilterCellHost [column]="column" [filter]="filter"></ng-container>
71
- </ng-container>
72
- <ng-container *ngSwitchCase="true">
73
- <ng-template
74
- *ngIf="column.filterCellTemplateRef"
75
- [ngTemplateOutlet]="column.filterCellTemplateRef"
76
- [ngTemplateOutletContext]="templateContext">
77
- </ng-template>
78
- </ng-container>
79
- </ng-container>
80
- </ng-container>
81
- `,
68
+ @if (isFilterable) {
69
+ @switch (hasTemplate) {
70
+ @case (false) {
71
+ <ng-container kendoFilterCellHost [column]="column" [filter]="filter"></ng-container>
72
+ }
73
+ @case (true) {
74
+ @if (column.filterCellTemplateRef) {
75
+ <ng-template
76
+ [ngTemplateOutlet]="column.filterCellTemplateRef"
77
+ [ngTemplateOutletContext]="templateContext">
78
+ </ng-template>
79
+ }
80
+ }
81
+ }
82
+ }
83
+ `,
82
84
  standalone: true,
83
- imports: [NgIf, NgSwitch, NgSwitchCase, FilterCellHostDirective, NgTemplateOutlet]
85
+ imports: [FilterCellHostDirective, NgTemplateOutlet]
84
86
  }]
85
87
  }], ctorParameters: () => [{ type: i1.FocusGroup }], propDecorators: { column: [{
86
88
  type: Input
@@ -3,7 +3,6 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, HostBinding, Input } from '@angular/core';
6
- import { NgFor } from '@angular/common';
7
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
7
  import { LogicalCellDirective } from '../navigation/logical-cell.directive';
9
8
  import { FilterCellComponent } from './cell/filter-cell.component';
@@ -26,41 +25,45 @@ export class FilterRowComponent {
26
25
  return column;
27
26
  }
28
27
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterRowComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterRowComponent, isStandalone: true, selector: "[kendoTreeListFilterRow]", inputs: { columns: "columns", filter: "filter", logicalRowIndex: "logicalRowIndex", lockedColumnsCount: "lockedColumnsCount" }, host: { properties: { "class.k-filter-row": "this.filterRowClass" } }, ngImport: i0, template: `
30
- <td *ngFor="let column of columns; let columnIndex = index" role="gridcell"
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterRowComponent, isStandalone: true, selector: "[kendoTreeListFilterRow]", inputs: { columns: "columns", filter: "filter", logicalRowIndex: "logicalRowIndex", lockedColumnsCount: "lockedColumnsCount" }, host: { properties: { "class.k-filter-row": "this.filterRowClass" } }, ngImport: i0, template: `
29
+ @for (column of columns; track column; let columnIndex = $index) {
30
+ <td role="gridcell"
31
31
  [attr.aria-label]="filterLabel"
32
32
  kendoTreeListFilterCell
33
- [column]="$any(column)"
34
- [filter]="filter"
33
+ [column]="$any(column)"
34
+ [filter]="filter"
35
35
  kendoTreeListLogicalCell
36
- class="k-table-td"
37
- [logicalRowIndex]="logicalRowIndex"
38
- [logicalColIndex]="lockedColumnsCount + columnIndex"
39
- [column]="getColumnComponent(column)"
40
- [colIndex]="columnIndex"
41
- ></td>
42
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: FilterCellComponent, selector: "[kendoTreeListFilterCell]", inputs: ["column", "filter"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable", "headerLabelText"] }] });
36
+ class="k-table-td"
37
+ [logicalRowIndex]="logicalRowIndex"
38
+ [logicalColIndex]="lockedColumnsCount + columnIndex"
39
+ [column]="getColumnComponent(column)"
40
+ [colIndex]="columnIndex"
41
+ ></td>
42
+ }
43
+ `, isInline: true, dependencies: [{ kind: "component", type: FilterCellComponent, selector: "[kendoTreeListFilterCell]", inputs: ["column", "filter"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable", "headerLabelText"] }] });
43
44
  }
44
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterRowComponent, decorators: [{
45
46
  type: Component,
46
47
  args: [{
47
48
  selector: '[kendoTreeListFilterRow]',
48
49
  template: `
49
- <td *ngFor="let column of columns; let columnIndex = index" role="gridcell"
50
+ @for (column of columns; track column; let columnIndex = $index) {
51
+ <td role="gridcell"
50
52
  [attr.aria-label]="filterLabel"
51
53
  kendoTreeListFilterCell
52
- [column]="$any(column)"
53
- [filter]="filter"
54
+ [column]="$any(column)"
55
+ [filter]="filter"
54
56
  kendoTreeListLogicalCell
55
- class="k-table-td"
56
- [logicalRowIndex]="logicalRowIndex"
57
- [logicalColIndex]="lockedColumnsCount + columnIndex"
58
- [column]="getColumnComponent(column)"
59
- [colIndex]="columnIndex"
60
- ></td>
61
- `,
57
+ class="k-table-td"
58
+ [logicalRowIndex]="logicalRowIndex"
59
+ [logicalColIndex]="lockedColumnsCount + columnIndex"
60
+ [column]="getColumnComponent(column)"
61
+ [colIndex]="columnIndex"
62
+ ></td>
63
+ }
64
+ `,
62
65
  standalone: true,
63
- imports: [NgFor, FilterCellComponent, LogicalCellDirective]
66
+ imports: [FilterCellComponent, LogicalCellDirective]
64
67
  }]
65
68
  }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { columns: [{
66
69
  type: Input