@progress/kendo-angular-grid 19.0.0-develop.24 → 19.0.0-develop.26

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 (25) hide show
  1. package/column-menu/column-menu-item.component.d.ts +16 -3
  2. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +1 -1
  3. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +1 -1
  4. package/esm2022/column-menu/column-menu-autosize.component.mjs +1 -1
  5. package/esm2022/column-menu/column-menu-chooser.component.mjs +1 -1
  6. package/esm2022/column-menu/column-menu-filter.component.mjs +1 -1
  7. package/esm2022/column-menu/column-menu-item.component.mjs +33 -11
  8. package/esm2022/column-menu/column-menu-lock.component.mjs +1 -1
  9. package/esm2022/column-menu/column-menu-position.component.mjs +1 -1
  10. package/esm2022/column-menu/column-menu-sort.component.mjs +1 -1
  11. package/esm2022/column-menu/column-menu-stick.component.mjs +1 -1
  12. package/esm2022/grid.component.mjs +65 -9
  13. package/esm2022/package-metadata.mjs +2 -2
  14. package/esm2022/rendering/toolbar/tools/column-chooser-tool.directive.mjs +2 -0
  15. package/esm2022/rendering/toolbar/tools/filter-command-tool.directive.mjs +14 -3
  16. package/esm2022/rendering/toolbar/tools/filter-tool-wrapper.component.mjs +1 -0
  17. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +56 -8
  18. package/esm2022/rendering/toolbar/tools/sort-command-tool.directive.mjs +14 -4
  19. package/fesm2022/progress-kendo-angular-grid.mjs +192 -44
  20. package/grid.component.d.ts +13 -0
  21. package/package.json +21 -21
  22. package/rendering/toolbar/tools/filter-command-tool.directive.d.ts +5 -0
  23. package/rendering/toolbar/tools/filter-toolbar-tool.component.d.ts +10 -2
  24. package/rendering/toolbar/tools/sort-command-tool.directive.d.ts +5 -0
  25. package/schematics/ngAdd/index.js +4 -4
@@ -11991,6 +11991,7 @@ class ColumnChooserToolbarDirective extends ToolbarToolBase {
11991
11991
  this.renderer.setAttribute(popupAriaElement, 'role', 'dialog');
11992
11992
  this.buttonElement?.setAttribute('aria-expanded', 'true');
11993
11993
  this.buttonElement?.setAttribute('aria-controls', popupId);
11994
+ this.host.selected = true;
11994
11995
  const columnList = this.popupRef.content.instance;
11995
11996
  columnList.isLast = true;
11996
11997
  columnList.autoSync = this.autoSync;
@@ -12022,6 +12023,7 @@ class ColumnChooserToolbarDirective extends ToolbarToolBase {
12022
12023
  this.popupRef = null;
12023
12024
  this.buttonElement?.setAttribute('aria-expanded', 'false');
12024
12025
  this.buttonElement?.removeAttribute('aria-controls');
12026
+ this.host.selected = false;
12025
12027
  focusAnchor && this.buttonElement?.focus();
12026
12028
  }
12027
12029
  get buttonElement() {
@@ -12200,6 +12202,7 @@ class ColumnMenuItemComponent {
12200
12202
  ngZone;
12201
12203
  ctx;
12202
12204
  adaptiveGridService;
12205
+ element;
12203
12206
  /**
12204
12207
  * @hidden
12205
12208
  */
@@ -12229,6 +12232,14 @@ class ColumnMenuItemComponent {
12229
12232
  * Defines the [SVG icon](slug:svgicon_list) to be rendered within the item.
12230
12233
  */
12231
12234
  svgIcon;
12235
+ /**
12236
+ * @hidden
12237
+ */
12238
+ indicatorIcon;
12239
+ /**
12240
+ * @hidden
12241
+ */
12242
+ indicatorSVGIcon;
12232
12243
  /**
12233
12244
  * Specifies the item text.
12234
12245
  */
@@ -12245,6 +12256,10 @@ class ColumnMenuItemComponent {
12245
12256
  * Specifies if the item is expanded.
12246
12257
  */
12247
12258
  expanded;
12259
+ /**
12260
+ * @hidden
12261
+ */
12262
+ focused;
12248
12263
  /**
12249
12264
  * Represents the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) class.
12250
12265
  * Required to include the item in the column menu keyboard navigation sequence.
@@ -12279,10 +12294,11 @@ class ColumnMenuItemComponent {
12279
12294
  }
12280
12295
  return this.expanded ? this.chevronUpIcon : this.chevronDownIcon;
12281
12296
  }
12282
- constructor(ngZone, ctx, adaptiveGridService) {
12297
+ constructor(ngZone, ctx, adaptiveGridService, element) {
12283
12298
  this.ngZone = ngZone;
12284
12299
  this.ctx = ctx;
12285
12300
  this.adaptiveGridService = adaptiveGridService;
12301
+ this.element = element;
12286
12302
  }
12287
12303
  ngAfterViewInit() {
12288
12304
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
@@ -12340,8 +12356,8 @@ class ColumnMenuItemComponent {
12340
12356
  updateContentState() {
12341
12357
  this.contentState = this.expanded ? 'expanded' : 'collapsed';
12342
12358
  }
12343
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuItemComponent, deps: [{ token: i0.NgZone }, { token: ContextService }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Component });
12344
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnMenuItemComponent, isStandalone: true, selector: "kendo-grid-columnmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", disabled: "disabled", expanded: "expanded", service: "service", column: "column" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ColumnMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
12359
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuItemComponent, deps: [{ token: i0.NgZone }, { token: ContextService }, { token: AdaptiveGridService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
12360
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnMenuItemComponent, isStandalone: true, selector: "kendo-grid-columnmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", indicatorIcon: "indicatorIcon", indicatorSVGIcon: "indicatorSVGIcon", text: "text", selected: "selected", disabled: "disabled", expanded: "expanded", focused: "focused", service: "service", column: "column" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ColumnMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
12345
12361
  <div *ngIf="contentTemplate; else content" class="k-expander">
12346
12362
  <ng-container [ngTemplateOutlet]="content"></ng-container>
12347
12363
  </div>
@@ -12353,6 +12369,7 @@ class ColumnMenuItemComponent {
12353
12369
  (keydown.enter)="onClick($event)"
12354
12370
  [class.k-selected]="selected"
12355
12371
  [class.k-disabled]="disabled"
12372
+ [class.k-focus]="focused"
12356
12373
  role="button"
12357
12374
  [attr.aria-expanded]="expanded"
12358
12375
  [attr.aria-controls]="expanded ? contentId : undefined">
@@ -12361,11 +12378,11 @@ class ColumnMenuItemComponent {
12361
12378
  [name]="icon"
12362
12379
  [svgIcon]="svgIcon"></kendo-icon-wrapper>
12363
12380
  {{ text }}
12364
- <span *ngIf="ctx.grid.isActionSheetExpanded && adaptiveGridService.viewType === 'sortToolbarTool' && sortDescriptor(column.field).dir"
12381
+ <span *ngIf="(ctx.grid.isActionSheetExpanded && adaptiveGridService.viewType === 'sortToolbarTool' && sortDescriptor(column.field).dir) || indicatorIcon || indicatorSVGIcon"
12365
12382
  class="k-columnmenu-indicators">
12366
12383
  <kendo-icon-wrapper
12367
- [name]="sortDescriptor(column.field).dir === 'asc' ? 'sort-asc-small' : 'sort-desc-small'"
12368
- [svgIcon]="sortDescriptor(column.field).dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon">
12384
+ [name]="indicatorIcon ? indicatorIcon : sortDescriptor(column.field).dir === 'asc' ? 'sort-asc-small' : 'sort-desc-small'"
12385
+ [svgIcon]="indicatorSVGIcon ? indicatorSVGIcon : sortDescriptor(column.field).dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon">
12369
12386
  </kendo-icon-wrapper>
12370
12387
  <span *ngIf="showSortNumbering(column)" class="k-sort-index">{{sortOrder(column.field)}}</span>
12371
12388
  </span>
@@ -12451,6 +12468,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12451
12468
  (keydown.enter)="onClick($event)"
12452
12469
  [class.k-selected]="selected"
12453
12470
  [class.k-disabled]="disabled"
12471
+ [class.k-focus]="focused"
12454
12472
  role="button"
12455
12473
  [attr.aria-expanded]="expanded"
12456
12474
  [attr.aria-controls]="expanded ? contentId : undefined">
@@ -12459,11 +12477,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12459
12477
  [name]="icon"
12460
12478
  [svgIcon]="svgIcon"></kendo-icon-wrapper>
12461
12479
  {{ text }}
12462
- <span *ngIf="ctx.grid.isActionSheetExpanded && adaptiveGridService.viewType === 'sortToolbarTool' && sortDescriptor(column.field).dir"
12480
+ <span *ngIf="(ctx.grid.isActionSheetExpanded && adaptiveGridService.viewType === 'sortToolbarTool' && sortDescriptor(column.field).dir) || indicatorIcon || indicatorSVGIcon"
12463
12481
  class="k-columnmenu-indicators">
12464
12482
  <kendo-icon-wrapper
12465
- [name]="sortDescriptor(column.field).dir === 'asc' ? 'sort-asc-small' : 'sort-desc-small'"
12466
- [svgIcon]="sortDescriptor(column.field).dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon">
12483
+ [name]="indicatorIcon ? indicatorIcon : sortDescriptor(column.field).dir === 'asc' ? 'sort-asc-small' : 'sort-desc-small'"
12484
+ [svgIcon]="indicatorSVGIcon ? indicatorSVGIcon : sortDescriptor(column.field).dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon">
12467
12485
  </kendo-icon-wrapper>
12468
12486
  <span *ngIf="showSortNumbering(column)" class="k-sort-index">{{sortOrder(column.field)}}</span>
12469
12487
  </span>
@@ -12490,7 +12508,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12490
12508
  standalone: true,
12491
12509
  imports: [IconWrapperComponent, NgIf, NgTemplateOutlet]
12492
12510
  }]
12493
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: ContextService }, { type: AdaptiveGridService }]; }, propDecorators: { itemClick: [{
12511
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: ContextService }, { type: AdaptiveGridService }, { type: i0.ElementRef }]; }, propDecorators: { itemClick: [{
12494
12512
  type: Output
12495
12513
  }], expand: [{
12496
12514
  type: Output
@@ -12500,6 +12518,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12500
12518
  type: Input
12501
12519
  }], svgIcon: [{
12502
12520
  type: Input
12521
+ }], indicatorIcon: [{
12522
+ type: Input
12523
+ }], indicatorSVGIcon: [{
12524
+ type: Input
12503
12525
  }], text: [{
12504
12526
  type: Input
12505
12527
  }], selected: [{
@@ -12508,6 +12530,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12508
12530
  type: Input
12509
12531
  }], expanded: [{
12510
12532
  type: Input
12533
+ }], focused: [{
12534
+ type: Input
12511
12535
  }], service: [{
12512
12536
  type: Input
12513
12537
  }], column: [{
@@ -12563,7 +12587,7 @@ class ColumnMenuAutoSizeAllColumnsComponent extends ColumnMenuItemBase {
12563
12587
  [svgIcon]="displayInlineFlexIcon"
12564
12588
  (itemClick)="autoSizeAllColumns()"
12565
12589
  ></kendo-grid-columnmenu-item>
12566
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
12590
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
12567
12591
  }
12568
12592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuAutoSizeAllColumnsComponent, decorators: [{
12569
12593
  type: Component,
@@ -12635,7 +12659,7 @@ class ColumnMenuAutoSizeColumnComponent extends ColumnMenuItemBase {
12635
12659
  [svgIcon]="maxWidthIcon"
12636
12660
  (itemClick)="autoSizeColumn()"
12637
12661
  ></kendo-grid-columnmenu-item>
12638
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
12662
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
12639
12663
  }
12640
12664
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuAutoSizeColumnComponent, decorators: [{
12641
12665
  type: Component,
@@ -12763,7 +12787,7 @@ class ColumnMenuChooserComponent extends ColumnMenuItemBase {
12763
12787
  </kendo-grid-columnlist>
12764
12788
  </ng-template>
12765
12789
  </kendo-grid-columnmenu-item>
12766
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "showActions", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
12790
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "showActions", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
12767
12791
  }
12768
12792
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuChooserComponent, decorators: [{
12769
12793
  type: Component,
@@ -12887,7 +12911,7 @@ class ColumnMenuStickComponent extends ColumnMenuItemBase {
12887
12911
  (itemClick)="toggleColumn()"
12888
12912
  [disabled]="disabled">
12889
12913
  </kendo-grid-columnmenu-item>
12890
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
12914
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
12891
12915
  }
12892
12916
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuStickComponent, decorators: [{
12893
12917
  type: Component,
@@ -12985,7 +13009,7 @@ class ColumnMenuLockComponent extends ColumnMenuItemBase {
12985
13009
  (itemClick)="toggleColumn()"
12986
13010
  [disabled]="disabled">
12987
13011
  </kendo-grid-columnmenu-item>
12988
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
13012
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
12989
13013
  }
12990
13014
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuLockComponent, decorators: [{
12991
13015
  type: Component,
@@ -13130,7 +13154,7 @@ class ColumnMenuPositionComponent extends ColumnMenuItemBase {
13130
13154
  </kendo-grid-columnmenu-stick>
13131
13155
  </ng-template>
13132
13156
  </kendo-grid-columnmenu-item>
13133
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }] });
13157
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }] });
13134
13158
  }
13135
13159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuPositionComponent, decorators: [{
13136
13160
  type: Component,
@@ -13262,7 +13286,7 @@ class ColumnMenuFilterComponent extends ColumnMenuItemBase {
13262
13286
  </kendo-grid-filter-menu-container>
13263
13287
  </ng-template>
13264
13288
  </kendo-grid-columnmenu-item>
13265
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }] });
13289
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }] });
13266
13290
  }
13267
13291
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuFilterComponent, decorators: [{
13268
13292
  type: Component,
@@ -13565,7 +13589,7 @@ class ColumnMenuSortComponent extends ColumnMenuItemBase {
13565
13589
  (itemClick)="toggleSort('desc')"
13566
13590
  [selected]="sortedDesc">
13567
13591
  </kendo-grid-columnmenu-item>
13568
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
13592
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
13569
13593
  }
13570
13594
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuSortComponent, decorators: [{
13571
13595
  type: Component,
@@ -20421,8 +20445,8 @@ const packageMetadata = {
20421
20445
  productName: 'Kendo UI for Angular',
20422
20446
  productCode: 'KENDOUIANGULAR',
20423
20447
  productCodes: ['KENDOUIANGULAR'],
20424
- publishDate: 1747666920,
20425
- version: '19.0.0-develop.24',
20448
+ publishDate: 1747728167,
20449
+ version: '19.0.0-develop.26',
20426
20450
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
20427
20451
  };
20428
20452
 
@@ -24324,6 +24348,7 @@ class FilterToolbarToolComponent {
24324
24348
  filterService;
24325
24349
  ctx;
24326
24350
  columnInfoService;
24351
+ ngZone;
24327
24352
  adaptiveGridService;
24328
24353
  filterItems;
24329
24354
  menuItems;
@@ -24339,12 +24364,45 @@ class FilterToolbarToolComponent {
24339
24364
  columnMenuService;
24340
24365
  columns;
24341
24366
  filter;
24367
+ activeFilterSVGIcon = filterIcon;
24368
+ activeFilterIcon = 'k-i-filter';
24369
+ isFilterApplied(column) {
24370
+ if (!this.filter?.filters) {
24371
+ return false;
24372
+ }
24373
+ if (Array.isArray(this.filter.filters)) {
24374
+ for (const filterGroup of this.filter.filters) {
24375
+ if (filterGroup.filters && Array.isArray(filterGroup.filters)) {
24376
+ for (const filter of filterGroup.filters) {
24377
+ if (filter.field === column.field) {
24378
+ return true;
24379
+ }
24380
+ }
24381
+ }
24382
+ else if (filterGroup.field === column.field) {
24383
+ return true;
24384
+ }
24385
+ }
24386
+ }
24387
+ return false;
24388
+ }
24389
+ isItemFocused(filterItem) {
24390
+ return this.currentFocusedItem === filterItem;
24391
+ }
24392
+ onItemFocus(item) {
24393
+ this.currentFocusedItem = item;
24394
+ }
24395
+ onItemFocusOut() {
24396
+ this.currentFocusedItem = null;
24397
+ }
24398
+ currentFocusedItem = null;
24342
24399
  subscriptions;
24343
- constructor(element, filterService, ctx, columnInfoService, adaptiveGridService) {
24400
+ constructor(element, filterService, ctx, columnInfoService, ngZone, adaptiveGridService) {
24344
24401
  this.element = element;
24345
24402
  this.filterService = filterService;
24346
24403
  this.ctx = ctx;
24347
24404
  this.columnInfoService = columnInfoService;
24405
+ this.ngZone = ngZone;
24348
24406
  this.adaptiveGridService = adaptiveGridService;
24349
24407
  }
24350
24408
  ngOnInit() {
@@ -24355,7 +24413,9 @@ class FilterToolbarToolComponent {
24355
24413
  });
24356
24414
  }
24357
24415
  ngAfterViewInit() {
24358
- this.filterItems?.get(0)?.nativeElement.focus();
24416
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
24417
+ this.filterItems?.get(0)?.nativeElement.focus();
24418
+ });
24359
24419
  }
24360
24420
  ngOnDestroy() {
24361
24421
  if (this.subscriptions) {
@@ -24399,7 +24459,7 @@ class FilterToolbarToolComponent {
24399
24459
  menuItem.contentState = 'expanded';
24400
24460
  }
24401
24461
  }
24402
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterToolbarToolComponent, deps: [{ token: i0.ElementRef }, { token: FilterService }, { token: ContextService }, { token: ColumnInfoService }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Component });
24462
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterToolbarToolComponent, deps: [{ token: i0.ElementRef }, { token: FilterService }, { token: ContextService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Component });
24403
24463
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterToolbarToolComponent, isStandalone: true, selector: "kendo-filter-toolbar-tool", outputs: { close: "close" }, viewQueries: [{ propertyName: "filterItems", predicate: ["filterItem"], descendants: true, read: ElementRef }, { propertyName: "menuItems", predicate: ["filterItem"], descendants: true }, { propertyName: "filterContainers", predicate: ["filterContainer"], descendants: true }], ngImport: i0, template: `
24404
24464
  <div [style]="hostStyles">
24405
24465
  <kendo-grid-columnmenu-item *ngFor="let column of columns; let i = index"
@@ -24408,9 +24468,14 @@ class FilterToolbarToolComponent {
24408
24468
  tabindex="0"
24409
24469
  [column]="getColumnComponent(column)"
24410
24470
  [text]="column.title || getColumnComponent(column).field"
24471
+ (focus)="onItemFocus(filterItem)"
24472
+ (focusout)="onItemFocusOut()"
24411
24473
  (keydown.enter)="toggleItem($event, i)"
24474
+ [indicatorSVGIcon]="isFilterApplied(column) ? activeFilterSVGIcon : null"
24475
+ [indicatorIcon]="isFilterApplied(column) ? activeFilterIcon : null"
24412
24476
  (itemClick)="navigateView(getColumnComponent(column))"
24413
- [expanded]="false">
24477
+ [expanded]="false"
24478
+ [focused]="isItemFocused(filterItem)">
24414
24479
  <ng-template kendoGridColumnMenuItemContentTemplate>
24415
24480
  <kendo-grid-filter-menu-container
24416
24481
  #filterContainer
@@ -24423,7 +24488,7 @@ class FilterToolbarToolComponent {
24423
24488
  </ng-template>
24424
24489
  </kendo-grid-columnmenu-item>
24425
24490
  </div>
24426
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }] });
24491
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }] });
24427
24492
  }
24428
24493
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterToolbarToolComponent, decorators: [{
24429
24494
  type: Component,
@@ -24437,9 +24502,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
24437
24502
  tabindex="0"
24438
24503
  [column]="getColumnComponent(column)"
24439
24504
  [text]="column.title || getColumnComponent(column).field"
24505
+ (focus)="onItemFocus(filterItem)"
24506
+ (focusout)="onItemFocusOut()"
24440
24507
  (keydown.enter)="toggleItem($event, i)"
24508
+ [indicatorSVGIcon]="isFilterApplied(column) ? activeFilterSVGIcon : null"
24509
+ [indicatorIcon]="isFilterApplied(column) ? activeFilterIcon : null"
24441
24510
  (itemClick)="navigateView(getColumnComponent(column))"
24442
- [expanded]="false">
24511
+ [expanded]="false"
24512
+ [focused]="isItemFocused(filterItem)">
24443
24513
  <ng-template kendoGridColumnMenuItemContentTemplate>
24444
24514
  <kendo-grid-filter-menu-container
24445
24515
  #filterContainer
@@ -24456,7 +24526,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
24456
24526
  standalone: true,
24457
24527
  imports: [NgFor, KENDO_BUTTON, FilterMenuContainerComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective]
24458
24528
  }]
24459
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FilterService }, { type: ContextService }, { type: ColumnInfoService }, { type: AdaptiveGridService }]; }, propDecorators: { filterItems: [{
24529
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FilterService }, { type: ContextService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: AdaptiveGridService }]; }, propDecorators: { filterItems: [{
24460
24530
  type: ViewChildren,
24461
24531
  args: ['filterItem', { read: ElementRef }]
24462
24532
  }], menuItems: [{
@@ -25684,7 +25754,7 @@ class AdaptiveRendererComponent {
25684
25754
  {{messageFor('filterFilterButton')}}
25685
25755
  </button>
25686
25756
  </ng-template>
25687
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "component", type: ActionSheetViewComponent, selector: "kendo-actionsheet-view", inputs: ["title", "subtitle", "titleId"] }, { kind: "component", type: FilterToolbarToolComponent, selector: "kendo-filter-toolbar-tool", outputs: ["close"] }, { kind: "component", type: ButtonDirective, 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"] }, { kind: "directive", type: ActionSheetHeaderTemplateDirective, selector: "[kendoActionSheetHeaderTemplate]" }, { kind: "directive", type: ActionSheetContentTemplateDirective, selector: "[kendoActionSheetContentTemplate]" }, { kind: "directive", type: ActionSheetFooterTemplateDirective, selector: "[kendoActionSheetFooterTemplate]" }, { kind: "component", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { kind: "component", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { kind: "component", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { kind: "component", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "showActions", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: FormComponent, selector: "kendo-grid-external-form", inputs: ["controls", "formSettings", "formGroup", "actionButtons"], outputs: ["formSubmit"] }] });
25757
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "component", type: ActionSheetViewComponent, selector: "kendo-actionsheet-view", inputs: ["title", "subtitle", "titleId"] }, { kind: "component", type: FilterToolbarToolComponent, selector: "kendo-filter-toolbar-tool", outputs: ["close"] }, { kind: "component", type: ButtonDirective, 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"] }, { kind: "directive", type: ActionSheetHeaderTemplateDirective, selector: "[kendoActionSheetHeaderTemplate]" }, { kind: "directive", type: ActionSheetContentTemplateDirective, selector: "[kendoActionSheetContentTemplate]" }, { kind: "directive", type: ActionSheetFooterTemplateDirective, selector: "[kendoActionSheetFooterTemplate]" }, { kind: "component", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { kind: "component", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { kind: "component", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { kind: "component", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "indicatorSVGIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "showActions", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: FormComponent, selector: "kendo-grid-external-form", inputs: ["controls", "formSettings", "formGroup", "actionButtons"], outputs: ["formSubmit"] }] });
25688
25758
  }
25689
25759
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdaptiveRendererComponent, decorators: [{
25690
25760
  type: Component,
@@ -26916,6 +26986,39 @@ class GridComponent {
26916
26986
  get scrollbarWidth() {
26917
26987
  return this.supportService.scrollbarWidth;
26918
26988
  }
26989
+ get showPagerInput() {
26990
+ return this._showPagerInput;
26991
+ }
26992
+ set showPagerInput(value) {
26993
+ if (this._showPagerInput === value) {
26994
+ return;
26995
+ }
26996
+ this._showPagerInput = value;
26997
+ }
26998
+ get showPagerPageText() {
26999
+ return this._showPagerPageText;
27000
+ }
27001
+ set showPagerPageText(value) {
27002
+ if (!this.normalizedPageableSettings?.responsive) {
27003
+ this._showPagerPageText = true;
27004
+ }
27005
+ if (this._showPagerPageText === value) {
27006
+ return;
27007
+ }
27008
+ this._showPagerPageText = value;
27009
+ }
27010
+ get showPagerItemsText() {
27011
+ return this._showPagerItemsText;
27012
+ }
27013
+ set showPagerItemsText(value) {
27014
+ if (!this.normalizedPageableSettings?.responsive) {
27015
+ this._showPagerItemsText = true;
27016
+ }
27017
+ if (this._showPagerItemsText === value) {
27018
+ return;
27019
+ }
27020
+ this._showPagerItemsText = value;
27021
+ }
26919
27022
  get headerPadding() {
26920
27023
  if (isUniversal()) {
26921
27024
  return '';
@@ -26986,6 +27089,9 @@ class GridComponent {
26986
27089
  _navigable = ['table', 'pager', 'toolbar'];
26987
27090
  _size = 'medium';
26988
27091
  _loading = false;
27092
+ _showPagerInput = true;
27093
+ _showPagerPageText = true;
27094
+ _showPagerItemsText = true;
26989
27095
  get isVirtual() {
26990
27096
  return this.scrollable === 'virtual';
26991
27097
  }
@@ -27628,6 +27734,12 @@ class GridComponent {
27628
27734
  }
27629
27735
  this.pageChange.emit(event);
27630
27736
  }
27737
+ /**
27738
+ * @hidden
27739
+ */
27740
+ handlePagerVisibilityChange(prop, ev) {
27741
+ this[prop] = ev;
27742
+ }
27631
27743
  /**
27632
27744
  * @hidden
27633
27745
  */
@@ -28708,7 +28820,10 @@ class GridComponent {
28708
28820
  [pageSizeValues]="normalizedPageableSettings.pageSizes"
28709
28821
  [previousNext]="normalizedPageableSettings.previousNext"
28710
28822
  [type]="normalizedPageableSettings.type"
28711
- (pageChange)="notifyPageChange('pager', $event)">
28823
+ (pageChange)="notifyPageChange('pager', $event)"
28824
+ (pagerInputVisibilityChange)="handlePagerVisibilityChange('showPagerInput', $event)"
28825
+ (pageTextVisibilityChange)="handlePagerVisibilityChange('showPagerPageText', $event)"
28826
+ (itemsTextVisibilityChange)="handlePagerVisibilityChange('showPagerItemsText', $event)">
28712
28827
  <ng-template kendoPagerTemplate>
28713
28828
  <ng-container
28714
28829
  [ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
@@ -29031,7 +29146,10 @@ class GridComponent {
29031
29146
  [pageSizeValues]="normalizedPageableSettings.pageSizes"
29032
29147
  [previousNext]="normalizedPageableSettings.previousNext"
29033
29148
  [type]="normalizedPageableSettings.type"
29034
- (pageChange)="notifyPageChange('pager', $event)">
29149
+ (pageChange)="notifyPageChange('pager', $event)"
29150
+ (pagerInputVisibilityChange)="handlePagerVisibilityChange('showPagerInput', $event)"
29151
+ (pageTextVisibilityChange)="handlePagerVisibilityChange('showPagerPageText', $event)"
29152
+ (itemsTextVisibilityChange)="handlePagerVisibilityChange('showPagerItemsText', $event)">
29035
29153
  <ng-template kendoPagerTemplate>
29036
29154
  <ng-container
29037
29155
  [ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
@@ -29079,12 +29197,13 @@ class GridComponent {
29079
29197
  *ngIf="normalizedPageableSettings.type === 'numeric' && normalizedPageableSettings.buttonCount > 0"
29080
29198
  [buttonCount]="normalizedPageableSettings.buttonCount">
29081
29199
  </kendo-pager-numeric-buttons>
29082
- <kendo-pager-input [size]="size" *ngIf="normalizedPageableSettings.type === 'input'"></kendo-pager-input>
29200
+ <kendo-pager-input [size]="size" *ngIf="normalizedPageableSettings.type === 'input' || showPagerInput" [showPageText]="showPagerPageText"></kendo-pager-input>
29083
29201
  <kendo-pager-next-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-next-buttons>
29084
29202
  </div>
29085
29203
  <kendo-pager-page-sizes *ngIf="normalizedPageableSettings.pageSizes"
29086
29204
  [size]="size"
29087
- [pageSizes]="normalizedPageableSettings.pageSizes">
29205
+ [pageSizes]="normalizedPageableSettings.pageSizes"
29206
+ [showItemsText]="showPagerItemsText">
29088
29207
  </kendo-pager-page-sizes>
29089
29208
  <kendo-pager-info *ngIf="normalizedPageableSettings.info">
29090
29209
  </kendo-pager-info>
@@ -29094,7 +29213,7 @@ class GridComponent {
29094
29213
  <kendo-grid-adaptive-renderer *ngIf="isAdaptiveModeEnabled"></kendo-grid-adaptive-renderer>
29095
29214
 
29096
29215
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
29097
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns", "totalColumnsCount"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i50.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i50.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i50.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["showPageText", "size"] }, { kind: "component", type: i50.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i50.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i50.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["showItemsText", "pageSizes", "size", "adaptiveMode"] }, { kind: "component", type: i50.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i50.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i50.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive", "adaptiveMode"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-grid-adaptive-renderer" }], encapsulation: i0.ViewEncapsulation.None });
29216
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns", "totalColumnsCount"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i50.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i50.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i50.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["showPageText", "size"] }, { kind: "component", type: i50.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i50.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i50.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["showItemsText", "pageSizes", "size", "adaptiveMode"] }, { kind: "component", type: i50.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i50.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i50.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive", "adaptiveMode"], outputs: ["pageChange", "pageSizeChange", "pagerInputVisibilityChange", "pageTextVisibilityChange", "itemsTextVisibilityChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AdaptiveRendererComponent, selector: "kendo-grid-adaptive-renderer" }], encapsulation: i0.ViewEncapsulation.None });
29098
29217
  }
29099
29218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
29100
29219
  type: Component,
@@ -29512,7 +29631,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29512
29631
  [pageSizeValues]="normalizedPageableSettings.pageSizes"
29513
29632
  [previousNext]="normalizedPageableSettings.previousNext"
29514
29633
  [type]="normalizedPageableSettings.type"
29515
- (pageChange)="notifyPageChange('pager', $event)">
29634
+ (pageChange)="notifyPageChange('pager', $event)"
29635
+ (pagerInputVisibilityChange)="handlePagerVisibilityChange('showPagerInput', $event)"
29636
+ (pageTextVisibilityChange)="handlePagerVisibilityChange('showPagerPageText', $event)"
29637
+ (itemsTextVisibilityChange)="handlePagerVisibilityChange('showPagerItemsText', $event)">
29516
29638
  <ng-template kendoPagerTemplate>
29517
29639
  <ng-container
29518
29640
  [ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
@@ -29835,7 +29957,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29835
29957
  [pageSizeValues]="normalizedPageableSettings.pageSizes"
29836
29958
  [previousNext]="normalizedPageableSettings.previousNext"
29837
29959
  [type]="normalizedPageableSettings.type"
29838
- (pageChange)="notifyPageChange('pager', $event)">
29960
+ (pageChange)="notifyPageChange('pager', $event)"
29961
+ (pagerInputVisibilityChange)="handlePagerVisibilityChange('showPagerInput', $event)"
29962
+ (pageTextVisibilityChange)="handlePagerVisibilityChange('showPagerPageText', $event)"
29963
+ (itemsTextVisibilityChange)="handlePagerVisibilityChange('showPagerItemsText', $event)">
29839
29964
  <ng-template kendoPagerTemplate>
29840
29965
  <ng-container
29841
29966
  [ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
@@ -29883,12 +30008,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29883
30008
  *ngIf="normalizedPageableSettings.type === 'numeric' && normalizedPageableSettings.buttonCount > 0"
29884
30009
  [buttonCount]="normalizedPageableSettings.buttonCount">
29885
30010
  </kendo-pager-numeric-buttons>
29886
- <kendo-pager-input [size]="size" *ngIf="normalizedPageableSettings.type === 'input'"></kendo-pager-input>
30011
+ <kendo-pager-input [size]="size" *ngIf="normalizedPageableSettings.type === 'input' || showPagerInput" [showPageText]="showPagerPageText"></kendo-pager-input>
29887
30012
  <kendo-pager-next-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-next-buttons>
29888
30013
  </div>
29889
30014
  <kendo-pager-page-sizes *ngIf="normalizedPageableSettings.pageSizes"
29890
30015
  [size]="size"
29891
- [pageSizes]="normalizedPageableSettings.pageSizes">
30016
+ [pageSizes]="normalizedPageableSettings.pageSizes"
30017
+ [showItemsText]="showPagerItemsText">
29892
30018
  </kendo-pager-page-sizes>
29893
30019
  <kendo-pager-info *ngIf="normalizedPageableSettings.info">
29894
30020
  </kendo-pager-info>
@@ -32586,6 +32712,12 @@ class SortCommandToolbarDirective {
32586
32712
  toolSubs = new Subscription();
32587
32713
  popupSubs;
32588
32714
  removeClickListener;
32715
+ /**
32716
+ * @hidden
32717
+ */
32718
+ isSortingApplied(sort) {
32719
+ return isPresent$1(sort) && sort.length > 0 && sort.filter(item => item.dir !== undefined).length > 0;
32720
+ }
32589
32721
  constructor(host, popupService, ctx, sortService, columnInfoService, ngZone, renderer, adaptiveGridService) {
32590
32722
  this.host = host;
32591
32723
  this.popupService = popupService;
@@ -32599,9 +32731,9 @@ class SortCommandToolbarDirective {
32599
32731
  ngOnInit() {
32600
32732
  this.toolSubs = this.host.click.subscribe(e => this.onClick(e));
32601
32733
  this.toolSubs.add(this.sortService.changes.subscribe(sort => {
32602
- const isSortingApplied = isPresent$1(sort) && sort.length > 0 && sort.filter(item => item.dir !== undefined).length > 0;
32603
- this.host.showBadge = isSortingApplied;
32734
+ this.host.showBadge = this.isSortingApplied(sort);
32604
32735
  }));
32736
+ this.host.showBadge = this.isSortingApplied(this.ctx.grid.sort);
32605
32737
  const hasToolbarIcon = isPresent$1(this.host.toolbarOptions.icon) && this.host.toolbarOptions.icon !== '';
32606
32738
  const hasOverflowIcon = isPresent$1(this.host.overflowOptions.icon) && this.host.overflowOptions.icon !== '';
32607
32739
  const hasIcon = hasToolbarIcon && hasOverflowIcon;
@@ -32621,7 +32753,7 @@ class SortCommandToolbarDirective {
32621
32753
  }
32622
32754
  this.buttonElement?.setAttribute('aria-haspopup', 'dialog');
32623
32755
  this.buttonElement?.setAttribute('aria-expanded', 'false');
32624
- this.buttonElement?.setAttribute('title', this.ctx.localization.get('sortable'));
32756
+ this.buttonElement?.setAttribute('title', this.ctx.localization.get('sortToolbarToolText'));
32625
32757
  }
32626
32758
  ngOnDestroy() {
32627
32759
  if (this.toolSubs) {
@@ -32667,13 +32799,16 @@ class SortCommandToolbarDirective {
32667
32799
  });
32668
32800
  this.adaptiveGridService.popupRef = this.popupRef;
32669
32801
  this.setPopupAttributes();
32802
+ this.host.selected = true;
32670
32803
  this.ngZone.runOutsideAngular(() => {
32671
32804
  if (!isDocumentAvailable()) {
32672
32805
  return;
32673
32806
  }
32674
32807
  this.removeClickListener = this.renderer.listen('document', 'click', (e) => {
32675
32808
  if (this.popupRef && !closest$1(e.target, node => node === this.popupRef.popupElement || node === this.buttonElement)) {
32676
- this.closePopup();
32809
+ this.ngZone.run(() => {
32810
+ this.closePopup();
32811
+ });
32677
32812
  }
32678
32813
  });
32679
32814
  });
@@ -32709,6 +32844,7 @@ class SortCommandToolbarDirective {
32709
32844
  closePopup() {
32710
32845
  this.buttonElement?.setAttribute('aria-expanded', 'false');
32711
32846
  this.buttonElement?.removeAttribute('aria-controls');
32847
+ this.host.selected = false;
32712
32848
  if (this.popupRef) {
32713
32849
  this.popupRef.close();
32714
32850
  this.popupRef = null;
@@ -32759,6 +32895,7 @@ class FilterToolWrapperComponent {
32759
32895
  columnInfoService;
32760
32896
  set ctx(ctx) {
32761
32897
  this._ctx = ctx;
32898
+ this.filter = ctx.grid.filter;
32762
32899
  this.createPopup();
32763
32900
  }
32764
32901
  get ctx() {
@@ -32902,6 +33039,12 @@ class FilterCommandToolbarDirective {
32902
33039
  toolSubs = new Subscription();
32903
33040
  popupSubs;
32904
33041
  removeClickListener;
33042
+ /**
33043
+ * @hidden
33044
+ */
33045
+ isFilterApplied(filter) {
33046
+ return isPresent$1(filter) && filter.filters?.length > 0;
33047
+ }
32905
33048
  constructor(host, popupService, ctx, filterService, columnInfoService, ngZone, renderer, adaptiveGridService) {
32906
33049
  this.host = host;
32907
33050
  this.popupService = popupService;
@@ -32915,8 +33058,9 @@ class FilterCommandToolbarDirective {
32915
33058
  ngOnInit() {
32916
33059
  this.toolSubs = this.host.click.subscribe(e => this.onClick(e));
32917
33060
  this.toolSubs.add(this.filterService.changes.subscribe(filter => {
32918
- this.host.showBadge = isPresent$1(filter) && filter.filters.length > 0;
33061
+ this.host.showBadge = this.isFilterApplied(filter);
32919
33062
  }));
33063
+ this.host.showBadge = this.isFilterApplied(this.ctx.grid.filter);
32920
33064
  const hasToolbarIcon = isPresent$1(this.host.toolbarOptions.icon) && this.host.toolbarOptions.icon !== '';
32921
33065
  const hasOverflowIcon = isPresent$1(this.host.overflowOptions.icon) && this.host.overflowOptions.icon !== '';
32922
33066
  const hasIcon = hasToolbarIcon && hasOverflowIcon;
@@ -32936,7 +33080,7 @@ class FilterCommandToolbarDirective {
32936
33080
  }
32937
33081
  this.buttonElement?.setAttribute('aria-haspopup', 'dialog');
32938
33082
  this.buttonElement?.setAttribute('aria-expanded', 'false');
32939
- this.buttonElement?.setAttribute('title', this.ctx.localization.get('filter'));
33083
+ this.buttonElement?.setAttribute('title', this.ctx.localization.get('filterToolbarToolText'));
32940
33084
  }
32941
33085
  ngOnDestroy() {
32942
33086
  if (this.toolSubs) {
@@ -32981,13 +33125,16 @@ class FilterCommandToolbarDirective {
32981
33125
  });
32982
33126
  this.adaptiveGridService.popupRef = this.popupRef;
32983
33127
  this.setPopupAttributes();
33128
+ this.host.selected = true;
32984
33129
  this.ngZone.runOutsideAngular(() => {
32985
33130
  if (!isDocumentAvailable()) {
32986
33131
  return;
32987
33132
  }
32988
33133
  this.removeClickListener = this.renderer.listen('document', 'click', (e) => {
32989
33134
  if (this.popupRef && !closest$1(e.target, node => node === this.popupRef.popupElement || node === this.buttonElement)) {
32990
- this.closePopup();
33135
+ this.ngZone.run(() => {
33136
+ this.closePopup();
33137
+ });
32991
33138
  }
32992
33139
  });
32993
33140
  });
@@ -33021,6 +33168,7 @@ class FilterCommandToolbarDirective {
33021
33168
  closePopup() {
33022
33169
  this.buttonElement?.setAttribute('aria-expanded', 'false');
33023
33170
  this.buttonElement?.removeAttribute('aria-controls');
33171
+ this.host.selected = false;
33024
33172
  if (this.popupRef) {
33025
33173
  this.popupRef.close();
33026
33174
  this.popupRef = null;