@progress/kendo-angular-grid 20.1.0-develop.2 → 20.1.0-develop.21

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 (62) hide show
  1. package/column-menu/column-list.component.d.ts +0 -2
  2. package/columns/column.component.d.ts +8 -1
  3. package/columns/command-column.component.d.ts +1 -1
  4. package/columns/span-column.component.d.ts +1 -1
  5. package/editing/cancel-command.directive.d.ts +1 -1
  6. package/editing/edit-row-options.interface.d.ts +1 -1
  7. package/editing/edit-template.directive.d.ts +1 -1
  8. package/editing/remove-command.directive.d.ts +1 -1
  9. package/editing/save-command.directive.d.ts +1 -1
  10. package/editing-directives/edit-service.interface.d.ts +2 -2
  11. package/editing-directives/external-editing.directive.d.ts +1 -1
  12. package/editing-directives/in-cell-editing.directive.d.ts +1 -1
  13. package/editing-directives/reactive-editing.directive.d.ts +1 -1
  14. package/editing-directives/template-editing.directive.d.ts +1 -1
  15. package/esm2022/column-menu/column-list-kb-nav.service.mjs +1 -1
  16. package/esm2022/column-menu/column-list.component.mjs +7 -43
  17. package/esm2022/column-menu/column-menu-container.component.mjs +10 -1
  18. package/esm2022/column-menu/column-menu.component.mjs +7 -1
  19. package/esm2022/columns/column.component.mjs +9 -1
  20. package/esm2022/columns/command-column.component.mjs +1 -1
  21. package/esm2022/columns/span-column.component.mjs +1 -1
  22. package/esm2022/common/clipboard.directive.mjs +3 -0
  23. package/esm2022/editing/cancel-command.directive.mjs +1 -1
  24. package/esm2022/editing/edit-template.directive.mjs +1 -1
  25. package/esm2022/editing/remove-command.directive.mjs +1 -1
  26. package/esm2022/editing/save-command.directive.mjs +1 -1
  27. package/esm2022/editing-directives/external-editing.directive.mjs +1 -1
  28. package/esm2022/editing-directives/in-cell-editing.directive.mjs +1 -1
  29. package/esm2022/editing-directives/reactive-editing.directive.mjs +1 -1
  30. package/esm2022/editing-directives/template-editing.directive.mjs +1 -1
  31. package/esm2022/filtering/menu/filter-menu-container.component.mjs +120 -31
  32. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +2 -2
  33. package/esm2022/filtering/menu/filter-menu.component.mjs +11 -7
  34. package/esm2022/filtering/multicheckbox-filter.component.mjs +268 -0
  35. package/esm2022/grid.component.mjs +21 -3
  36. package/esm2022/index.mjs +1 -0
  37. package/esm2022/localization/messages.mjs +28 -1
  38. package/esm2022/navigation/logical-cell.directive.mjs +8 -2
  39. package/esm2022/navigation/navigation.service.mjs +1 -0
  40. package/esm2022/package-metadata.mjs +2 -2
  41. package/esm2022/rendering/common/field-accessor.pipe.mjs +1 -1
  42. package/esm2022/rendering/common/format.pipe.mjs +37 -0
  43. package/esm2022/rendering/header/header.component.mjs +1 -1
  44. package/esm2022/rendering/list.component.mjs +18 -2
  45. package/esm2022/rendering/toolbar/tools/column-chooser-tool.directive.mjs +1 -1
  46. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +1 -1
  47. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +2 -2
  48. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +1 -1
  49. package/esm2022/scrolling/scroller.service.mjs +0 -3
  50. package/fesm2022/progress-kendo-angular-grid.mjs +556 -132
  51. package/filtering/filterable.d.ts +23 -0
  52. package/filtering/menu/filter-menu-container.component.d.ts +5 -1
  53. package/filtering/menu/filter-menu.component.d.ts +3 -4
  54. package/filtering/multicheckbox-filter.component.d.ts +41 -0
  55. package/grid.component.d.ts +3 -3
  56. package/index.d.ts +1 -0
  57. package/localization/messages.d.ts +22 -1
  58. package/navigation/navigation.service.d.ts +1 -0
  59. package/package.json +21 -21
  60. package/rendering/common/format.pipe.d.ts +17 -0
  61. package/rendering/list.component.d.ts +1 -0
  62. package/schematics/ngAdd/index.js +4 -4
@@ -16,6 +16,29 @@
16
16
  * ```
17
17
  */
18
18
  export type FilterableSettings = boolean | 'row' | 'menu' | 'menu, row';
19
+ /**
20
+ * Configures the supported UI variants for the column's filter menu.
21
+ *
22
+ * The possible values are:
23
+ * - `default`—Renders the standard filter UI (e.g. text, numeric, date inputs with operator pickers).
24
+ * - `multiCheckbox`—Renders a list of distinct column values with checkboxes for inclusion/exclusion filtering.
25
+ */
26
+ export type FilterVariant = 'default' | 'multiCheckbox';
27
+ export interface FilterVariantSettings {
28
+ /**
29
+ * Specifies the filter menu variant.
30
+ */
31
+ variant: FilterVariant;
32
+ /**
33
+ * Specifies if the search input is displayed. By default the input is visible.
34
+ */
35
+ search?: boolean;
36
+ /**
37
+ * Allows providing custom set of filter list values. Each entry must include a field matching the target column's field.
38
+ * By default, the filter list is populated with unique values from the Grid's data, taking into account their format as well (if present).
39
+ */
40
+ data?: Array<any>;
41
+ }
19
42
  /**
20
43
  * @hidden
21
44
  */
@@ -57,11 +57,11 @@ export declare class FilterMenuContainerComponent implements OnInit, OnDestroy {
57
57
  actionsClass: string;
58
58
  get childFilter(): CompositeFilterDescriptor;
59
59
  private resetButton;
60
- private filterButton;
61
60
  private _childFilter;
62
61
  private subscription;
63
62
  private _templateContext;
64
63
  private _filter;
64
+ private checkboxFilter;
65
65
  constructor(parentService: FilterService, childService: FilterService, ctx: ContextService, cd: ChangeDetectorRef, menuTabbingService: MenuTabbingService, adaptiveGridService: AdaptiveGridService);
66
66
  ngOnInit(): void;
67
67
  ngAfterViewChecked(): void;
@@ -73,8 +73,12 @@ export declare class FilterMenuContainerComponent implements OnInit, OnDestroy {
73
73
  reset(): void;
74
74
  resetChildFilters(): void;
75
75
  onTab(e: Event, buttonType: string): void;
76
+ onCheckboxFilterChange(filter: CompositeFilterDescriptor): void;
77
+ getButtonIcon(buttonType: string, iconType: 'icon' | 'svgIcon'): any;
76
78
  get clearText(): string;
77
79
  get filterText(): string;
80
+ get isMultiFilter(): boolean;
81
+ private get areFiltersEqual();
78
82
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterMenuContainerComponent, [{ skipSelf: true; }, null, null, null, null, null]>;
79
83
  static ɵcmp: i0.ɵɵComponentDeclaration<FilterMenuContainerComponent, "kendo-grid-filter-menu-container", never, { "column": { "alias": "column"; "required": false; }; "isLast": { "alias": "isLast"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "menuTabbingService": { "alias": "menuTabbingService"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "actionsClass": { "alias": "actionsClass"; "required": false; }; }, { "close": "close"; }, never, never, true, never>;
80
84
  }
@@ -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 { NavigationService } from './../../navigation/navigation.service';
6
- import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, Renderer2, TemplateRef } from '@angular/core';
6
+ import { ChangeDetectorRef, ElementRef, OnDestroy, Renderer2, TemplateRef } from '@angular/core';
7
7
  import { FilterService } from "../filter.service";
8
8
  import { CompositeFilterDescriptor } from "@progress/kendo-data-query";
9
9
  import { ColumnComponent } from '../../columns/column.component';
@@ -25,7 +25,6 @@ export declare class FilterMenuComponent implements OnDestroy {
25
25
  protected renderer: Renderer2;
26
26
  protected cdr: ChangeDetectorRef;
27
27
  adaptiveGridService: AdaptiveGridService;
28
- private zone;
29
28
  protected idService: IdService;
30
29
  filterIcon: SVGIcon;
31
30
  /**
@@ -43,7 +42,7 @@ export declare class FilterMenuComponent implements OnDestroy {
43
42
  tabIndex: string;
44
43
  popupRef: PopupRef;
45
44
  private popupSubs;
46
- constructor(filterService: FilterService, popupService: SinglePopupService, ctx: ContextService, navigationService: NavigationService, renderer: Renderer2, cdr: ChangeDetectorRef, adaptiveGridService: AdaptiveGridService, zone: NgZone, idService: IdService);
45
+ constructor(filterService: FilterService, popupService: SinglePopupService, ctx: ContextService, navigationService: NavigationService, renderer: Renderer2, cdr: ChangeDetectorRef, adaptiveGridService: AdaptiveGridService, idService: IdService);
47
46
  ngOnDestroy(): void;
48
47
  get hasFilters(): boolean;
49
48
  /**
@@ -59,6 +58,6 @@ export declare class FilterMenuComponent implements OnDestroy {
59
58
  private updateAria;
60
59
  private cleanUp;
61
60
  private focusRoot;
62
- static ɵfac: i0.ɵɵFactoryDeclaration<FilterMenuComponent, [null, null, null, null, null, null, null, null, { optional: true; }]>;
61
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterMenuComponent, [null, null, null, null, null, null, null, { optional: true; }]>;
63
62
  static ɵcmp: i0.ɵɵComponentDeclaration<FilterMenuComponent, "kendo-grid-filter-menu", never, { "column": { "alias": "column"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, {}, never, never, true, never>;
64
63
  }
@@ -0,0 +1,41 @@
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 { EventEmitter, OnInit, OnDestroy } from '@angular/core';
6
+ import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
7
+ import { SVGIcon } from '@progress/kendo-svg-icons';
8
+ import { ContextService } from '../common/provider.service';
9
+ import { LocalDataChangesService } from '../editing/local-data-changes.service';
10
+ import { FilterVariantSettings } from './filterable';
11
+ import * as i0 from "@angular/core";
12
+ /**
13
+ * @hidden
14
+ */
15
+ export declare class MultiCheckboxFilterComponent implements OnInit, OnDestroy {
16
+ private ctx;
17
+ private dataChangesService;
18
+ column: any;
19
+ filterChange: EventEmitter<CompositeFilterDescriptor>;
20
+ constructor(ctx: ContextService, dataChangesService: LocalDataChangesService);
21
+ listData: any[];
22
+ searchIcon: SVGIcon;
23
+ showSelectAll: boolean;
24
+ currentlySelected: Set<any>;
25
+ private isSearched;
26
+ private currentFilter;
27
+ private typingTimeout;
28
+ ngOnInit(): void;
29
+ ngOnDestroy(): void;
30
+ isItemSelected(item: any): boolean;
31
+ onSearch(value: string): void;
32
+ handleCheckBoxChange(checkedState: any, value: any, selectAllChecked?: boolean): void;
33
+ get filteredGridData(): any[];
34
+ get selectAllChecked(): any;
35
+ get gridData(): any[];
36
+ get normalizedFilterVariant(): FilterVariantSettings;
37
+ get selectedItemsMessage(): string;
38
+ messageFor(key: string): string;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<MultiCheckboxFilterComponent, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<MultiCheckboxFilterComponent, "kendo-grid-multicheckbox-filter", never, { "column": { "alias": "column"; "required": false; }; }, { "filterChange": "filterChange"; }, never, never, true, never>;
41
+ }
@@ -219,7 +219,7 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
219
219
  */
220
220
  selectable: SelectableSettings | boolean;
221
221
  /**
222
- * Sets the descriptors for sorting the data ([see example]({% slug sorting_grid %})).
222
+ * Sets the descriptors for sorting the data ([see example](slug:manual_sorting_grid)).
223
223
  */
224
224
  set sort(value: Array<SortDescriptor> | null | undefined);
225
225
  get sort(): Array<SortDescriptor> | null | undefined;
@@ -238,11 +238,11 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
238
238
  */
239
239
  trackBy: TrackByFunction<GridItem>;
240
240
  /**
241
- * Sets the filter descriptor for the data ([see examples]({% slug filtering_grid %})).
241
+ * Sets the filter descriptor for the data ([see examples](slug:manual_filtering_grid)).
242
242
  */
243
243
  filter: CompositeFilterDescriptor | null | undefined;
244
244
  /**
245
- * Sets the descriptors for grouping the data ([see example]({% slug grouping_grid %})).
245
+ * Sets the descriptors for grouping the data ([see example](slug:manual_grouping_grid)).
246
246
  */
247
247
  set group(value: Array<GroupDescriptor> | null | undefined);
248
248
  get group(): Array<GroupDescriptor> | null | undefined;
package/index.d.ts CHANGED
@@ -48,6 +48,7 @@ export { EditService } from './editing-directives/edit-service.interface';
48
48
  export { EditService as EditServiceClass } from './editing/edit.service';
49
49
  export { NumericFilterComponent } from './filtering/numeric-filter.component';
50
50
  export { StringFilterComponent } from './filtering/string-filter.component';
51
+ export { MultiCheckboxFilterComponent } from './filtering/multicheckbox-filter.component';
51
52
  export { GroupInfoService } from './grouping/group-info.service';
52
53
  export { GroupsService } from './grouping/groups.service';
53
54
  export { BrowserSupportService } from './layout/browser-support.service';
@@ -581,6 +581,27 @@ export declare class GridMessages extends ComponentMessages {
581
581
  * Sets the text for the external editing Dialog <b>Cancel</b> button.
582
582
  */
583
583
  externalEditingCancelText: string;
584
+ /**
585
+ * The placeholder text for the multi-checkbox filter search input
586
+ */
587
+ multiCheckboxFilterSearchPlaceholder: string;
588
+ /**
589
+ * The label for the multi-checkbox filter select all option
590
+ */
591
+ multiCheckboxFilterSelectAllLabel: string;
592
+ /**
593
+ * The text for the multi-checkbox filter selected items count
594
+ *
595
+ * The text includes the selected items count and a localizable string.
596
+ * For 3 selected items the default text is `3 selected items`.
597
+ *
598
+ * To customize the text, use the `{selectedItemsCount}` placeholder and a custom localizable string.
599
+ * For example, `{selectedItemsCount} items are selected`.
600
+ *
601
+ * The `{selectedItemsCount}` placeholder is replaced with the count of selected items,
602
+ * and the message is rendered as `3 items are selected`.
603
+ */
604
+ multiCheckboxFilterSelectedItemsCount: string;
584
605
  static ɵfac: i0.ɵɵFactoryDeclaration<GridMessages, never>;
585
- static ɵdir: i0.ɵɵDirectiveDeclaration<GridMessages, "kendo-grid-messages-base", never, { "groupPanelEmpty": { "alias": "groupPanelEmpty"; "required": false; }; "noRecords": { "alias": "noRecords"; "required": false; }; "pagerLabel": { "alias": "pagerLabel"; "required": false; }; "pagerFirstPage": { "alias": "pagerFirstPage"; "required": false; }; "pagerLastPage": { "alias": "pagerLastPage"; "required": false; }; "pagerPreviousPage": { "alias": "pagerPreviousPage"; "required": false; }; "pagerNextPage": { "alias": "pagerNextPage"; "required": false; }; "pagerPage": { "alias": "pagerPage"; "required": false; }; "pagerItemsPerPage": { "alias": "pagerItemsPerPage"; "required": false; }; "pagerOf": { "alias": "pagerOf"; "required": false; }; "pagerItems": { "alias": "pagerItems"; "required": false; }; "pagerPageNumberInputTitle": { "alias": "pagerPageNumberInputTitle"; "required": false; }; "pagerInputLabel": { "alias": "pagerInputLabel"; "required": false; }; "pagerSelectPage": { "alias": "pagerSelectPage"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "filterInputLabel": { "alias": "filterInputLabel"; "required": false; }; "filterMenuTitle": { "alias": "filterMenuTitle"; "required": false; }; "filterMenuOperatorsDropDownLabel": { "alias": "filterMenuOperatorsDropDownLabel"; "required": false; }; "filterMenuLogicDropDownLabel": { "alias": "filterMenuLogicDropDownLabel"; "required": false; }; "filterCellOperatorLabel": { "alias": "filterCellOperatorLabel"; "required": false; }; "booleanFilterCellLabel": { "alias": "booleanFilterCellLabel"; "required": false; }; "aiAssistantApplyButtonText": { "alias": "aiAssistantApplyButtonText"; "required": false; }; "aiAssistantToolbarToolText": { "alias": "aiAssistantToolbarToolText"; "required": false; }; "aiAssistantWindowTitle": { "alias": "aiAssistantWindowTitle"; "required": false; }; "aiAssistantWindowCloseTitle": { "alias": "aiAssistantWindowCloseTitle"; "required": false; }; "aiAssistantOutputCardTitle": { "alias": "aiAssistantOutputCardTitle"; "required": false; }; "aiAssistantOutputCardBodyContent": { "alias": "aiAssistantOutputCardBodyContent"; "required": false; }; "aiAssistantWindowMaximizeTitle": { "alias": "aiAssistantWindowMaximizeTitle"; "required": false; }; "aiAssistantWindowMinimizeTitle": { "alias": "aiAssistantWindowMinimizeTitle"; "required": false; }; "aiAssistantWindowRestoreTitle": { "alias": "aiAssistantWindowRestoreTitle"; "required": false; }; "filterEqOperator": { "alias": "filterEqOperator"; "required": false; }; "filterNotEqOperator": { "alias": "filterNotEqOperator"; "required": false; }; "filterIsNullOperator": { "alias": "filterIsNullOperator"; "required": false; }; "filterIsNotNullOperator": { "alias": "filterIsNotNullOperator"; "required": false; }; "filterIsEmptyOperator": { "alias": "filterIsEmptyOperator"; "required": false; }; "filterIsNotEmptyOperator": { "alias": "filterIsNotEmptyOperator"; "required": false; }; "filterStartsWithOperator": { "alias": "filterStartsWithOperator"; "required": false; }; "filterContainsOperator": { "alias": "filterContainsOperator"; "required": false; }; "filterNotContainsOperator": { "alias": "filterNotContainsOperator"; "required": false; }; "filterEndsWithOperator": { "alias": "filterEndsWithOperator"; "required": false; }; "filterGteOperator": { "alias": "filterGteOperator"; "required": false; }; "filterGtOperator": { "alias": "filterGtOperator"; "required": false; }; "filterLteOperator": { "alias": "filterLteOperator"; "required": false; }; "filterLtOperator": { "alias": "filterLtOperator"; "required": false; }; "filterIsTrue": { "alias": "filterIsTrue"; "required": false; }; "filterIsFalse": { "alias": "filterIsFalse"; "required": false; }; "filterBooleanAll": { "alias": "filterBooleanAll"; "required": false; }; "adaptiveFilterOperatorsTitle": { "alias": "adaptiveFilterOperatorsTitle"; "required": false; }; "filterAfterOrEqualOperator": { "alias": "filterAfterOrEqualOperator"; "required": false; }; "filterAfterOperator": { "alias": "filterAfterOperator"; "required": false; }; "filterBeforeOperator": { "alias": "filterBeforeOperator"; "required": false; }; "filterBeforeOrEqualOperator": { "alias": "filterBeforeOrEqualOperator"; "required": false; }; "filterFilterButton": { "alias": "filterFilterButton"; "required": false; }; "filterClearButton": { "alias": "filterClearButton"; "required": false; }; "adaptiveCloseButtonTitle": { "alias": "adaptiveCloseButtonTitle"; "required": false; }; "adaptiveBackButtonTitle": { "alias": "adaptiveBackButtonTitle"; "required": false; }; "filterAndLogic": { "alias": "filterAndLogic"; "required": false; }; "filterOrLogic": { "alias": "filterOrLogic"; "required": false; }; "filterToolbarToolText": { "alias": "filterToolbarToolText"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "gridLabel": { "alias": "gridLabel"; "required": false; }; "columnMenu": { "alias": "columnMenu"; "required": false; }; "setColumnPosition": { "alias": "setColumnPosition"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "columnChooserSelectedColumnsCount": { "alias": "columnChooserSelectedColumnsCount"; "required": false; }; "columnsSubtitle": { "alias": "columnsSubtitle"; "required": false; }; "adaptiveFilterTitle": { "alias": "adaptiveFilterTitle"; "required": false; }; "adaptiveSortTitle": { "alias": "adaptiveSortTitle"; "required": false; }; "adaptiveGroupTitle": { "alias": "adaptiveGroupTitle"; "required": false; }; "filterClearAllButton": { "alias": "filterClearAllButton"; "required": false; }; "groupClearButton": { "alias": "groupClearButton"; "required": false; }; "sortClearButton": { "alias": "sortClearButton"; "required": false; }; "sortDoneButton": { "alias": "sortDoneButton"; "required": false; }; "groupDoneButton": { "alias": "groupDoneButton"; "required": false; }; "lock": { "alias": "lock"; "required": false; }; "unlock": { "alias": "unlock"; "required": false; }; "stick": { "alias": "stick"; "required": false; }; "unstick": { "alias": "unstick"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "sortAscending": { "alias": "sortAscending"; "required": false; }; "sortDescending": { "alias": "sortDescending"; "required": false; }; "autosizeThisColumn": { "alias": "autosizeThisColumn"; "required": false; }; "autosizeAllColumns": { "alias": "autosizeAllColumns"; "required": false; }; "sortedAscending": { "alias": "sortedAscending"; "required": false; }; "sortedDescending": { "alias": "sortedDescending"; "required": false; }; "sortedDefault": { "alias": "sortedDefault"; "required": false; }; "sortToolbarToolText": { "alias": "sortToolbarToolText"; "required": false; }; "columnsApply": { "alias": "columnsApply"; "required": false; }; "columnsReset": { "alias": "columnsReset"; "required": false; }; "detailExpand": { "alias": "detailExpand"; "required": false; }; "detailCollapse": { "alias": "detailCollapse"; "required": false; }; "filterDateToday": { "alias": "filterDateToday"; "required": false; }; "filterDateToggle": { "alias": "filterDateToggle"; "required": false; }; "filterNumericDecrement": { "alias": "filterNumericDecrement"; "required": false; }; "filterNumericIncrement": { "alias": "filterNumericIncrement"; "required": false; }; "selectionCheckboxLabel": { "alias": "selectionCheckboxLabel"; "required": false; }; "selectAllCheckboxLabel": { "alias": "selectAllCheckboxLabel"; "required": false; }; "groupCollapse": { "alias": "groupCollapse"; "required": false; }; "groupExpand": { "alias": "groupExpand"; "required": false; }; "topToolbarLabel": { "alias": "topToolbarLabel"; "required": false; }; "bottomToolbarLabel": { "alias": "bottomToolbarLabel"; "required": false; }; "editToolbarToolText": { "alias": "editToolbarToolText"; "required": false; }; "saveToolbarToolText": { "alias": "saveToolbarToolText"; "required": false; }; "addToolbarToolText": { "alias": "addToolbarToolText"; "required": false; }; "cancelToolbarToolText": { "alias": "cancelToolbarToolText"; "required": false; }; "removeToolbarToolText": { "alias": "removeToolbarToolText"; "required": false; }; "excelExportToolbarToolText": { "alias": "excelExportToolbarToolText"; "required": false; }; "pdfExportToolbarToolText": { "alias": "pdfExportToolbarToolText"; "required": false; }; "groupPanelLabel": { "alias": "groupPanelLabel"; "required": false; }; "dragRowHandleLabel": { "alias": "dragRowHandleLabel"; "required": false; }; "columnMenuFilterTabTitle": { "alias": "columnMenuFilterTabTitle"; "required": false; }; "columnMenuGeneralTabTitle": { "alias": "columnMenuGeneralTabTitle"; "required": false; }; "columnMenuColumnsTabTitle": { "alias": "columnMenuColumnsTabTitle"; "required": false; }; "groupChipMenuPrevious": { "alias": "groupChipMenuPrevious"; "required": false; }; "groupChipMenuNext": { "alias": "groupChipMenuNext"; "required": false; }; "groupToolbarToolText": { "alias": "groupToolbarToolText"; "required": false; }; "formValidationErrorText": { "alias": "formValidationErrorText"; "required": false; }; "removeConfirmationDialogTitle": { "alias": "removeConfirmationDialogTitle"; "required": false; }; "removeConfirmationDialogContent": { "alias": "removeConfirmationDialogContent"; "required": false; }; "removeConfirmationDialogConfirmText": { "alias": "removeConfirmationDialogConfirmText"; "required": false; }; "removeConfirmationDialogRejectText": { "alias": "removeConfirmationDialogRejectText"; "required": false; }; "externalEditingTitle": { "alias": "externalEditingTitle"; "required": false; }; "externalEditingAddTitle": { "alias": "externalEditingAddTitle"; "required": false; }; "externalEditingSaveText": { "alias": "externalEditingSaveText"; "required": false; }; "externalEditingCancelText": { "alias": "externalEditingCancelText"; "required": false; }; }, {}, never, never, false, never>;
606
+ static ɵdir: i0.ɵɵDirectiveDeclaration<GridMessages, "kendo-grid-messages-base", never, { "groupPanelEmpty": { "alias": "groupPanelEmpty"; "required": false; }; "noRecords": { "alias": "noRecords"; "required": false; }; "pagerLabel": { "alias": "pagerLabel"; "required": false; }; "pagerFirstPage": { "alias": "pagerFirstPage"; "required": false; }; "pagerLastPage": { "alias": "pagerLastPage"; "required": false; }; "pagerPreviousPage": { "alias": "pagerPreviousPage"; "required": false; }; "pagerNextPage": { "alias": "pagerNextPage"; "required": false; }; "pagerPage": { "alias": "pagerPage"; "required": false; }; "pagerItemsPerPage": { "alias": "pagerItemsPerPage"; "required": false; }; "pagerOf": { "alias": "pagerOf"; "required": false; }; "pagerItems": { "alias": "pagerItems"; "required": false; }; "pagerPageNumberInputTitle": { "alias": "pagerPageNumberInputTitle"; "required": false; }; "pagerInputLabel": { "alias": "pagerInputLabel"; "required": false; }; "pagerSelectPage": { "alias": "pagerSelectPage"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "filterInputLabel": { "alias": "filterInputLabel"; "required": false; }; "filterMenuTitle": { "alias": "filterMenuTitle"; "required": false; }; "filterMenuOperatorsDropDownLabel": { "alias": "filterMenuOperatorsDropDownLabel"; "required": false; }; "filterMenuLogicDropDownLabel": { "alias": "filterMenuLogicDropDownLabel"; "required": false; }; "filterCellOperatorLabel": { "alias": "filterCellOperatorLabel"; "required": false; }; "booleanFilterCellLabel": { "alias": "booleanFilterCellLabel"; "required": false; }; "aiAssistantApplyButtonText": { "alias": "aiAssistantApplyButtonText"; "required": false; }; "aiAssistantToolbarToolText": { "alias": "aiAssistantToolbarToolText"; "required": false; }; "aiAssistantWindowTitle": { "alias": "aiAssistantWindowTitle"; "required": false; }; "aiAssistantWindowCloseTitle": { "alias": "aiAssistantWindowCloseTitle"; "required": false; }; "aiAssistantOutputCardTitle": { "alias": "aiAssistantOutputCardTitle"; "required": false; }; "aiAssistantOutputCardBodyContent": { "alias": "aiAssistantOutputCardBodyContent"; "required": false; }; "aiAssistantWindowMaximizeTitle": { "alias": "aiAssistantWindowMaximizeTitle"; "required": false; }; "aiAssistantWindowMinimizeTitle": { "alias": "aiAssistantWindowMinimizeTitle"; "required": false; }; "aiAssistantWindowRestoreTitle": { "alias": "aiAssistantWindowRestoreTitle"; "required": false; }; "filterEqOperator": { "alias": "filterEqOperator"; "required": false; }; "filterNotEqOperator": { "alias": "filterNotEqOperator"; "required": false; }; "filterIsNullOperator": { "alias": "filterIsNullOperator"; "required": false; }; "filterIsNotNullOperator": { "alias": "filterIsNotNullOperator"; "required": false; }; "filterIsEmptyOperator": { "alias": "filterIsEmptyOperator"; "required": false; }; "filterIsNotEmptyOperator": { "alias": "filterIsNotEmptyOperator"; "required": false; }; "filterStartsWithOperator": { "alias": "filterStartsWithOperator"; "required": false; }; "filterContainsOperator": { "alias": "filterContainsOperator"; "required": false; }; "filterNotContainsOperator": { "alias": "filterNotContainsOperator"; "required": false; }; "filterEndsWithOperator": { "alias": "filterEndsWithOperator"; "required": false; }; "filterGteOperator": { "alias": "filterGteOperator"; "required": false; }; "filterGtOperator": { "alias": "filterGtOperator"; "required": false; }; "filterLteOperator": { "alias": "filterLteOperator"; "required": false; }; "filterLtOperator": { "alias": "filterLtOperator"; "required": false; }; "filterIsTrue": { "alias": "filterIsTrue"; "required": false; }; "filterIsFalse": { "alias": "filterIsFalse"; "required": false; }; "filterBooleanAll": { "alias": "filterBooleanAll"; "required": false; }; "adaptiveFilterOperatorsTitle": { "alias": "adaptiveFilterOperatorsTitle"; "required": false; }; "filterAfterOrEqualOperator": { "alias": "filterAfterOrEqualOperator"; "required": false; }; "filterAfterOperator": { "alias": "filterAfterOperator"; "required": false; }; "filterBeforeOperator": { "alias": "filterBeforeOperator"; "required": false; }; "filterBeforeOrEqualOperator": { "alias": "filterBeforeOrEqualOperator"; "required": false; }; "filterFilterButton": { "alias": "filterFilterButton"; "required": false; }; "filterClearButton": { "alias": "filterClearButton"; "required": false; }; "adaptiveCloseButtonTitle": { "alias": "adaptiveCloseButtonTitle"; "required": false; }; "adaptiveBackButtonTitle": { "alias": "adaptiveBackButtonTitle"; "required": false; }; "filterAndLogic": { "alias": "filterAndLogic"; "required": false; }; "filterOrLogic": { "alias": "filterOrLogic"; "required": false; }; "filterToolbarToolText": { "alias": "filterToolbarToolText"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "gridLabel": { "alias": "gridLabel"; "required": false; }; "columnMenu": { "alias": "columnMenu"; "required": false; }; "setColumnPosition": { "alias": "setColumnPosition"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "columnChooserSelectedColumnsCount": { "alias": "columnChooserSelectedColumnsCount"; "required": false; }; "columnsSubtitle": { "alias": "columnsSubtitle"; "required": false; }; "adaptiveFilterTitle": { "alias": "adaptiveFilterTitle"; "required": false; }; "adaptiveSortTitle": { "alias": "adaptiveSortTitle"; "required": false; }; "adaptiveGroupTitle": { "alias": "adaptiveGroupTitle"; "required": false; }; "filterClearAllButton": { "alias": "filterClearAllButton"; "required": false; }; "groupClearButton": { "alias": "groupClearButton"; "required": false; }; "sortClearButton": { "alias": "sortClearButton"; "required": false; }; "sortDoneButton": { "alias": "sortDoneButton"; "required": false; }; "groupDoneButton": { "alias": "groupDoneButton"; "required": false; }; "lock": { "alias": "lock"; "required": false; }; "unlock": { "alias": "unlock"; "required": false; }; "stick": { "alias": "stick"; "required": false; }; "unstick": { "alias": "unstick"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "sortAscending": { "alias": "sortAscending"; "required": false; }; "sortDescending": { "alias": "sortDescending"; "required": false; }; "autosizeThisColumn": { "alias": "autosizeThisColumn"; "required": false; }; "autosizeAllColumns": { "alias": "autosizeAllColumns"; "required": false; }; "sortedAscending": { "alias": "sortedAscending"; "required": false; }; "sortedDescending": { "alias": "sortedDescending"; "required": false; }; "sortedDefault": { "alias": "sortedDefault"; "required": false; }; "sortToolbarToolText": { "alias": "sortToolbarToolText"; "required": false; }; "columnsApply": { "alias": "columnsApply"; "required": false; }; "columnsReset": { "alias": "columnsReset"; "required": false; }; "detailExpand": { "alias": "detailExpand"; "required": false; }; "detailCollapse": { "alias": "detailCollapse"; "required": false; }; "filterDateToday": { "alias": "filterDateToday"; "required": false; }; "filterDateToggle": { "alias": "filterDateToggle"; "required": false; }; "filterNumericDecrement": { "alias": "filterNumericDecrement"; "required": false; }; "filterNumericIncrement": { "alias": "filterNumericIncrement"; "required": false; }; "selectionCheckboxLabel": { "alias": "selectionCheckboxLabel"; "required": false; }; "selectAllCheckboxLabel": { "alias": "selectAllCheckboxLabel"; "required": false; }; "groupCollapse": { "alias": "groupCollapse"; "required": false; }; "groupExpand": { "alias": "groupExpand"; "required": false; }; "topToolbarLabel": { "alias": "topToolbarLabel"; "required": false; }; "bottomToolbarLabel": { "alias": "bottomToolbarLabel"; "required": false; }; "editToolbarToolText": { "alias": "editToolbarToolText"; "required": false; }; "saveToolbarToolText": { "alias": "saveToolbarToolText"; "required": false; }; "addToolbarToolText": { "alias": "addToolbarToolText"; "required": false; }; "cancelToolbarToolText": { "alias": "cancelToolbarToolText"; "required": false; }; "removeToolbarToolText": { "alias": "removeToolbarToolText"; "required": false; }; "excelExportToolbarToolText": { "alias": "excelExportToolbarToolText"; "required": false; }; "pdfExportToolbarToolText": { "alias": "pdfExportToolbarToolText"; "required": false; }; "groupPanelLabel": { "alias": "groupPanelLabel"; "required": false; }; "dragRowHandleLabel": { "alias": "dragRowHandleLabel"; "required": false; }; "columnMenuFilterTabTitle": { "alias": "columnMenuFilterTabTitle"; "required": false; }; "columnMenuGeneralTabTitle": { "alias": "columnMenuGeneralTabTitle"; "required": false; }; "columnMenuColumnsTabTitle": { "alias": "columnMenuColumnsTabTitle"; "required": false; }; "groupChipMenuPrevious": { "alias": "groupChipMenuPrevious"; "required": false; }; "groupChipMenuNext": { "alias": "groupChipMenuNext"; "required": false; }; "groupToolbarToolText": { "alias": "groupToolbarToolText"; "required": false; }; "formValidationErrorText": { "alias": "formValidationErrorText"; "required": false; }; "removeConfirmationDialogTitle": { "alias": "removeConfirmationDialogTitle"; "required": false; }; "removeConfirmationDialogContent": { "alias": "removeConfirmationDialogContent"; "required": false; }; "removeConfirmationDialogConfirmText": { "alias": "removeConfirmationDialogConfirmText"; "required": false; }; "removeConfirmationDialogRejectText": { "alias": "removeConfirmationDialogRejectText"; "required": false; }; "externalEditingTitle": { "alias": "externalEditingTitle"; "required": false; }; "externalEditingAddTitle": { "alias": "externalEditingAddTitle"; "required": false; }; "externalEditingSaveText": { "alias": "externalEditingSaveText"; "required": false; }; "externalEditingCancelText": { "alias": "externalEditingCancelText"; "required": false; }; "multiCheckboxFilterSearchPlaceholder": { "alias": "multiCheckboxFilterSearchPlaceholder"; "required": false; }; "multiCheckboxFilterSelectAllLabel": { "alias": "multiCheckboxFilterSelectAllLabel"; "required": false; }; "multiCheckboxFilterSelectedItemsCount": { "alias": "multiCheckboxFilterSelectedItemsCount"; "required": false; }; }, {}, never, never, false, never>;
586
607
  }
@@ -59,6 +59,7 @@ export declare class NavigationService implements OnDestroy {
59
59
  get activeCell(): NavigationCell;
60
60
  get activeRow(): NavigationRow;
61
61
  get isColumnResizable(): boolean;
62
+ preventScroll: boolean;
62
63
  viewport: NavigationViewport;
63
64
  columnViewport: NavigationViewport;
64
65
  private activeRowIndex;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "20.1.0-develop.2",
3
+ "version": "20.1.0-develop.21",
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",
@@ -41,7 +41,7 @@
41
41
  "package": {
42
42
  "productName": "Kendo UI for Angular",
43
43
  "productCode": "KENDOUIANGULAR",
44
- "publishDate": 1758187632,
44
+ "publishDate": 1760027531,
45
45
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
46
46
  }
47
47
  },
@@ -54,29 +54,29 @@
54
54
  "@progress/kendo-data-query": "^1.0.0",
55
55
  "@progress/kendo-drawing": "^1.21.0",
56
56
  "@progress/kendo-licensing": "^1.7.0",
57
- "@progress/kendo-angular-buttons": "20.1.0-develop.2",
58
- "@progress/kendo-angular-common": "20.1.0-develop.2",
59
- "@progress/kendo-angular-dateinputs": "20.1.0-develop.2",
60
- "@progress/kendo-angular-layout": "20.1.0-develop.2",
61
- "@progress/kendo-angular-navigation": "20.1.0-develop.2",
62
- "@progress/kendo-angular-dropdowns": "20.1.0-develop.2",
63
- "@progress/kendo-angular-excel-export": "20.1.0-develop.2",
64
- "@progress/kendo-angular-icons": "20.1.0-develop.2",
65
- "@progress/kendo-angular-inputs": "20.1.0-develop.2",
66
- "@progress/kendo-angular-conversational-ui": "20.1.0-develop.2",
67
- "@progress/kendo-angular-intl": "20.1.0-develop.2",
68
- "@progress/kendo-angular-l10n": "20.1.0-develop.2",
69
- "@progress/kendo-angular-label": "20.1.0-develop.2",
70
- "@progress/kendo-angular-pager": "20.1.0-develop.2",
71
- "@progress/kendo-angular-pdf-export": "20.1.0-develop.2",
72
- "@progress/kendo-angular-popup": "20.1.0-develop.2",
73
- "@progress/kendo-angular-toolbar": "20.1.0-develop.2",
74
- "@progress/kendo-angular-utils": "20.1.0-develop.2",
57
+ "@progress/kendo-angular-buttons": "20.1.0-develop.21",
58
+ "@progress/kendo-angular-common": "20.1.0-develop.21",
59
+ "@progress/kendo-angular-dateinputs": "20.1.0-develop.21",
60
+ "@progress/kendo-angular-layout": "20.1.0-develop.21",
61
+ "@progress/kendo-angular-navigation": "20.1.0-develop.21",
62
+ "@progress/kendo-angular-dropdowns": "20.1.0-develop.21",
63
+ "@progress/kendo-angular-excel-export": "20.1.0-develop.21",
64
+ "@progress/kendo-angular-icons": "20.1.0-develop.21",
65
+ "@progress/kendo-angular-inputs": "20.1.0-develop.21",
66
+ "@progress/kendo-angular-conversational-ui": "20.1.0-develop.21",
67
+ "@progress/kendo-angular-intl": "20.1.0-develop.21",
68
+ "@progress/kendo-angular-l10n": "20.1.0-develop.21",
69
+ "@progress/kendo-angular-label": "20.1.0-develop.21",
70
+ "@progress/kendo-angular-pager": "20.1.0-develop.21",
71
+ "@progress/kendo-angular-pdf-export": "20.1.0-develop.21",
72
+ "@progress/kendo-angular-popup": "20.1.0-develop.21",
73
+ "@progress/kendo-angular-toolbar": "20.1.0-develop.21",
74
+ "@progress/kendo-angular-utils": "20.1.0-develop.21",
75
75
  "rxjs": "^6.5.3 || ^7.0.0"
76
76
  },
77
77
  "dependencies": {
78
78
  "tslib": "^2.3.1",
79
- "@progress/kendo-angular-schematics": "20.1.0-develop.2",
79
+ "@progress/kendo-angular-schematics": "20.1.0-develop.21",
80
80
  "@progress/kendo-common": "^1.0.1",
81
81
  "@progress/kendo-file-saver": "^1.0.0"
82
82
  },
@@ -0,0 +1,17 @@
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 { PipeTransform } from '@angular/core';
6
+ import { IntlService } from '@progress/kendo-angular-intl';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * @hidden
10
+ */
11
+ export declare class FormatPipe implements PipeTransform {
12
+ private intlService;
13
+ constructor(intlService: IntlService);
14
+ transform(value: any, format?: any): any;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormatPipe, never>;
16
+ static ɵpipe: i0.ɵɵPipeDeclaration<FormatPipe, "format", true>;
17
+ }
@@ -134,6 +134,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
134
134
  }): void;
135
135
  private zoneSub;
136
136
  private get totalIsAllItems();
137
+ private rebindGroupedDataFlag;
137
138
  ngDoCheck(): void;
138
139
  ngAfterViewInit(): void;
139
140
  ngAfterViewChecked(): void;
@@ -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': '20.1.0-develop.2',
8
- '@progress/kendo-angular-navigation': '20.1.0-develop.2',
7
+ '@progress/kendo-angular-treeview': '20.1.0-develop.21',
8
+ '@progress/kendo-angular-navigation': '20.1.0-develop.21',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '20.1.0-develop.2',
10
+ '@progress/kendo-angular-dialog': '20.1.0-develop.21',
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': '20.1.0-develop.2'
14
+ '@progress/kendo-angular-progressbar': '20.1.0-develop.21'
15
15
  } });
16
16
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
17
17
  }