@progress/kendo-angular-grid 19.3.0-develop.3 → 19.3.0-develop.31

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 (101) hide show
  1. package/columns/columns-container.d.ts +2 -0
  2. package/common/data-layout-mode.d.ts +19 -0
  3. package/common/provider.service.d.ts +2 -0
  4. package/common/stacked-layout-settings.d.ts +24 -0
  5. package/data/data-mapping.service.d.ts +3 -1
  6. package/directives.d.ts +7 -4
  7. package/editing-directives/editing-directive-base.d.ts +3 -0
  8. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +1 -2
  9. package/esm2022/column-menu/column-list.component.mjs +10 -10
  10. package/esm2022/column-menu/column-menu.component.mjs +1 -1
  11. package/esm2022/columns/column-base.mjs +4 -4
  12. package/esm2022/columns/column.component.mjs +1 -1
  13. package/esm2022/columns/columns-container.mjs +3 -0
  14. package/esm2022/common/column-info.service.mjs +1 -1
  15. package/esm2022/common/data-layout-mode.mjs +5 -0
  16. package/esm2022/common/provider.service.mjs +1 -0
  17. package/esm2022/common/stacked-layout-settings.mjs +5 -0
  18. package/esm2022/common/toolbar-tool-base.directive.mjs +3 -2
  19. package/esm2022/data/data-mapping.service.mjs +14 -3
  20. package/esm2022/directives.mjs +8 -1
  21. package/esm2022/editing/form/form-formfield.component.mjs +2 -2
  22. package/esm2022/editing-directives/editing-directive-base.mjs +17 -2
  23. package/esm2022/editing-directives/in-cell-editing.directive.mjs +3 -1
  24. package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +1 -1
  25. package/esm2022/filtering/cell/date-filter-cell.component.mjs +1 -1
  26. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +1 -2
  27. package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +1 -1
  28. package/esm2022/filtering/cell/string-filter-cell.component.mjs +1 -1
  29. package/esm2022/filtering/filter-row.component.mjs +6 -3
  30. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +1 -2
  31. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +1 -1
  32. package/esm2022/filtering/menu/date-filter-menu.component.mjs +1 -1
  33. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
  34. package/esm2022/filtering/menu/filter-menu.component.mjs +1 -1
  35. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +1 -1
  36. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +1 -1
  37. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +1 -1
  38. package/esm2022/filtering/menu/string-filter-menu.component.mjs +1 -1
  39. package/esm2022/grid.component.mjs +190 -39
  40. package/esm2022/grid.module.mjs +103 -100
  41. package/esm2022/grouping/group-header.component.mjs +39 -4
  42. package/esm2022/grouping/group-panel.component.mjs +7 -3
  43. package/esm2022/highlight/highlight-item.mjs +5 -0
  44. package/esm2022/highlight/highlight.directive.mjs +132 -0
  45. package/esm2022/index.mjs +4 -0
  46. package/esm2022/localization/messages.mjs +57 -3
  47. package/esm2022/navigation/default-focusable-element.mjs +14 -2
  48. package/esm2022/navigation/focusable.directive.mjs +1 -1
  49. package/esm2022/navigation/navigation-cursor.mjs +7 -1
  50. package/esm2022/navigation/navigation-metadata.mjs +3 -1
  51. package/esm2022/navigation/navigation.service.mjs +136 -5
  52. package/esm2022/navigation/toolbar-tool-name.mjs +2 -1
  53. package/esm2022/package-metadata.mjs +2 -2
  54. package/esm2022/pdf/export-element.mjs +14 -5
  55. package/esm2022/pdf/pdf.component.mjs +3 -1
  56. package/esm2022/rendering/cell.component.mjs +466 -188
  57. package/esm2022/rendering/common/col-group.component.mjs +20 -7
  58. package/esm2022/rendering/footer/footer.component.mjs +117 -54
  59. package/esm2022/rendering/header/header.component.mjs +5 -2
  60. package/esm2022/rendering/list.component.mjs +14 -9
  61. package/esm2022/rendering/table-body.component.mjs +388 -171
  62. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +300 -0
  63. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-tool.directive.mjs +269 -0
  64. package/esm2022/rendering/toolbar/tools/ai-assistant/utils.mjs +74 -0
  65. package/esm2022/rendering/toolbar/tools/select-all-command-tool.directive.mjs +93 -0
  66. package/esm2022/row-reordering/row-reorder.service.mjs +2 -2
  67. package/esm2022/row-reordering/utils.mjs +6 -4
  68. package/esm2022/selection/cell-selection.service.mjs +6 -3
  69. package/esm2022/selection/pair-set.mjs +87 -10
  70. package/esm2022/utils.mjs +0 -4
  71. package/fesm2022/progress-kendo-angular-grid.mjs +2496 -599
  72. package/filtering/filter-row.component.d.ts +1 -0
  73. package/grid.component.d.ts +29 -1
  74. package/grid.module.d.ts +102 -99
  75. package/grouping/group-header.component.d.ts +1 -0
  76. package/highlight/highlight-item.d.ts +17 -0
  77. package/highlight/highlight.directive.d.ts +56 -0
  78. package/index.d.ts +7 -0
  79. package/localization/messages.d.ts +39 -3
  80. package/navigation/default-focusable-element.d.ts +3 -1
  81. package/navigation/focus-group.d.ts +1 -1
  82. package/navigation/navigation-metadata.d.ts +2 -1
  83. package/navigation/navigation.service.d.ts +6 -0
  84. package/navigation/toolbar-tool-name.d.ts +1 -0
  85. package/package.json +22 -21
  86. package/rendering/cell.component.d.ts +30 -15
  87. package/rendering/common/col-group.component.d.ts +5 -0
  88. package/rendering/footer/footer.component.d.ts +4 -1
  89. package/rendering/header/header.component.d.ts +1 -0
  90. package/rendering/list.component.d.ts +4 -1
  91. package/rendering/table-body.component.d.ts +3 -1
  92. package/rendering/toolbar/tools/ai-assistant/ai-assistant.component.d.ts +50 -0
  93. package/rendering/toolbar/tools/ai-assistant/ai-tool.directive.d.ts +118 -0
  94. package/rendering/toolbar/tools/ai-assistant/utils.d.ts +131 -0
  95. package/rendering/toolbar/tools/select-all-command-tool.directive.d.ts +36 -0
  96. package/row-reordering/row-reorder.service.d.ts +1 -1
  97. package/row-reordering/utils.d.ts +1 -1
  98. package/schematics/ngAdd/index.js +4 -4
  99. package/selection/cell-selection.service.d.ts +1 -0
  100. package/selection/pair-set.d.ts +36 -8
  101. package/utils.d.ts +0 -4
@@ -16,6 +16,7 @@ export declare class ColumnsContainer {
16
16
  lockedLeafColumns: QueryList<ColumnBase>;
17
17
  nonLockedLeafColumns: QueryList<ColumnBase>;
18
18
  totalLevels: number;
19
+ isStacked: boolean;
19
20
  changes: EventEmitter<any>;
20
21
  leafColumnsToRender: ColumnBase[];
21
22
  lockedColumnsToRender: ColumnBase[];
@@ -24,6 +25,7 @@ export declare class ColumnsContainer {
24
25
  hasGroupFooter: boolean;
25
26
  hasFooter: boolean;
26
27
  unlockedWidth: number;
28
+ totalColumnsWidth: number;
27
29
  constructor(columns: Function);
28
30
  refresh(): boolean;
29
31
  }
@@ -0,0 +1,19 @@
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 { StackedLayoutSettings } from "./stacked-layout-settings";
6
+ /**
7
+ * Specifies the Grid data layout display mode.
8
+ */
9
+ export type DataLayoutMode = 'columns' | 'stacked';
10
+ export interface DataLayoutModeSettings {
11
+ /**
12
+ * Specifies the Grid data layout display mode.
13
+ */
14
+ mode?: DataLayoutMode;
15
+ /**
16
+ * Specifies the settings for the stacked layout mode.
17
+ */
18
+ stackedLayoutSettings?: StackedLayoutSettings;
19
+ }
@@ -8,6 +8,7 @@ import type { GridComponent } from '../grid.component';
8
8
  import { GridToolbarNavigationService } from '../rendering/toolbar/toolbar-navigation.service';
9
9
  import type { GroupBindingDirective } from '../grouping/group-scroll-binding.directive';
10
10
  import type { DataBindingDirective } from '../databinding.directive';
11
+ import { HighlightDirective } from '../highlight/highlight.directive';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * @hidden
@@ -26,6 +27,7 @@ export declare class ContextService {
26
27
  bottomToolbarNavigation: GridToolbarNavigationService;
27
28
  navigable: boolean;
28
29
  dataBindingDirective: DataBindingDirective | GroupBindingDirective;
30
+ highlightDirective: HighlightDirective;
29
31
  constructor(renderer: Renderer2, localization: LocalizationService);
30
32
  static ɵfac: i0.ɵɵFactoryDeclaration<ContextService, never>;
31
33
  static ɵprov: i0.ɵɵInjectableDeclaration<ContextService>;
@@ -0,0 +1,24 @@
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
+ /**
6
+ * Specifies settings for the stacked columns layout of the Grid.
7
+ */
8
+ export interface StackedLayoutSettings {
9
+ /**
10
+ * Configures the stacked columns layout and widths. The possible options are:
11
+ * * - as a `number` - Sets the number of columns with default widths.
12
+ * * - as an `Array<number | string | GridColSize>` - The size of the array represents the number of columns, and the values represent the column widths
13
+ */
14
+ cols?: number | Array<number | string | GridColSize>;
15
+ }
16
+ /**
17
+ * Represents the size of a column in the stacked layout of the Grid.
18
+ */
19
+ export interface GridColSize {
20
+ /**
21
+ * Sets the width of the column. When a number is provided, it is interpreted as pixels.
22
+ */
23
+ width?: string | number;
24
+ }
@@ -9,6 +9,7 @@ import { GridItem } from './grid-item.interface';
9
9
  import { DetailsService } from '../rendering/details/details.service';
10
10
  import { ColumnBase } from '../columns/column-base';
11
11
  import { DetailTemplateDirective } from '../rendering/details/detail-template.directive';
12
+ import { ContextService } from '../common/provider.service';
12
13
  import * as i0 from "@angular/core";
13
14
  /**
14
15
  * @hidden
@@ -17,9 +18,10 @@ export declare class DataMappingService {
17
18
  private rowspanService;
18
19
  private groupsService;
19
20
  private detailsService;
21
+ private ctx;
20
22
  private recalculateRowspan;
21
23
  private dataArray;
22
- constructor(rowspanService: RowspanService, groupsService: GroupsService, detailsService: DetailsService);
24
+ constructor(rowspanService: RowspanService, groupsService: GroupsService, detailsService: DetailsService, ctx: ContextService);
23
25
  private isGroup;
24
26
  /**
25
27
  * Maps the data to the Grid row items, applying rowspan and detail row logic.
package/directives.d.ts CHANGED
@@ -150,6 +150,9 @@ import { SaveCommandToolbarDirective } from "./editing/save-command-tool.directi
150
150
  import { RemoveCommandToolbarDirective } from "./editing/remove-command-tool.directive";
151
151
  import { CancelCommandToolbarDirective } from "./editing/cancel-command-tool.directive";
152
152
  import { GroupCommandToolbarDirective } from "./rendering/toolbar/tools/group-command-tool.directive";
153
+ import { HighlightDirective } from "./highlight/highlight.directive";
154
+ import { AIAssistantToolbarDirective } from "./rendering/toolbar/tools/ai-assistant/ai-tool.directive";
155
+ import { SelectAllToolbarToolComponent } from "./rendering/toolbar/tools/select-all-command-tool.directive";
153
156
  /**
154
157
  * @hidden
155
158
  *
@@ -231,19 +234,19 @@ export declare const KENDO_GRID_FOOTER_EXPORTS: readonly [typeof FooterComponent
231
234
  *
232
235
  * Utility array that contains the Body module exports
233
236
  */
234
- export declare const KENDO_GRID_BODY_EXPORTS: readonly [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 EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof GroupCommandToolbarDirective];
237
+ export declare const KENDO_GRID_BODY_EXPORTS: readonly [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 EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof AIAssistantToolbarDirective, typeof GroupCommandToolbarDirective, typeof SelectAllToolbarToolComponent];
235
238
  /**
236
239
  * @hidden
237
240
  *
238
241
  * Utility array that contains the Grid module declarations
239
242
  */
240
- export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, typeof ListComponent, typeof ToolbarComponent, typeof LocalizedMessagesDirective, typeof CustomMessagesComponent, typeof DataBindingDirective, typeof ToolbarTemplateDirective, typeof SelectionDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GroupBindingDirective, typeof GridMarqueeDirective, typeof GridSpacerComponent, typeof GridToolbarFocusableDirective, typeof StatusBarComponent, typeof StatusBarTemplateDirective, typeof GridClipboardDirective, typeof FormComponent, typeof DialogFormComponent, typeof FormFormFieldComponent, typeof UndoRedoDirective];
243
+ export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, typeof ListComponent, typeof ToolbarComponent, typeof LocalizedMessagesDirective, typeof CustomMessagesComponent, typeof DataBindingDirective, typeof ToolbarTemplateDirective, typeof SelectionDirective, typeof HighlightDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GroupBindingDirective, typeof GridMarqueeDirective, typeof GridSpacerComponent, typeof GridToolbarFocusableDirective, typeof StatusBarComponent, typeof StatusBarTemplateDirective, typeof GridClipboardDirective, typeof FormComponent, typeof DialogFormComponent, typeof FormFormFieldComponent, typeof UndoRedoDirective];
241
244
  /**
242
245
  * @hidden
243
246
  *
244
247
  * Utility array that contains the Grid module exports
245
248
  */
246
- 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 EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof GroupCommandToolbarDirective, 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 UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective];
249
+ export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof HighlightDirective, 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 EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof AIAssistantToolbarDirective, typeof GroupCommandToolbarDirective, typeof SelectAllToolbarToolComponent, 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 UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective];
247
250
  /**
248
251
  * @hidden
249
252
  *
@@ -268,4 +271,4 @@ export declare const KENDO_GRID_PDF_EXPORT: readonly [typeof PDFComponent, typeo
268
271
  * export class AppModule {}
269
272
  * ```
270
273
  */
271
- 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 EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof GroupCommandToolbarDirective, 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 UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective, 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];
274
+ export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof HighlightDirective, 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 EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof AIAssistantToolbarDirective, typeof GroupCommandToolbarDirective, typeof SelectAllToolbarToolComponent, 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 UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective, 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];
@@ -10,6 +10,7 @@ import { LocalDataChangesService } from '../editing/local-data-changes.service';
10
10
  import { RemoveConfirmationCallback } from '../common/remove-confirmation';
11
11
  import { DialogService } from '@progress/kendo-angular-dialog';
12
12
  import { LocalizationService } from '@progress/kendo-angular-l10n';
13
+ import { NavigationService } from '../navigation/navigation.service';
13
14
  import * as i0 from "@angular/core";
14
15
  /**
15
16
  * @hidden
@@ -37,6 +38,7 @@ export declare abstract class EditingDirectiveBase implements OnInit, OnDestroy
37
38
  protected subscriptions: Subscription;
38
39
  protected defaultEditService: EditService;
39
40
  protected userEditService: EditService;
41
+ protected navigationService: NavigationService;
40
42
  protected abstract createModel(args: any): any;
41
43
  protected abstract saveModel(args: any): any;
42
44
  constructor(grid: GridComponent, localDataChangesService: LocalDataChangesService);
@@ -55,6 +57,7 @@ export declare abstract class EditingDirectiveBase implements OnInit, OnDestroy
55
57
  protected removeHandler({ dataItem }: any): void;
56
58
  protected onStateChange(): void;
57
59
  protected closeEditor(rowIndex?: number): void;
60
+ private returnFocusToGrid;
58
61
  static ɵfac: i0.ɵɵFactoryDeclaration<EditingDirectiveBase, never>;
59
62
  static ɵdir: i0.ɵɵDirectiveDeclaration<EditingDirectiveBase, "[kendoGridEditingDirectiveBase]", never, { "editService": { "alias": "editService"; "required": false; }; "removeConfirmation": { "alias": "removeConfirmation"; "required": false; }; }, {}, never, never, false, never>;
60
63
  }
@@ -26,13 +26,12 @@ import { hasFilter, hasSort, hasLock, hasStick, hasColumnChooser, hasAutoSizeCol
26
26
  import { ColumnMenuService } from '../column-menu/column-menu.service';
27
27
  import { ColumnListComponent } from '../column-menu/column-list.component';
28
28
  import { ContextService } from '../common/provider.service';
29
- import { replaceMessagePlaceholder } from '../utils';
30
29
  import { AdaptiveService } from '@progress/kendo-angular-utils';
31
30
  import { SortService } from '../common/sort.service';
32
31
  import { ColumnInfoService } from '../common/column-info.service';
33
32
  import { normalize } from '../columns/sort-settings';
34
33
  import { directions } from '../rendering/toolbar/tools/sort-toolbar-tool.component';
35
- import { EventsOutsideAngularDirective } from '@progress/kendo-angular-common';
34
+ import { EventsOutsideAngularDirective, replaceMessagePlaceholder } from '@progress/kendo-angular-common';
36
35
  import { FormComponent } from '../editing/form';
37
36
  import { GroupToolbarToolComponent } from '../rendering/toolbar/tools/group-toolbar-tool.component';
38
37
  import * as i0 from "@angular/core";
@@ -12,7 +12,7 @@ import { NgFor, NgIf, NgClass } from '@angular/common';
12
12
  import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
13
13
  import { take } from 'rxjs/operators';
14
14
  import { arrowRotateCcwIcon, checkIcon } from '@progress/kendo-svg-icons';
15
- import { ButtonDirective } from '@progress/kendo-angular-buttons';
15
+ import { ButtonComponent } from '@progress/kendo-angular-buttons';
16
16
  import { ContextService } from '../common/provider.service';
17
17
  import { AdaptiveGridService } from '../common/adaptiveness.service';
18
18
  import * as i0 from "@angular/core";
@@ -96,7 +96,7 @@ export class ColumnListComponent {
96
96
  ngAfterViewInit() {
97
97
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
98
98
  this.listNavigationService.items = this.options.toArray();
99
- if (!this.ctx) {
99
+ if (this.adaptiveGridService?.viewType !== 'columnMenu') {
100
100
  this.listNavigationService.toggle(0, true);
101
101
  }
102
102
  this.updateDisabled();
@@ -280,8 +280,8 @@ export class ColumnListComponent {
280
280
  role="listbox"
281
281
  aria-multiselectable="true"
282
282
  [attr.aria-label]="ariaLabel">
283
- <label
284
- *ngFor="let column of columns; let index = index;"
283
+ <label
284
+ *ngFor="let column of columns; let index = index;"
285
285
  class='k-column-list-item'
286
286
  [kendoColumnMenuChooserItemChecked]="!column.hidden"
287
287
  role="option">
@@ -294,7 +294,7 @@ export class ColumnListComponent {
294
294
  <span class="k-checkbox-label">{{ column.displayTitle }}</span>
295
295
  </label>
296
296
  </div>
297
- <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
297
+ <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
298
298
  <button
299
299
  #applyButton
300
300
  kendoButton
@@ -316,7 +316,7 @@ export class ColumnListComponent {
316
316
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
317
317
  (keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
318
318
  </div>
319
- `, 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"] }] });
319
+ `, 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: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
320
320
  }
321
321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnListComponent, decorators: [{
322
322
  type: Component,
@@ -329,8 +329,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
329
329
  role="listbox"
330
330
  aria-multiselectable="true"
331
331
  [attr.aria-label]="ariaLabel">
332
- <label
333
- *ngFor="let column of columns; let index = index;"
332
+ <label
333
+ *ngFor="let column of columns; let index = index;"
334
334
  class='k-column-list-item'
335
335
  [kendoColumnMenuChooserItemChecked]="!column.hidden"
336
336
  role="option">
@@ -343,7 +343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
343
343
  <span class="k-checkbox-label">{{ column.displayTitle }}</span>
344
344
  </label>
345
345
  </div>
346
- <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
346
+ <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
347
347
  <button
348
348
  #applyButton
349
349
  kendoButton
@@ -367,7 +367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
367
367
  </div>
368
368
  `,
369
369
  standalone: true,
370
- imports: [NgFor, ColumnMenuChooserItemCheckedDirective, NgIf, NgClass, CheckBoxComponent, ButtonDirective]
370
+ imports: [NgFor, ColumnMenuChooserItemCheckedDirective, NgIf, NgClass, CheckBoxComponent, ButtonComponent]
371
371
  }]
372
372
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ColumnListKeyboardNavigation }, { type: i2.AdaptiveGridService, decorators: [{
373
373
  type: Optional
@@ -9,7 +9,6 @@ import { SinglePopupService } from '../common/single-popup.service';
9
9
  import { ColumnMenuService } from './column-menu.service';
10
10
  import { filtersByField } from '../filtering/base-filter-cell.component';
11
11
  import { hasFilter, hasSort, hasLock, hasStick, hasColumnChooser, hasAutoSizeColumn, hasPosition, hasAutoSizeAllColumns } from './utils';
12
- import { replaceMessagePlaceholder } from '../utils';
13
12
  import { ContextService } from '../common/provider.service';
14
13
  import { ColumnMenuErrorMessages } from '../common/error-messages';
15
14
  import { moreVerticalIcon, columnsIcon, filterIcon, slidersIcon } from '@progress/kendo-svg-icons';
@@ -31,6 +30,7 @@ import { ColumnMenuContainerComponent } from './column-menu-container.component'
31
30
  import { NgClass, NgTemplateOutlet, NgIf } from '@angular/common';
32
31
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
33
32
  import { AdaptiveGridService } from '../common/adaptiveness.service';
33
+ import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
34
34
  import * as i0 from "@angular/core";
35
35
  import * as i1 from "./../navigation/navigation.service";
36
36
  import * as i2 from "../common/single-popup.service";
@@ -14,16 +14,16 @@ import * as i1 from "../common/id.service";
14
14
  /**
15
15
  * @hidden
16
16
  */
17
- export const isSpanColumn = column => column.isSpanColumn;
17
+ export const isSpanColumn = column => column?.isSpanColumn;
18
18
  /**
19
19
  * @hidden
20
20
  */
21
- export const isCheckboxColumn = column => column.isCheckboxColumn;
21
+ export const isCheckboxColumn = column => column?.isCheckboxColumn;
22
22
  /**
23
23
  * @hidden
24
24
  */
25
- export const isRowReorderColumn = column => column.isRowReorderColumn;
26
- const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
25
+ export const isRowReorderColumn = column => column?.isRowReorderColumn;
26
+ const isColumnContainer = column => column?.isColumnGroup || isSpanColumn(column);
27
27
  let columnId = 0;
28
28
  /**
29
29
  * The base class for the column components of the Grid.
@@ -20,7 +20,7 @@ import * as i2 from "../common/id.service";
20
20
  * @hidden
21
21
  */
22
22
  export function isColumnComponent(column) {
23
- return isPresent(column.field);
23
+ return isPresent(column?.field);
24
24
  }
25
25
  /**
26
26
  * Represents a column in the Grid.
@@ -26,6 +26,7 @@ export class ColumnsContainer {
26
26
  lockedLeafColumns = new QueryList();
27
27
  nonLockedLeafColumns = new QueryList();
28
28
  totalLevels = 0;
29
+ isStacked = false;
29
30
  changes = new EventEmitter();
30
31
  leafColumnsToRender = [];
31
32
  lockedColumnsToRender = [];
@@ -34,6 +35,7 @@ export class ColumnsContainer {
34
35
  hasGroupFooter = false;
35
36
  hasFooter = false;
36
37
  unlockedWidth = 0;
38
+ totalColumnsWidth = 0;
37
39
  constructor(columns) {
38
40
  this.columns = columns;
39
41
  }
@@ -77,6 +79,7 @@ export class ColumnsContainer {
77
79
  else {
78
80
  column.leafIndex = leafIndex++;
79
81
  }
82
+ this.totalColumnsWidth += column.width || 0;
80
83
  }
81
84
  containerColumns.push(column);
82
85
  allColumns.push(column);
@@ -26,7 +26,7 @@ export class ColumnInfoService {
26
26
  return this.columnsContainer.nonLockedLeafColumns;
27
27
  }
28
28
  get isLocked() {
29
- return this.lockedLeafColumns.length > 0;
29
+ return this.lockedLeafColumns.length > 0 && !this.columnsContainer.isStacked;
30
30
  }
31
31
  get totalLevels() {
32
32
  return this.columnsContainer.totalLevels;
@@ -0,0 +1,5 @@
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
+ export {};
@@ -24,6 +24,7 @@ export class ContextService {
24
24
  bottomToolbarNavigation;
25
25
  navigable;
26
26
  dataBindingDirective;
27
+ highlightDirective;
27
28
  constructor(renderer, localization) {
28
29
  this.renderer = renderer;
29
30
  this.localization = localization;
@@ -0,0 +1,5 @@
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
+ export {};
@@ -5,7 +5,7 @@
5
5
  import { ChangeDetectorRef, Directive, Inject, NgZone } from '@angular/core';
6
6
  import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
7
7
  import { Subscription } from 'rxjs';
8
- import { cancelIcon, columnsIcon, fileExcelIcon, filePdfIcon, pencilIcon, plusIcon, saveIcon, trashIcon } from '@progress/kendo-svg-icons';
8
+ import { cancelIcon, columnsIcon, fileExcelIcon, filePdfIcon, pencilIcon, plusIcon, saveIcon, sparklesIcon, trashIcon } from '@progress/kendo-svg-icons';
9
9
  import { isPresent } from '@progress/kendo-angular-common';
10
10
  import { ContextService } from './provider.service';
11
11
  import { ToolbarToolName } from '../navigation/toolbar-tool-name';
@@ -20,7 +20,8 @@ const ICONS_MAP = {
20
20
  add: { svgIcon: plusIcon, icon: 'plus' },
21
21
  excelExport: { svgIcon: fileExcelIcon, icon: 'file-excel' },
22
22
  pdfExport: { svgIcon: filePdfIcon, icon: 'file-pdf' },
23
- columns: { svgIcon: columnsIcon, icon: 'columns' }
23
+ columns: { svgIcon: columnsIcon, icon: 'columns' },
24
+ aiAssistant: { svgIcon: sparklesIcon, icon: 'sparkles' }
24
25
  };
25
26
  /**
26
27
  * @hidden
@@ -6,10 +6,13 @@ import { Injectable } from '@angular/core';
6
6
  import { RowspanService } from '../rendering/rowspan.service';
7
7
  import { GroupsService } from '../grouping/groups.service';
8
8
  import { DetailsService } from '../rendering/details/details.service';
9
+ import { ContextService } from '../common/provider.service';
10
+ import { isPresent } from '@progress/kendo-angular-common';
9
11
  import * as i0 from "@angular/core";
10
12
  import * as i1 from "../rendering/rowspan.service";
11
13
  import * as i2 from "../grouping/groups.service";
12
14
  import * as i3 from "../rendering/details/details.service";
15
+ import * as i4 from "../common/provider.service";
13
16
  /**
14
17
  * @hidden
15
18
  */
@@ -17,12 +20,14 @@ export class DataMappingService {
17
20
  rowspanService;
18
21
  groupsService;
19
22
  detailsService;
23
+ ctx;
20
24
  recalculateRowspan = true;
21
25
  dataArray = null;
22
- constructor(rowspanService, groupsService, detailsService) {
26
+ constructor(rowspanService, groupsService, detailsService, ctx) {
23
27
  this.rowspanService = rowspanService;
24
28
  this.groupsService = groupsService;
25
29
  this.detailsService = detailsService;
30
+ this.ctx = ctx;
26
31
  }
27
32
  isGroup(item) {
28
33
  return item.type === 'group';
@@ -52,8 +57,14 @@ export class DataMappingService {
52
57
  dataItem: item
53
58
  }, column, i, data) : 1;
54
59
  }
60
+ if (isPresent(this.ctx.highlightDirective)) {
61
+ cell.isHighlighted = this.ctx.highlightDirective.isCellHighlighted(item, column, i);
62
+ }
55
63
  item.cells.push(cell);
56
64
  }
65
+ if (isPresent(this.ctx.highlightDirective)) {
66
+ item.isHighlighted = this.ctx.highlightDirective.isRowHighlighted(item);
67
+ }
57
68
  }
58
69
  result.push(item);
59
70
  }
@@ -117,9 +128,9 @@ export class DataMappingService {
117
128
  }
118
129
  return rowspan;
119
130
  }
120
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService, deps: [{ token: i1.RowspanService }, { token: i2.GroupsService }, { token: i3.DetailsService }], target: i0.ɵɵFactoryTarget.Injectable });
131
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService, deps: [{ token: i1.RowspanService }, { token: i2.GroupsService }, { token: i3.DetailsService }, { token: i4.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
121
132
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService });
122
133
  }
123
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMappingService, decorators: [{
124
135
  type: Injectable
125
- }], ctorParameters: function () { return [{ type: i1.RowspanService }, { type: i2.GroupsService }, { type: i3.DetailsService }]; } });
136
+ }], ctorParameters: function () { return [{ type: i1.RowspanService }, { type: i2.GroupsService }, { type: i3.DetailsService }, { type: i4.ContextService }]; } });
@@ -158,6 +158,9 @@ import { SaveCommandToolbarDirective } from "./editing/save-command-tool.directi
158
158
  import { RemoveCommandToolbarDirective } from "./editing/remove-command-tool.directive";
159
159
  import { CancelCommandToolbarDirective } from "./editing/cancel-command-tool.directive";
160
160
  import { GroupCommandToolbarDirective } from "./rendering/toolbar/tools/group-command-tool.directive";
161
+ import { HighlightDirective } from "./highlight/highlight.directive";
162
+ import { AIAssistantToolbarDirective } from "./rendering/toolbar/tools/ai-assistant/ai-tool.directive";
163
+ import { SelectAllToolbarToolComponent } from "./rendering/toolbar/tools/select-all-command-tool.directive";
161
164
  /**
162
165
  * @hidden
163
166
  *
@@ -386,7 +389,9 @@ export const KENDO_GRID_BODY_EXPORTS = [
386
389
  RowReorderColumnComponent,
387
390
  SortCommandToolbarDirective,
388
391
  FilterCommandToolbarDirective,
389
- GroupCommandToolbarDirective
392
+ AIAssistantToolbarDirective,
393
+ GroupCommandToolbarDirective,
394
+ SelectAllToolbarToolComponent
390
395
  ];
391
396
  /**
392
397
  * @hidden
@@ -402,6 +407,7 @@ export const KENDO_GRID_DECLARATIONS = [
402
407
  DataBindingDirective,
403
408
  ToolbarTemplateDirective,
404
409
  SelectionDirective,
410
+ HighlightDirective,
405
411
  TemplateEditingDirective,
406
412
  ReactiveEditingDirective,
407
413
  InCellEditingDirective,
@@ -433,6 +439,7 @@ export const KENDO_GRID_EXPORTS = [
433
439
  StatusBarTemplateDirective,
434
440
  DataBindingDirective,
435
441
  SelectionDirective,
442
+ HighlightDirective,
436
443
  CustomMessagesComponent,
437
444
  GroupBindingDirective,
438
445
  TemplateEditingDirective,
@@ -10,7 +10,7 @@ import { KENDO_CHECKBOX, KENDO_FORMFIELD, KENDO_NUMERICTEXTBOX, KENDO_TEXTBOX }
10
10
  import { KENDO_LABELS } from '@progress/kendo-angular-label';
11
11
  import { ReactiveFormsModule } from '@angular/forms';
12
12
  import { LocalizationService } from '@progress/kendo-angular-l10n';
13
- import { replaceMessagePlaceholder } from '../../utils';
13
+ import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@progress/kendo-angular-l10n";
16
16
  import * as i2 from "@angular/forms";
@@ -89,7 +89,7 @@ export class FormFormFieldComponent {
89
89
  <kendo-formerror *ngFor="let err of control?.formControl?.errors | keyvalue">{{control.errors ? control.errors[err.key] : messageFor('formValidationError', err.key, control.name)}}</kendo-formerror>
90
90
  </ng-container>
91
91
  </kendo-formfield>
92
- `, isInline: true, dependencies: [{ kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: i3.FloatingLabelComponent, selector: "kendo-floatinglabel", inputs: ["labelCssStyle", "labelCssClass", "id", "text", "optional"], outputs: ["positionChange"], exportAs: ["kendoFloatingLabel"] }, { kind: "component", type: i4.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { kind: "component", type: i4.HintComponent, selector: "kendo-formhint", inputs: ["align"] }, { kind: "component", type: i4.ErrorComponent, selector: "kendo-formerror", inputs: ["align"] }, { kind: "component", type: i4.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: i4.CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: i5.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }] });
92
+ `, isInline: true, dependencies: [{ kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: i3.FloatingLabelComponent, selector: "kendo-floatinglabel", inputs: ["labelCssStyle", "labelCssClass", "id", "text", "optional"], outputs: ["positionChange"], exportAs: ["kendoFloatingLabel"] }, { kind: "component", type: i4.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors", "colSpan"] }, { kind: "component", type: i4.HintComponent, selector: "kendo-formhint", inputs: ["align"] }, { kind: "component", type: i4.ErrorComponent, selector: "kendo-formerror", inputs: ["align"] }, { kind: "component", type: i4.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: i4.CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: i5.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }] });
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFormFieldComponent, decorators: [{
95
95
  type: Component,
@@ -11,6 +11,7 @@ import { take } from 'rxjs/operators';
11
11
  import { DialogService } from '@progress/kendo-angular-dialog';
12
12
  import { checkIcon, xIcon } from '@progress/kendo-svg-icons';
13
13
  import { LocalizationService } from '@progress/kendo-angular-l10n';
14
+ import { NavigationService } from '../navigation/navigation.service';
14
15
  import * as i0 from "@angular/core";
15
16
  import * as i1 from "../grid.component";
16
17
  import * as i2 from "../editing/local-data-changes.service";
@@ -64,12 +65,14 @@ export class EditingDirectiveBase {
64
65
  subscriptions = new Subscription();
65
66
  defaultEditService;
66
67
  userEditService;
68
+ navigationService;
67
69
  constructor(grid, localDataChangesService) {
68
70
  this.grid = grid;
69
71
  this.localDataChangesService = localDataChangesService;
70
72
  this.defaultEditService = this.createDefaultService();
71
73
  this.dialogService = inject(DialogService);
72
74
  this.localization = inject(LocalizationService);
75
+ this.navigationService = inject(NavigationService);
73
76
  }
74
77
  /**
75
78
  * @hidden
@@ -118,13 +121,20 @@ export class EditingDirectiveBase {
118
121
  const confirmationCallback = typeof this.removeConfirmation === 'boolean' ? this.defaultRemoveConfirmation : this.removeConfirmation;
119
122
  const result = confirmationCallback(dataItem);
120
123
  if (result instanceof Promise) {
121
- result.then(removeItem);
124
+ result.then((res) => {
125
+ removeItem(res);
126
+ this.returnFocusToGrid();
127
+ });
122
128
  }
123
129
  else if (result instanceof Observable) {
124
- result.pipe(take(1)).subscribe(removeItem);
130
+ result.pipe(take(1)).subscribe((res) => {
131
+ removeItem(res);
132
+ this.returnFocusToGrid();
133
+ });
125
134
  }
126
135
  else {
127
136
  removeItem(result);
137
+ this.returnFocusToGrid();
128
138
  }
129
139
  }
130
140
  else {
@@ -137,6 +147,11 @@ export class EditingDirectiveBase {
137
147
  closeEditor(rowIndex) {
138
148
  this.grid.closeRow(rowIndex);
139
149
  }
150
+ returnFocusToGrid() {
151
+ if (!this.navigationService.focusCell()) {
152
+ this.navigationService.focusPrevCell() || this.navigationService.focusNextCell();
153
+ }
154
+ }
140
155
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditingDirectiveBase, deps: [{ token: i1.GridComponent }, { token: i2.LocalDataChangesService }], target: i0.ɵɵFactoryTarget.Directive });
141
156
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EditingDirectiveBase, selector: "[kendoGridEditingDirectiveBase]", inputs: { editService: "editService", removeConfirmation: "removeConfirmation" }, ngImport: i0 });
142
157
  }