@progress/kendo-angular-grid 19.0.0-develop.9 → 19.0.1-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 (133) hide show
  1. package/adaptiveness/adaptive-mode.d.ts +12 -0
  2. package/adaptiveness/adaptive-renderer.component.d.ts +89 -0
  3. package/codemods/template-transformer/index.js +94 -0
  4. package/codemods/utils.js +553 -0
  5. package/codemods/v19/grid-kendogridgroupbinding.js +51 -0
  6. package/column-menu/column-chooser.component.d.ts +4 -0
  7. package/column-menu/column-list.component.d.ts +10 -3
  8. package/column-menu/column-menu-item.component.d.ts +48 -3
  9. package/column-menu/column-menu-item.directive.d.ts +5 -2
  10. package/column-menu/column-menu.component.d.ts +4 -2
  11. package/columns/column-base.d.ts +5 -0
  12. package/columns/span-column.component.d.ts +2 -2
  13. package/common/adaptiveness.service.d.ts +50 -0
  14. package/common/single-popup.service.d.ts +3 -1
  15. package/common/toolbar-tool-base.directive.d.ts +26 -0
  16. package/directives.d.ts +13 -5
  17. package/editing/add-command-tool.directive.d.ts +7 -6
  18. package/editing/cancel-command-tool.directive.d.ts +38 -0
  19. package/editing/edit-command-tool.directive.d.ts +38 -0
  20. package/editing/edit.service.d.ts +1 -1
  21. package/editing/remove-command-tool.directive.d.ts +39 -0
  22. package/editing/save-command-tool.directive.d.ts +38 -0
  23. package/editing/toolbar-editing-tool-base.directive.d.ts +29 -0
  24. package/editing-directives/editing-directive-base.d.ts +4 -1
  25. package/editing-directives/external-editing.directive.d.ts +3 -1
  26. package/esm2022/adaptiveness/adaptive-mode.mjs +5 -0
  27. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +1197 -0
  28. package/esm2022/column-menu/column-chooser.component.mjs +13 -11
  29. package/esm2022/column-menu/column-list.component.mjs +51 -8
  30. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +1 -1
  31. package/esm2022/column-menu/column-menu-autosize.component.mjs +1 -1
  32. package/esm2022/column-menu/column-menu-chooser.component.mjs +1 -1
  33. package/esm2022/column-menu/column-menu-container.component.mjs +1 -1
  34. package/esm2022/column-menu/column-menu-filter.component.mjs +1 -1
  35. package/esm2022/column-menu/column-menu-item.component.mjs +123 -12
  36. package/esm2022/column-menu/column-menu-item.directive.mjs +14 -5
  37. package/esm2022/column-menu/column-menu-lock.component.mjs +1 -1
  38. package/esm2022/column-menu/column-menu-position.component.mjs +1 -1
  39. package/esm2022/column-menu/column-menu-sort.component.mjs +1 -1
  40. package/esm2022/column-menu/column-menu-stick.component.mjs +1 -1
  41. package/esm2022/column-menu/column-menu.component.mjs +68 -44
  42. package/esm2022/column-resizing/column-handle.directive.mjs +2 -2
  43. package/esm2022/columns/column-base.mjs +9 -0
  44. package/esm2022/columns/columns-container.mjs +1 -1
  45. package/esm2022/columns/span-column.component.mjs +9 -9
  46. package/esm2022/common/adaptiveness.service.mjs +72 -0
  47. package/esm2022/common/single-popup.service.mjs +9 -3
  48. package/esm2022/common/toolbar-tool-base.directive.mjs +81 -0
  49. package/esm2022/directives.mjs +21 -4
  50. package/esm2022/editing/add-command-tool.directive.mjs +12 -15
  51. package/esm2022/editing/cancel-command-tool.directive.mjs +64 -0
  52. package/esm2022/editing/edit-command-tool.directive.mjs +59 -0
  53. package/esm2022/editing/remove-command-tool.directive.mjs +60 -0
  54. package/esm2022/editing/remove-command.directive.mjs +1 -0
  55. package/esm2022/editing/save-command-tool.directive.mjs +64 -0
  56. package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +94 -0
  57. package/esm2022/editing-directives/editing-directive-base.mjs +5 -2
  58. package/esm2022/editing-directives/external-editing.directive.mjs +28 -14
  59. package/esm2022/excel/excel-command-tool.directive.mjs +12 -17
  60. package/esm2022/filtering/filter-input.directive.mjs +14 -2
  61. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +4 -2
  62. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +4 -0
  63. package/esm2022/filtering/menu/date-filter-menu.component.mjs +6 -0
  64. package/esm2022/filtering/menu/filter-menu-container.component.mjs +24 -10
  65. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +26 -4
  66. package/esm2022/filtering/menu/filter-menu.component.mjs +44 -29
  67. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +2 -0
  68. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +6 -0
  69. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +2 -0
  70. package/esm2022/filtering/menu/string-filter-menu.component.mjs +10 -1
  71. package/esm2022/grid.component.mjs +376 -82
  72. package/esm2022/grid.module.mjs +115 -101
  73. package/esm2022/index.mjs +11 -1
  74. package/esm2022/localization/messages.mjs +128 -2
  75. package/esm2022/navigation/toolbar-tool-name.mjs +17 -0
  76. package/esm2022/package-metadata.mjs +2 -2
  77. package/esm2022/pdf/pdf-command-tool.directive.mjs +12 -15
  78. package/esm2022/rendering/cell.component.mjs +3 -3
  79. package/esm2022/rendering/header/header.component.mjs +1 -1
  80. package/esm2022/rendering/list.component.mjs +1 -1
  81. package/esm2022/rendering/table-body.component.mjs +1 -1
  82. package/esm2022/rendering/toolbar/tools/column-chooser-tool.directive.mjs +210 -0
  83. package/esm2022/rendering/toolbar/tools/filter-command-tool.directive.mjs +69 -34
  84. package/esm2022/rendering/toolbar/tools/filter-tool-wrapper.component.mjs +29 -8
  85. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +78 -8
  86. package/esm2022/rendering/toolbar/tools/group-command-tool.directive.mjs +206 -0
  87. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +425 -0
  88. package/esm2022/rendering/toolbar/tools/sort-command-tool.directive.mjs +54 -20
  89. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +24 -8
  90. package/esm2022/selection/selection.service.mjs +11 -0
  91. package/esm2022/state-management/grid-state.models.mjs +26 -0
  92. package/esm2022/state-management/redo-command-tool.mjs +66 -0
  93. package/esm2022/state-management/undo-command-tool.mjs +66 -0
  94. package/esm2022/state-management/undo-redo.directive.mjs +178 -0
  95. package/esm2022/state-management/undo-redo.service.mjs +22 -0
  96. package/esm2022/state-management/undo-redo.stack.mjs +232 -0
  97. package/esm2022/utils.mjs +13 -13
  98. package/excel/excel-command-tool.directive.d.ts +5 -5
  99. package/fesm2022/progress-kendo-angular-grid.mjs +7384 -3773
  100. package/filtering/filter-input.directive.d.ts +1 -0
  101. package/filtering/menu/date-filter-menu-input.component.d.ts +1 -1
  102. package/filtering/menu/filter-menu-container.component.d.ts +15 -4
  103. package/filtering/menu/filter-menu-input-wrapper.component.d.ts +8 -3
  104. package/filtering/menu/filter-menu.component.d.ts +6 -3
  105. package/filtering/menu/numeric-filter-menu-input.component.d.ts +1 -1
  106. package/filtering/menu/string-filter-menu-input.component.d.ts +1 -1
  107. package/filtering/menu/string-filter-menu.component.d.ts +1 -0
  108. package/grid.component.d.ts +86 -33
  109. package/grid.module.d.ts +108 -100
  110. package/index.d.ts +10 -1
  111. package/localization/messages.d.ts +86 -2
  112. package/navigation/toolbar-tool-name.d.ts +17 -0
  113. package/package.json +35 -20
  114. package/pdf/pdf-command-tool.directive.d.ts +6 -5
  115. package/rendering/cell.component.d.ts +1 -1
  116. package/{column-menu → rendering/toolbar/tools}/column-chooser-tool.directive.d.ts +18 -6
  117. package/rendering/toolbar/tools/filter-command-tool.directive.d.ts +10 -1
  118. package/rendering/toolbar/tools/filter-tool-wrapper.component.d.ts +6 -5
  119. package/rendering/toolbar/tools/filter-toolbar-tool.component.d.ts +11 -2
  120. package/rendering/toolbar/tools/group-command-tool.directive.d.ts +51 -0
  121. package/rendering/toolbar/tools/group-toolbar-tool.component.d.ts +61 -0
  122. package/rendering/toolbar/tools/sort-command-tool.directive.d.ts +10 -1
  123. package/rendering/toolbar/tools/sort-toolbar-tool.component.d.ts +5 -1
  124. package/schematics/ngAdd/index.js +4 -4
  125. package/selection/selection.service.d.ts +1 -0
  126. package/state-management/grid-state.models.d.ts +58 -0
  127. package/state-management/redo-command-tool.d.ts +38 -0
  128. package/state-management/undo-command-tool.d.ts +38 -0
  129. package/state-management/undo-redo.directive.d.ts +51 -0
  130. package/state-management/undo-redo.service.d.ts +19 -0
  131. package/state-management/undo-redo.stack.d.ts +104 -0
  132. package/utils.d.ts +11 -5
  133. package/esm2022/column-menu/column-chooser-tool.directive.mjs +0 -172
@@ -0,0 +1,12 @@
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
+ * Specifies the adaptive rendering of the component.
7
+ *
8
+ * The supported values are:
9
+ * * `none`—(default)
10
+ * * `auto`
11
+ */
12
+ export type AdaptiveMode = 'none' | 'auto';
@@ -0,0 +1,89 @@
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 { ViewContainerRef } from '@angular/core';
6
+ import { AdaptiveGridService } from '../common/adaptiveness.service';
7
+ import { ActionSheetComponent } from '@progress/kendo-angular-navigation';
8
+ import { FilterMenuContainerComponent } from '../filtering/menu/filter-menu-container.component';
9
+ import { SVGIcon } from '@progress/kendo-svg-icons';
10
+ import { FilterService } from '../filtering/filter.service';
11
+ import { ColumnMenuService } from '../column-menu/column-menu.service';
12
+ import { ColumnListComponent } from '../column-menu/column-list.component';
13
+ import { ContextService } from '../common/provider.service';
14
+ import { AdaptiveService } from '@progress/kendo-angular-utils';
15
+ import { SortService } from '../common/sort.service';
16
+ import { ColumnComponent } from '../columns/column.component';
17
+ import { ColumnInfoService } from '../common/column-info.service';
18
+ import { ColumnBase } from '../columns/column-base';
19
+ import { SortDescriptor } from '@progress/kendo-data-query';
20
+ import { GroupToolbarToolComponent } from '../rendering/toolbar/tools/group-toolbar-tool.component';
21
+ import * as i0 from "@angular/core";
22
+ /**
23
+ * @hidden
24
+ */
25
+ export declare class AdaptiveRendererComponent {
26
+ service: ColumnMenuService;
27
+ adaptiveGridService: AdaptiveGridService;
28
+ private filterService;
29
+ ctx: ContextService;
30
+ adaptiveService: AdaptiveService;
31
+ private sortService;
32
+ private columnInfoService;
33
+ xIcon: SVGIcon;
34
+ checkIcon: SVGIcon;
35
+ filterIcon: SVGIcon;
36
+ arrowRotateCcwIcon: SVGIcon;
37
+ chevronLeft: SVGIcon;
38
+ filterClearIcon: SVGIcon;
39
+ cancelIcon: SVGIcon;
40
+ saveIcon: SVGIcon;
41
+ columns: Array<ColumnBase>;
42
+ actionsClass: string;
43
+ externalEditingSettings: any;
44
+ get hasSort(): boolean;
45
+ get hasColumnChooser(): boolean;
46
+ get hasFilter(): boolean;
47
+ get hasAutoSizeColumn(): boolean;
48
+ get hasAutoSizeAllColumns(): boolean;
49
+ get hasLock(): boolean;
50
+ get hasStick(): boolean;
51
+ get hasPosition(): boolean;
52
+ getColumnComponent(column: ColumnBase): ColumnComponent;
53
+ get hasTitle(): boolean;
54
+ get hasSubtitle(): boolean;
55
+ get actionSheetTitle(): string;
56
+ get adaptiveFilterTitle(): string;
57
+ get columnMenuTitle(): string;
58
+ get filterLabel(): string;
59
+ get hasXCloseIcon(): boolean;
60
+ get hasCheckCloseIcon(): boolean;
61
+ columnList: ColumnListComponent;
62
+ filterToolbarToolTemplate: ViewContainerRef;
63
+ filterMenuContainer: FilterMenuContainerComponent;
64
+ actionSheet: ActionSheetComponent;
65
+ set groupToolbarTool(value: GroupToolbarToolComponent);
66
+ private adaptiveSizeChangeSubscription;
67
+ constructor(service: ColumnMenuService, adaptiveGridService: AdaptiveGridService, filterService: FilterService, ctx: ContextService, adaptiveService: AdaptiveService, sortService: SortService, columnInfoService: ColumnInfoService);
68
+ ngOnInit(): void;
69
+ ngOnDestroy(): void;
70
+ messageFor: (token: string) => string;
71
+ close(): void;
72
+ prevView(): void;
73
+ clearFilters(): void;
74
+ navigateToColumnsView(): void;
75
+ navigateToFilterView(): void;
76
+ navigateToPositionView(): void;
77
+ applyChanges(): void;
78
+ sortBy(column: ColumnBase): void;
79
+ toggleSort(column: ColumnBase): void;
80
+ getDescriptor(column: ColumnBase): SortDescriptor[];
81
+ clearSorting(): void;
82
+ clearGrouping(): void;
83
+ onAnimationEnd(): void;
84
+ cancelChanges(): void;
85
+ onTab(event: KeyboardEvent): void;
86
+ saveEditing(): void;
87
+ static ɵfac: i0.ɵɵFactoryDeclaration<AdaptiveRendererComponent, never>;
88
+ static ɵcmp: i0.ɵɵComponentDeclaration<AdaptiveRendererComponent, "kendo-grid-adaptive-renderer", never, {}, {}, never, never, true, never>;
89
+ }
@@ -0,0 +1,94 @@
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 = void 0;
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
+ }
94
+ exports.templateTransformer = templateTransformer;