@progress/kendo-angular-grid 19.3.0-develop.4 → 19.3.0-develop.41

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 (120) hide show
  1. package/columns/columns-container.d.ts +2 -0
  2. package/common/data-layout-mode.d.ts +21 -0
  3. package/common/grid-col-size.d.ts +13 -0
  4. package/common/provider.service.d.ts +2 -0
  5. package/common/toolbar-tool-base.directive.d.ts +1 -0
  6. package/data/data-mapping.service.d.ts +3 -1
  7. package/directives.d.ts +7 -4
  8. package/editing/toolbar-editing-tool-base.directive.d.ts +3 -2
  9. package/editing-directives/editing-directive-base.d.ts +3 -0
  10. package/editing-directives/in-cell-editing.directive.d.ts +1 -1
  11. package/editing-directives/reactive-editing.directive.d.ts +1 -1
  12. package/editing-directives/template-editing.directive.d.ts +1 -1
  13. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +1 -2
  14. package/esm2022/column-menu/column-chooser.component.mjs +1 -1
  15. package/esm2022/column-menu/column-list.component.mjs +8 -7
  16. package/esm2022/column-menu/column-menu-item.directive.mjs +1 -1
  17. package/esm2022/column-menu/column-menu.component.mjs +1 -1
  18. package/esm2022/columns/column-base.mjs +4 -4
  19. package/esm2022/columns/column.component.mjs +1 -1
  20. package/esm2022/columns/columns-container.mjs +3 -0
  21. package/esm2022/common/column-info.service.mjs +1 -1
  22. package/esm2022/common/data-layout-mode.mjs +5 -0
  23. package/esm2022/common/grid-col-size.mjs +5 -0
  24. package/esm2022/common/provider.service.mjs +1 -0
  25. package/esm2022/common/toolbar-tool-base.directive.mjs +6 -2
  26. package/esm2022/data/data-mapping.service.mjs +14 -3
  27. package/esm2022/directives.mjs +8 -1
  28. package/esm2022/editing/form/form-formfield.component.mjs +2 -2
  29. package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +5 -0
  30. package/esm2022/editing-directives/editing-directive-base.mjs +17 -2
  31. package/esm2022/editing-directives/in-cell-editing.directive.mjs +5 -3
  32. package/esm2022/editing-directives/reactive-editing.directive.mjs +1 -1
  33. package/esm2022/editing-directives/template-editing.directive.mjs +1 -1
  34. package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +1 -1
  35. package/esm2022/filtering/cell/date-filter-cell.component.mjs +1 -1
  36. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +3 -4
  37. package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +1 -1
  38. package/esm2022/filtering/cell/string-filter-cell.component.mjs +1 -1
  39. package/esm2022/filtering/filter-row.component.mjs +6 -3
  40. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +1 -2
  41. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +1 -1
  42. package/esm2022/filtering/menu/date-filter-menu.component.mjs +1 -1
  43. package/esm2022/filtering/menu/filter-menu-dropdownlist.directive.mjs +1 -1
  44. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
  45. package/esm2022/filtering/menu/filter-menu.component.mjs +1 -1
  46. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +1 -1
  47. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +1 -1
  48. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +1 -1
  49. package/esm2022/filtering/menu/string-filter-menu.component.mjs +1 -1
  50. package/esm2022/grid.component.mjs +191 -39
  51. package/esm2022/grid.module.mjs +103 -100
  52. package/esm2022/grouping/group-header.component.mjs +39 -4
  53. package/esm2022/grouping/group-panel.component.mjs +13 -8
  54. package/esm2022/highlight/highlight-item.mjs +5 -0
  55. package/esm2022/highlight/highlight.directive.mjs +132 -0
  56. package/esm2022/index.mjs +4 -0
  57. package/esm2022/localization/messages.mjs +57 -3
  58. package/esm2022/navigation/navigation-cursor.mjs +7 -1
  59. package/esm2022/navigation/navigation-metadata.mjs +3 -1
  60. package/esm2022/navigation/navigation.service.mjs +162 -16
  61. package/esm2022/navigation/toolbar-tool-name.mjs +2 -1
  62. package/esm2022/package-metadata.mjs +2 -2
  63. package/esm2022/pdf/export-element.mjs +14 -5
  64. package/esm2022/pdf/pdf.component.mjs +3 -1
  65. package/esm2022/rendering/cell.component.mjs +466 -188
  66. package/esm2022/rendering/common/col-group.component.mjs +21 -7
  67. package/esm2022/rendering/details-expand.directive.mjs +5 -2
  68. package/esm2022/rendering/footer/footer.component.mjs +117 -54
  69. package/esm2022/rendering/header/header.component.mjs +13 -9
  70. package/esm2022/rendering/list.component.mjs +19 -12
  71. package/esm2022/rendering/loading-template.directive.mjs +1 -0
  72. package/esm2022/rendering/table-body.component.mjs +394 -174
  73. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +305 -0
  74. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-tool.directive.mjs +269 -0
  75. package/esm2022/rendering/toolbar/tools/ai-assistant/utils.mjs +74 -0
  76. package/esm2022/rendering/toolbar/tools/column-chooser-tool.directive.mjs +0 -3
  77. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +11 -9
  78. package/esm2022/rendering/toolbar/tools/select-all-command-tool.directive.mjs +93 -0
  79. package/esm2022/row-reordering/row-reorder.service.mjs +2 -2
  80. package/esm2022/row-reordering/utils.mjs +6 -4
  81. package/esm2022/selection/cell-selection.service.mjs +6 -3
  82. package/esm2022/selection/pair-set.mjs +87 -10
  83. package/esm2022/selection/selection-checkbox.directive.mjs +1 -1
  84. package/esm2022/selection/selection.directive.mjs +1 -1
  85. package/esm2022/utils.mjs +0 -4
  86. package/fesm2022/progress-kendo-angular-grid.mjs +2568 -642
  87. package/filtering/filter-row.component.d.ts +1 -0
  88. package/grid.component.d.ts +29 -1
  89. package/grid.module.d.ts +102 -99
  90. package/grouping/group-header.component.d.ts +1 -0
  91. package/grouping/group-panel.component.d.ts +1 -1
  92. package/highlight/highlight-item.d.ts +17 -0
  93. package/highlight/highlight.directive.d.ts +56 -0
  94. package/index.d.ts +8 -1
  95. package/localization/messages.d.ts +39 -3
  96. package/navigation/focus-group.d.ts +1 -1
  97. package/navigation/navigation-metadata.d.ts +2 -1
  98. package/navigation/navigation.service.d.ts +6 -0
  99. package/navigation/toolbar-tool-name.d.ts +1 -0
  100. package/package.json +22 -21
  101. package/rendering/cell.component.d.ts +30 -15
  102. package/rendering/common/col-group.component.d.ts +5 -0
  103. package/rendering/details-expand.directive.d.ts +5 -2
  104. package/rendering/footer/footer.component.d.ts +4 -1
  105. package/rendering/header/header.component.d.ts +1 -0
  106. package/rendering/list.component.d.ts +4 -1
  107. package/rendering/loading-template.directive.d.ts +1 -0
  108. package/rendering/table-body.component.d.ts +3 -1
  109. package/rendering/toolbar/tools/ai-assistant/ai-assistant.component.d.ts +49 -0
  110. package/rendering/toolbar/tools/ai-assistant/ai-tool.directive.d.ts +115 -0
  111. package/rendering/toolbar/tools/ai-assistant/utils.d.ts +124 -0
  112. package/rendering/toolbar/tools/column-chooser-tool.directive.d.ts +0 -1
  113. package/rendering/toolbar/tools/select-all-command-tool.directive.d.ts +36 -0
  114. package/row-reordering/row-reorder.service.d.ts +1 -1
  115. package/row-reordering/utils.d.ts +1 -1
  116. package/schematics/ngAdd/index.js +4 -4
  117. package/selection/cell-selection.service.d.ts +1 -0
  118. package/selection/pair-set.d.ts +36 -8
  119. package/selection/selection.directive.d.ts +1 -1
  120. package/utils.d.ts +0 -4
@@ -0,0 +1,124 @@
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 { HttpHeaders, HttpResponse, HttpErrorResponse } from "@angular/common/http";
6
+ import { PreventableEvent } from "@progress/kendo-angular-common";
7
+ import { AIPromptSettings } from "@progress/kendo-angular-conversational-ui";
8
+ import { WindowSettings } from "@progress/kendo-angular-dialog";
9
+ import { CompositeFilterDescriptor, FilterDescriptor, GroupDescriptor, SortDescriptor } from "@progress/kendo-data-query";
10
+ /**
11
+ * Interface representing all configuration options of the AI Assistant Window.
12
+ */
13
+ export interface GridToolbarAIWindowSettings extends Omit<WindowSettings, 'content'> {
14
+ }
15
+ /**
16
+ * Interface representing all configuration options of the AI Assistant Prompt.
17
+ */
18
+ export interface GridToolbarAIPromptSettings extends Omit<AIPromptSettings, 'promptCommands'> {
19
+ }
20
+ /**
21
+ * Represents the data sent in the AI request from the Grid Toolbar AI Assistant.
22
+ */
23
+ export interface GridToolbarAIRequestData {
24
+ columns: Array<{
25
+ field: string;
26
+ title: string;
27
+ }>;
28
+ promptMessage: string;
29
+ url?: string;
30
+ requestOptions: {
31
+ role?: string;
32
+ headers?: HttpHeaders;
33
+ method?: string;
34
+ withCredentials?: boolean;
35
+ body?: any;
36
+ responseType?: 'json' | 'arraybuffer' | 'blob' | 'text';
37
+ [key: string]: any;
38
+ };
39
+ }
40
+ /**
41
+ * Represents the response from the AI request in the Grid Toolbar AI Assistant.
42
+ */
43
+ export interface GridToolbarAIRequestResponse {
44
+ messages: string[];
45
+ sort?: SortDescriptor[];
46
+ filter?: CompositeFilterDescriptor;
47
+ group?: GroupDescriptor[];
48
+ }
49
+ /**
50
+ * Configuration options for the HTTP request.
51
+ */
52
+ export interface GridToolbarAIRequestOptions {
53
+ /**
54
+ * HTTP headers to include with the request.
55
+ */
56
+ headers?: HttpHeaders;
57
+ /**
58
+ * The role of the user making the request, e.g., 'user', 'assistant'.
59
+ * @default 'user'
60
+ */
61
+ role?: string;
62
+ /**
63
+ * HTTP method to use for the request.
64
+ * @default 'POST'
65
+ */
66
+ method?: string;
67
+ /**
68
+ * Whether to include credentials (cookies, authorization headers) with the request.
69
+ * @default false
70
+ */
71
+ withCredentials?: boolean;
72
+ /**
73
+ * The expected response type.
74
+ * @default 'json'
75
+ */
76
+ responseType?: 'json' | 'arraybuffer' | 'blob' | 'text';
77
+ /**
78
+ * The body of the request.
79
+ */
80
+ body?: any;
81
+ /**
82
+ * Additional custom options that will be spread into the request configuration.
83
+ */
84
+ [key: string]: any;
85
+ }
86
+ /**
87
+ * @hidden
88
+ */
89
+ export declare const DEFAULT_AI_REQUEST_OPTIONS: GridToolbarAIRequestOptions;
90
+ /**
91
+ * @hidden
92
+ */
93
+ export declare const convertDateStringsInFilter: (filter: CompositeFilterDescriptor | FilterDescriptor, columns: any[]) => any;
94
+ /**
95
+ * @hidden
96
+ */
97
+ export declare const isDateField: (fieldName: string, columns: any[]) => boolean;
98
+ /**
99
+ * Represents the event data when the AI Assistant request completes successfully.
100
+ */
101
+ export declare class GridToolbarAIResponseSuccessEvent extends PreventableEvent {
102
+ /**
103
+ * The HTTP response from the AI service.
104
+ */
105
+ response: HttpResponse<GridToolbarAIRequestResponse>;
106
+ constructor(response: HttpResponse<GridToolbarAIRequestResponse>);
107
+ }
108
+ /**
109
+ * Represents the event data when the AI Assistant request completes with an error.
110
+ */
111
+ export declare class GridToolbarAIResponseErrorEvent extends PreventableEvent {
112
+ /**
113
+ * The HTTP error response from the AI service.
114
+ */
115
+ error: HttpErrorResponse;
116
+ constructor(error: HttpErrorResponse);
117
+ }
118
+ /**
119
+ * Represents the event data when the AI Assistant request is initiated.
120
+ */
121
+ export interface GridToolbarAIPromptRequestEvent {
122
+ requestData: GridToolbarAIRequestData;
123
+ isRetry: boolean;
124
+ }
@@ -64,7 +64,6 @@ export declare class ColumnChooserToolbarDirective extends ToolbarToolBase imple
64
64
  onClick(e: any): void;
65
65
  private togglePopup;
66
66
  private closePopup;
67
- private get buttonElement();
68
67
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnChooserToolbarDirective, never>;
69
68
  static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnChooserToolbarDirective, "[kendoGridColumnChooserTool]", never, { "autoSync": { "alias": "autoSync"; "required": false; }; "allowHideAll": { "alias": "allowHideAll"; "required": false; }; }, {}, never, never, true, never>;
70
69
  }
@@ -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.4',
8
- '@progress/kendo-angular-navigation': '19.3.0-develop.4',
7
+ '@progress/kendo-angular-treeview': '19.3.0-develop.41',
8
+ '@progress/kendo-angular-navigation': '19.3.0-develop.41',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '19.3.0-develop.4',
10
+ '@progress/kendo-angular-dialog': '19.3.0-develop.41',
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.4'
14
+ '@progress/kendo-angular-progressbar': '19.3.0-develop.41'
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
@@ -5,46 +5,74 @@
5
5
  /**
6
6
  * @hidden
7
7
  *
8
- * Quick look-up structure for combinations of keys.
9
- * Similar to the native JS Set, however, working with a couple of keys instead of with a single key.
8
+ * Quick look-up structure for combinations of keys or single keys.
9
+ * Similar to the native JS Set, however, working with single keys or a couple of keys.
10
10
  * Supports both primitive keys and object keys (compared by reference).
11
11
  */
12
12
  export declare class PairSet {
13
13
  /**
14
- * Gets the total number of X/Y key pairs.
14
+ * Symbol used internally to represent "no Y key" when storing single X keys.
15
+ */
16
+ private static readonly SINGLE_KEY_SYMBOL;
17
+ /**
18
+ * Gets the total number of key entries (both single keys and key pairs).
15
19
  */
16
20
  get size(): number;
17
21
  /**
18
22
  * Holds a set of Y keys for each defined X key.
19
23
  * Each X key creates a map which holds a set of Y keys.
24
+ * For single keys, the Y value is the SINGLE_KEY_SYMBOL.
20
25
  *
21
- * Map { 1 => Set { 1, 2, 3 } } // pairs: [1, 1], [1, 2], [1, 3]
26
+ * Map { 'foo' => Set { Symbol(SINGLE_KEY) } } // single key: {x: 'foo'}
27
+ * Map { 'foo2' => Set { 'bar', 'baz' } } // pairs: {x: 'foo2', y: 'bar'}, {x: 'foo2', y: 'baz'}
22
28
  */
23
29
  private keysX;
24
30
  /**
25
- * Count the each added or deleted key manually to avoid iterating over all items when calling `this.size`.
31
+ * Count each added or deleted key manually to avoid iterating over all items when calling `this.size`.
26
32
  */
27
33
  private totalKeysCount;
28
34
  constructor(items?: any[], keyXField?: string, keyYField?: string);
35
+ /**
36
+ * Adds a single key entry.
37
+ */
38
+ addSingle(keyX: any): void;
29
39
  /**
30
40
  * Adds a couple of items identified as a combination.
31
41
  */
32
42
  add(keyX: any, keyY: any): void;
33
43
  /**
34
- * Adds a combination of a couple of items identified together.
44
+ * Deletes a single key entry.
45
+ */
46
+ deleteSingle(keyX: any): void;
47
+ /**
48
+ * Deletes a combination of a couple of items identified together.
35
49
  */
36
50
  delete(keyX: any, keyY: any): void;
51
+ /**
52
+ * Checks whether a single key is stored.
53
+ */
54
+ hasSingle(keyX: any): boolean;
37
55
  /**
38
56
  * Checks whether the defined combination is stored.
39
57
  */
40
58
  has(keyX: any, keyY: any): boolean;
41
59
  /**
42
- * Clears all key combinations.
60
+ * Checks whether any entry exists for the given X key (single or paired).
61
+ */
62
+ hasX(keyX: any): boolean;
63
+ /**
64
+ * Gets all Y keys for a given X key, excluding single key entries.
65
+ */
66
+ getYKeys(keyX: any): any[];
67
+ /**
68
+ * Clears all key combinations and single keys.
43
69
  */
44
70
  clear(): void;
45
71
  /**
46
72
  * Converts the persisted data structure to an array of objects,
47
73
  * using the provided field names for the object props.
74
+ * Single keys will only have the keyXField property.
75
+ * Pair keys will have both keyXField and keyYField properties.
48
76
  */
49
- toArray(keyXField: string, keyYField: string): any[];
77
+ toArray(keyXField: string, keyYField?: string): any[];
50
78
  }
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  * ([see example]({% slug selection_grid %}#toc-toggling-the-selection-functionality)).
12
12
  *
13
13
  * @example
14
- * ```typescript
14
+ * ```html
15
15
  * <kendo-grid kendoGridSelectBy="ProductID"></kendo-grid>
16
16
  *
17
17
  * <kendo-grid [kendoGridSelectBy]="myKey"></kendo-grid>
package/utils.d.ts CHANGED
@@ -83,10 +83,6 @@ export declare const cancelAnimationFrame: any;
83
83
  * @hidden
84
84
  */
85
85
  export declare const nodesToArray: (nodes: NodeList) => HTMLElement[];
86
- /**
87
- * @hidden
88
- */
89
- export declare const replaceMessagePlaceholder: (message: string, name: string, value: string) => string;
90
86
  /**
91
87
  * @hidden
92
88
  */