@progress/kendo-angular-grid 19.3.0-develop.23 → 19.3.0-develop.25

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 (63) hide show
  1. package/columns/columns-container.d.ts +2 -0
  2. package/common/data-layout-mode.d.ts +19 -0
  3. package/common/stacked-layout-settings.d.ts +24 -0
  4. package/directives.d.ts +4 -3
  5. package/editing-directives/editing-directive-base.d.ts +3 -0
  6. package/esm2022/columns/column-base.mjs +4 -4
  7. package/esm2022/columns/column.component.mjs +1 -1
  8. package/esm2022/columns/columns-container.mjs +3 -0
  9. package/esm2022/common/column-info.service.mjs +1 -1
  10. package/esm2022/common/data-layout-mode.mjs +5 -0
  11. package/esm2022/common/stacked-layout-settings.mjs +5 -0
  12. package/esm2022/directives.mjs +3 -1
  13. package/esm2022/editing-directives/editing-directive-base.mjs +17 -2
  14. package/esm2022/editing-directives/in-cell-editing.directive.mjs +2 -1
  15. package/esm2022/filtering/filter-row.component.mjs +5 -2
  16. package/esm2022/grid.component.mjs +111 -33
  17. package/esm2022/grid.module.mjs +101 -100
  18. package/esm2022/grouping/group-header.component.mjs +39 -4
  19. package/esm2022/index.mjs +1 -0
  20. package/esm2022/localization/messages.mjs +2 -2
  21. package/esm2022/navigation/default-focusable-element.mjs +14 -2
  22. package/esm2022/navigation/focusable.directive.mjs +1 -1
  23. package/esm2022/navigation/navigation-cursor.mjs +7 -1
  24. package/esm2022/navigation/navigation-metadata.mjs +3 -1
  25. package/esm2022/navigation/navigation.service.mjs +136 -5
  26. package/esm2022/package-metadata.mjs +2 -2
  27. package/esm2022/pdf/export-element.mjs +14 -5
  28. package/esm2022/pdf/pdf.component.mjs +3 -1
  29. package/esm2022/rendering/cell.component.mjs +466 -188
  30. package/esm2022/rendering/common/col-group.component.mjs +20 -7
  31. package/esm2022/rendering/footer/footer.component.mjs +117 -54
  32. package/esm2022/rendering/header/header.component.mjs +5 -2
  33. package/esm2022/rendering/list.component.mjs +13 -8
  34. package/esm2022/rendering/table-body.component.mjs +384 -171
  35. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +7 -3
  36. package/esm2022/rendering/toolbar/tools/select-all-command-tool.directive.mjs +93 -0
  37. package/esm2022/row-reordering/row-reorder.service.mjs +2 -2
  38. package/esm2022/row-reordering/utils.mjs +6 -4
  39. package/esm2022/selection/cell-selection.service.mjs +6 -3
  40. package/fesm2022/progress-kendo-angular-grid.mjs +1514 -566
  41. package/filtering/filter-row.component.d.ts +1 -0
  42. package/grid.component.d.ts +22 -1
  43. package/grid.module.d.ts +100 -99
  44. package/grouping/group-header.component.d.ts +1 -0
  45. package/index.d.ts +3 -0
  46. package/localization/messages.d.ts +2 -2
  47. package/navigation/default-focusable-element.d.ts +3 -1
  48. package/navigation/focus-group.d.ts +1 -1
  49. package/navigation/navigation-metadata.d.ts +2 -1
  50. package/navigation/navigation.service.d.ts +6 -0
  51. package/package.json +21 -21
  52. package/rendering/cell.component.d.ts +32 -17
  53. package/rendering/common/col-group.component.d.ts +5 -0
  54. package/rendering/footer/footer.component.d.ts +4 -1
  55. package/rendering/header/header.component.d.ts +1 -0
  56. package/rendering/list.component.d.ts +4 -1
  57. package/rendering/table-body.component.d.ts +2 -1
  58. package/rendering/toolbar/tools/ai-assistant/ai-assistant.component.d.ts +1 -0
  59. package/rendering/toolbar/tools/select-all-command-tool.directive.d.ts +36 -0
  60. package/row-reordering/row-reorder.service.d.ts +1 -1
  61. package/row-reordering/utils.d.ts +1 -1
  62. package/schematics/ngAdd/index.js +4 -4
  63. package/selection/cell-selection.service.d.ts +1 -0
@@ -2,64 +2,79 @@
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 { DoCheck, TemplateRef, OnChanges, AfterContentChecked } from '@angular/core';
5
+ import { DoCheck, TemplateRef } from '@angular/core';
6
6
  import { EditService } from '../editing/edit.service';
7
+ import { CommandColumnComponent } from '../columns/command-column.component';
7
8
  import { ColumnComponent } from '../columns/column.component';
8
9
  import { FormGroup } from '@angular/forms';
9
10
  import { CellContext } from './common/cell-context';
10
11
  import { IdService } from '../common/id.service';
11
12
  import { SVGIcon } from '@progress/kendo-svg-icons';
12
13
  import { ContextService } from '../common/provider.service';
14
+ import { DetailTemplateDirective } from './details/detail-template.directive';
15
+ import { DetailsService } from './details/details.service';
16
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
13
17
  import * as i0 from "@angular/core";
14
18
  /**
15
19
  * @hidden
16
20
  */
17
- export declare class CellComponent implements DoCheck, OnChanges, AfterContentChecked {
21
+ export declare class CellComponent implements DoCheck {
18
22
  private editService;
19
23
  private idService;
20
24
  private ctx;
25
+ private detailsService;
26
+ private localization;
21
27
  private cellContext;
22
28
  get commandCellClass(): boolean;
23
29
  get dragHandleCellClass(): boolean;
24
30
  get dragRowHandleLabel(): string;
25
31
  column: any;
32
+ columns: Array<any>;
26
33
  columnIndex: number;
27
34
  isNew: boolean;
28
35
  isLoading: boolean;
29
36
  isVirtual: boolean;
30
37
  loadingTemplate: TemplateRef<any>;
38
+ detailTemplate: DetailTemplateDirective;
39
+ item: any;
31
40
  set rowIndex(index: number);
32
41
  get rowIndex(): number;
33
42
  dataItem: any;
34
43
  reorderIcon: SVGIcon;
35
- get isEdited(): boolean;
44
+ minusIcon: SVGIcon;
45
+ plusIcon: SVGIcon;
46
+ detailButtonIconName(viewItem: any): string;
47
+ detailButtonSvgIcon(viewItem: any): SVGIcon;
48
+ detailButtonText(viewItem: any): string;
49
+ toggleRow(index: number, dataItem: any): boolean;
50
+ get stackedRowClass(): any;
51
+ get stackedRowStyle(): any;
52
+ isEdited(column?: any): boolean;
36
53
  get showLoading(): boolean;
37
54
  get formGroup(): FormGroup;
38
- get templateContext(): any;
39
- get editTemplateContext(): any;
55
+ getTemplateContext(column?: any): any;
56
+ get isStackedLayoutMode(): boolean;
57
+ getEditTemplateContext(column?: any): any;
40
58
  get rowReorderTemplateContext(): any;
41
59
  get format(): any;
42
- get isBoundColumn(): boolean;
43
- get isCheckboxColumn(): boolean;
60
+ isBoundColumn(column?: any): boolean;
61
+ isCheckboxColumn(column?: any): boolean;
44
62
  get selectionCheckboxId(): string;
45
63
  get selectionCheckboxLabel(): string;
46
64
  get isSpanColumn(): boolean;
47
65
  get children(): ColumnComponent[];
48
- get isRowReorderColumn(): boolean;
49
- get isRowSelectable(): boolean;
66
+ isRowReorderColumn(column?: any): boolean;
67
+ isRowSelectable(column?: any): boolean;
50
68
  private _rowIndex;
51
- private get isColumnEditable();
69
+ private isColumnEditable;
52
70
  private _templateContext;
53
71
  private _editTemplateContext;
54
72
  private _rowReorderTemplateContext;
55
- constructor(editService: EditService, idService: IdService, ctx: ContextService, cellContext: CellContext);
73
+ constructor(editService: EditService, idService: IdService, ctx: ContextService, detailsService: DetailsService, localization: LocalizationService, cellContext: CellContext);
56
74
  ngDoCheck(): void;
57
- ngOnChanges(): void;
58
- ngAfterContentChecked(): void;
59
- private isCommand;
75
+ isCommand(column: any): column is CommandColumnComponent;
60
76
  private isFieldEditable;
61
77
  private updateCellContext;
62
- private updateTemplateContext;
63
- static ɵfac: i0.ɵɵFactoryDeclaration<CellComponent, [null, null, null, { optional: true; }]>;
64
- static ɵcmp: i0.ɵɵComponentDeclaration<CellComponent, "[kendoGridCell]", never, { "column": { "alias": "column"; "required": false; }; "columnIndex": { "alias": "columnIndex"; "required": false; }; "isNew": { "alias": "isNew"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "isVirtual": { "alias": "isVirtual"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "rowIndex": { "alias": "rowIndex"; "required": false; }; "dataItem": { "alias": "dataItem"; "required": false; }; }, {}, never, never, true, never>;
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<CellComponent, [null, null, null, null, null, { optional: true; }]>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<CellComponent, "[kendoGridCell]", never, { "column": { "alias": "column"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "columnIndex": { "alias": "columnIndex"; "required": false; }; "isNew": { "alias": "isNew"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "isVirtual": { "alias": "isVirtual"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "item": { "alias": "item"; "required": false; }; "rowIndex": { "alias": "rowIndex"; "required": false; }; "dataItem": { "alias": "dataItem"; "required": false; }; }, {}, never, never, true, never>;
65
80
  }
@@ -6,16 +6,21 @@ import { GroupDescriptor, SortDescriptor } from '@progress/kendo-data-query';
6
6
  import { ColumnComponent } from '../../columns/column.component';
7
7
  import { DetailTemplateDirective } from '../details/detail-template.directive';
8
8
  import { ColumnBase } from "../../columns/column-base";
9
+ import { ContextService } from '../../common/provider.service';
9
10
  import * as i0 from "@angular/core";
10
11
  /**
11
12
  * @hidden
12
13
  */
13
14
  export declare class ColGroupComponent {
15
+ private ctx;
14
16
  columns: Array<ColumnComponent>;
15
17
  groups: Array<GroupDescriptor>;
16
18
  detailTemplate: DetailTemplateDirective;
17
19
  sort: Array<SortDescriptor>;
20
+ constructor(ctx: ContextService);
21
+ getColumnWidth(column: ColumnBase): string;
18
22
  get columnsToRender(): Array<ColumnBase>;
23
+ get isStacked(): boolean;
19
24
  trackBy(index: number): number;
20
25
  isSorted(column: ColumnComponent): boolean;
21
26
  getColumnComponent(column: ColumnBase): ColumnComponent;
@@ -8,12 +8,14 @@ import { DetailTemplateDirective } from '../details/detail-template.directive';
8
8
  import { GroupDescriptor } from '@progress/kendo-data-query';
9
9
  import { ColumnBase } from "../../columns/column-base";
10
10
  import { ColumnsContainer } from '../../columns/columns-container';
11
+ import { ContextService } from '../../common/provider.service';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * @hidden
14
15
  */
15
16
  export declare class FooterComponent {
16
17
  private columnInfoService;
18
+ private ctx;
17
19
  columns: Array<ColumnComponent>;
18
20
  groups: Array<GroupDescriptor>;
19
21
  detailTemplate: DetailTemplateDirective;
@@ -25,7 +27,7 @@ export declare class FooterComponent {
25
27
  get footerClass(): boolean;
26
28
  hostClass: boolean;
27
29
  hostRole: string;
28
- constructor(columnInfoService: ColumnInfoService);
30
+ constructor(columnInfoService: ColumnInfoService, ctx: ContextService);
29
31
  get columnsToRender(): ColumnBase[];
30
32
  get unlockedColumnsCount(): number;
31
33
  trackByIndex(index: number): number;
@@ -34,6 +36,7 @@ export declare class FooterComponent {
34
36
  [key: string]: any;
35
37
  };
36
38
  isColumnGroupComponent(column: ColumnBase): boolean;
39
+ get isStacked(): boolean;
37
40
  static ɵfac: i0.ɵɵFactoryDeclaration<FooterComponent, never>;
38
41
  static ɵcmp: i0.ɵɵComponentDeclaration<FooterComponent, "[kendoGridFooter]", never, { "columns": { "alias": "columns"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "scrollable": { "alias": "scrollable"; "required": false; }; "lockedColumnsCount": { "alias": "lockedColumnsCount"; "required": false; }; "logicalRowIndex": { "alias": "logicalRowIndex"; "required": false; }; "totalColumns": { "alias": "totalColumns"; "required": false; }; "totalColumnsCount": { "alias": "totalColumnsCount"; "required": false; }; }, {}, never, never, true, never>;
39
42
  }
@@ -128,6 +128,7 @@ export declare class HeaderComponent implements AfterViewInit, OnInit, OnChanges
128
128
  sortDescriptor(field: string): SortDescriptor;
129
129
  get columnLevels(): Array<number>;
130
130
  get leafColumns(): ColumnBase[];
131
+ get isStacked(): boolean;
131
132
  private isReorderable;
132
133
  private isGroupable;
133
134
  private attachTargets;
@@ -111,7 +111,6 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
111
111
  private columnsEndIdx;
112
112
  private viewportColumnsWidth;
113
113
  private scrollLeft;
114
- private recalculateRowspan;
115
114
  private observer;
116
115
  get lockedLeafColumns(): QueryList<ColumnBase>;
117
116
  get nonLockedLeafColumns(): QueryList<ColumnBase>;
@@ -139,6 +138,10 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
139
138
  lockedMousewheel(args: any): void;
140
139
  lockedKeydown(args: any): void;
141
140
  updateViewportColumns(range?: any): void;
141
+ /**
142
+ * @hidden
143
+ */
144
+ get isStacked(): boolean;
142
145
  private detailExpand;
143
146
  private attachContainerScroll;
144
147
  private createScroller;
@@ -106,6 +106,7 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
106
106
  ngOnDestroy(): void;
107
107
  isEditingCell(index: number, column: any): boolean;
108
108
  isEditingRow(index: number): boolean;
109
+ get isStackedMode(): boolean;
109
110
  get hasGroupHeaderColumn(): boolean;
110
111
  get columnsContainer(): any;
111
112
  get columnsSpan(): number;
@@ -117,7 +118,7 @@ export declare class TableBodyComponent implements OnInit, OnDestroy, OnChanges,
117
118
  [key: string]: any;
118
119
  };
119
120
  resizeHandler(): void;
120
- private get hasDetailTemplate();
121
+ get hasDetailTemplate(): boolean;
121
122
  private clickHandler;
122
123
  private emitCellClick;
123
124
  private cellKeydownHandler;
@@ -41,6 +41,7 @@ export declare class AiAssistantComponent implements OnDestroy, AfterViewInit {
41
41
  private sendPromptRequest;
42
42
  private processResponse;
43
43
  private handleError;
44
+ private deleteDummyLoadingOutput;
44
45
  private unsubscribeCurrentRequest;
45
46
  private processArrayResponse;
46
47
  private processFilterResponse;
@@ -0,0 +1,36 @@
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 { ContextService } from '../../../common/provider.service';
6
+ import { IdService } from '../../../common/id.service';
7
+ import { ToolBarToolComponent } from '@progress/kendo-angular-toolbar';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * Represents the toolbar tool for showing a select-all `kendoGridSelectAllCheckbox` checkbox.
11
+ * Use this component inside a ToolbarComponent in the Grid.
12
+ *
13
+ * @example
14
+ * ```html
15
+ * <kendo-grid>
16
+ * <kendo-toolbar>
17
+ * <kendo-grid-select-all-tool text="Select All"></kendo-grid-select-all-tool>
18
+ * </kendo-toolbar>
19
+ * </kendo-grid>
20
+ * ```
21
+ */
22
+ export declare class SelectAllToolbarToolComponent extends ToolBarToolComponent {
23
+ private idService;
24
+ private ctx;
25
+ constructor(idService: IdService, ctx: ContextService);
26
+ /**
27
+ * @hidden
28
+ */
29
+ selectAllCheckboxId(): string;
30
+ /**
31
+ * @hidden
32
+ */
33
+ get selectAllCheckboxLabel(): string;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectAllToolbarToolComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectAllToolbarToolComponent, "kendo-grid-select-all-tool", never, {}, {}, never, never, true, never>;
36
+ }
@@ -14,7 +14,7 @@ import * as i0 from "@angular/core";
14
14
  export declare class RowReorderService {
15
15
  private renderer;
16
16
  hintElement: HTMLElement;
17
- defaultSelectors: {
17
+ defaultSelectors: (isStacked?: boolean) => {
18
18
  handle: string;
19
19
  dragTarget: string;
20
20
  dropTarget: string;
@@ -71,7 +71,7 @@ export declare const dropIndicatorClasses: string[];
71
71
  /**
72
72
  * @hidden
73
73
  */
74
- export declare const defaultSelectors: {
74
+ export declare const getDefaultSelectors: (isStacked?: boolean) => {
75
75
  handle: string;
76
76
  dragTarget: string;
77
77
  dropTarget: string;
@@ -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.3.0-develop.23',
8
- '@progress/kendo-angular-navigation': '19.3.0-develop.23',
7
+ '@progress/kendo-angular-treeview': '19.3.0-develop.25',
8
+ '@progress/kendo-angular-navigation': '19.3.0-develop.25',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '19.3.0-develop.23',
10
+ '@progress/kendo-angular-dialog': '19.3.0-develop.25',
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.3.0-develop.23'
14
+ '@progress/kendo-angular-progressbar': '19.3.0-develop.25'
15
15
  } });
16
16
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
17
17
  }
@@ -25,6 +25,7 @@ type CellSelectionServiceSettings = {
25
25
  length: number;
26
26
  };
27
27
  columns: ColumnBase[];
28
+ isStacked: boolean;
28
29
  };
29
30
  /**
30
31
  * @hidden