@progress/kendo-angular-grid 18.0.1-develop.2 → 18.1.0-develop.1

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 (36) hide show
  1. package/columns/cell-rowspan.d.ts +10 -0
  2. package/columns/column-base.d.ts +8 -2
  3. package/editing-directives/local-row-edit.service.d.ts +1 -1
  4. package/esm2022/aggregates/selection-aggregate.service.mjs +1 -1
  5. package/esm2022/columns/cell-rowspan.mjs +5 -0
  6. package/esm2022/columns/column-base.mjs +13 -2
  7. package/esm2022/dragdrop/draggable-column.directive.mjs +2 -2
  8. package/esm2022/editing-directives/local-row-edit.service.mjs +1 -1
  9. package/esm2022/grid.component.mjs +6 -3
  10. package/esm2022/grouping/group-panel.component.mjs +1 -1
  11. package/esm2022/navigation/logical-cell.directive.mjs +7 -1
  12. package/esm2022/navigation/navigation.service.mjs +27 -35
  13. package/esm2022/package-metadata.mjs +2 -2
  14. package/esm2022/pdf/pdf.component.mjs +1 -1
  15. package/esm2022/rendering/cell.component.mjs +1 -1
  16. package/esm2022/rendering/common/col-group.component.mjs +1 -1
  17. package/esm2022/rendering/footer/footer.component.mjs +1 -1
  18. package/esm2022/rendering/header/header.component.mjs +2 -2
  19. package/esm2022/rendering/list.component.mjs +14 -5
  20. package/esm2022/rendering/rowspan.service.mjs +24 -0
  21. package/esm2022/rendering/table-body.component.mjs +106 -64
  22. package/esm2022/selection/selection-default.mjs +1 -1
  23. package/fesm2022/progress-kendo-angular-grid.mjs +202 -123
  24. package/index.d.ts +1 -0
  25. package/navigation/logical-cell.directive.d.ts +1 -0
  26. package/navigation/navigation.service.d.ts +2 -0
  27. package/package.json +19 -19
  28. package/pdf/pdf.component.d.ts +1 -1
  29. package/rendering/cell.component.d.ts +1 -1
  30. package/rendering/common/col-group.component.d.ts +1 -1
  31. package/rendering/footer/footer.component.d.ts +1 -1
  32. package/rendering/header/header.component.d.ts +1 -1
  33. package/rendering/list.component.d.ts +4 -1
  34. package/rendering/rowspan.service.d.ts +14 -0
  35. package/rendering/table-body.component.d.ts +9 -2
  36. package/schematics/ngAdd/index.js +4 -4
package/index.d.ts CHANGED
@@ -182,6 +182,7 @@ export { ScrollRequest } from './scrolling/scroll-request.service';
182
182
  export { GridSize } from './common/size-options';
183
183
  export { GridClipboardDirective } from './common/clipboard.directive';
184
184
  export { GridClipboardEvent, GridClipboardEventType, GridClipboardTargetType, GridClipboardSettings, GridClipboardItem, GridClipboardTargetCell } from './common/clipboard-types';
185
+ export { CellRowspanFn } from './columns/cell-rowspan';
185
186
  export { ColumnMenuTemplateDirective } from './column-menu/column-menu-template.directive';
186
187
  export { EditCommandDirective } from './editing/edit-command.directive';
187
188
  export { CancelCommandDirective } from './editing/cancel-command.directive';
@@ -36,6 +36,7 @@ export declare class LogicalCellDirective implements LogicalCell, OnInit, OnChan
36
36
  headerLabelText: string;
37
37
  readonly uid: number;
38
38
  get id(): string;
39
+ get cellRowspan(): string;
39
40
  get ariaColIndex(): number;
40
41
  private navigationChange;
41
42
  constructor(focusGroup: FocusGroup, element: ElementRef, columnInfoService: ColumnInfoService, idService: IdService, navigationService: NavigationService, renderer: Renderer2, zone: NgZone, cellContext: CellContext);
@@ -74,6 +74,7 @@ export declare class NavigationService implements OnDestroy {
74
74
  private pagerIsNavigable;
75
75
  private tableIsNavigable;
76
76
  private toolbarIsNavigable;
77
+ private lastCellRowIndex;
77
78
  private get activeDataRow();
78
79
  constructor(zone: NgZone, domEvents: DomEventsService, pagerContextService: PagerContextService, scrollRequestService: ScrollRequestService, groupsService: GroupsService, detailsService: DetailsService, focusRoot: FocusRoot, editService: EditService, cd: ChangeDetectorRef, ctx: ContextService, resizeService: ColumnResizingService, focusableParent: FocusableDirective);
79
80
  init(meta: NavigationMetadata, navigableOptions: GridNavigableSection[]): void;
@@ -120,6 +121,7 @@ export declare class NavigationService implements OnDestroy {
120
121
  private handleHorizontalArrowSelection;
121
122
  private handleMultipleArrowCellSelection;
122
123
  private handleMultipleArrowRowSelection;
124
+ private calculateRowspanOffset;
123
125
  static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
124
126
  static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
125
127
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "18.0.1-develop.2",
3
+ "version": "18.1.0-develop.1",
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": 1738068736,
29
+ "publishDate": 1738141621,
30
30
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
31
31
  }
32
32
  },
@@ -39,27 +39,27 @@
39
39
  "@progress/kendo-data-query": "^1.0.0",
40
40
  "@progress/kendo-drawing": "^1.21.0",
41
41
  "@progress/kendo-licensing": "^1.0.2",
42
- "@progress/kendo-angular-buttons": "18.0.1-develop.2",
43
- "@progress/kendo-angular-common": "18.0.1-develop.2",
44
- "@progress/kendo-angular-dateinputs": "18.0.1-develop.2",
45
- "@progress/kendo-angular-layout": "18.0.1-develop.2",
46
- "@progress/kendo-angular-dropdowns": "18.0.1-develop.2",
47
- "@progress/kendo-angular-excel-export": "18.0.1-develop.2",
48
- "@progress/kendo-angular-icons": "18.0.1-develop.2",
49
- "@progress/kendo-angular-inputs": "18.0.1-develop.2",
50
- "@progress/kendo-angular-intl": "18.0.1-develop.2",
51
- "@progress/kendo-angular-l10n": "18.0.1-develop.2",
52
- "@progress/kendo-angular-label": "18.0.1-develop.2",
53
- "@progress/kendo-angular-pager": "18.0.1-develop.2",
54
- "@progress/kendo-angular-pdf-export": "18.0.1-develop.2",
55
- "@progress/kendo-angular-popup": "18.0.1-develop.2",
56
- "@progress/kendo-angular-toolbar": "18.0.1-develop.2",
57
- "@progress/kendo-angular-utils": "18.0.1-develop.2",
42
+ "@progress/kendo-angular-buttons": "18.1.0-develop.1",
43
+ "@progress/kendo-angular-common": "18.1.0-develop.1",
44
+ "@progress/kendo-angular-dateinputs": "18.1.0-develop.1",
45
+ "@progress/kendo-angular-layout": "18.1.0-develop.1",
46
+ "@progress/kendo-angular-dropdowns": "18.1.0-develop.1",
47
+ "@progress/kendo-angular-excel-export": "18.1.0-develop.1",
48
+ "@progress/kendo-angular-icons": "18.1.0-develop.1",
49
+ "@progress/kendo-angular-inputs": "18.1.0-develop.1",
50
+ "@progress/kendo-angular-intl": "18.1.0-develop.1",
51
+ "@progress/kendo-angular-l10n": "18.1.0-develop.1",
52
+ "@progress/kendo-angular-label": "18.1.0-develop.1",
53
+ "@progress/kendo-angular-pager": "18.1.0-develop.1",
54
+ "@progress/kendo-angular-pdf-export": "18.1.0-develop.1",
55
+ "@progress/kendo-angular-popup": "18.1.0-develop.1",
56
+ "@progress/kendo-angular-toolbar": "18.1.0-develop.1",
57
+ "@progress/kendo-angular-utils": "18.1.0-develop.1",
58
58
  "rxjs": "^6.5.3 || ^7.0.0"
59
59
  },
60
60
  "dependencies": {
61
61
  "tslib": "^2.3.1",
62
- "@progress/kendo-angular-schematics": "18.0.1-develop.2",
62
+ "@progress/kendo-angular-schematics": "18.1.0-develop.1",
63
63
  "@progress/kendo-common": "^1.0.1",
64
64
  "@progress/kendo-file-saver": "^1.0.0"
65
65
  },
@@ -58,7 +58,7 @@ export declare class PDFComponent extends PDFExportComponent implements OnDestro
58
58
  /**
59
59
  * @hidden
60
60
  */
61
- saveAs(_: string): void;
61
+ saveAs(): void;
62
62
  /**
63
63
  * @hidden
64
64
  */
@@ -54,7 +54,7 @@ export declare class CellComponent implements DoCheck {
54
54
  private _rowReorderTemplateContext;
55
55
  constructor(editService: EditService, idService: IdService, ctx: ContextService, cellContext: CellContext);
56
56
  ngDoCheck(): void;
57
- ngOnChanges(_changes: any): void;
57
+ ngOnChanges(): void;
58
58
  ngAfterContentChecked(): void;
59
59
  private isCommand;
60
60
  private isFieldEditable;
@@ -16,7 +16,7 @@ export declare class ColGroupComponent {
16
16
  detailTemplate: DetailTemplateDirective;
17
17
  sort: Array<SortDescriptor>;
18
18
  get columnsToRender(): Array<ColumnBase>;
19
- trackBy(index: number, _item: any): any;
19
+ trackBy(index: number): number;
20
20
  isSorted(column: ColumnComponent): boolean;
21
21
  getColumnComponent(column: ColumnBase): ColumnComponent;
22
22
  private isSortable;
@@ -26,7 +26,7 @@ export declare class FooterComponent {
26
26
  hostRole: string;
27
27
  constructor(columnInfoService: ColumnInfoService);
28
28
  get columnsToRender(): ColumnBase[];
29
- trackByIndex(index: number, _item: any): any;
29
+ trackByIndex(index: number): number;
30
30
  logicalColumnIndex(column: any): number;
31
31
  addStickyStyles(column: ColumnBase): {
32
32
  [key: string]: any;
@@ -119,7 +119,7 @@ export declare class HeaderComponent implements AfterViewInit, OnInit, OnChanges
119
119
  shouldActivate(column: ColumnBase): boolean;
120
120
  isInteractive(column: ColumnComponent, prop: string): boolean;
121
121
  isCheckboxColumn(column: any): boolean;
122
- trackByIndex(index: number, _item: any): any;
122
+ trackByIndex(index: number): number;
123
123
  addStickyStyles(column: ColumnBase): {
124
124
  [key: string]: any;
125
125
  };
@@ -31,6 +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
35
  import * as i0 from "@angular/core";
35
36
  /**
36
37
  * @hidden
@@ -59,6 +60,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
59
60
  private changeDetector;
60
61
  private pdfService;
61
62
  private columnInfo;
63
+ private rowspanService;
62
64
  hostClass: boolean;
63
65
  hostRole: string;
64
66
  data: Array<any>;
@@ -109,6 +111,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
109
111
  private columnsEndIdx;
110
112
  private viewportColumnsWidth;
111
113
  private scrollLeft;
114
+ private observer;
112
115
  get lockedLeafColumns(): QueryList<ColumnBase>;
113
116
  get nonLockedLeafColumns(): QueryList<ColumnBase>;
114
117
  get nonLockedColumnsToRender(): QueryList<ColumnBase>;
@@ -119,7 +122,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
119
122
  private rtl;
120
123
  private columnUpdateFrame;
121
124
  private hasLockedContainer;
122
- 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);
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);
123
126
  ngOnInit(): void;
124
127
  ngOnChanges(changes: {
125
128
  [propertyName: string]: SimpleChange;
@@ -0,0 +1,14 @@
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
+ */
8
+ export declare class RowspanService {
9
+ private skipCells;
10
+ addCells(rowIndex: number, colIndex: number, rowspan: number): void;
11
+ reset(): void;
12
+ shouldSkip(rowIndex: number, colIndex: number): boolean;
13
+ private cellExists;
14
+ }
@@ -27,6 +27,7 @@ import { SVGIcon } from '@progress/kendo-svg-icons';
27
27
  import { ContextService } from '../common/provider.service';
28
28
  import { ColumnsContainer } from '../columns/columns-container';
29
29
  import { RowArgs } from './common/row-args';
30
+ import { RowspanService } from './rowspan.service';
30
31
  import * as i0 from "@angular/core";
31
32
  /**
32
33
  * @hidden
@@ -45,6 +46,7 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
45
46
  cellSelectionService: CellSelectionService;
46
47
  private columnInfoService;
47
48
  private navigationService;
49
+ private rowspanService;
48
50
  columns: Array<ColumnBase>;
49
51
  allColumns: Array<ColumnBase>;
50
52
  groups: Array<GroupDescriptor>;
@@ -67,6 +69,7 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
67
69
  trackBy: TrackByFunction<GridItem>;
68
70
  rowSticky: RowStickyFn;
69
71
  totalColumns: ColumnsContainer;
72
+ rowClass: RowClassFn;
70
73
  hostClass: boolean;
71
74
  groupHeaderSlaveCellsCount: number;
72
75
  groupHeaderColumns: any[];
@@ -77,10 +80,14 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
77
80
  private clickTimeout;
78
81
  private minusIcon;
79
82
  private plusIcon;
80
- rowClass: RowClassFn;
81
- 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);
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
86
  get newDataItem(): any;
87
+ get cachedDataArray(): any[];
83
88
  unlockedColumnsCount(item?: any): number;
89
+ shouldSkipCell(rowIndex: number, colIndex: number): boolean;
90
+ getRowspan(row: RowArgs, column: ColumnBase, colIndex: number): number;
84
91
  isAriaSelected(item: any, column: ColumnBase): string;
85
92
  toggleRow(index: number, dataItem: any): boolean;
86
93
  isExpanded(viewItem: any): boolean;
@@ -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': '18.0.1-develop.2',
8
- '@progress/kendo-angular-navigation': '18.0.1-develop.2',
7
+ '@progress/kendo-angular-treeview': '18.1.0-develop.1',
8
+ '@progress/kendo-angular-navigation': '18.1.0-develop.1',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '18.0.1-develop.2',
10
+ '@progress/kendo-angular-dialog': '18.1.0-develop.1',
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': '18.0.1-develop.2'
14
+ '@progress/kendo-angular-progressbar': '18.1.0-develop.1'
15
15
  } });
16
16
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
17
17
  }