@progress/kendo-angular-grid 18.5.0-develop.9 → 18.5.1-develop.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,57 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { NgZone, Renderer2, AfterViewInit, OnInit, OnDestroy } from '@angular/core';
6
+ import { PopupService } from '@progress/kendo-angular-popup';
7
+ import { RefreshService, ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
8
+ import { ContextService } from '../common/provider.service';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * Represents the `column-chooser` toolbar tool of the Grid.
12
+ * You can apply this directive to any `kendo-toolbar-button` element inside a
13
+ * ToolbarComponent used in the Grid.
14
+ *
15
+ * @example
16
+ * ```html-no-run
17
+ * <kendo-grid>
18
+ * <kendo-toolbar>
19
+ * <kendo-toolbar-button kendoGridColumnChooserTool></kendo-toolbar-button>
20
+ * </kendo-toolbar>
21
+ * </kendo-grid>
22
+ * ```
23
+ */
24
+ export declare class ColumnChooserToolbarDirective implements OnInit, AfterViewInit, OnDestroy {
25
+ private renderer;
26
+ private popupSerivce;
27
+ host: ToolBarButtonComponent;
28
+ private ctx;
29
+ private zone;
30
+ private refresh;
31
+ /**
32
+ * Specifies if the changes in the visibility of the column will be immediately applied.
33
+ *
34
+ * @default false
35
+ */
36
+ autoSync: boolean;
37
+ /**
38
+ * Specifies if all columns can be hidden.
39
+ *
40
+ * @default true
41
+ */
42
+ allowHideAll: boolean;
43
+ private popupRef;
44
+ private subs;
45
+ private nextId;
46
+ constructor(renderer: Renderer2, popupSerivce: PopupService, host: ToolBarButtonComponent, ctx: ContextService, zone: NgZone, refresh: RefreshService);
47
+ ngOnInit(): void;
48
+ ngAfterViewInit(): void;
49
+ ngOnDestroy(): void;
50
+ /**
51
+ * @hidden
52
+ */
53
+ onClick(e: any): void;
54
+ private closePopup;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColumnChooserToolbarDirective, never>;
56
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnChooserToolbarDirective, "[kendoGridColumnChooserTool]", never, { "autoSync": { "alias": "autoSync"; "required": false; }; "allowHideAll": { "alias": "allowHideAll"; "required": false; }; }, {}, never, never, true, never>;
57
+ }
@@ -14,6 +14,8 @@ export declare class ColumnListComponent implements OnInit, OnDestroy {
14
14
  private ngZone;
15
15
  private renderer;
16
16
  private listNavigationService;
17
+ checkIcon: import("@progress/kendo-svg-icons").SVGIcon;
18
+ arrowRotateCcwIcon: import("@progress/kendo-svg-icons").SVGIcon;
17
19
  className: boolean;
18
20
  reset: EventEmitter<any>;
19
21
  apply: EventEmitter<any>;
package/directives.d.ts CHANGED
@@ -68,6 +68,7 @@ import { StringFilterCellComponent } from "./filtering/cell/string-filter-cell.c
68
68
  import { FilterRowComponent } from "./filtering/filter-row.component";
69
69
  import { ColumnMenuChooserItemCheckedDirective } from "./column-menu/column-chooser-item-checked.directive";
70
70
  import { ColumnChooserComponent } from "./column-menu/column-chooser.component";
71
+ import { ColumnChooserToolbarDirective } from "./column-menu/column-chooser-tool.directive";
71
72
  import { ColumnListComponent } from "./column-menu/column-list.component";
72
73
  import { ColumnMenuAutoSizeAllColumnsComponent } from "./column-menu/column-menu-autosize-all.component";
73
74
  import { ColumnMenuAutoSizeColumnComponent } from "./column-menu/column-menu-autosize.component";
@@ -198,13 +199,13 @@ export declare const KENDO_GRID_FILTER_ROW: readonly [typeof FilterRowComponent,
198
199
  *
199
200
  * Utility array that contains the former ColumnMenu module declarations
200
201
  */
201
- export declare const KENDO_GRID_COLUMN_MENU_DECLARATIONS: readonly [typeof ColumnMenuChooserItemCheckedDirective, typeof ColumnListComponent, typeof ColumnChooserComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent];
202
+ export declare const KENDO_GRID_COLUMN_MENU_DECLARATIONS: readonly [typeof ColumnMenuChooserItemCheckedDirective, typeof ColumnListComponent, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuChooserComponent, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent];
202
203
  /**
203
204
  * @hidden
204
205
  *
205
206
  * Utility array that contains the former ColumnMenu module exports
206
207
  */
207
- export declare const KENDO_GRID_COLUMN_MENU_EXPORTS: readonly [typeof ColumnChooserComponent, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent];
208
+ export declare const KENDO_GRID_COLUMN_MENU_EXPORTS: readonly [typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent];
208
209
  /**
209
210
  * @hidden
210
211
  */
@@ -232,7 +233,7 @@ export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, ty
232
233
  *
233
234
  * Utility array that contains the Grid module exports
234
235
  */
235
- export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective];
236
+ export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective];
236
237
  /**
237
238
  * @hidden
238
239
  *
@@ -248,4 +249,4 @@ export declare const KENDO_GRID_PDF_EXPORT: readonly [typeof PDFComponent, typeo
248
249
  /**
249
250
  * Utility array that contains all `Grid` related components and directives
250
251
  */
251
- export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof ExcelComponent, typeof ExcelCommandDirective, typeof ExcelCommandToolbarDirective, typeof ExcelColumnComponent, typeof ExcelColumnGroupComponent, typeof ExcelFooterTemplateDirective, typeof ExcelGroupFooterTemplateDirective, typeof ExcelGroupHeaderColumnTemplateDirective, typeof ExcelGroupHeaderTemplateDirective, typeof PDFComponent, typeof PDFMarginComponent, typeof PDFCommandDirective, typeof PDFTemplateDirective, typeof PDFCommandToolbarDirective];
252
+ export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof ExcelComponent, typeof ExcelCommandDirective, typeof ExcelCommandToolbarDirective, typeof ExcelColumnComponent, typeof ExcelColumnGroupComponent, typeof ExcelFooterTemplateDirective, typeof ExcelGroupFooterTemplateDirective, typeof ExcelGroupHeaderColumnTemplateDirective, typeof ExcelGroupHeaderTemplateDirective, typeof PDFComponent, typeof PDFMarginComponent, typeof PDFCommandDirective, typeof PDFTemplateDirective, typeof PDFCommandToolbarDirective];
@@ -0,0 +1,172 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Directive, NgZone, Input, Renderer2 } from '@angular/core';
6
+ import { PopupService } from '@progress/kendo-angular-popup';
7
+ import { RefreshService, ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
8
+ import { ColumnListComponent } from './column-list.component';
9
+ import { closest, isPresent } from '@progress/kendo-angular-common';
10
+ import { Subscription } from 'rxjs';
11
+ import { columnsIcon } from '@progress/kendo-svg-icons';
12
+ import { ContextService } from '../common/provider.service';
13
+ import { filter, take } from 'rxjs/operators';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@progress/kendo-angular-popup";
16
+ import * as i2 from "@progress/kendo-angular-toolbar";
17
+ import * as i3 from "../common/provider.service";
18
+ let incrementingId = 0;
19
+ /**
20
+ * Represents the `column-chooser` toolbar tool of the Grid.
21
+ * You can apply this directive to any `kendo-toolbar-button` element inside a
22
+ * ToolbarComponent used in the Grid.
23
+ *
24
+ * @example
25
+ * ```html-no-run
26
+ * <kendo-grid>
27
+ * <kendo-toolbar>
28
+ * <kendo-toolbar-button kendoGridColumnChooserTool></kendo-toolbar-button>
29
+ * </kendo-toolbar>
30
+ * </kendo-grid>
31
+ * ```
32
+ */
33
+ export class ColumnChooserToolbarDirective {
34
+ renderer;
35
+ popupSerivce;
36
+ host;
37
+ ctx;
38
+ zone;
39
+ refresh;
40
+ /**
41
+ * Specifies if the changes in the visibility of the column will be immediately applied.
42
+ *
43
+ * @default false
44
+ */
45
+ autoSync = false;
46
+ /**
47
+ * Specifies if all columns can be hidden.
48
+ *
49
+ * @default true
50
+ */
51
+ allowHideAll = true;
52
+ popupRef;
53
+ subs = new Subscription();
54
+ nextId = incrementingId++;
55
+ constructor(renderer, popupSerivce, host, ctx, zone, refresh) {
56
+ this.renderer = renderer;
57
+ this.popupSerivce = popupSerivce;
58
+ this.host = host;
59
+ this.ctx = ctx;
60
+ this.zone = zone;
61
+ this.refresh = refresh;
62
+ }
63
+ ngOnInit() {
64
+ this.subs.add(this.host.click.subscribe(e => this.onClick(e)));
65
+ const hasToolbarIcon = isPresent(this.host.toolbarOptions.icon) && this.host.toolbarOptions.icon !== '';
66
+ const hasOverflowIcon = isPresent(this.host.overflowOptions.icon) && this.host.overflowOptions.icon !== '';
67
+ const hasIcon = hasToolbarIcon && hasOverflowIcon;
68
+ const hasSvgIcon = isPresent(this.host.toolbarOptions.svgIcon) && isPresent(this.host.overflowOptions.svgIcon);
69
+ if (!hasIcon) {
70
+ this.host.icon = 'columns';
71
+ }
72
+ if (!hasSvgIcon) {
73
+ this.host.svgIcon = columnsIcon;
74
+ }
75
+ }
76
+ ngAfterViewInit() {
77
+ const hasText = isPresent(this.host.text);
78
+ if (!hasText) {
79
+ this.zone.onStable.pipe(take(1)).subscribe(() => {
80
+ this.host.text = this.ctx.localization.get(`columns`);
81
+ });
82
+ }
83
+ this.host.toolbarButtonElement.nativeElement.setAttribute('aria-haspopup', 'dialog');
84
+ this.host.toolbarButtonElement.nativeElement.setAttribute('aria-expanded', 'false');
85
+ this.host.toolbarButtonElement.nativeElement.setAttribute('title', this.ctx.localization.get('columns'));
86
+ this.subs.add(this.refresh.onRefresh.pipe(filter((tool) => tool === this.host)).subscribe((tool) => {
87
+ if (tool.overflows && this.popupRef) {
88
+ this.popupRef.close();
89
+ }
90
+ }));
91
+ }
92
+ ngOnDestroy() {
93
+ this.subs.unsubscribe();
94
+ }
95
+ /**
96
+ * @hidden
97
+ */
98
+ onClick(e) {
99
+ e.preventDefault();
100
+ if (!this.popupRef) {
101
+ if (!this.host.overflows) {
102
+ const direction = this.ctx.localization.rtl ? 'right' : 'left';
103
+ this.popupRef = this.popupSerivce.open({
104
+ anchor: this.host.toolbarButtonElement,
105
+ content: ColumnListComponent,
106
+ positionMode: 'absolute',
107
+ anchorAlign: { vertical: 'bottom', horizontal: direction },
108
+ popupAlign: { vertical: 'top', horizontal: direction }
109
+ });
110
+ const popupElement = this.popupRef.popupElement;
111
+ const popupId = `k-column-chooser-tool-${this.nextId}-popup`;
112
+ const popupAriaElement = popupElement.querySelector('.k-popup');
113
+ this.zone.runOutsideAngular(() => {
114
+ this.renderer.listen(popupAriaElement, 'keydown', (e) => {
115
+ if (e.key === 'Escape') {
116
+ this.closePopup(true);
117
+ }
118
+ });
119
+ });
120
+ this.renderer.setAttribute(popupElement, 'dir', this.ctx.localization.rtl ? 'rtl' : 'ltr');
121
+ this.renderer.setAttribute(popupAriaElement, 'id', popupId);
122
+ this.renderer.setAttribute(popupAriaElement, 'role', 'dialog');
123
+ this.host.toolbarButtonElement.nativeElement.setAttribute('aria-expanded', 'true');
124
+ this.host.toolbarButtonElement.nativeElement.setAttribute('aria-controls', popupId);
125
+ const columnList = this.popupRef.content.instance;
126
+ columnList.isLast = true;
127
+ columnList.autoSync = this.autoSync;
128
+ columnList.allowHideAll = this.allowHideAll;
129
+ columnList.applyText = this.ctx.localization.get('columnsApply');
130
+ columnList.resetText = this.ctx.localization.get('columnsReset');
131
+ columnList.columns = this.ctx.grid.columns;
132
+ columnList.ariaLabel = this.ctx.localization.get('columns');
133
+ this.subs.add(this.popupRef.popup.instance.anchorViewportLeave.subscribe(() => {
134
+ this.closePopup(true);
135
+ }));
136
+ this.subs.add(columnList.apply.subscribe(() => {
137
+ this.closePopup();
138
+ }));
139
+ this.zone.runOutsideAngular(() => this.renderer.listen('document', 'click', ({ target }) => {
140
+ if (this.popupRef && !closest(target, node => node === this.popupRef.popupElement || node === this.host.toolbarButtonElement.nativeElement)) {
141
+ this.zone.run(() => {
142
+ this.closePopup();
143
+ });
144
+ }
145
+ }));
146
+ }
147
+ }
148
+ else {
149
+ this.closePopup();
150
+ }
151
+ }
152
+ closePopup(focusAnchor = false) {
153
+ this.popupRef.close();
154
+ this.popupRef = null;
155
+ this.host.toolbarButtonElement.nativeElement.setAttribute('aria-expanded', 'false');
156
+ this.host.toolbarButtonElement.nativeElement.removeAttribute('aria-controls');
157
+ focusAnchor && this.host.toolbarButtonElement.nativeElement.focus();
158
+ }
159
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnChooserToolbarDirective, deps: [{ token: i0.Renderer2 }, { token: i1.PopupService }, { token: i2.ToolBarButtonComponent }, { token: i3.ContextService }, { token: i0.NgZone }, { token: i2.RefreshService }], target: i0.ɵɵFactoryTarget.Directive });
160
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ColumnChooserToolbarDirective, isStandalone: true, selector: "[kendoGridColumnChooserTool]", inputs: { autoSync: "autoSync", allowHideAll: "allowHideAll" }, ngImport: i0 });
161
+ }
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnChooserToolbarDirective, decorators: [{
163
+ type: Directive,
164
+ args: [{
165
+ selector: '[kendoGridColumnChooserTool]',
166
+ standalone: true
167
+ }]
168
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.PopupService }, { type: i2.ToolBarButtonComponent }, { type: i3.ContextService }, { type: i0.NgZone }, { type: i2.RefreshService }]; }, propDecorators: { autoSync: [{
169
+ type: Input
170
+ }], allowHideAll: [{
171
+ type: Input
172
+ }] } });
@@ -11,6 +11,8 @@ import { Subscription } from 'rxjs';
11
11
  import { NgFor, NgIf, NgClass } from '@angular/common';
12
12
  import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
13
13
  import { take } from 'rxjs/operators';
14
+ import { arrowRotateCcwIcon, checkIcon } from '@progress/kendo-svg-icons';
15
+ import { ButtonDirective } from '@progress/kendo-angular-buttons';
14
16
  import * as i0 from "@angular/core";
15
17
  import * as i1 from "./column-list-kb-nav.service";
16
18
  /**
@@ -21,6 +23,8 @@ export class ColumnListComponent {
21
23
  ngZone;
22
24
  renderer;
23
25
  listNavigationService;
26
+ checkIcon = checkIcon;
27
+ arrowRotateCcwIcon = arrowRotateCcwIcon;
24
28
  className = true;
25
29
  reset = new EventEmitter();
26
30
  apply = new EventEmitter();
@@ -74,9 +78,11 @@ export class ColumnListComponent {
74
78
  });
75
79
  }
76
80
  ngAfterViewInit() {
77
- this.listNavigationService.items = this.options.toArray();
78
- this.listNavigationService.toggle(0, true);
79
- this.ngZone.onStable.pipe(take(1)).subscribe(() => this.updateDisabled());
81
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
82
+ this.listNavigationService.items = this.options.toArray();
83
+ this.listNavigationService.toggle(0, true);
84
+ this.updateDisabled();
85
+ });
80
86
  }
81
87
  ngOnChanges(changes) {
82
88
  if (!this.service) {
@@ -268,21 +274,22 @@ export class ColumnListComponent {
268
274
  <div [ngClass]="actionsClass" *ngIf="!autoSync">
269
275
  <button
270
276
  #applyButton
277
+ kendoButton
271
278
  type="button"
272
- class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
279
+ themeColor="primary"
273
280
  (click)="applyChanges()"
274
281
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
275
282
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); applyChanges();">{{ applyText }}</button>
276
283
  <button
277
284
  #resetButton
285
+ kendoButton
278
286
  type="button"
279
287
  (keydown.tab)="onTab($event)"
280
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
281
288
  (click)="cancelChanges()"
282
289
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
283
290
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
284
291
  </div>
285
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ColumnMenuChooserItemCheckedDirective, selector: "[kendoColumnMenuChooserItemChecked]", inputs: ["kendoColumnMenuChooserItemChecked"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }] });
292
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ColumnMenuChooserItemCheckedDirective, selector: "[kendoColumnMenuChooserItemChecked]", inputs: ["kendoColumnMenuChooserItemChecked"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { 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"] }] });
286
293
  }
287
294
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnListComponent, decorators: [{
288
295
  type: Component,
@@ -312,23 +319,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
312
319
  <div [ngClass]="actionsClass" *ngIf="!autoSync">
313
320
  <button
314
321
  #applyButton
322
+ kendoButton
315
323
  type="button"
316
- class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
324
+ themeColor="primary"
317
325
  (click)="applyChanges()"
318
326
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
319
327
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); applyChanges();">{{ applyText }}</button>
320
328
  <button
321
329
  #resetButton
330
+ kendoButton
322
331
  type="button"
323
332
  (keydown.tab)="onTab($event)"
324
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
325
333
  (click)="cancelChanges()"
326
334
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
327
335
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
328
336
  </div>
329
337
  `,
330
338
  standalone: true,
331
- imports: [NgFor, ColumnMenuChooserItemCheckedDirective, NgIf, NgClass, CheckBoxComponent]
339
+ imports: [NgFor, ColumnMenuChooserItemCheckedDirective, NgIf, NgClass, CheckBoxComponent, ButtonDirective]
332
340
  }]
333
341
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ColumnListKeyboardNavigation }]; }, propDecorators: { className: [{
334
342
  type: HostBinding,
@@ -73,6 +73,7 @@ import { FilterRowComponent } from "./filtering/filter-row.component";
73
73
  // COLUMN MENU
74
74
  import { ColumnMenuChooserItemCheckedDirective } from "./column-menu/column-chooser-item-checked.directive";
75
75
  import { ColumnChooserComponent } from "./column-menu/column-chooser.component";
76
+ import { ColumnChooserToolbarDirective } from "./column-menu/column-chooser-tool.directive";
76
77
  import { ColumnListComponent } from "./column-menu/column-list.component";
77
78
  import { ColumnMenuAutoSizeAllColumnsComponent } from "./column-menu/column-menu-autosize-all.component";
78
79
  import { ColumnMenuAutoSizeColumnComponent } from "./column-menu/column-menu-autosize.component";
@@ -290,6 +291,7 @@ export const KENDO_GRID_COLUMN_MENU_DECLARATIONS = [
290
291
  ColumnMenuChooserItemCheckedDirective,
291
292
  ColumnListComponent,
292
293
  ColumnChooserComponent,
294
+ ColumnChooserToolbarDirective,
293
295
  ColumnMenuChooserComponent,
294
296
  ColumnMenuFilterComponent,
295
297
  ColumnMenuItemComponent,
@@ -312,6 +314,7 @@ export const KENDO_GRID_COLUMN_MENU_DECLARATIONS = [
312
314
  */
313
315
  export const KENDO_GRID_COLUMN_MENU_EXPORTS = [
314
316
  ColumnChooserComponent,
317
+ ColumnChooserToolbarDirective,
315
318
  ColumnMenuFilterComponent,
316
319
  ColumnMenuItemComponent,
317
320
  ColumnMenuItemContentTemplateDirective,
@@ -36,6 +36,7 @@ export class EditingDirectiveBase {
36
36
  localization;
37
37
  defaultRemoveConfirmation = (_item) => {
38
38
  const dialog = this.dialogService.open({
39
+ appendTo: this.grid.dialogContainer,
39
40
  title: this.localization.get('removeConfirmationDialogTitle'),
40
41
  content: this.localization.get('removeConfirmationDialogContent'),
41
42
  actions: [{
@@ -46,7 +46,7 @@ export class ExternalEditingDirective extends EditingDirectiveBase {
46
46
  * Opens a Dialog that contains the edit form.
47
47
  */
48
48
  openEditFormDialog(editEventArgs, formGroup, formSettings) {
49
- const settings = { content: DialogFormComponent, title: this.localization.get('externalEditingTitle'), ...this.dialogSettings };
49
+ const settings = { appendTo: this.grid.dialogContainer, content: DialogFormComponent, title: this.localization.get('externalEditingTitle'), ...this.dialogSettings };
50
50
  const dialog = this.dialogService.open(settings);
51
51
  const formControls = this.normalizeFormSettings(formGroup, editEventArgs);
52
52
  dialog.content.setInput('controls', formControls);
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer2, QueryList, ViewChild, isDevMode, NgZone, ViewChildren, ChangeDetectorRef, ViewEncapsulation } from '@angular/core';
5
+ import { Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer2, QueryList, ViewChild, isDevMode, NgZone, ViewChildren, ChangeDetectorRef, ViewEncapsulation, ViewContainerRef } from '@angular/core';
6
6
  import { ZoneAwareEventEmitter } from './common/event-emitter';
7
7
  import { FormControl, FormGroup } from '@angular/forms';
8
8
  import { merge } from 'rxjs';
@@ -96,7 +96,6 @@ import { LocalizedMessagesDirective } from './localization/localized-messages.di
96
96
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
97
97
  import { PagerTemplateDirective, PagerContextService, PagerNavigationService, KENDO_PAGER } from '@progress/kendo-angular-pager';
98
98
  import { RowspanService } from './rendering/rowspan.service';
99
- import { DialogContainerDirective } from '@progress/kendo-angular-dialog';
100
99
  import * as i0 from "@angular/core";
101
100
  import * as i1 from "./layout/browser-support.service";
102
101
  import * as i2 from "./selection/selection.service";
@@ -846,6 +845,7 @@ export class GridComponent {
846
845
  ariaRoot;
847
846
  dragTargetContainer;
848
847
  dropTargetContainer;
848
+ dialogContainer;
849
849
  get scrollbarWidth() {
850
850
  return this.supportService.scrollbarWidth;
851
851
  }
@@ -2245,7 +2245,7 @@ export class GridComponent {
2245
2245
  RowReorderService,
2246
2246
  ClipboardService,
2247
2247
  RowspanService
2248
- ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "statusBarTemplateChildren", predicate: StatusBarTemplateDirective }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
2248
+ ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "statusBarTemplateChildren", predicate: StatusBarTemplateDirective }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
2249
2249
  <ng-container kendoGridLocalizedMessages
2250
2250
  i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
2251
2251
  groupPanelEmpty="Drag a column header and drop it here to group by that column"
@@ -2391,7 +2391,7 @@ export class GridComponent {
2391
2391
  i18n-columnMenu="kendo.grid.columnMenu|The title of the column menu icon"
2392
2392
  columnMenu="{{ '{columnName} Column Menu' }}"
2393
2393
 
2394
- i18n-columns="kendo.grid.columns|The text shown in the column menu for the columns item"
2394
+ i18n-columns="kendo.grid.columns|The text for the Grid Column Chooser and Column Chooser toolbar tool"
2395
2395
  columns="Columns"
2396
2396
 
2397
2397
  i18n-lock="kendo.grid.lock|The text shown in the column menu for the lock item"
@@ -2928,10 +2928,10 @@ export class GridComponent {
2928
2928
  <kendo-pager-info *ngIf="normalizedPageableSettings.info">
2929
2929
  </kendo-pager-info>
2930
2930
  </ng-template>
2931
- <div kendoDialogContainer></div>
2931
+ <div #dialogContainer></div>
2932
2932
 
2933
2933
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
2934
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, 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: i25.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i25.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i25.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i25.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i25.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i25.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i25.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i25.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i25.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DialogContainerDirective, selector: "[kendoDialogContainer]" }], encapsulation: i0.ViewEncapsulation.None });
2934
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, 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: i25.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i25.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i25.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i25.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i25.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i25.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i25.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i25.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i25.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
2935
2935
  }
2936
2936
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
2937
2937
  type: Component,
@@ -3133,7 +3133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3133
3133
  i18n-columnMenu="kendo.grid.columnMenu|The title of the column menu icon"
3134
3134
  columnMenu="{{ '{columnName} Column Menu' }}"
3135
3135
 
3136
- i18n-columns="kendo.grid.columns|The text shown in the column menu for the columns item"
3136
+ i18n-columns="kendo.grid.columns|The text for the Grid Column Chooser and Column Chooser toolbar tool"
3137
3137
  columns="Columns"
3138
3138
 
3139
3139
  i18n-lock="kendo.grid.lock|The text shown in the column menu for the lock item"
@@ -3670,7 +3670,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3670
3670
  <kendo-pager-info *ngIf="normalizedPageableSettings.info">
3671
3671
  </kendo-pager-info>
3672
3672
  </ng-template>
3673
- <div kendoDialogContainer></div>
3673
+ <div #dialogContainer></div>
3674
3674
 
3675
3675
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3676
3676
  `,
@@ -3680,7 +3680,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3680
3680
  TableDirective, GridTableDirective, ColGroupComponent, HeaderComponent, ResizableContainerDirective,
3681
3681
  ListComponent, DragTargetContainerDirective, DropTargetContainerDirective, DraggableDirective,
3682
3682
  GridMarqueeDirective, FooterComponent, TableBodyComponent, LoadingComponent, StatusBarComponent,
3683
- IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet, DialogContainerDirective
3683
+ IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet
3684
3684
  ]
3685
3685
  }]
3686
3686
  }], ctorParameters: function () { return [{ type: i1.BrowserSupportService }, { type: i2.SelectionService }, { type: i3.CellSelectionService }, { type: i0.ElementRef }, { type: i4.GroupInfoService }, { type: i5.GroupsService }, { type: i6.ChangeNotificationService }, { type: i7.DetailsService }, { type: i8.EditService }, { type: i9.FilterService }, { type: i10.PDFService }, { type: i11.ResponsiveService }, { type: i0.Renderer2 }, { type: i12.ExcelService }, { type: i0.NgZone }, { type: i13.ScrollSyncService }, { type: i14.DomEventsService }, { type: i15.ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: i16.ColumnReorderService }, { type: i17.ColumnInfoService }, { type: i18.NavigationService }, { type: i19.SortService }, { type: i20.ScrollRequestService }, { type: i21.LocalizationService }, { type: i22.ContextService }, { type: i23.SizingOptionsService }, { type: i24.RowReorderService }]; }, propDecorators: { data: [{
@@ -3868,10 +3868,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3868
3868
  args: [ColumnMenuTemplateDirective]
3869
3869
  }], lockedHeader: [{
3870
3870
  type: ViewChild,
3871
- args: ['lockedHeader', { static: false }]
3871
+ args: ['lockedHeader']
3872
3872
  }], header: [{
3873
3873
  type: ViewChild,
3874
- args: ['header', { static: false }]
3874
+ args: ['header']
3875
3875
  }], footer: [{
3876
3876
  type: ViewChildren,
3877
3877
  args: ['footer']
@@ -3884,6 +3884,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3884
3884
  }], dropTargetContainer: [{
3885
3885
  type: ViewChild,
3886
3886
  args: [DropTargetContainerDirective]
3887
+ }], dialogContainer: [{
3888
+ type: ViewChild,
3889
+ args: ['dialogContainer', { read: ViewContainerRef }]
3887
3890
  }], isDetailExpanded: [{
3888
3891
  type: Input
3889
3892
  }], isGroupExpanded: [{