@progress/kendo-angular-grid 19.0.0-develop.10 → 19.0.0-develop.12

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 (65) hide show
  1. package/column-menu/column-chooser-tool.directive.d.ts +6 -6
  2. package/columns/column-base.d.ts +5 -0
  3. package/columns/span-column.component.d.ts +2 -2
  4. package/common/toolbar-tool-base.directive.d.ts +26 -0
  5. package/directives.d.ts +11 -4
  6. package/editing/add-command-tool.directive.d.ts +7 -6
  7. package/editing/cancel-command-tool.directive.d.ts +38 -0
  8. package/editing/edit-command-tool.directive.d.ts +38 -0
  9. package/editing/edit.service.d.ts +1 -1
  10. package/editing/remove-command-tool.directive.d.ts +39 -0
  11. package/editing/save-command-tool.directive.d.ts +38 -0
  12. package/editing/toolbar-editing-tool-base.directive.d.ts +29 -0
  13. package/esm2022/column-menu/column-chooser-tool.directive.mjs +17 -30
  14. package/esm2022/column-resizing/column-handle.directive.mjs +2 -2
  15. package/esm2022/columns/column-base.mjs +9 -0
  16. package/esm2022/columns/columns-container.mjs +1 -1
  17. package/esm2022/columns/span-column.component.mjs +9 -9
  18. package/esm2022/common/toolbar-tool-base.directive.mjs +81 -0
  19. package/esm2022/directives.mjs +17 -2
  20. package/esm2022/editing/add-command-tool.directive.mjs +12 -15
  21. package/esm2022/editing/cancel-command-tool.directive.mjs +64 -0
  22. package/esm2022/editing/edit-command-tool.directive.mjs +59 -0
  23. package/esm2022/editing/remove-command-tool.directive.mjs +60 -0
  24. package/esm2022/editing/remove-command.directive.mjs +1 -0
  25. package/esm2022/editing/save-command-tool.directive.mjs +64 -0
  26. package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +91 -0
  27. package/esm2022/excel/excel-command-tool.directive.mjs +12 -17
  28. package/esm2022/grid.component.mjs +155 -40
  29. package/esm2022/grid.module.mjs +114 -101
  30. package/esm2022/index.mjs +9 -0
  31. package/esm2022/localization/messages.mjs +43 -1
  32. package/esm2022/navigation/toolbar-tool-name.mjs +17 -0
  33. package/esm2022/package-metadata.mjs +2 -2
  34. package/esm2022/pdf/pdf-command-tool.directive.mjs +12 -15
  35. package/esm2022/rendering/cell.component.mjs +3 -3
  36. package/esm2022/rendering/header/header.component.mjs +1 -1
  37. package/esm2022/rendering/list.component.mjs +1 -1
  38. package/esm2022/rendering/table-body.component.mjs +1 -1
  39. package/esm2022/selection/selection.service.mjs +11 -0
  40. package/esm2022/state-management/grid-state.models.mjs +26 -0
  41. package/esm2022/state-management/redo-command-tool.mjs +66 -0
  42. package/esm2022/state-management/undo-command-tool.mjs +66 -0
  43. package/esm2022/state-management/undo-redo.directive.mjs +178 -0
  44. package/esm2022/state-management/undo-redo.service.mjs +22 -0
  45. package/esm2022/state-management/undo-redo.stack.mjs +232 -0
  46. package/esm2022/utils.mjs +13 -0
  47. package/excel/excel-command-tool.directive.d.ts +5 -5
  48. package/fesm2022/progress-kendo-angular-grid.mjs +1213 -162
  49. package/grid.component.d.ts +42 -19
  50. package/grid.module.d.ts +107 -100
  51. package/index.d.ts +8 -0
  52. package/localization/messages.d.ts +29 -1
  53. package/navigation/toolbar-tool-name.d.ts +17 -0
  54. package/package.json +20 -20
  55. package/pdf/pdf-command-tool.directive.d.ts +6 -5
  56. package/rendering/cell.component.d.ts +1 -1
  57. package/schematics/ngAdd/index.js +4 -4
  58. package/selection/selection.service.d.ts +1 -0
  59. package/state-management/grid-state.models.d.ts +58 -0
  60. package/state-management/redo-command-tool.d.ts +38 -0
  61. package/state-management/undo-command-tool.d.ts +38 -0
  62. package/state-management/undo-redo.directive.d.ts +51 -0
  63. package/state-management/undo-redo.service.d.ts +19 -0
  64. package/state-management/undo-redo.stack.d.ts +104 -0
  65. package/utils.d.ts +11 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "19.0.0-develop.10",
3
+ "version": "19.0.0-develop.12",
4
4
  "description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -26,7 +26,7 @@
26
26
  "package": {
27
27
  "productName": "Kendo UI for Angular",
28
28
  "productCode": "KENDOUIANGULAR",
29
- "publishDate": 1746795205,
29
+ "publishDate": 1747069795,
30
30
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
31
31
  }
32
32
  },
@@ -39,28 +39,28 @@
39
39
  "@progress/kendo-data-query": "^1.0.0",
40
40
  "@progress/kendo-drawing": "^1.21.0",
41
41
  "@progress/kendo-licensing": "^1.5.0",
42
- "@progress/kendo-angular-buttons": "19.0.0-develop.10",
43
- "@progress/kendo-angular-common": "19.0.0-develop.10",
44
- "@progress/kendo-angular-dateinputs": "19.0.0-develop.10",
45
- "@progress/kendo-angular-layout": "19.0.0-develop.10",
46
- "@progress/kendo-angular-dropdowns": "19.0.0-develop.10",
47
- "@progress/kendo-angular-excel-export": "19.0.0-develop.10",
48
- "@progress/kendo-angular-icons": "19.0.0-develop.10",
49
- "@progress/kendo-angular-inputs": "19.0.0-develop.10",
50
- "@progress/kendo-angular-indicators": "19.0.0-develop.10",
51
- "@progress/kendo-angular-intl": "19.0.0-develop.10",
52
- "@progress/kendo-angular-l10n": "19.0.0-develop.10",
53
- "@progress/kendo-angular-label": "19.0.0-develop.10",
54
- "@progress/kendo-angular-pager": "19.0.0-develop.10",
55
- "@progress/kendo-angular-pdf-export": "19.0.0-develop.10",
56
- "@progress/kendo-angular-popup": "19.0.0-develop.10",
57
- "@progress/kendo-angular-toolbar": "19.0.0-develop.10",
58
- "@progress/kendo-angular-utils": "19.0.0-develop.10",
42
+ "@progress/kendo-angular-buttons": "19.0.0-develop.12",
43
+ "@progress/kendo-angular-common": "19.0.0-develop.12",
44
+ "@progress/kendo-angular-dateinputs": "19.0.0-develop.12",
45
+ "@progress/kendo-angular-layout": "19.0.0-develop.12",
46
+ "@progress/kendo-angular-dropdowns": "19.0.0-develop.12",
47
+ "@progress/kendo-angular-excel-export": "19.0.0-develop.12",
48
+ "@progress/kendo-angular-icons": "19.0.0-develop.12",
49
+ "@progress/kendo-angular-inputs": "19.0.0-develop.12",
50
+ "@progress/kendo-angular-indicators": "19.0.0-develop.12",
51
+ "@progress/kendo-angular-intl": "19.0.0-develop.12",
52
+ "@progress/kendo-angular-l10n": "19.0.0-develop.12",
53
+ "@progress/kendo-angular-label": "19.0.0-develop.12",
54
+ "@progress/kendo-angular-pager": "19.0.0-develop.12",
55
+ "@progress/kendo-angular-pdf-export": "19.0.0-develop.12",
56
+ "@progress/kendo-angular-popup": "19.0.0-develop.12",
57
+ "@progress/kendo-angular-toolbar": "19.0.0-develop.12",
58
+ "@progress/kendo-angular-utils": "19.0.0-develop.12",
59
59
  "rxjs": "^6.5.3 || ^7.0.0"
60
60
  },
61
61
  "dependencies": {
62
62
  "tslib": "^2.3.1",
63
- "@progress/kendo-angular-schematics": "19.0.0-develop.10",
63
+ "@progress/kendo-angular-schematics": "19.0.0-develop.12",
64
64
  "@progress/kendo-common": "^1.0.1",
65
65
  "@progress/kendo-file-saver": "^1.0.0"
66
66
  },
@@ -2,8 +2,11 @@
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 { ChangeDetectorRef, NgZone } from '@angular/core';
5
6
  import { PDFService } from './pdf.service';
6
7
  import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
8
+ import { ContextService } from '../common/provider.service';
9
+ import { ToolbarToolBase } from '../common/toolbar-tool-base.directive';
7
10
  import * as i0 from "@angular/core";
8
11
  /**
9
12
  * Represents the `export-to-PDF` toolbar tool of the Grid.
@@ -25,13 +28,11 @@ import * as i0 from "@angular/core";
25
28
  * </kendo-grid>
26
29
  * ```
27
30
  */
28
- export declare class PDFCommandToolbarDirective {
31
+ export declare class PDFCommandToolbarDirective extends ToolbarToolBase {
29
32
  private pdfService;
30
- private host;
31
- private clickSub;
32
- constructor(pdfService: PDFService, host: ToolBarButtonComponent);
33
+ host: ToolBarButtonComponent;
34
+ constructor(pdfService: PDFService, host: ToolBarButtonComponent, ctx: ContextService, zone: NgZone, cdr: ChangeDetectorRef);
33
35
  ngOnInit(): void;
34
- ngOnDestroy(): void;
35
36
  /**
36
37
  * @hidden
37
38
  */
@@ -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;
@@ -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.10',
8
- '@progress/kendo-angular-navigation': '19.0.0-develop.10',
7
+ '@progress/kendo-angular-treeview': '19.0.0-develop.12',
8
+ '@progress/kendo-angular-navigation': '19.0.0-develop.12',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '19.0.0-develop.10',
10
+ '@progress/kendo-angular-dialog': '19.0.0-develop.12',
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.10'
14
+ '@progress/kendo-angular-progressbar': '19.0.0-develop.12'
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
@@ -93,6 +95,14 @@ export declare const replaceMessagePlaceholder: (message: string, name: string,
93
95
  * @hidden
94
96
  */
95
97
  export declare const recursiveFlatMap: (item: any) => any[];
98
+ /**
99
+ * @hidden
100
+ */
101
+ export declare const updateColumnFromState: (columnState: ColumnState, c: any) => void;
102
+ /**
103
+ * @hidden
104
+ */
105
+ export declare const recursiveColumnsFlatMap: (item: any) => any[];
96
106
  /**
97
107
  * @hidden
98
108
  */