@progress/kendo-angular-grid 19.1.2 → 19.2.0-develop.10

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 (32) hide show
  1. package/aggregates/selection-aggregate.service.d.ts +1 -3
  2. package/column-menu/column-menu-item.directive.d.ts +1 -1
  3. package/common/provider.service.d.ts +2 -1
  4. package/data/data-mapping.service.d.ts +46 -0
  5. package/databinding.directive.d.ts +2 -1
  6. package/esm2022/aggregates/selection-aggregate.service.mjs +4 -8
  7. package/esm2022/column-menu/column-menu-item.directive.mjs +1 -1
  8. package/esm2022/common/provider.service.mjs +1 -1
  9. package/esm2022/data/data-mapping.service.mjs +125 -0
  10. package/esm2022/databinding.directive.mjs +12 -3
  11. package/esm2022/grid.component.mjs +41 -34
  12. package/esm2022/grouping/group-scroll-binding.directive.mjs +2 -2
  13. package/esm2022/package-metadata.mjs +2 -2
  14. package/esm2022/rendering/list.component.mjs +76 -57
  15. package/esm2022/rendering/table-body.component.mjs +37 -128
  16. package/esm2022/selection/selection-checkbox.directive.mjs +1 -1
  17. package/esm2022/selection/selection.service.mjs +23 -4
  18. package/esm2022/state-management/undo-redo.directive.mjs +74 -16
  19. package/esm2022/state-management/undo-redo.service.mjs +0 -1
  20. package/esm2022/state-management/undo-redo.stack.mjs +6 -0
  21. package/esm2022/utils.mjs +19 -0
  22. package/fesm2022/progress-kendo-angular-grid.mjs +934 -785
  23. package/grid.component.d.ts +12 -6
  24. package/package.json +20 -20
  25. package/rendering/list.component.d.ts +9 -6
  26. package/rendering/table-body.component.d.ts +9 -27
  27. package/schematics/ngAdd/index.js +4 -4
  28. package/selection/selection.service.d.ts +1 -1
  29. package/state-management/undo-redo.directive.d.ts +12 -2
  30. package/state-management/undo-redo.service.d.ts +0 -2
  31. package/state-management/undo-redo.stack.d.ts +2 -0
  32. package/utils.d.ts +5 -0
@@ -76,9 +76,10 @@ import { GridNavigableSettings } from './navigation/navigable-settings';
76
76
  import { GridSize } from './common/size-options';
77
77
  import { SizingOptionsService } from './layout/sizing-options.service';
78
78
  import { RowReorderEvent } from './row-reordering/types';
79
- import { AdaptiveService, DragTargetContainerDirective, DragTargetDataFn, DropTargetContainerDirective } from '@progress/kendo-angular-utils';
79
+ import { DragTargetContainerDirective, DragTargetDataFn, DropTargetContainerDirective } from '@progress/kendo-angular-utils';
80
80
  import { RowReorderService } from './row-reordering/row-reorder.service';
81
81
  import { StatusBarTemplateDirective } from './aggregates/status-bar-template.directive';
82
+ import { ListComponent } from './rendering/list.component';
82
83
  import { PagerTemplateDirective } from '@progress/kendo-angular-pager';
83
84
  import { GridResizableSettings } from './common/resizable-settings';
84
85
  import { GridState } from './state-management/grid-state.models';
@@ -86,6 +87,7 @@ import { UndoRedoService } from './state-management/undo-redo.service';
86
87
  import { AdaptiveGridService } from './common/adaptiveness.service';
87
88
  import { AdaptiveMode } from './adaptiveness/adaptive-mode';
88
89
  import { AdaptiveRendererComponent } from './adaptiveness/adaptive-renderer.component';
90
+ import { DataMappingService } from './data/data-mapping.service';
89
91
  import * as i0 from "@angular/core";
90
92
  /**
91
93
  * Represents the Kendo UI for Angular Data Grid component.
@@ -150,9 +152,9 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
150
152
  private localization;
151
153
  private ctx;
152
154
  private sizingService;
153
- private adaptiveService;
154
155
  adaptiveGridService: AdaptiveGridService;
155
156
  rowReorderService: RowReorderService;
157
+ private dataMappingService;
156
158
  /**
157
159
  * Sets the data of the Grid. If you provide an array, the Grid gets the total count automatically.
158
160
  * ([more information and example]({% slug binding_grid %})).
@@ -608,10 +610,8 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
608
610
  dragTargetContainer: DragTargetContainerDirective;
609
611
  dropTargetContainer: DropTargetContainerDirective;
610
612
  dialogContainer: ViewContainerRef;
611
- /**
612
- * @hidden
613
- */
614
613
  adaptiveRenderer: AdaptiveRendererComponent;
614
+ listComponent: ListComponent;
615
615
  get scrollbarWidth(): number;
616
616
  get showPagerInput(): boolean;
617
617
  set showPagerInput(value: boolean);
@@ -695,6 +695,11 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
695
695
  */
696
696
  blockArrowSelection: boolean;
697
697
  undoRedoService: UndoRedoService;
698
+ rowsToRender: Array<GridItem & {
699
+ showDetailRow?: boolean;
700
+ cells?: any[];
701
+ isExpanded?: boolean;
702
+ }>;
698
703
  private selectionSubscription;
699
704
  private stateChangeSubscription;
700
705
  private groupExpandCollapseSubscription;
@@ -720,7 +725,7 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
720
725
  private rowReorderSubscription;
721
726
  private rtl;
722
727
  private _rowSticky;
723
- constructor(supportService: BrowserSupportService, selectionService: SelectionService, cellSelectionService: CellSelectionService, wrapper: ElementRef, groupInfoService: GroupInfoService, groupsService: GroupsService, changeNotification: ChangeNotificationService, detailsService: DetailsService, editService: EditService, filterService: FilterService, pdfService: PDFService, responsiveService: ResponsiveService, renderer: Renderer2, excelService: ExcelService, ngZone: NgZone, scrollSyncService: ScrollSyncService, domEvents: DomEventsService, columnResizingService: ColumnResizingService, changeDetectorRef: ChangeDetectorRef, columnReorderService: ColumnReorderService, columnInfoService: ColumnInfoService, navigationService: NavigationService, sortService: SortService, scrollRequestService: ScrollRequestService, localization: LocalizationService, ctx: ContextService, sizingService: SizingOptionsService, adaptiveService: AdaptiveService, adaptiveGridService: AdaptiveGridService, rowReorderService: RowReorderService);
728
+ constructor(supportService: BrowserSupportService, selectionService: SelectionService, cellSelectionService: CellSelectionService, wrapper: ElementRef, groupInfoService: GroupInfoService, groupsService: GroupsService, changeNotification: ChangeNotificationService, detailsService: DetailsService, editService: EditService, filterService: FilterService, pdfService: PDFService, responsiveService: ResponsiveService, renderer: Renderer2, excelService: ExcelService, ngZone: NgZone, scrollSyncService: ScrollSyncService, domEvents: DomEventsService, columnResizingService: ColumnResizingService, changeDetectorRef: ChangeDetectorRef, columnReorderService: ColumnReorderService, columnInfoService: ColumnInfoService, navigationService: NavigationService, sortService: SortService, scrollRequestService: ScrollRequestService, localization: LocalizationService, ctx: ContextService, sizingService: SizingOptionsService, adaptiveGridService: AdaptiveGridService, rowReorderService: RowReorderService, dataMappingService: DataMappingService);
724
729
  /**
725
730
  * Expands the master row at the specified data row index ([see example]({% slug hierarchy_grid %})).
726
731
  *
@@ -767,6 +772,7 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
767
772
  * @hidden
768
773
  */
769
774
  onDataChange(): void;
775
+ ngDoCheck(): void;
770
776
  ngOnChanges(changes: {
771
777
  [propertyName: string]: SimpleChange;
772
778
  }): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "19.1.2",
3
+ "version": "19.2.0-develop.10",
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": 1750771045,
29
+ "publishDate": 1751281289,
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.1.2",
43
- "@progress/kendo-angular-common": "19.1.2",
44
- "@progress/kendo-angular-dateinputs": "19.1.2",
45
- "@progress/kendo-angular-layout": "19.1.2",
46
- "@progress/kendo-angular-navigation": "19.1.2",
47
- "@progress/kendo-angular-dropdowns": "19.1.2",
48
- "@progress/kendo-angular-excel-export": "19.1.2",
49
- "@progress/kendo-angular-icons": "19.1.2",
50
- "@progress/kendo-angular-inputs": "19.1.2",
51
- "@progress/kendo-angular-intl": "19.1.2",
52
- "@progress/kendo-angular-l10n": "19.1.2",
53
- "@progress/kendo-angular-label": "19.1.2",
54
- "@progress/kendo-angular-pager": "19.1.2",
55
- "@progress/kendo-angular-pdf-export": "19.1.2",
56
- "@progress/kendo-angular-popup": "19.1.2",
57
- "@progress/kendo-angular-toolbar": "19.1.2",
58
- "@progress/kendo-angular-utils": "19.1.2",
42
+ "@progress/kendo-angular-buttons": "19.2.0-develop.10",
43
+ "@progress/kendo-angular-common": "19.2.0-develop.10",
44
+ "@progress/kendo-angular-dateinputs": "19.2.0-develop.10",
45
+ "@progress/kendo-angular-layout": "19.2.0-develop.10",
46
+ "@progress/kendo-angular-navigation": "19.2.0-develop.10",
47
+ "@progress/kendo-angular-dropdowns": "19.2.0-develop.10",
48
+ "@progress/kendo-angular-excel-export": "19.2.0-develop.10",
49
+ "@progress/kendo-angular-icons": "19.2.0-develop.10",
50
+ "@progress/kendo-angular-inputs": "19.2.0-develop.10",
51
+ "@progress/kendo-angular-intl": "19.2.0-develop.10",
52
+ "@progress/kendo-angular-l10n": "19.2.0-develop.10",
53
+ "@progress/kendo-angular-label": "19.2.0-develop.10",
54
+ "@progress/kendo-angular-pager": "19.2.0-develop.10",
55
+ "@progress/kendo-angular-pdf-export": "19.2.0-develop.10",
56
+ "@progress/kendo-angular-popup": "19.2.0-develop.10",
57
+ "@progress/kendo-angular-toolbar": "19.2.0-develop.10",
58
+ "@progress/kendo-angular-utils": "19.2.0-develop.10",
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.1.2",
63
+ "@progress/kendo-angular-schematics": "19.2.0-develop.10",
64
64
  "@progress/kendo-common": "^1.0.1",
65
65
  "@progress/kendo-file-saver": "^1.0.0"
66
66
  },
@@ -31,7 +31,7 @@ import { PDFService } from '../pdf/pdf.service';
31
31
  import { ColumnInfoService } from '../common/column-info.service';
32
32
  import { GridSize } from '../common/size-options';
33
33
  import { ContextService } from '../common/provider.service';
34
- import { RowspanService } from './rowspan.service';
34
+ import { DataMappingService } from '../data/data-mapping.service';
35
35
  import * as i0 from "@angular/core";
36
36
  /**
37
37
  * @hidden
@@ -60,14 +60,13 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
60
60
  private changeDetector;
61
61
  private pdfService;
62
62
  private columnInfo;
63
- private rowspanService;
63
+ private dataMappingService;
64
64
  hostClass: boolean;
65
65
  hostRole: string;
66
66
  data: Array<any>;
67
67
  groups: Array<GroupDescriptor>;
68
68
  total: number;
69
69
  rowHeight: number;
70
- stickyRowHeight: number;
71
70
  detailRowHeight: number;
72
71
  take: number;
73
72
  skip: number;
@@ -92,6 +91,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
92
91
  scrollBottom: EventEmitter<void>;
93
92
  totalHeight: number;
94
93
  columnsStartIdx: number;
94
+ allItems: any[];
95
95
  get showFooter(): boolean;
96
96
  get totalWidth(): number;
97
97
  container: ElementRef;
@@ -111,6 +111,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
111
111
  private columnsEndIdx;
112
112
  private viewportColumnsWidth;
113
113
  private scrollLeft;
114
+ private recalculateRowspan;
114
115
  private observer;
115
116
  get lockedLeafColumns(): QueryList<ColumnBase>;
116
117
  get nonLockedLeafColumns(): QueryList<ColumnBase>;
@@ -122,7 +123,8 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
122
123
  private rtl;
123
124
  private columnUpdateFrame;
124
125
  private hasLockedContainer;
125
- constructor(scrollerFactory: any, detailsService: DetailsService, changeNotification: ChangeNotificationService, suspendService: SuspendService, groupsService: GroupsService, ngZone: NgZone, renderer: Renderer2, scrollSyncService: ScrollSyncService, resizeService: ResizeService, editService: EditService, supportService: BrowserSupportService, navigationService: NavigationService, scrollRequestService: ScrollRequestService, ctx: ContextService, columnResizingService: ColumnResizingService, changeDetector: ChangeDetectorRef, pdfService: PDFService, columnInfo: ColumnInfoService, rowspanService: RowspanService);
126
+ private minRowHeight;
127
+ constructor(scrollerFactory: any, detailsService: DetailsService, changeNotification: ChangeNotificationService, suspendService: SuspendService, groupsService: GroupsService, ngZone: NgZone, renderer: Renderer2, scrollSyncService: ScrollSyncService, resizeService: ResizeService, editService: EditService, supportService: BrowserSupportService, navigationService: NavigationService, scrollRequestService: ScrollRequestService, ctx: ContextService, columnResizingService: ColumnResizingService, changeDetector: ChangeDetectorRef, pdfService: PDFService, columnInfo: ColumnInfoService, dataMappingService: DataMappingService);
126
128
  ngOnInit(): void;
127
129
  ngOnChanges(changes: {
128
130
  [propertyName: string]: SimpleChange;
@@ -136,6 +138,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
136
138
  lockedScroll(): void;
137
139
  lockedMousewheel(args: any): void;
138
140
  lockedKeydown(args: any): void;
141
+ updateViewportColumns(range?: any): void;
139
142
  private detailExpand;
140
143
  private attachContainerScroll;
141
144
  private createScroller;
@@ -151,13 +154,13 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
151
154
  private cleanupScroller;
152
155
  private initResizeService;
153
156
  private syncContainerHeight;
154
- private updateViewportColumns;
155
157
  private handleColumnScroll;
156
158
  private updateColumnViewport;
157
159
  private calculateViewportColumns;
158
160
  private viewportWidthChange;
159
161
  private normalizeScrollLeft;
160
162
  private elementScrollLeft;
163
+ private calcVirtualPageSize;
161
164
  static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
162
- static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "kendo-grid-list", never, { "data": { "alias": "data"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "total": { "alias": "total"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "stickyRowHeight": { "alias": "stickyRowHeight"; "required": false; }; "detailRowHeight": { "alias": "detailRowHeight"; "required": false; }; "take": { "alias": "take"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "noRecordsTemplate": { "alias": "noRecordsTemplate"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "groupable": { "alias": "groupable"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "rowSticky": { "alias": "rowSticky"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "virtualColumns": { "alias": "virtualColumns"; "required": false; }; "isVirtual": { "alias": "isVirtual"; "required": false; }; "cellLoadingTemplate": { "alias": "cellLoadingTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "contentScroll": "contentScroll"; "pageChange": "pageChange"; "scrollBottom": "scrollBottom"; }, never, never, true, never>;
165
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "kendo-grid-list", never, { "data": { "alias": "data"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "total": { "alias": "total"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "detailRowHeight": { "alias": "detailRowHeight"; "required": false; }; "take": { "alias": "take"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "noRecordsTemplate": { "alias": "noRecordsTemplate"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "groupable": { "alias": "groupable"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "rowSticky": { "alias": "rowSticky"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "virtualColumns": { "alias": "virtualColumns"; "required": false; }; "isVirtual": { "alias": "isVirtual"; "required": false; }; "cellLoadingTemplate": { "alias": "cellLoadingTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "contentScroll": "contentScroll"; "pageChange": "pageChange"; "scrollBottom": "scrollBottom"; }, never, never, true, never>;
163
166
  }
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { SimpleChange, NgZone, Renderer2, ElementRef, OnInit, OnDestroy, OnChanges, DoCheck, TrackByFunction, TemplateRef } from '@angular/core';
6
- import { GroupDescriptor, GroupResult } from '@progress/kendo-data-query';
6
+ import { GroupDescriptor } from '@progress/kendo-data-query';
7
7
  import { ColumnBase } from '../columns/column-base';
8
8
  import { DetailTemplateDirective } from './details/detail-template.directive';
9
9
  import { GroupsService } from '../grouping/groups.service';
@@ -20,14 +20,10 @@ import { NavigationService } from '../navigation/navigation.service';
20
20
  import { GridItem } from '../data/grid-item.interface';
21
21
  import { DetailsService } from './details/details.service';
22
22
  import { CellSelectionService } from '../selection/cell-selection.service';
23
- import { GroupItem } from '../data/group-item.interface';
24
- import { GroupFooterItem } from '../data/group-footer-item.interface';
25
- import { DataItem } from '../data/data-item.interface';
26
23
  import { SVGIcon } from '@progress/kendo-svg-icons';
27
24
  import { ContextService } from '../common/provider.service';
28
25
  import { ColumnsContainer } from '../columns/columns-container';
29
26
  import { RowArgs } from './common/row-args';
30
- import { RowspanService } from './rowspan.service';
31
27
  import * as i0 from "@angular/core";
32
28
  /**
33
29
  * @hidden
@@ -46,13 +42,17 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
46
42
  cellSelectionService: CellSelectionService;
47
43
  private columnInfoService;
48
44
  private navigationService;
49
- private rowspanService;
50
45
  columns: Array<ColumnBase>;
51
46
  allColumns: Array<ColumnBase>;
52
47
  groups: Array<GroupDescriptor>;
53
48
  detailTemplate: DetailTemplateDirective;
54
49
  noRecordsTemplate: NoRecordsTemplateDirective;
55
- data: Array<GridItem>;
50
+ rowsToRender: Array<GridItem & {
51
+ showDetailRow?: boolean;
52
+ cells?: any[];
53
+ isExpanded?: boolean;
54
+ showDataItem?: boolean;
55
+ }>;
56
56
  skip: number;
57
57
  selectable: SelectableSettings | boolean;
58
58
  filterable: FilterableSettings;
@@ -62,7 +62,6 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
62
62
  isVirtual: boolean;
63
63
  cellLoadingTemplate: TemplateRef<any>;
64
64
  skipGroupDecoration: boolean;
65
- showGroupFooters: boolean;
66
65
  lockedColumnsCount: number;
67
66
  totalColumnsCount: number;
68
67
  virtualColumns: boolean;
@@ -80,31 +79,14 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
80
79
  private clickTimeout;
81
80
  private minusIcon;
82
81
  private plusIcon;
83
- private dataArray;
84
- private rerender;
85
- constructor(detailsService: DetailsService, groupsService: GroupsService, changeNotification: ChangeNotificationService, editService: EditService, ctx: ContextService, ngZone: NgZone, renderer: Renderer2, element: ElementRef, domEvents: DomEventsService, selectionService: SelectionService, cellSelectionService: CellSelectionService, columnInfoService: ColumnInfoService, navigationService: NavigationService, rowspanService: RowspanService);
82
+ constructor(detailsService: DetailsService, groupsService: GroupsService, changeNotification: ChangeNotificationService, editService: EditService, ctx: ContextService, ngZone: NgZone, renderer: Renderer2, element: ElementRef, domEvents: DomEventsService, selectionService: SelectionService, cellSelectionService: CellSelectionService, columnInfoService: ColumnInfoService, navigationService: NavigationService);
86
83
  get newDataItem(): any;
87
- get cachedDataArray(): any[];
88
84
  unlockedColumnsCount(item?: any): number;
89
- shouldSkipCell(rowIndex: number, colIndex: number): boolean;
90
- getRowspan(row: RowArgs, column: ColumnBase, colIndex: number): number;
91
85
  isAriaSelected(item: any, column: ColumnBase): string;
92
86
  toggleRow(index: number, dataItem: any): boolean;
93
- isExpanded(viewItem: any): boolean;
94
87
  detailButtonIconName(viewItem: any): string;
95
88
  detailButtonSvgIcon(viewItem: any): SVGIcon;
96
89
  detailButtonTitle(viewItem: any): any;
97
- isGroup(item: GridItem): boolean;
98
- isDataItem(item: GridItem): boolean;
99
- isFooter(item: GridItem): boolean;
100
- isFooterItemInExpandedGroup(item: GroupFooterItem): boolean;
101
- isDataItemInExpandedGroup(item: DataItem): boolean;
102
- isInExpandedGroup(item: {
103
- data: GroupResult;
104
- index: string;
105
- parentGroup: GroupItem;
106
- }): boolean;
107
- isParentGroupExpanded(item: GroupItem): boolean;
108
90
  isOdd(item: any): boolean;
109
91
  isSelectable(args: RowArgs): boolean;
110
92
  isRowSelected(item: any): boolean;
@@ -142,5 +124,5 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
142
124
  private eventTarget;
143
125
  private applyStickyRowsStyling;
144
126
  static ɵfac: i0.ɵɵFactoryDeclaration<TableBodyComponent, never>;
145
- static ɵcmp: i0.ɵɵComponentDeclaration<TableBodyComponent, "[kendoGridTableBody]", never, { "columns": { "alias": "columns"; "required": false; }; "allColumns": { "alias": "allColumns"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "noRecordsTemplate": { "alias": "noRecordsTemplate"; "required": false; }; "data": { "alias": "data"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "noRecordsText": { "alias": "noRecordsText"; "required": false; }; "isLocked": { "alias": "isLocked"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "isVirtual": { "alias": "isVirtual"; "required": false; }; "cellLoadingTemplate": { "alias": "cellLoadingTemplate"; "required": false; }; "skipGroupDecoration": { "alias": "skipGroupDecoration"; "required": false; }; "showGroupFooters": { "alias": "showGroupFooters"; "required": false; }; "lockedColumnsCount": { "alias": "lockedColumnsCount"; "required": false; }; "totalColumnsCount": { "alias": "totalColumnsCount"; "required": false; }; "virtualColumns": { "alias": "virtualColumns"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "rowSticky": { "alias": "rowSticky"; "required": false; }; "totalColumns": { "alias": "totalColumns"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; }, {}, never, never, true, never>;
127
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableBodyComponent, "[kendoGridTableBody]", never, { "columns": { "alias": "columns"; "required": false; }; "allColumns": { "alias": "allColumns"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "noRecordsTemplate": { "alias": "noRecordsTemplate"; "required": false; }; "rowsToRender": { "alias": "rowsToRender"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "noRecordsText": { "alias": "noRecordsText"; "required": false; }; "isLocked": { "alias": "isLocked"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "isVirtual": { "alias": "isVirtual"; "required": false; }; "cellLoadingTemplate": { "alias": "cellLoadingTemplate"; "required": false; }; "skipGroupDecoration": { "alias": "skipGroupDecoration"; "required": false; }; "lockedColumnsCount": { "alias": "lockedColumnsCount"; "required": false; }; "totalColumnsCount": { "alias": "totalColumnsCount"; "required": false; }; "virtualColumns": { "alias": "virtualColumns"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "rowSticky": { "alias": "rowSticky"; "required": false; }; "totalColumns": { "alias": "totalColumns"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; }, {}, never, never, true, never>;
146
128
  }
@@ -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.1.2',
8
- '@progress/kendo-angular-navigation': '19.1.2',
7
+ '@progress/kendo-angular-treeview': '19.2.0-develop.10',
8
+ '@progress/kendo-angular-navigation': '19.2.0-develop.10',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '19.1.2',
10
+ '@progress/kendo-angular-dialog': '19.2.0-develop.10',
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.1.2'
14
+ '@progress/kendo-angular-progressbar': '19.2.0-develop.10'
15
15
  } });
16
16
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
17
17
  }
@@ -59,7 +59,7 @@ export declare class SelectionService implements OnDestroy {
59
59
  toggleByIndex(index: number): any;
60
60
  select(item: any): any;
61
61
  deselect(removedItem: any): void;
62
- addAllTo(item: any, ctrlKey: boolean, preserveSelection?: boolean): any;
62
+ addAllTo(item: any, ctrlKey: boolean, preserveSelection?: boolean, shiftKey?: boolean): any;
63
63
  updateAll(selectAllChecked: boolean): void;
64
64
  selectRange(startIndex: number, endIndex: number, preserveSelection: boolean, existingSelections?: any[]): any;
65
65
  get selectAllState(): any;
@@ -8,6 +8,8 @@ import { UndoRedoEvent } from './grid-state.models';
8
8
  import { EditService } from '../editing/edit.service';
9
9
  import { UndoRedoService } from './undo-redo.service';
10
10
  import { ChangeNotificationService } from '../data/change-notification.service';
11
+ import { ContextService } from '../common/provider.service';
12
+ import { LocalDataChangesService } from '../editing/local-data-changes.service';
11
13
  import * as i0 from "@angular/core";
12
14
  /**
13
15
  * Represents the directive that manages undo-redo operations in the Grid.
@@ -25,11 +27,17 @@ export declare class UndoRedoDirective implements OnInit, OnDestroy {
25
27
  private editService;
26
28
  private undoRedoService;
27
29
  private changeNotification;
30
+ private ctx?;
31
+ private localDataChangesService?;
28
32
  /**
29
33
  * Sets the maximum number of actions to keep in the undo-redo stack.
30
34
  * @default 10
31
35
  */
32
36
  maxStoredStates: number;
37
+ /**
38
+ * Defines the property name of the data item unique key that will be used to identify the items when performing undo-redo actions.
39
+ */
40
+ itemIdKey: string | undefined;
33
41
  /**
34
42
  * Fires when you perform the undo action. Provides the Grid state to apply.
35
43
  */
@@ -45,7 +53,7 @@ export declare class UndoRedoDirective implements OnInit, OnDestroy {
45
53
  private stack;
46
54
  private subs;
47
55
  private addToState;
48
- constructor(host: GridComponent, editService: EditService, undoRedoService: UndoRedoService, changeNotification: ChangeNotificationService);
56
+ constructor(host: GridComponent, editService: EditService, undoRedoService: UndoRedoService, changeNotification: ChangeNotificationService, ctx?: ContextService, localDataChangesService?: LocalDataChangesService);
49
57
  ngOnInit(): void;
50
58
  ngOnDestroy(): void;
51
59
  /**
@@ -57,6 +65,8 @@ export declare class UndoRedoDirective implements OnInit, OnDestroy {
57
65
  */
58
66
  undo(): void;
59
67
  private updateUndoRedoDisabled;
68
+ private getGridDataItems;
69
+ private isDataStateChangeEvent;
60
70
  static ɵfac: i0.ɵɵFactoryDeclaration<UndoRedoDirective, never>;
61
- static ɵdir: i0.ɵɵDirectiveDeclaration<UndoRedoDirective, "[kendoGridUndoRedo]", ["kendoGridUndoRedo"], { "maxStoredStates": { "alias": "maxStoredStates"; "required": false; }; }, { "onUndo": "undo"; "onRedo": "redo"; }, never, never, true, never>;
71
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UndoRedoDirective, "[kendoGridUndoRedo]", ["kendoGridUndoRedo"], { "maxStoredStates": { "alias": "maxStoredStates"; "required": false; }; "itemIdKey": { "alias": "itemIdKey"; "required": false; }; }, { "onUndo": "undo"; "onRedo": "redo"; }, never, never, true, never>;
62
72
  }
@@ -3,7 +3,6 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Subject } from 'rxjs';
6
- import { GridState } from './grid-state.models';
7
6
  import * as i0 from "@angular/core";
8
7
  /**
9
8
  * @hidden
@@ -13,7 +12,6 @@ export declare class UndoRedoService {
13
12
  onUndo: Subject<undefined>;
14
13
  onRedo: Subject<undefined>;
15
14
  stackEndReached: Subject<'start' | 'end' | false>;
16
- setState: Subject<GridState>;
17
15
  static ɵfac: i0.ɵɵFactoryDeclaration<UndoRedoService, never>;
18
16
  static ɵprov: i0.ɵɵInjectableDeclaration<UndoRedoService>;
19
17
  }
@@ -74,6 +74,8 @@ export declare class UndoRedoStack<T> {
74
74
  * @returns The previous state or null if can't undo
75
75
  */
76
76
  undo(): T | null;
77
+ peekNext(): T | null;
78
+ peekPrev(): T | null;
77
79
  /**
78
80
  * Performs a redo operation, moving to the next state
79
81
  * @returns The next state or null if can't redo
package/utils.d.ts CHANGED
@@ -116,3 +116,8 @@ export declare const defaultCellRowSpan: (row: RowArgs, column: ColumnBase, data
116
116
  * Determines whether selection of multiple ranges is enabled in the selectable settings.
117
117
  */
118
118
  export declare const isMultipleRangesEnabled: (selectableSettings: any) => boolean;
119
+ /**
120
+ * @hidden
121
+ * Calculates the height of a table row by inserting a temporary row into the table body when the `rowHeight` option is not set.
122
+ */
123
+ export declare const calcRowHeight: (tableBody: HTMLTableSectionElement | null) => number;