@progress/kendo-angular-grid 21.1.1-develop.2 → 21.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 (58) hide show
  1. package/codemods/utils.js +805 -394
  2. package/codemods/v20/grid-kendogridgroupbinding.js +8 -11
  3. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +850 -756
  4. package/esm2022/aggregates/status-bar.component.mjs +13 -11
  5. package/esm2022/column-menu/column-chooser-content.component.mjs +133 -123
  6. package/esm2022/column-menu/column-list.component.mjs +64 -61
  7. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +12 -11
  8. package/esm2022/column-menu/column-menu-autosize.component.mjs +12 -11
  9. package/esm2022/column-menu/column-menu-item.component.mjs +221 -85
  10. package/esm2022/column-menu/column-menu-position.component.mjs +46 -43
  11. package/esm2022/column-menu/column-menu.component.mjs +401 -315
  12. package/esm2022/databinding.directive.mjs +1 -0
  13. package/esm2022/editing/add-command.directive.mjs +27 -17
  14. package/esm2022/editing/cancel-command.directive.mjs +27 -17
  15. package/esm2022/editing/edit-command.directive.mjs +27 -17
  16. package/esm2022/editing/form/form-formfield.component.mjs +97 -70
  17. package/esm2022/editing/form/form.component.mjs +77 -61
  18. package/esm2022/editing/remove-command.directive.mjs +27 -17
  19. package/esm2022/editing/save-command.directive.mjs +27 -17
  20. package/esm2022/excel/excel-command.directive.mjs +27 -17
  21. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +20 -17
  22. package/esm2022/filtering/cell/filter-cell.component.mjs +35 -33
  23. package/esm2022/filtering/filter-row.component.mjs +37 -29
  24. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +34 -31
  25. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +8 -7
  26. package/esm2022/filtering/menu/date-filter-menu.component.mjs +52 -49
  27. package/esm2022/filtering/menu/filter-menu-container.component.mjs +115 -92
  28. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +50 -47
  29. package/esm2022/filtering/menu/string-filter-menu.component.mjs +36 -33
  30. package/esm2022/filtering/multicheckbox-filter.component.mjs +54 -43
  31. package/esm2022/grid.component.mjs +1579 -1483
  32. package/esm2022/grouping/group-header.component.mjs +113 -89
  33. package/esm2022/grouping/group-panel.component.mjs +84 -77
  34. package/esm2022/index.mjs +1 -0
  35. package/esm2022/navigation/navigation.service.mjs +4 -4
  36. package/esm2022/package-metadata.mjs +2 -2
  37. package/esm2022/pdf/pdf-command.directive.mjs +27 -17
  38. package/esm2022/rendering/cell.component.mjs +411 -365
  39. package/esm2022/rendering/common/col-group.component.mjs +25 -15
  40. package/esm2022/rendering/common/loading.component.mjs +23 -19
  41. package/esm2022/rendering/details/detail-template.directive.mjs +6 -4
  42. package/esm2022/rendering/footer/footer.component.mjs +128 -112
  43. package/esm2022/rendering/header/header.component.mjs +414 -353
  44. package/esm2022/rendering/list.component.mjs +227 -204
  45. package/esm2022/rendering/table-body.component.mjs +553 -493
  46. package/esm2022/rendering/toolbar/toolbar.component.mjs +13 -11
  47. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +86 -79
  48. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +54 -51
  49. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +141 -118
  50. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +72 -65
  51. package/fesm2022/progress-kendo-angular-grid.mjs +6462 -5545
  52. package/filtering/menu/date-filter-menu-input.component.d.ts +1 -2
  53. package/filtering/menu/filter-menu-container.component.d.ts +2 -2
  54. package/index.d.ts +1 -0
  55. package/package.json +25 -26
  56. package/rendering/details/detail-template.directive.d.ts +6 -4
  57. package/schematics/ngAdd/index.js +7 -7
  58. package/codemods/template-transformer/index.js +0 -93
@@ -8,7 +8,6 @@ import { FilterDescriptor, CompositeFilterDescriptor } from '@progress/kendo-dat
8
8
  import { ColumnComponent } from "../../columns/column.component";
9
9
  import { FilterService } from '../filter.service';
10
10
  import { SinglePopupService } from '../../common/single-popup.service';
11
- import { DatePickerComponent } from '@progress/kendo-angular-dateinputs';
12
11
  import { CalendarView, DateInputFormatPlaceholder } from '@progress/kendo-angular-dateinputs';
13
12
  import { ContextService } from '../../common/provider.service';
14
13
  import * as i0 from "@angular/core";
@@ -41,7 +40,7 @@ export declare class DateFilterMenuInputComponent implements OnDestroy {
41
40
  private subscription;
42
41
  constructor(popupService: SinglePopupService, ctx: ContextService);
43
42
  ngOnDestroy(): void;
44
- open(picker: DatePickerComponent): void;
43
+ open(): void;
45
44
  messageFor(key: string): string;
46
45
  get columnLabel(): string;
47
46
  static ɵfac: i0.ɵɵFactoryDeclaration<DateFilterMenuInputComponent, never>;
@@ -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 { MenuTabbingService } from './menu-tabbing.service';
6
- import { OnInit, EventEmitter, OnDestroy, ChangeDetectorRef } from '@angular/core';
6
+ import { OnInit, EventEmitter, OnDestroy, ChangeDetectorRef, AfterViewChecked } from '@angular/core';
7
7
  import { CompositeFilterDescriptor, FilterDescriptor } from "@progress/kendo-data-query";
8
8
  import { ColumnComponent } from "../../columns/column.component";
9
9
  import { FilterService } from "../filter.service";
@@ -21,7 +21,7 @@ export declare const parentLogicOfDefault: (filter: any, field: any, def?: strin
21
21
  /**
22
22
  * @hidden
23
23
  */
24
- export declare class FilterMenuContainerComponent implements OnInit, OnDestroy {
24
+ export declare class FilterMenuContainerComponent implements AfterViewChecked, OnInit, OnDestroy {
25
25
  protected parentService: FilterService;
26
26
  childService: FilterService;
27
27
  ctx: ContextService;
package/index.d.ts CHANGED
@@ -260,3 +260,4 @@ export { SizingOptionsService } from './layout/sizing-options.service';
260
260
  export { GridTableDirective } from './rendering/grid-table.directive';
261
261
  export { MenuTabbingService } from './filtering/menu/menu-tabbing.service';
262
262
  export * from './rendering/toolbar/tools/ai-assistant/models';
263
+ export { AdaptiveGridService } from './common/adaptiveness.service';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "21.1.1-develop.2",
3
+ "version": "21.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",
@@ -73,7 +73,7 @@
73
73
  "package": {
74
74
  "productName": "Kendo UI for Angular",
75
75
  "productCode": "KENDOUIANGULAR",
76
- "publishDate": 1763729253,
76
+ "publishDate": 1764593065,
77
77
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
78
78
  }
79
79
  },
@@ -86,35 +86,34 @@
86
86
  "@progress/kendo-data-query": "^1.0.0",
87
87
  "@progress/kendo-drawing": "^1.21.0",
88
88
  "@progress/kendo-licensing": "^1.7.0",
89
- "@progress/kendo-angular-buttons": "21.1.1-develop.2",
90
- "@progress/kendo-angular-common": "21.1.1-develop.2",
91
- "@progress/kendo-angular-dateinputs": "21.1.1-develop.2",
92
- "@progress/kendo-angular-layout": "21.1.1-develop.2",
93
- "@progress/kendo-angular-navigation": "21.1.1-develop.2",
94
- "@progress/kendo-angular-dropdowns": "21.1.1-develop.2",
95
- "@progress/kendo-angular-excel-export": "21.1.1-develop.2",
96
- "@progress/kendo-angular-icons": "21.1.1-develop.2",
97
- "@progress/kendo-angular-indicators": "21.1.1-develop.2",
98
- "@progress/kendo-angular-inputs": "21.1.1-develop.2",
99
- "@progress/kendo-angular-conversational-ui": "21.1.1-develop.2",
100
- "@progress/kendo-angular-intl": "21.1.1-develop.2",
101
- "@progress/kendo-angular-l10n": "21.1.1-develop.2",
102
- "@progress/kendo-angular-label": "21.1.1-develop.2",
103
- "@progress/kendo-angular-menu": "21.1.1-develop.2",
104
- "@progress/kendo-angular-pager": "21.1.1-develop.2",
105
- "@progress/kendo-angular-pdf-export": "21.1.1-develop.2",
106
- "@progress/kendo-angular-popup": "21.1.1-develop.2",
107
- "@progress/kendo-angular-toolbar": "21.1.1-develop.2",
108
- "@progress/kendo-angular-upload": "21.1.1-develop.2",
109
- "@progress/kendo-angular-utils": "21.1.1-develop.2",
89
+ "@progress/kendo-angular-buttons": "21.2.0-develop.10",
90
+ "@progress/kendo-angular-common": "21.2.0-develop.10",
91
+ "@progress/kendo-angular-dateinputs": "21.2.0-develop.10",
92
+ "@progress/kendo-angular-layout": "21.2.0-develop.10",
93
+ "@progress/kendo-angular-navigation": "21.2.0-develop.10",
94
+ "@progress/kendo-angular-dropdowns": "21.2.0-develop.10",
95
+ "@progress/kendo-angular-excel-export": "21.2.0-develop.10",
96
+ "@progress/kendo-angular-icons": "21.2.0-develop.10",
97
+ "@progress/kendo-angular-indicators": "21.2.0-develop.10",
98
+ "@progress/kendo-angular-inputs": "21.2.0-develop.10",
99
+ "@progress/kendo-angular-conversational-ui": "21.2.0-develop.10",
100
+ "@progress/kendo-angular-intl": "21.2.0-develop.10",
101
+ "@progress/kendo-angular-l10n": "21.2.0-develop.10",
102
+ "@progress/kendo-angular-label": "21.2.0-develop.10",
103
+ "@progress/kendo-angular-menu": "21.2.0-develop.10",
104
+ "@progress/kendo-angular-pager": "21.2.0-develop.10",
105
+ "@progress/kendo-angular-pdf-export": "21.2.0-develop.10",
106
+ "@progress/kendo-angular-popup": "21.2.0-develop.10",
107
+ "@progress/kendo-angular-toolbar": "21.2.0-develop.10",
108
+ "@progress/kendo-angular-upload": "21.2.0-develop.10",
109
+ "@progress/kendo-angular-utils": "21.2.0-develop.10",
110
110
  "rxjs": "^6.5.3 || ^7.0.0"
111
111
  },
112
112
  "dependencies": {
113
113
  "tslib": "^2.3.1",
114
- "@progress/kendo-angular-schematics": "21.1.1-develop.2",
114
+ "@progress/kendo-angular-schematics": "21.2.0-develop.10",
115
115
  "@progress/kendo-common": "^1.0.1",
116
- "@progress/kendo-file-saver": "^1.0.0",
117
- "node-html-parser": "^7.0.1"
116
+ "@progress/kendo-file-saver": "^1.0.0"
118
117
  },
119
118
  "schematics": "./schematics/collection.json",
120
119
  "module": "fesm2022/progress-kendo-angular-grid.mjs",
@@ -23,10 +23,12 @@ export type DetailTemplateShowIfFn = (dataItem: any, index: number) => boolean;
23
23
  * <kendo-grid [data]="data" selectable="true" style="height: 160px">
24
24
  * <kendo-grid-column field="ProductName"></kendo-grid-column>
25
25
  * <ng-template kendoGridDetailTemplate let-dataItem>
26
- * <div *ngIf="dataItem.Category">
27
- * <header>{{dataItem.Category?.CategoryName}}</header>
28
- * span>{{dataItem.Category?.Description}}</span>
29
- * </div>
26
+ * @if (dataItem.Category) {
27
+ * <div>
28
+ * <header>{{dataItem.Category?.CategoryName}}</header>
29
+ * <span>{{dataItem.Category?.Description}}</span>
30
+ * </div>
31
+ * }
30
32
  * </ng-template>
31
33
  * </kendo-grid>
32
34
  * ```
@@ -9,19 +9,19 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
11
11
  // peer deps of the dropdowns
12
- '@progress/kendo-angular-treeview': '21.1.1-develop.2',
13
- '@progress/kendo-angular-navigation': '21.1.1-develop.2',
12
+ '@progress/kendo-angular-treeview': '21.2.0-develop.10',
13
+ '@progress/kendo-angular-navigation': '21.2.0-develop.10',
14
14
  // peer dependency of kendo-angular-inputs
15
- '@progress/kendo-angular-dialog': '21.1.1-develop.2',
15
+ '@progress/kendo-angular-dialog': '21.2.0-develop.10',
16
16
  // peer dependency of kendo-angular-icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0',
18
18
  // peer dependency of kendo-angular-layout
19
- '@progress/kendo-angular-progressbar': '21.1.1-develop.2',
19
+ '@progress/kendo-angular-progressbar': '21.2.0-develop.10',
20
20
  // transitive peer dependencies from toolbar
21
- '@progress/kendo-angular-indicators': '21.1.1-develop.2',
21
+ '@progress/kendo-angular-indicators': '21.2.0-develop.10',
22
22
  // transitive peer dependencies from conversational-ui
23
- '@progress/kendo-angular-menu': '21.1.1-develop.2',
24
- '@progress/kendo-angular-upload': '21.1.1-develop.2'
23
+ '@progress/kendo-angular-menu': '21.2.0-develop.10',
24
+ '@progress/kendo-angular-upload': '21.2.0-develop.10'
25
25
  } });
26
26
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
27
27
  }
@@ -1,93 +0,0 @@
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
- "use strict";
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.templateTransformer = templateTransformer;
8
- const node_html_parser_1 = require("node-html-parser");
9
- function templateTransformer(root, j, ...processFns) {
10
- root
11
- .find(j.ClassDeclaration)
12
- .forEach(classPath => {
13
- // Skip if no decorators
14
- const classNode = classPath.node;
15
- if (!classNode.decorators || !classNode.decorators.length)
16
- return;
17
- // Find Component decorator
18
- const componentDecorator = classNode.decorators.find((decorator) => {
19
- if (decorator.expression && decorator.expression.type === 'CallExpression') {
20
- const callee = decorator.expression.callee;
21
- // Handle direct Component identifier
22
- if (callee.type === 'Identifier' && callee.name === 'Component') {
23
- return true;
24
- }
25
- // Handle angular.core.Component or similar
26
- if (callee.type === 'MemberExpression' &&
27
- callee.property &&
28
- callee.property.type === 'Identifier' &&
29
- callee.property.name === 'Component') {
30
- return true;
31
- }
32
- }
33
- return false;
34
- });
35
- if (!componentDecorator || !componentDecorator.expression)
36
- return;
37
- const expression = componentDecorator.expression;
38
- if (expression.type !== 'CallExpression' || !expression.arguments.length)
39
- return;
40
- const componentOptions = expression.arguments[0];
41
- if (componentOptions.type !== 'ObjectExpression')
42
- return;
43
- // Find template and templateUrl properties
44
- const props = componentOptions.properties || [];
45
- const templateProp = props.find((prop) => (prop.key.type === 'Identifier' && prop.key.name === 'template') ||
46
- (prop.key.type === 'StringLiteral' && prop.key.value === 'template'));
47
- // const templateUrlProp = props.find((prop: any) =>
48
- // (prop.key.type === 'Identifier' && prop.key.name === 'templateUrl') ||
49
- // (prop.key.type === 'StringLiteral' && prop.key.value === 'templateUrl')
50
- // );
51
- // Process inline template
52
- if (templateProp) {
53
- // Extract template based on node type
54
- let originalTemplate;
55
- if (templateProp.value.type === 'StringLiteral' || templateProp.value.type === 'Literal') {
56
- originalTemplate = templateProp.value.value;
57
- }
58
- else if (templateProp.value.type === 'TemplateLiteral') {
59
- // For template literals, join quasis
60
- if (templateProp.value.quasis && templateProp.value.quasis.length) {
61
- originalTemplate = templateProp.value.quasis
62
- .map((q) => q.value.cooked || q.value.raw)
63
- .join('');
64
- }
65
- else {
66
- console.warn('Could not process TemplateLiteral properly');
67
- return;
68
- }
69
- }
70
- else {
71
- console.warn(`Unsupported template type: ${templateProp.value.type}`);
72
- return;
73
- }
74
- const root = (0, node_html_parser_1.parse)(originalTemplate);
75
- processFns.forEach(fn => {
76
- fn(root);
77
- });
78
- // Transform template using Angular compiler
79
- const transformedTemplate = root.toString();
80
- if (transformedTemplate !== originalTemplate) {
81
- // Update template property
82
- if (templateProp.value.type === 'TemplateLiteral') {
83
- // For template literals, create a new template literal
84
- templateProp.value = j.templateLiteral([j.templateElement({ cooked: transformedTemplate, raw: transformedTemplate }, true)], []);
85
- }
86
- else {
87
- // For string literals, update the value
88
- templateProp.value.value = transformedTemplate;
89
- }
90
- }
91
- }
92
- });
93
- }