@progress/kendo-angular-grid 19.0.0-develop.3 → 19.0.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 (139) hide show
  1. package/adaptiveness/adaptive-mode.d.ts +12 -0
  2. package/adaptiveness/adaptive-renderer.component.d.ts +84 -0
  3. package/codemods/template-transformer/index.js +94 -0
  4. package/codemods/utils.js +553 -0
  5. package/codemods/v19/grid-kendogridgroupbinding.js +51 -0
  6. package/column-menu/column-chooser.component.d.ts +4 -0
  7. package/column-menu/column-list.component.d.ts +10 -3
  8. package/column-menu/column-menu-item.component.d.ts +48 -3
  9. package/column-menu/column-menu-item.directive.d.ts +5 -2
  10. package/column-menu/column-menu.component.d.ts +4 -2
  11. package/columns/column-base.d.ts +5 -0
  12. package/columns/span-column.component.d.ts +2 -2
  13. package/common/adaptiveness.service.d.ts +50 -0
  14. package/common/single-popup.service.d.ts +3 -1
  15. package/common/toolbar-tool-base.directive.d.ts +26 -0
  16. package/directives.d.ts +12 -5
  17. package/dragdrop/drag-hint.service.d.ts +3 -2
  18. package/editing/add-command-tool.directive.d.ts +7 -6
  19. package/editing/cancel-command-tool.directive.d.ts +38 -0
  20. package/editing/edit-command-tool.directive.d.ts +38 -0
  21. package/editing/edit.service.d.ts +1 -1
  22. package/editing/remove-command-tool.directive.d.ts +39 -0
  23. package/editing/save-command-tool.directive.d.ts +38 -0
  24. package/editing/toolbar-editing-tool-base.directive.d.ts +29 -0
  25. package/editing-directives/editing-directive-base.d.ts +4 -1
  26. package/editing-directives/external-editing.directive.d.ts +3 -1
  27. package/esm2022/adaptiveness/adaptive-mode.mjs +5 -0
  28. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +1108 -0
  29. package/esm2022/column-menu/column-chooser.component.mjs +13 -11
  30. package/esm2022/column-menu/column-list.component.mjs +51 -8
  31. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +1 -1
  32. package/esm2022/column-menu/column-menu-autosize.component.mjs +1 -1
  33. package/esm2022/column-menu/column-menu-chooser.component.mjs +1 -1
  34. package/esm2022/column-menu/column-menu-container.component.mjs +1 -1
  35. package/esm2022/column-menu/column-menu-filter.component.mjs +1 -1
  36. package/esm2022/column-menu/column-menu-item.component.mjs +123 -12
  37. package/esm2022/column-menu/column-menu-item.directive.mjs +14 -5
  38. package/esm2022/column-menu/column-menu-lock.component.mjs +1 -1
  39. package/esm2022/column-menu/column-menu-position.component.mjs +1 -1
  40. package/esm2022/column-menu/column-menu-sort.component.mjs +1 -1
  41. package/esm2022/column-menu/column-menu-stick.component.mjs +1 -1
  42. package/esm2022/column-menu/column-menu.component.mjs +68 -44
  43. package/esm2022/column-resizing/column-handle.directive.mjs +2 -2
  44. package/esm2022/columns/column-base.mjs +9 -0
  45. package/esm2022/columns/columns-container.mjs +1 -1
  46. package/esm2022/columns/span-column.component.mjs +9 -9
  47. package/esm2022/common/adaptiveness.service.mjs +72 -0
  48. package/esm2022/common/single-popup.service.mjs +9 -3
  49. package/esm2022/common/toolbar-tool-base.directive.mjs +81 -0
  50. package/esm2022/directives.mjs +18 -3
  51. package/esm2022/dragdrop/drag-hint.service.mjs +7 -4
  52. package/esm2022/editing/add-command-tool.directive.mjs +12 -15
  53. package/esm2022/editing/cancel-command-tool.directive.mjs +64 -0
  54. package/esm2022/editing/edit-command-tool.directive.mjs +59 -0
  55. package/esm2022/editing/form/form-formfield.component.mjs +1 -1
  56. package/esm2022/editing/remove-command-tool.directive.mjs +60 -0
  57. package/esm2022/editing/remove-command.directive.mjs +1 -0
  58. package/esm2022/editing/save-command-tool.directive.mjs +64 -0
  59. package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +94 -0
  60. package/esm2022/editing-directives/editing-directive-base.mjs +5 -2
  61. package/esm2022/editing-directives/external-editing.directive.mjs +28 -14
  62. package/esm2022/excel/excel-command-tool.directive.mjs +12 -17
  63. package/esm2022/filtering/cell/autocomplete-filter-cell.component.mjs +1 -1
  64. package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +1 -1
  65. package/esm2022/filtering/cell/date-filter-cell.component.mjs +1 -1
  66. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +1 -1
  67. package/esm2022/filtering/filter-input.directive.mjs +14 -2
  68. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +4 -2
  69. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +5 -1
  70. package/esm2022/filtering/menu/date-filter-menu.component.mjs +7 -1
  71. package/esm2022/filtering/menu/filter-menu-container.component.mjs +21 -10
  72. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +27 -5
  73. package/esm2022/filtering/menu/filter-menu.component.mjs +44 -29
  74. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +2 -0
  75. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +7 -1
  76. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +2 -0
  77. package/esm2022/filtering/menu/string-filter-menu.component.mjs +11 -2
  78. package/esm2022/grid.component.mjs +358 -82
  79. package/esm2022/grid.module.mjs +114 -101
  80. package/esm2022/index.mjs +10 -1
  81. package/esm2022/localization/messages.mjs +104 -2
  82. package/esm2022/navigation/navigation.service.mjs +1 -1
  83. package/esm2022/navigation/toolbar-tool-name.mjs +17 -0
  84. package/esm2022/package-metadata.mjs +2 -2
  85. package/esm2022/pdf/pdf-command-tool.directive.mjs +12 -15
  86. package/esm2022/rendering/cell.component.mjs +4 -4
  87. package/esm2022/rendering/header/header.component.mjs +1 -1
  88. package/esm2022/rendering/list.component.mjs +1 -1
  89. package/esm2022/rendering/table-body.component.mjs +11 -3
  90. package/esm2022/rendering/toolbar/tools/column-chooser-tool.directive.mjs +203 -0
  91. package/esm2022/rendering/toolbar/tools/filter-command-tool.directive.mjs +61 -34
  92. package/esm2022/rendering/toolbar/tools/filter-tool-wrapper.component.mjs +29 -8
  93. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +73 -8
  94. package/esm2022/rendering/toolbar/tools/sort-command-tool.directive.mjs +46 -20
  95. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +24 -8
  96. package/esm2022/row-reordering/row-reorder.service.mjs +15 -0
  97. package/esm2022/selection/selection.service.mjs +11 -0
  98. package/esm2022/state-management/grid-state.models.mjs +26 -0
  99. package/esm2022/state-management/redo-command-tool.mjs +66 -0
  100. package/esm2022/state-management/undo-command-tool.mjs +66 -0
  101. package/esm2022/state-management/undo-redo.directive.mjs +178 -0
  102. package/esm2022/state-management/undo-redo.service.mjs +22 -0
  103. package/esm2022/state-management/undo-redo.stack.mjs +232 -0
  104. package/esm2022/utils.mjs +13 -13
  105. package/excel/excel-command-tool.directive.d.ts +5 -5
  106. package/fesm2022/progress-kendo-angular-grid.mjs +4672 -1798
  107. package/filtering/filter-input.directive.d.ts +1 -0
  108. package/filtering/menu/date-filter-menu-input.component.d.ts +1 -1
  109. package/filtering/menu/filter-menu-container.component.d.ts +14 -4
  110. package/filtering/menu/filter-menu-input-wrapper.component.d.ts +8 -3
  111. package/filtering/menu/filter-menu.component.d.ts +6 -3
  112. package/filtering/menu/numeric-filter-menu-input.component.d.ts +1 -1
  113. package/filtering/menu/string-filter-menu-input.component.d.ts +1 -1
  114. package/filtering/menu/string-filter-menu.component.d.ts +1 -0
  115. package/grid.component.d.ts +86 -33
  116. package/grid.module.d.ts +107 -100
  117. package/index.d.ts +9 -1
  118. package/localization/messages.d.ts +70 -2
  119. package/navigation/toolbar-tool-name.d.ts +17 -0
  120. package/package.json +36 -20
  121. package/pdf/pdf-command-tool.directive.d.ts +6 -5
  122. package/rendering/cell.component.d.ts +1 -1
  123. package/{column-menu → rendering/toolbar/tools}/column-chooser-tool.directive.d.ts +17 -6
  124. package/rendering/toolbar/tools/filter-command-tool.directive.d.ts +9 -1
  125. package/rendering/toolbar/tools/filter-tool-wrapper.component.d.ts +6 -5
  126. package/rendering/toolbar/tools/filter-toolbar-tool.component.d.ts +11 -2
  127. package/rendering/toolbar/tools/sort-command-tool.directive.d.ts +9 -1
  128. package/rendering/toolbar/tools/sort-toolbar-tool.component.d.ts +5 -1
  129. package/row-reordering/row-reorder.service.d.ts +2 -0
  130. package/schematics/ngAdd/index.js +4 -4
  131. package/selection/selection.service.d.ts +1 -0
  132. package/state-management/grid-state.models.d.ts +58 -0
  133. package/state-management/redo-command-tool.d.ts +38 -0
  134. package/state-management/undo-command-tool.d.ts +38 -0
  135. package/state-management/undo-redo.directive.d.ts +51 -0
  136. package/state-management/undo-redo.service.d.ts +19 -0
  137. package/state-management/undo-redo.stack.d.ts +104 -0
  138. package/utils.d.ts +11 -5
  139. package/esm2022/column-menu/column-chooser-tool.directive.mjs +0 -172
@@ -44,7 +44,7 @@ export declare class CellComponent implements DoCheck {
44
44
  get selectionCheckboxId(): string;
45
45
  get selectionCheckboxLabel(): string;
46
46
  get isSpanColumn(): boolean;
47
- get childColumns(): ColumnComponent[];
47
+ get children(): ColumnComponent[];
48
48
  get isRowReorderColumn(): boolean;
49
49
  get isRowSelectable(): boolean;
50
50
  private _rowIndex;
@@ -2,10 +2,13 @@
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 { NgZone, Renderer2, AfterViewInit, OnInit, OnDestroy } from '@angular/core';
5
+ import { NgZone, Renderer2, AfterViewInit, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
6
6
  import { PopupService } from '@progress/kendo-angular-popup';
7
7
  import { RefreshService, ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
8
- import { ContextService } from '../common/provider.service';
8
+ import { ContextService } from '../../../common/provider.service';
9
+ import { AdaptiveGridService } from '../../../common/adaptiveness.service';
10
+ import { ColumnInfoService } from '../../../common/column-info.service';
11
+ import { ToolbarToolBase } from '../../../common/toolbar-tool-base.directive';
9
12
  import * as i0 from "@angular/core";
10
13
  /**
11
14
  * Represents the `column-chooser` toolbar tool of the Grid.
@@ -21,13 +24,15 @@ import * as i0 from "@angular/core";
21
24
  * </kendo-grid>
22
25
  * ```
23
26
  */
24
- export declare class ColumnChooserToolbarDirective implements OnInit, AfterViewInit, OnDestroy {
27
+ export declare class ColumnChooserToolbarDirective extends ToolbarToolBase implements OnInit, AfterViewInit, OnDestroy {
25
28
  private renderer;
26
29
  private popupSerivce;
27
30
  host: ToolBarButtonComponent;
28
- private ctx;
29
- private zone;
31
+ ctx: ContextService;
32
+ zone: NgZone;
30
33
  private refresh;
34
+ private adaptiveGridService;
35
+ private columnInfoService;
31
36
  /**
32
37
  * Specifies if the changes in the visibility of the column will be immediately applied.
33
38
  *
@@ -40,10 +45,14 @@ export declare class ColumnChooserToolbarDirective implements OnInit, AfterViewI
40
45
  * @default true
41
46
  */
42
47
  allowHideAll: boolean;
48
+ /**
49
+ * @hidden
50
+ */
51
+ get columns(): any;
43
52
  private popupRef;
44
53
  private subs;
45
54
  private nextId;
46
- constructor(renderer: Renderer2, popupSerivce: PopupService, host: ToolBarButtonComponent, ctx: ContextService, zone: NgZone, refresh: RefreshService);
55
+ constructor(renderer: Renderer2, popupSerivce: PopupService, host: ToolBarButtonComponent, ctx: ContextService, zone: NgZone, refresh: RefreshService, adaptiveGridService: AdaptiveGridService, columnInfoService: ColumnInfoService, cdr: ChangeDetectorRef);
47
56
  ngOnInit(): void;
48
57
  ngAfterViewInit(): void;
49
58
  ngOnDestroy(): void;
@@ -51,7 +60,9 @@ export declare class ColumnChooserToolbarDirective implements OnInit, AfterViewI
51
60
  * @hidden
52
61
  */
53
62
  onClick(e: any): void;
63
+ private togglePopup;
54
64
  private closePopup;
65
+ private get buttonElement();
55
66
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnChooserToolbarDirective, never>;
56
67
  static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnChooserToolbarDirective, "[kendoGridColumnChooserTool]", never, { "autoSync": { "alias": "autoSync"; "required": false; }; "allowHideAll": { "alias": "allowHideAll"; "required": false; }; }, {}, never, never, true, never>;
57
68
  }
@@ -8,6 +8,8 @@ import { PopupService } from '@progress/kendo-angular-popup';
8
8
  import { ContextService } from '../../../common/provider.service';
9
9
  import { ColumnInfoService } from '../../../common/column-info.service';
10
10
  import { FilterService } from '../../../filtering/filter.service';
11
+ import { AdaptiveGridService } from '../../../common/adaptiveness.service';
12
+ import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
11
13
  import * as i0 from "@angular/core";
12
14
  /**
13
15
  * Represents the toolbar tool for filtering columns of the Grid.
@@ -34,12 +36,17 @@ export declare class FilterCommandToolbarDirective implements AfterViewInit, OnD
34
36
  private columnInfoService;
35
37
  private ngZone;
36
38
  private renderer;
39
+ private adaptiveGridService;
37
40
  private popupRef;
38
41
  private nextId;
39
42
  private toolSubs;
40
43
  private popupSubs;
41
44
  private removeClickListener;
42
- constructor(host: ToolBarButtonComponent, popupService: PopupService, ctx: ContextService, filterService: FilterService, columnInfoService: ColumnInfoService, ngZone: NgZone, renderer: Renderer2);
45
+ /**
46
+ * @hidden
47
+ */
48
+ isFilterApplied(filter: CompositeFilterDescriptor): boolean;
49
+ constructor(host: ToolBarButtonComponent, popupService: PopupService, ctx: ContextService, filterService: FilterService, columnInfoService: ColumnInfoService, ngZone: NgZone, renderer: Renderer2, adaptiveGridService: AdaptiveGridService);
43
50
  ngOnInit(): void;
44
51
  ngAfterViewInit(): void;
45
52
  ngOnDestroy(): void;
@@ -48,6 +55,7 @@ export declare class FilterCommandToolbarDirective implements AfterViewInit, OnD
48
55
  private setPopupAttributes;
49
56
  private initPopupProperties;
50
57
  private closePopup;
58
+ private get buttonElement();
51
59
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterCommandToolbarDirective, never>;
52
60
  static ɵdir: i0.ɵɵDirectiveDeclaration<FilterCommandToolbarDirective, "[kendoGridFilterTool]", never, {}, {}, never, never, true, never>;
53
61
  }
@@ -18,20 +18,21 @@ export declare class FilterToolWrapperComponent {
18
18
  container: ViewContainerRef;
19
19
  wrapperClasses: boolean;
20
20
  onEscKeyDown(event: KeyboardEvent): void;
21
+ onClick(event: any): void;
21
22
  close: EventEmitter<any>;
22
23
  hostButton: ToolBarButtonComponent;
23
24
  clearIcon: SVGIcon;
24
25
  columnInfoService: ColumnInfoService;
25
- private popupRef;
26
- private filter;
27
- private subscriptions;
28
- private _ctx;
29
26
  set ctx(ctx: ContextService);
30
27
  get ctx(): ContextService;
31
- private _filterService;
32
28
  set filterService(filterService: FilterService);
33
29
  get filterService(): FilterService;
34
30
  columnMenuService: ColumnMenuService;
31
+ private popupRef;
32
+ private filter;
33
+ private subscriptions;
34
+ private _ctx;
35
+ private _filterService;
35
36
  constructor(injector: Injector);
36
37
  ngOnDestroy(): void;
37
38
  clear(): void;
@@ -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 { AfterViewInit, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
5
+ import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy, QueryList } from '@angular/core';
6
6
  import { ContextService } from '../../../common/provider.service';
7
7
  import { ColumnBase } from '../../../columns/column-base';
8
8
  import { ColumnComponent } from '../../../columns/column.component';
@@ -11,6 +11,7 @@ import { FilterService } from '../../../filtering/filter.service';
11
11
  import { ColumnMenuService } from '../../../column-menu/column-menu.service';
12
12
  import { ColumnMenuItemComponent } from '../../../column-menu/column-menu-item.component';
13
13
  import { ColumnInfoService } from '../../../common/column-info.service';
14
+ import { AdaptiveGridService } from '../../../common/adaptiveness.service';
14
15
  import * as i0 from "@angular/core";
15
16
  /**
16
17
  * @hidden
@@ -20,6 +21,8 @@ export declare class FilterToolbarToolComponent implements AfterViewInit, OnDest
20
21
  private filterService;
21
22
  private ctx;
22
23
  private columnInfoService;
24
+ private ngZone;
25
+ adaptiveGridService: AdaptiveGridService;
23
26
  filterItems: QueryList<ElementRef>;
24
27
  menuItems: QueryList<ColumnMenuItemComponent>;
25
28
  filterContainers: QueryList<FilterMenuContainerComponent>;
@@ -30,11 +33,17 @@ export declare class FilterToolbarToolComponent implements AfterViewInit, OnDest
30
33
  columnMenuService: ColumnMenuService;
31
34
  columns: Array<ColumnBase>;
32
35
  filter: any;
36
+ isFilterApplied(column: any): boolean;
37
+ isItemFocused(filterItem: ColumnMenuItemComponent): boolean;
38
+ onItemFocus(item: ColumnMenuItemComponent): void;
39
+ onItemFocusOut(): void;
40
+ private currentFocusedItem;
33
41
  private subscriptions;
34
- constructor(element: ElementRef, filterService: FilterService, ctx: ContextService, columnInfoService: ColumnInfoService);
42
+ constructor(element: ElementRef, filterService: FilterService, ctx: ContextService, columnInfoService: ColumnInfoService, ngZone: NgZone, adaptiveGridService: AdaptiveGridService);
35
43
  ngOnInit(): void;
36
44
  ngAfterViewInit(): void;
37
45
  ngOnDestroy(): void;
46
+ navigateView(column: any): void;
38
47
  getColumnComponent(column: ColumnBase): ColumnComponent;
39
48
  handleClose(filterItem: ColumnMenuItemComponent): void;
40
49
  toggleItem(event: any, index: number): void;
@@ -8,6 +8,8 @@ import { PopupService } from '@progress/kendo-angular-popup';
8
8
  import { ContextService } from '../../../common/provider.service';
9
9
  import { SortService } from '../../../common/sort.service';
10
10
  import { ColumnInfoService } from '../../../common/column-info.service';
11
+ import { AdaptiveGridService } from '../../../common/adaptiveness.service';
12
+ import { SortDescriptor } from '@progress/kendo-data-query';
11
13
  import * as i0 from "@angular/core";
12
14
  /**
13
15
  * Represents the toolbar tool for sorting columns of the Grid.
@@ -34,12 +36,17 @@ export declare class SortCommandToolbarDirective implements AfterViewInit, OnDes
34
36
  private columnInfoService;
35
37
  private ngZone;
36
38
  private renderer;
39
+ private adaptiveGridService;
37
40
  private popupRef;
38
41
  private nextId;
39
42
  private toolSubs;
40
43
  private popupSubs;
41
44
  private removeClickListener;
42
- constructor(host: ToolBarButtonComponent, popupService: PopupService, ctx: ContextService, sortService: SortService, columnInfoService: ColumnInfoService, ngZone: NgZone, renderer: Renderer2);
45
+ /**
46
+ * @hidden
47
+ */
48
+ isSortingApplied(sort: SortDescriptor[]): boolean;
49
+ constructor(host: ToolBarButtonComponent, popupService: PopupService, ctx: ContextService, sortService: SortService, columnInfoService: ColumnInfoService, ngZone: NgZone, renderer: Renderer2, adaptiveGridService: AdaptiveGridService);
43
50
  ngOnInit(): void;
44
51
  ngAfterViewInit(): void;
45
52
  ngOnDestroy(): void;
@@ -48,6 +55,7 @@ export declare class SortCommandToolbarDirective implements AfterViewInit, OnDes
48
55
  private setPopupAttributes;
49
56
  private initPopupProperties;
50
57
  private closePopup;
58
+ private get buttonElement();
51
59
  static ɵfac: i0.ɵɵFactoryDeclaration<SortCommandToolbarDirective, never>;
52
60
  static ɵdir: i0.ɵɵDirectiveDeclaration<SortCommandToolbarDirective, "[kendoGridSortTool]", never, {}, {}, never, never, true, never>;
53
61
  }
@@ -11,6 +11,10 @@ import { SortDescriptor } from '@progress/kendo-data-query';
11
11
  import { SVGIcon } from '@progress/kendo-angular-icons';
12
12
  import { ColumnInfoService } from '../../../common/column-info.service';
13
13
  import * as i0 from "@angular/core";
14
+ /**
15
+ * @hidden
16
+ */
17
+ export declare const directions: (initialDirection: any) => string[];
14
18
  /**
15
19
  * @hidden
16
20
  */
@@ -41,7 +45,7 @@ export declare class SortToolbarToolComponent implements AfterViewInit, OnDestro
41
45
  constructor(element: ElementRef, ngZone: NgZone);
42
46
  ngAfterViewInit(): void;
43
47
  ngOnDestroy(): void;
44
- toggleSort(column: ColumnBase): void;
48
+ toggleSort(column: ColumnBase, ev: any): void;
45
49
  getColumnComponent(column: ColumnBase): ColumnComponent;
46
50
  sortDescriptor(field: string): SortDescriptor;
47
51
  getDescriptor(column: ColumnBase): SortDescriptor[];
@@ -28,6 +28,7 @@ export declare class RowReorderService {
28
28
  private offsetY;
29
29
  rowReorder: EventEmitter<RowReorderEvent>;
30
30
  constructor(renderer: Renderer2);
31
+ ngOnDestroy(): void;
31
32
  press(ev: DragTargetPressEvent): void;
32
33
  dragStart(): void;
33
34
  drag(ev: DragTargetDragEvent): void;
@@ -44,6 +45,7 @@ export declare class RowReorderService {
44
45
  private getDragRowPerElement;
45
46
  private createDropIndicator;
46
47
  private destroyDropIndicator;
48
+ private destroyHintElement;
47
49
  private decorateHint;
48
50
  private positionDropIndicator;
49
51
  private calculateIndexToAdd;
@@ -4,14 +4,14 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
6
6
  // peer deps of the dropdowns
7
- '@progress/kendo-angular-treeview': '19.0.0-develop.3',
8
- '@progress/kendo-angular-navigation': '19.0.0-develop.3',
7
+ '@progress/kendo-angular-treeview': '19.0.0-develop.31',
8
+ '@progress/kendo-angular-navigation': '19.0.0-develop.31',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '19.0.0-develop.3',
10
+ '@progress/kendo-angular-dialog': '19.0.0-develop.31',
11
11
  // peer dependency of kendo-angular-icons
12
12
  '@progress/kendo-svg-icons': '^4.0.0',
13
13
  // peer dependency of kendo-angular-layout
14
- '@progress/kendo-angular-progressbar': '19.0.0-develop.3'
14
+ '@progress/kendo-angular-progressbar': '19.0.0-develop.31'
15
15
  } });
16
16
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
17
17
  }
@@ -70,6 +70,7 @@ export declare class SelectionService implements OnDestroy {
70
70
  addSubscriptions(): void;
71
71
  private getIterator;
72
72
  private removeSubscriptions;
73
+ private syncCurrentSelection;
73
74
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectionService, never>;
74
75
  static ɵprov: i0.ɵɵInjectableDeclaration<SelectionService>;
75
76
  }
@@ -0,0 +1,58 @@
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 { State } from "@progress/kendo-data-query";
6
+ import { GridDataResult } from "../data/data.collection";
7
+ import { PreventableEvent } from "@progress/kendo-angular-common";
8
+ /**
9
+ * Represent the state of each Grid column that can be changed by the user.
10
+ */
11
+ export interface ColumnState {
12
+ /**
13
+ * The column identifier that is unique in the scope of its `GridComponent` owner.
14
+ */
15
+ id: string;
16
+ /**
17
+ * The column width in pixels.
18
+ */
19
+ width?: number;
20
+ /**
21
+ * The column visibility.
22
+ */
23
+ hidden?: boolean;
24
+ /**
25
+ * The column locked state.
26
+ */
27
+ locked?: boolean;
28
+ /**
29
+ * The column sticky state.
30
+ */
31
+ sticky?: boolean;
32
+ orderIndex?: number;
33
+ }
34
+ /**
35
+ * The state of the grid component.
36
+ * It includes the current `State`, data, and columns state.
37
+ */
38
+ export interface GridState extends State {
39
+ columnsState?: ColumnState[];
40
+ currentData?: Array<any> | GridDataResult | null;
41
+ }
42
+ /**
43
+ * Arguments for the `undo` and `redo` events.
44
+ */
45
+ export declare class UndoRedoEvent extends PreventableEvent {
46
+ /**
47
+ * The event data of the original action that triggered the state change.
48
+ */
49
+ readonly originalEvent: any;
50
+ /**
51
+ * The grid state and rendered data at the time of the action.
52
+ */
53
+ readonly gridState: GridState;
54
+ /**
55
+ * @hidden
56
+ */
57
+ constructor({ originalEvent, gridState }: any);
58
+ }
@@ -0,0 +1,38 @@
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 { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
6
+ import { UndoRedoService } from './undo-redo.service';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * Represents the command for triggering the redo action in the Grid.
10
+ * You can apply this directive to any `kendo-toolbar-button` element inside a
11
+ * ToolbarComponent used in the Grid.
12
+ *
13
+ * When the user clicks the toolbar button that is associated with the directive, the
14
+ * [redo]({% slug api_grid_undoredodirective %}#toc-redo) event is triggered.
15
+ *
16
+ * @example
17
+ * ```html-no-run
18
+ * <kendo-grid>
19
+ * <kendo-toolbar>
20
+ * <kendo-toolbar-button kendoGridRedoTool></kendo-toolbar-button>
21
+ * </kendo-toolbar>
22
+ * </kendo-grid>
23
+ * ```
24
+ */
25
+ export declare class RedoCommandToolbarDirective {
26
+ private undoRedoService;
27
+ private host;
28
+ private subs;
29
+ constructor(undoRedoService: UndoRedoService, host: ToolBarButtonComponent);
30
+ ngOnInit(): void;
31
+ ngOnDestroy(): void;
32
+ /**
33
+ * @hidden
34
+ */
35
+ onClick(e: any): void;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<RedoCommandToolbarDirective, never>;
37
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RedoCommandToolbarDirective, "[kendoGridRedoTool]", never, {}, {}, never, never, true, never>;
38
+ }
@@ -0,0 +1,38 @@
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 { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
6
+ import { UndoRedoService } from './undo-redo.service';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * Represents the command for triggering the undo action in the Grid.
10
+ * You can apply this directive to any `kendo-toolbar-button` element inside a
11
+ * ToolbarComponent used in the Grid.
12
+ *
13
+ * When the user clicks the toolbar button that is associated with the directive, the
14
+ * [undo]({% slug api_grid_undoredodirective %}#toc-undo) event is triggered.
15
+ *
16
+ * @example
17
+ * ```html-no-run
18
+ * <kendo-grid>
19
+ * <kendo-toolbar>
20
+ * <kendo-toolbar-button kendoGridUndoTool></kendo-toolbar-button>
21
+ * </kendo-toolbar>
22
+ * </kendo-grid>
23
+ * ```
24
+ */
25
+ export declare class UndoCommandToolbarDirective {
26
+ private undoRedoService;
27
+ private host;
28
+ private subs;
29
+ constructor(undoRedoService: UndoRedoService, host: ToolBarButtonComponent);
30
+ ngOnInit(): void;
31
+ ngOnDestroy(): void;
32
+ /**
33
+ * @hidden
34
+ */
35
+ onClick(e: any): void;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<UndoCommandToolbarDirective, never>;
37
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UndoCommandToolbarDirective, "[kendoGridUndoTool]", never, {}, {}, never, never, true, never>;
38
+ }
@@ -0,0 +1,51 @@
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 { EventEmitter, OnDestroy, OnInit } from '@angular/core';
6
+ import { GridComponent } from '../grid.component';
7
+ import { UndoRedoEvent } from './grid-state.models';
8
+ import { EditService } from '../editing/edit.service';
9
+ import { UndoRedoService } from './undo-redo.service';
10
+ import { ChangeNotificationService } from '../data/change-notification.service';
11
+ import * as i0 from "@angular/core";
12
+ export declare class UndoRedoDirective implements OnInit, OnDestroy {
13
+ private host;
14
+ private editService;
15
+ private undoRedoService;
16
+ private changeNotification;
17
+ /**
18
+ * Determines the maximum number of actions to keep in the undo-redo stack.
19
+ * @default 10
20
+ */
21
+ maxStoredStates: number;
22
+ /**
23
+ * Fires when undo action is performed. Exposes the state of the grid that will be applied.
24
+ */
25
+ onUndo: EventEmitter<UndoRedoEvent>;
26
+ /**
27
+ * Fires when undo action is performed. Exposes the state of the grid that will be applied.
28
+ */
29
+ onRedo: EventEmitter<UndoRedoEvent>;
30
+ /**
31
+ * Returns an array of all undo-redo actions that are currently in the stack.
32
+ */
33
+ get undoRedoItems(): UndoRedoEvent[];
34
+ private stack;
35
+ private subs;
36
+ private addToState;
37
+ constructor(host: GridComponent, editService: EditService, undoRedoService: UndoRedoService, changeNotification: ChangeNotificationService);
38
+ ngOnInit(): void;
39
+ ngOnDestroy(): void;
40
+ /**
41
+ * Re-applies the last action, reverted by the `undo` method.
42
+ */
43
+ redo(): void;
44
+ /**
45
+ * Reverts the last user action.
46
+ */
47
+ undo(): void;
48
+ private updateUndoRedoDisabled;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<UndoRedoDirective, never>;
50
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UndoRedoDirective, "[kendoGridUndoRedo]", ["kendoGridUndoRedo"], { "maxStoredStates": { "alias": "maxStoredStates"; "required": false; }; }, { "onUndo": "undo"; "onRedo": "redo"; }, never, never, true, never>;
51
+ }
@@ -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 { Subject } from 'rxjs';
6
+ import { GridState } from './grid-state.models';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * @hidden
10
+ */
11
+ export declare class UndoRedoService {
12
+ originalEvent: any;
13
+ onUndo: Subject<undefined>;
14
+ onRedo: Subject<undefined>;
15
+ stackEndReached: Subject<'start' | 'end' | false>;
16
+ setState: Subject<GridState>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<UndoRedoService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<UndoRedoService>;
19
+ }
@@ -0,0 +1,104 @@
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
+ * @hidden
7
+ * Represents a node in the undo-redo linked list.
8
+ */
9
+ export interface UndoRedoNode<T> {
10
+ /** The state data stored in the node */
11
+ state: T;
12
+ /** Reference to the previous node (the previous state) */
13
+ previous: UndoRedoNode<T> | null;
14
+ /** Reference to the next node (the next state) */
15
+ next: UndoRedoNode<T> | null;
16
+ /** Optional identifier for the node */
17
+ id?: string | number;
18
+ }
19
+ /**
20
+ * @hidden
21
+ * A linked-list based implementation of an undo-redo stack.
22
+ * Maintains a chain of states that can be navigated forward and backward.
23
+ */
24
+ export declare class UndoRedoStack<T> {
25
+ private maxSize;
26
+ /** The current active node in the undo-redo history */
27
+ private currentNode;
28
+ /** The root node of the stack (first state) */
29
+ private rootNode;
30
+ /** Track the size of the stack */
31
+ private _size;
32
+ /**
33
+ * Creates a new UndoRedoStack.
34
+ * @param maxSize Optional maximum number of states to maintain (unlimited if not provided)
35
+ */
36
+ constructor(maxSize?: number);
37
+ /**
38
+ * Gets the current number of states in the stack
39
+ */
40
+ get size(): number;
41
+ /**
42
+ * Gets the current active state
43
+ */
44
+ get current(): T | null;
45
+ /**
46
+ * Checks if undo is available (if there's a previous state)
47
+ */
48
+ get canUndo(): boolean;
49
+ /**
50
+ * Checks if redo is available (if there's a next state)
51
+ */
52
+ get canRedo(): boolean;
53
+ /**
54
+ * Adds a new state to the undo-redo stack
55
+ * @param state The state to add
56
+ * @param id Optional identifier for the state
57
+ * @returns The newly created node
58
+ */
59
+ add(state: T, id?: string | number): UndoRedoNode<T>;
60
+ /**
61
+ * Finds a node by its identifier
62
+ * @param id The identifier to search for
63
+ * @returns The found node or null if not found
64
+ */
65
+ find(id: string | number): UndoRedoNode<T> | null;
66
+ /**
67
+ * Removes a node by its identifier
68
+ * @param id The identifier of the node to remove
69
+ * @returns True if the node was found and removed, false otherwise
70
+ */
71
+ remove(id: string | number): boolean;
72
+ /**
73
+ * Performs an undo operation, moving to the previous state
74
+ * @returns The previous state or null if can't undo
75
+ */
76
+ undo(): T | null;
77
+ /**
78
+ * Performs a redo operation, moving to the next state
79
+ * @returns The next state or null if can't redo
80
+ */
81
+ redo(): T | null;
82
+ /**
83
+ * Clears all history
84
+ */
85
+ clear(): void;
86
+ /**
87
+ * Removes all states after the specified node
88
+ * @param node The node to truncate from
89
+ * @returns The number of nodes removed
90
+ */
91
+ private truncateForward;
92
+ /**
93
+ * Ensures the stack doesn't exceed the maximum size by removing oldest nodes
94
+ */
95
+ private enforceMaxSize;
96
+ /**
97
+ * Gets all states in the stack as an array (from oldest to newest)
98
+ */
99
+ toArray(): T[];
100
+ /**
101
+ * Gets the history nodes as an array (useful for debugging)
102
+ */
103
+ getNodes(): UndoRedoNode<T>[];
104
+ }
package/utils.d.ts CHANGED
@@ -4,7 +4,9 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { QueryList, InjectionToken } from '@angular/core';
6
6
  import { Observable } from 'rxjs';
7
- import { ColumnBase, RowArgs } from '.';
7
+ import { ColumnBase } from './columns/column-base';
8
+ import { RowArgs } from './rendering/common/row-args';
9
+ import { ColumnState } from './state-management/grid-state.models';
8
10
  export { isChanged, anyChanged, hasObservers } from '@progress/kendo-angular-common';
9
11
  /**
10
12
  * @hidden
@@ -77,10 +79,6 @@ export declare const iterator: any;
77
79
  export declare const requestAnimationFrame: any;
78
80
  /** @hidden */
79
81
  export declare const cancelAnimationFrame: any;
80
- /**
81
- * @hidden
82
- */
83
- export declare const detectIE: () => boolean;
84
82
  /**
85
83
  * @hidden
86
84
  */
@@ -93,6 +91,14 @@ export declare const replaceMessagePlaceholder: (message: string, name: string,
93
91
  * @hidden
94
92
  */
95
93
  export declare const recursiveFlatMap: (item: any) => any[];
94
+ /**
95
+ * @hidden
96
+ */
97
+ export declare const updateColumnFromState: (columnState: ColumnState, c: any) => void;
98
+ /**
99
+ * @hidden
100
+ */
101
+ export declare const recursiveColumnsFlatMap: (item: any) => any[];
96
102
  /**
97
103
  * @hidden
98
104
  */