@progress/kendo-angular-grid 24.0.0-develop.3 → 24.0.0-develop.31
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.
- package/NOTICE.txt +2599 -172
- package/columns/column-base.d.ts +4 -0
- package/columns/pin-column.component.d.ts +45 -0
- package/databinding.directive.d.ts +11 -1
- package/directives.d.ts +4 -3
- package/editing/edit.service.d.ts +1 -0
- package/editing/form/models.d.ts +1 -5
- package/editing-directives/local-edit.service.d.ts +1 -0
- package/fesm2022/progress-kendo-angular-grid.mjs +4083 -379
- package/grid.component.d.ts +64 -3
- package/grid.module.d.ts +106 -105
- package/grouping/group-header.component.d.ts +3 -3
- package/grouping/group-settings.d.ts +14 -0
- package/grouping/sticky-groups/models.d.ts +24 -0
- package/grouping/sticky-groups/sticky-group-container.component.d.ts +114 -0
- package/grouping/sticky-groups/sticky-groups-utils.d.ts +71 -0
- package/grouping/sticky-groups/sticky-groups.service.d.ts +132 -0
- package/index.d.ts +3 -0
- package/localization/messages.d.ts +33 -1
- package/navigation/logical-cell.directive.d.ts +4 -2
- package/navigation/navigation-metadata.d.ts +3 -1
- package/navigation/navigation.service.d.ts +19 -0
- package/navigation/skip-cell-navigation.d.ts +12 -0
- package/package-metadata.mjs +2 -2
- package/package.json +25 -25
- package/rendering/cell.component.d.ts +33 -6
- package/rendering/common/cell-context.d.ts +5 -0
- package/rendering/grid-table.directive.d.ts +0 -3
- package/rendering/list.component.d.ts +67 -1
- package/rendering/table-body.component.d.ts +5 -1
- package/rendering/toolbar/tools/smartbox/smartbox-component/smartbox.component.d.ts +4 -4
- package/row-pinning/pinned-row-tracking.service.d.ts +64 -0
- package/row-pinning/row-pin-container.component.d.ts +56 -0
- package/row-pinning/row-pin.service.d.ts +28 -0
- package/row-pinning/types.d.ts +42 -0
- package/schematics/ngAdd/index.js +7 -7
- package/scrolling/scroll-sync.service.d.ts +2 -3
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { AfterViewChecked, ChangeDetectorRef, ElementRef, NgZone, OnDestroy, OnInit } from '@angular/core';
|
|
6
|
+
import { GroupDescriptor } from '@progress/kendo-data-query';
|
|
7
|
+
import { ColumnBase } from '../../columns/column-base';
|
|
8
|
+
import { DetailTemplateDirective } from '../../rendering/details/detail-template.directive';
|
|
9
|
+
import { NavigationService } from '../../navigation/navigation.service';
|
|
10
|
+
import { GroupsService } from '../groups.service';
|
|
11
|
+
import { StickyGroupItem } from './models';
|
|
12
|
+
import { StickyGroupsService } from './sticky-groups.service';
|
|
13
|
+
import { ContextService } from '../../common/provider.service';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
* Renders the sticky group header or footer overlay container.
|
|
18
|
+
* When locked columns are present, renders two side-by-side tables
|
|
19
|
+
* mirroring the grid's locked / non-locked split.
|
|
20
|
+
*/
|
|
21
|
+
export declare class StickyGroupContainerComponent implements OnInit, OnDestroy, AfterViewChecked {
|
|
22
|
+
private stickyGroupsService;
|
|
23
|
+
private cdr;
|
|
24
|
+
private ctx;
|
|
25
|
+
private el;
|
|
26
|
+
private navigationService;
|
|
27
|
+
private groupsService;
|
|
28
|
+
private zone;
|
|
29
|
+
position: 'top' | 'bottom';
|
|
30
|
+
set columns(value: ColumnBase[]);
|
|
31
|
+
get columns(): ColumnBase[];
|
|
32
|
+
set lockedColumns(value: ColumnBase[]);
|
|
33
|
+
get lockedColumns(): ColumnBase[];
|
|
34
|
+
groups: GroupDescriptor[];
|
|
35
|
+
detailTemplate: DetailTemplateDirective;
|
|
36
|
+
totalColumnsCount: number;
|
|
37
|
+
hasGroupHeaderColumn: boolean;
|
|
38
|
+
groupHeaderColumns: any[];
|
|
39
|
+
tableWidth: number;
|
|
40
|
+
lockedWidth: number;
|
|
41
|
+
isLocked: boolean;
|
|
42
|
+
hostClass: boolean;
|
|
43
|
+
get isBottom(): boolean;
|
|
44
|
+
hostRole: string;
|
|
45
|
+
items: StickyGroupItem[];
|
|
46
|
+
footerColumns: ColumnBase[];
|
|
47
|
+
lockedFooterColumns: ColumnBase[];
|
|
48
|
+
wrapWidth: number;
|
|
49
|
+
private _columns;
|
|
50
|
+
private _lockedColumns;
|
|
51
|
+
private subscription;
|
|
52
|
+
constructor(stickyGroupsService: StickyGroupsService, cdr: ChangeDetectorRef, ctx: ContextService, el: ElementRef, navigationService: NavigationService, groupsService: GroupsService, zone: NgZone);
|
|
53
|
+
private captureClickHandler;
|
|
54
|
+
ngOnInit(): void;
|
|
55
|
+
ngAfterViewChecked(): void;
|
|
56
|
+
ngOnDestroy(): void;
|
|
57
|
+
get isStacked(): boolean;
|
|
58
|
+
get gridSize(): string;
|
|
59
|
+
get nativeElement(): HTMLElement;
|
|
60
|
+
/**
|
|
61
|
+
* Handles clicks on the sticky container.
|
|
62
|
+
* For headers: toggle (anchor) clicks scroll grid to real header position;
|
|
63
|
+
* non-toggle clicks focus the clicked row.
|
|
64
|
+
* For footers: focus the clicked cell.
|
|
65
|
+
*/
|
|
66
|
+
onContainerClick(event: MouseEvent): void;
|
|
67
|
+
onContainerFocusIn(event: FocusEvent): void;
|
|
68
|
+
onContainerFocusOut(event: FocusEvent): void;
|
|
69
|
+
onContainerKeydown(event: KeyboardEvent): void;
|
|
70
|
+
private expandSpanColumns;
|
|
71
|
+
private getFocusedItemIndex;
|
|
72
|
+
private handleArrowUp;
|
|
73
|
+
private handleArrowDown;
|
|
74
|
+
private handleEnterKey;
|
|
75
|
+
/**
|
|
76
|
+
* Capture-phase click handler registered on the host element.
|
|
77
|
+
* Intercepts <a> clicks inside sticky header rows before
|
|
78
|
+
* GroupHeaderComponent's toggleGroup fires.
|
|
79
|
+
*/
|
|
80
|
+
private onCapturedClick;
|
|
81
|
+
/**
|
|
82
|
+
* Triggers the scroll-to-root-and-toggle flow via the service.
|
|
83
|
+
* The list component handles actual scrolling, toggling, and focus.
|
|
84
|
+
*/
|
|
85
|
+
private scrollToGroupAndToggle;
|
|
86
|
+
private focusStickyRowByIndex;
|
|
87
|
+
private focusStickyCell;
|
|
88
|
+
private clearStickyFocus;
|
|
89
|
+
/**
|
|
90
|
+
* Clears k-focus from all grid content cells (outside any sticky container)
|
|
91
|
+
* so that the regular grid and the sticky overlay don't show focus simultaneously.
|
|
92
|
+
*/
|
|
93
|
+
private clearGridFocus;
|
|
94
|
+
private focusRealGridRow;
|
|
95
|
+
private handleFooterKeydown;
|
|
96
|
+
private focusFooterCell;
|
|
97
|
+
/**
|
|
98
|
+
* Moves focus to the adjacent cell in the given direction (-1 = left, +1 = right).
|
|
99
|
+
* Crosses the locked/non-locked boundary seamlessly.
|
|
100
|
+
*/
|
|
101
|
+
private focusFooterCellAt;
|
|
102
|
+
/**
|
|
103
|
+
* Focuses the cell with the given column index in a different row.
|
|
104
|
+
*/
|
|
105
|
+
private focusFooterCellInRow;
|
|
106
|
+
/**
|
|
107
|
+
* Returns all data cells (with data-col-index) for a footer row,
|
|
108
|
+
* combining locked and non-locked tables, sorted by column index.
|
|
109
|
+
*/
|
|
110
|
+
private getFooterRowCells;
|
|
111
|
+
private syncLockedRowHeights;
|
|
112
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StickyGroupContainerComponent, never>;
|
|
113
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StickyGroupContainerComponent, "[kendoGridStickyGroupContainer]", never, { "position": { "alias": "position"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "lockedColumns": { "alias": "lockedColumns"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "totalColumnsCount": { "alias": "totalColumnsCount"; "required": false; }; "hasGroupHeaderColumn": { "alias": "hasGroupHeaderColumn"; "required": false; }; "groupHeaderColumns": { "alias": "groupHeaderColumns"; "required": false; }; "tableWidth": { "alias": "tableWidth"; "required": false; }; "lockedWidth": { "alias": "lockedWidth"; "required": false; }; "isLocked": { "alias": "isLocked"; "required": false; }; }, {}, never, never, true, never>;
|
|
114
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { GridItem } from '../../data/grid-item.interface';
|
|
6
|
+
import { GroupRange, StickyGroupItem } from './models';
|
|
7
|
+
/**
|
|
8
|
+
* @hidden
|
|
9
|
+
* Builds a map of group ranges from the flat data array.
|
|
10
|
+
* Each group header maps to its footer and child range.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildGroupRangeMap(flatDataArray: GridItem[]): Map<number, GroupRange>;
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
* Selects which group headers should be sticky at the top of the viewport.
|
|
16
|
+
* A header is sticky when it is scrolled above the viewport but its group
|
|
17
|
+
* children are still visible below.
|
|
18
|
+
*/
|
|
19
|
+
export declare function computeStickyItems(flatDataArray: GridItem[], groupRanges: Map<number, GroupRange>, firstVisibleIndex: number, lastVisibleIndex: number, rawFirstVisibleIndex?: number): StickyGroupItem[];
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
* Selects which group footers should be sticky at the bottom of the viewport.
|
|
23
|
+
* A footer is sticky when it is scrolled below the viewport but its group's
|
|
24
|
+
* header or first child is still visible above.
|
|
25
|
+
*/
|
|
26
|
+
export declare function computeStickyFooterItems(flatDataArray: GridItem[], groupRanges: Map<number, GroupRange>, firstVisibleIndex: number, lastVisibleIndex: number): StickyGroupItem[];
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
* Returns true if the displayed groups differ between current and previous arrays.
|
|
30
|
+
*/
|
|
31
|
+
export declare function hasStickyItemsChanged(current: StickyGroupItem[], prev: StickyGroupItem[]): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* @hidden
|
|
34
|
+
* Computes push offsets for sticky header overlay rows.
|
|
35
|
+
* When a group's boundary approaches the sticky slot, the header is pushed upward.
|
|
36
|
+
*/
|
|
37
|
+
export declare function computeHeaderPush(indices: number[], getRowHeight: (flatIndex: number) => number, getRowOffset: (flatIndex: number) => number | undefined, scrollTop: number, groupRanges: Map<number, GroupRange>): {
|
|
38
|
+
totalHeight: number;
|
|
39
|
+
offsets: number[];
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* @hidden
|
|
43
|
+
* Computes push offsets for sticky footer overlay rows.
|
|
44
|
+
* When a group's header approaches the sticky footer slot, the footer is pushed downward.
|
|
45
|
+
*/
|
|
46
|
+
export declare function computeFooterPush(indices: number[], getRowHeight: (flatIndex: number) => number, getRowOffset: (flatIndex: number) => number | undefined, scrollTop: number, viewportHeight: number, footerRanges: Map<number, GroupRange>): {
|
|
47
|
+
totalHeight: number;
|
|
48
|
+
offsets: number[];
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* @hidden
|
|
52
|
+
* Applies push transforms to sticky header overlay rows.
|
|
53
|
+
* Negative push values slide rows up with clipPath.
|
|
54
|
+
* Iterates each tbody independently so locked and non-locked tables
|
|
55
|
+
* both receive the same transforms.
|
|
56
|
+
*/
|
|
57
|
+
export declare function applyHeaderPushTransforms(containerEl: HTMLElement, pushOffsets: number[]): void;
|
|
58
|
+
/**
|
|
59
|
+
* @hidden
|
|
60
|
+
* Applies push transforms to sticky footer overlay rows.
|
|
61
|
+
* Positive push values clip from the bottom. The footer container is bottom-anchored,
|
|
62
|
+
* so reducing its height shifts content down. Non-pushed rows are translated up to compensate.
|
|
63
|
+
* Iterates each tbody independently so locked and non-locked tables
|
|
64
|
+
* both receive the same transforms.
|
|
65
|
+
*/
|
|
66
|
+
export declare function applyFooterPushTransforms(containerEl: HTMLElement, pushOffsets: number[]): void;
|
|
67
|
+
/**
|
|
68
|
+
* @hidden
|
|
69
|
+
* Resets all push transform styles on rows within a sticky container.
|
|
70
|
+
*/
|
|
71
|
+
export declare function resetRowTransforms(containerEl: HTMLElement): void;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { NgZone, OnDestroy } from '@angular/core';
|
|
6
|
+
import { Subject } from 'rxjs';
|
|
7
|
+
import { GridItem } from '../../data/grid-item.interface';
|
|
8
|
+
import { StickyGroupItem } from './models';
|
|
9
|
+
import { RowHeightService } from '../../scrolling/row-height.service';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
* Parameters for the sticky groups update cycle.
|
|
14
|
+
*/
|
|
15
|
+
export interface StickyGroupsUpdateParams {
|
|
16
|
+
container: HTMLElement;
|
|
17
|
+
tbody: HTMLElement;
|
|
18
|
+
flatData: GridItem[];
|
|
19
|
+
stickyHeaderEl: HTMLElement | null;
|
|
20
|
+
stickyFooterEl: HTMLElement | null;
|
|
21
|
+
enableHeaders: boolean;
|
|
22
|
+
enableFooters: boolean;
|
|
23
|
+
rowHeight?: number;
|
|
24
|
+
skipOffset?: number;
|
|
25
|
+
rowHeightService?: RowHeightService;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
* Manages sticky group header and footer state for the Grid.
|
|
30
|
+
* Computes which groups to pin on each scroll frame and applies DOM transforms
|
|
31
|
+
* for the push effect. Runs outside Angular zone for performance.
|
|
32
|
+
*/
|
|
33
|
+
export declare class StickyGroupsService implements OnDestroy {
|
|
34
|
+
private ngZone;
|
|
35
|
+
headerItems$: Subject<StickyGroupItem[]>;
|
|
36
|
+
footerItems$: Subject<StickyGroupItem[]>;
|
|
37
|
+
scrollToFooter$: Subject<number>;
|
|
38
|
+
scrollToRow$: Subject<void>;
|
|
39
|
+
scrollAndToggle$: Subject<string>;
|
|
40
|
+
stickyHeaderItems: StickyGroupItem[];
|
|
41
|
+
stickyFooterItems: StickyGroupItem[];
|
|
42
|
+
pendingScrollToFooter: number | null;
|
|
43
|
+
/**
|
|
44
|
+
* When set, after the scroll-to-group completes and the view settles,
|
|
45
|
+
* the sticky container should focus the real grid row for this group.
|
|
46
|
+
*/
|
|
47
|
+
pendingFocusGroupIndex: string | null;
|
|
48
|
+
focusReady$: Subject<{
|
|
49
|
+
groupIndex: string;
|
|
50
|
+
flatIndex: number;
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* When set, the real grid body should scroll until the target row is
|
|
54
|
+
* rendered, then focus the corresponding cell.
|
|
55
|
+
*/
|
|
56
|
+
pendingFocusRow: {
|
|
57
|
+
flatIndex: number;
|
|
58
|
+
colIndex: number;
|
|
59
|
+
} | null;
|
|
60
|
+
/**
|
|
61
|
+
* When true, the next update() call is skipped. Used when programmatically
|
|
62
|
+
* scrolling to top so stale DOM measurements don't re-show the overlay.
|
|
63
|
+
*/
|
|
64
|
+
suppressNextUpdate: boolean;
|
|
65
|
+
private headerPushOffsets;
|
|
66
|
+
private footerPushOffsets;
|
|
67
|
+
private groupRangeMap;
|
|
68
|
+
private lastFlatDataRef;
|
|
69
|
+
constructor(ngZone: NgZone);
|
|
70
|
+
ngOnDestroy(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Requests the list component to scroll to the group header and then
|
|
73
|
+
* toggle it. Called from sticky overlay click — uses pre-collapse data.
|
|
74
|
+
*/
|
|
75
|
+
scrollAndToggle(groupIndex: string): void;
|
|
76
|
+
/**
|
|
77
|
+
* Requests the grid to scroll so the real footer row at the given flat index
|
|
78
|
+
* becomes visible at the bottom of the viewport.
|
|
79
|
+
*/
|
|
80
|
+
requestScrollToFooter(flatIndex: number): void;
|
|
81
|
+
/**
|
|
82
|
+
* Consumes (returns and clears) any pending scroll-to-footer request.
|
|
83
|
+
*/
|
|
84
|
+
consumeScrollToFooter(): number | null;
|
|
85
|
+
/**
|
|
86
|
+
* Requests the real grid body to render the row at the given flat index,
|
|
87
|
+
* then focus the corresponding cell.
|
|
88
|
+
*/
|
|
89
|
+
requestScrollToRow(flatIndex: number, colIndex: number): void;
|
|
90
|
+
/**
|
|
91
|
+
* Consumes and clears the pending scroll-to-row request.
|
|
92
|
+
*/
|
|
93
|
+
consumeScrollToRow(): {
|
|
94
|
+
flatIndex: number;
|
|
95
|
+
colIndex: number;
|
|
96
|
+
} | null;
|
|
97
|
+
/**
|
|
98
|
+
* Clears cached group range map so it is rebuilt on next update.
|
|
99
|
+
*/
|
|
100
|
+
invalidateRangeMap(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Main update cycle. Called on every scroll event, outside Angular zone.
|
|
103
|
+
* Computes which headers/footers should be sticky, applies push transforms,
|
|
104
|
+
* and emits changes only when the set of sticky items changes.
|
|
105
|
+
*/
|
|
106
|
+
update(params: StickyGroupsUpdateParams): void;
|
|
107
|
+
/**
|
|
108
|
+
* Applies pending push transforms after Angular re-renders overlay content.
|
|
109
|
+
* Called from the overlay component's AfterViewChecked hook.
|
|
110
|
+
*/
|
|
111
|
+
applyPendingHeaderTransforms(containerEl: HTMLElement): void;
|
|
112
|
+
applyPendingFooterTransforms(containerEl: HTMLElement): void;
|
|
113
|
+
/**
|
|
114
|
+
* Clears all sticky state and resets overlays.
|
|
115
|
+
*/
|
|
116
|
+
clear(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Adjusts the container scrollTop so the focused row is not hidden
|
|
119
|
+
* behind the sticky header or footer overlays.
|
|
120
|
+
* Intended to be called only from the keyboard navigation path,
|
|
121
|
+
* outside Angular zone.
|
|
122
|
+
*/
|
|
123
|
+
adjustScrollForFocusedCell(containerEl: HTMLElement, stickyHeaderEl: HTMLElement | null, stickyFooterEl: HTMLElement | null): void;
|
|
124
|
+
/**
|
|
125
|
+
* Sets marginBlockEnd on the sticky footer overlay when the container
|
|
126
|
+
* has a horizontal scrollbar, so the footer does not overlap the scrollbar.
|
|
127
|
+
*/
|
|
128
|
+
adjustStickyFooterForScrollbar(container: HTMLElement, stickyFooterEl: HTMLElement | null): void;
|
|
129
|
+
private clearAll;
|
|
130
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StickyGroupsService, never>;
|
|
131
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<StickyGroupsService>;
|
|
132
|
+
}
|
package/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export { SpanColumnComponent } from './columns/span-column.component';
|
|
|
13
13
|
export { ColumnGroupComponent } from './columns/column-group.component';
|
|
14
14
|
export { CheckboxColumnComponent } from './columns/checkbox-column.component';
|
|
15
15
|
export { RowReorderColumnComponent } from './columns/reorder-column.component';
|
|
16
|
+
export { RowPinColumnComponent } from './columns/pin-column.component';
|
|
16
17
|
export { RowDragHandleTemplateDirective } from './row-reordering/drag-handle-template.directive';
|
|
17
18
|
export { RowDragHintTemplateDirective } from './row-reordering/drag-hint-template.directive';
|
|
18
19
|
export { ToolbarComponent } from './rendering/toolbar/toolbar.component';
|
|
@@ -41,6 +42,7 @@ export { SortService } from './common/sort.service';
|
|
|
41
42
|
export { ChangeNotificationService } from './data/change-notification.service';
|
|
42
43
|
export { ColumnReorderService } from './dragdrop/column-reorder.service';
|
|
43
44
|
export { RowReorderService } from './row-reordering/row-reorder.service';
|
|
45
|
+
export { RowPinService } from './row-pinning/row-pin.service';
|
|
44
46
|
export { DragAndDropService } from './dragdrop/drag-and-drop.service';
|
|
45
47
|
export { DragHintService } from './dragdrop/drag-hint.service';
|
|
46
48
|
export { DropCueService } from './dragdrop/drop-cue.service';
|
|
@@ -85,6 +87,7 @@ export { ResizableContainerDirective } from './layout/resizable.directive';
|
|
|
85
87
|
export { GroupableSettings } from './grouping/group-settings';
|
|
86
88
|
export { SelectionEvent, SelectableSettings, SelectableMode, SelectAllCheckboxState, CellSelectionItem, CellSelectedFn, GridSelectionItem } from './selection/types';
|
|
87
89
|
export { RowReorderEvent, DragRow, DropPosition } from './row-reordering/types';
|
|
90
|
+
export { RowPinEvent, GridRowPinLocation, RowPinnableFn } from './row-pinning/types';
|
|
88
91
|
export { NoRecordsTemplateDirective } from './rendering/no-records-template.directive';
|
|
89
92
|
export { DataBindingDirective } from './databinding.directive';
|
|
90
93
|
export { SelectionDirective } from './selection/selection.directive';
|
|
@@ -707,6 +707,38 @@ export declare class GridMessages extends ComponentMessages {
|
|
|
707
707
|
* Sets the screen-reader-only content for the command column header.
|
|
708
708
|
*/
|
|
709
709
|
commandColumnHeaderLabel: string;
|
|
710
|
+
/**
|
|
711
|
+
* The aria-label for the pinned top rows container.
|
|
712
|
+
*/
|
|
713
|
+
pinnedTopRowsLabel: string;
|
|
714
|
+
/**
|
|
715
|
+
* The aria-label for the pinned bottom rows container.
|
|
716
|
+
*/
|
|
717
|
+
pinnedBottomRowsLabel: string;
|
|
718
|
+
/**
|
|
719
|
+
* The text for the **Pin row to top** option in the pin context menu.
|
|
720
|
+
*/
|
|
721
|
+
pinMenuPinToTopText: string;
|
|
722
|
+
/**
|
|
723
|
+
* The text for the **Pin row to bottom** option in the pin context menu.
|
|
724
|
+
*/
|
|
725
|
+
pinMenuPinToBottomText: string;
|
|
726
|
+
/**
|
|
727
|
+
* The text for the **Unpin** option in the pin context menu.
|
|
728
|
+
*/
|
|
729
|
+
pinMenuUnpinText: string;
|
|
730
|
+
/**
|
|
731
|
+
* Sets the screen-reader-only content for the pin column header.
|
|
732
|
+
*/
|
|
733
|
+
pinColumnHeaderLabel: string;
|
|
734
|
+
/**
|
|
735
|
+
* Sets the label for the Grid row pin column icon.
|
|
736
|
+
*/
|
|
737
|
+
rowPinLabel: string;
|
|
738
|
+
/**
|
|
739
|
+
* Sets the label for the Grid row unpin column icon.
|
|
740
|
+
*/
|
|
741
|
+
rowUnpinLabel: string;
|
|
710
742
|
static ɵfac: i0.ɵɵFactoryDeclaration<GridMessages, never>;
|
|
711
|
-
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; }; "aiAssistantSelectionNotEnabled": { "alias": "aiAssistantSelectionNotEnabled"; "required": false; }; "aiAssistantSelectionRowModeRequired": { "alias": "aiAssistantSelectionRowModeRequired"; "required": false; }; "aiAssistantSelectionCellModeRequired": { "alias": "aiAssistantSelectionCellModeRequired"; "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; }; "columnChooserSelectAll": { "alias": "columnChooserSelectAll"; "required": false; }; "columnChooserSearchLabel": { "alias": "columnChooserSearchLabel"; "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; }; "checkboxColumnHeaderLabel": { "alias": "checkboxColumnHeaderLabel"; "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; }; "csvExportToolbarToolText": { "alias": "csvExportToolbarToolText"; "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; }; "smartBoxSpeechToTextButton": { "alias": "smartBoxSpeechToTextButton"; "required": false; }; "smartBoxSubmitPromptButton": { "alias": "smartBoxSubmitPromptButton"; "required": false; }; "smartBoxSearchPlaceholder": { "alias": "smartBoxSearchPlaceholder"; "required": false; }; "smartBoxSemanticSearchPlaceholder": { "alias": "smartBoxSemanticSearchPlaceholder"; "required": false; }; "smartBoxAIAssistantPlaceholder": { "alias": "smartBoxAIAssistantPlaceholder"; "required": false; }; "smartBoxSuggestedPrompts": { "alias": "smartBoxSuggestedPrompts"; "required": false; }; "smartBoxNoPreviousSearches": { "alias": "smartBoxNoPreviousSearches"; "required": false; }; "smartBoxNoPreviousPrompts": { "alias": "smartBoxNoPreviousPrompts"; "required": false; }; "smartBoxPreviouslySearched": { "alias": "smartBoxPreviouslySearched"; "required": false; }; "smartBoxPreviouslyAsked": { "alias": "smartBoxPreviouslyAsked"; "required": false; }; "searchModeListItemText": { "alias": "searchModeListItemText"; "required": false; }; "searchModeListItemDescription": { "alias": "searchModeListItemDescription"; "required": false; }; "semanticSearchModeListItemText": { "alias": "semanticSearchModeListItemText"; "required": false; }; "semanticSearchModeListItemDescription": { "alias": "semanticSearchModeListItemDescription"; "required": false; }; "smartBoxSearchModePopupButton": { "alias": "smartBoxSearchModePopupButton"; "required": false; }; "smartBoxAIAssistantModePopupButton": { "alias": "smartBoxAIAssistantModePopupButton"; "required": false; }; "detailColumnHeaderLabel": { "alias": "detailColumnHeaderLabel"; "required": false; }; "dragColumnHeaderLabel": { "alias": "dragColumnHeaderLabel"; "required": false; }; "commandColumnHeaderLabel": { "alias": "commandColumnHeaderLabel"; "required": false; }; }, {}, never, never, true, never>;
|
|
743
|
+
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; }; "aiAssistantSelectionNotEnabled": { "alias": "aiAssistantSelectionNotEnabled"; "required": false; }; "aiAssistantSelectionRowModeRequired": { "alias": "aiAssistantSelectionRowModeRequired"; "required": false; }; "aiAssistantSelectionCellModeRequired": { "alias": "aiAssistantSelectionCellModeRequired"; "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; }; "columnChooserSelectAll": { "alias": "columnChooserSelectAll"; "required": false; }; "columnChooserSearchLabel": { "alias": "columnChooserSearchLabel"; "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; }; "checkboxColumnHeaderLabel": { "alias": "checkboxColumnHeaderLabel"; "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; }; "csvExportToolbarToolText": { "alias": "csvExportToolbarToolText"; "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; }; "smartBoxSpeechToTextButton": { "alias": "smartBoxSpeechToTextButton"; "required": false; }; "smartBoxSubmitPromptButton": { "alias": "smartBoxSubmitPromptButton"; "required": false; }; "smartBoxSearchPlaceholder": { "alias": "smartBoxSearchPlaceholder"; "required": false; }; "smartBoxSemanticSearchPlaceholder": { "alias": "smartBoxSemanticSearchPlaceholder"; "required": false; }; "smartBoxAIAssistantPlaceholder": { "alias": "smartBoxAIAssistantPlaceholder"; "required": false; }; "smartBoxSuggestedPrompts": { "alias": "smartBoxSuggestedPrompts"; "required": false; }; "smartBoxNoPreviousSearches": { "alias": "smartBoxNoPreviousSearches"; "required": false; }; "smartBoxNoPreviousPrompts": { "alias": "smartBoxNoPreviousPrompts"; "required": false; }; "smartBoxPreviouslySearched": { "alias": "smartBoxPreviouslySearched"; "required": false; }; "smartBoxPreviouslyAsked": { "alias": "smartBoxPreviouslyAsked"; "required": false; }; "searchModeListItemText": { "alias": "searchModeListItemText"; "required": false; }; "searchModeListItemDescription": { "alias": "searchModeListItemDescription"; "required": false; }; "semanticSearchModeListItemText": { "alias": "semanticSearchModeListItemText"; "required": false; }; "semanticSearchModeListItemDescription": { "alias": "semanticSearchModeListItemDescription"; "required": false; }; "smartBoxSearchModePopupButton": { "alias": "smartBoxSearchModePopupButton"; "required": false; }; "smartBoxAIAssistantModePopupButton": { "alias": "smartBoxAIAssistantModePopupButton"; "required": false; }; "detailColumnHeaderLabel": { "alias": "detailColumnHeaderLabel"; "required": false; }; "dragColumnHeaderLabel": { "alias": "dragColumnHeaderLabel"; "required": false; }; "commandColumnHeaderLabel": { "alias": "commandColumnHeaderLabel"; "required": false; }; "pinnedTopRowsLabel": { "alias": "pinnedTopRowsLabel"; "required": false; }; "pinnedBottomRowsLabel": { "alias": "pinnedBottomRowsLabel"; "required": false; }; "pinMenuPinToTopText": { "alias": "pinMenuPinToTopText"; "required": false; }; "pinMenuPinToBottomText": { "alias": "pinMenuPinToBottomText"; "required": false; }; "pinMenuUnpinText": { "alias": "pinMenuUnpinText"; "required": false; }; "pinColumnHeaderLabel": { "alias": "pinColumnHeaderLabel"; "required": false; }; "rowPinLabel": { "alias": "rowPinLabel"; "required": false; }; "rowUnpinLabel": { "alias": "rowUnpinLabel"; "required": false; }; }, {}, never, never, true, never>;
|
|
712
744
|
}
|
|
@@ -23,6 +23,7 @@ export declare class LogicalCellDirective implements LogicalCell, OnInit, OnChan
|
|
|
23
23
|
private renderer;
|
|
24
24
|
private zone;
|
|
25
25
|
private cellContext;
|
|
26
|
+
private skipNavigation;
|
|
26
27
|
logicalColIndex: number;
|
|
27
28
|
logicalRowIndex: number;
|
|
28
29
|
logicalSlaveCell: boolean;
|
|
@@ -40,7 +41,8 @@ export declare class LogicalCellDirective implements LogicalCell, OnInit, OnChan
|
|
|
40
41
|
get rowspanClass(): boolean;
|
|
41
42
|
get ariaColIndex(): number;
|
|
42
43
|
private navigationChange;
|
|
43
|
-
constructor(focusGroup: FocusGroup, element: ElementRef, columnInfoService: ColumnInfoService, idService: IdService, navigationService: NavigationService, renderer: Renderer2, zone: NgZone, cellContext: CellContext);
|
|
44
|
+
constructor(focusGroup: FocusGroup, element: ElementRef, columnInfoService: ColumnInfoService, idService: IdService, navigationService: NavigationService, renderer: Renderer2, zone: NgZone, cellContext: CellContext, skipNavigation: boolean);
|
|
45
|
+
onMouseDown(): void;
|
|
44
46
|
ngOnInit(): void;
|
|
45
47
|
ngDoCheck(): void;
|
|
46
48
|
ngOnChanges(changes: SimpleChanges): void;
|
|
@@ -52,6 +54,6 @@ export declare class LogicalCellDirective implements LogicalCell, OnInit, OnChan
|
|
|
52
54
|
private registerNoChanges;
|
|
53
55
|
private isFocusable;
|
|
54
56
|
private isFocused;
|
|
55
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LogicalCellDirective, [null, null, null, null, null, null, null, { optional: true; }]>;
|
|
57
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LogicalCellDirective, [null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
56
58
|
static ɵdir: i0.ɵɵDirectiveDeclaration<LogicalCellDirective, "[kendoGridLogicalCell]", never, { "logicalColIndex": { "alias": "logicalColIndex"; "required": false; }; "logicalRowIndex": { "alias": "logicalRowIndex"; "required": false; }; "logicalSlaveCell": { "alias": "logicalSlaveCell"; "required": false; }; "colIndex": { "alias": "colIndex"; "required": false; }; "colSpan": { "alias": "colSpan"; "required": false; }; "rowSpan": { "alias": "rowSpan"; "required": false; }; "groupItem": { "alias": "groupItem"; "required": false; }; "dataRowIndex": { "alias": "dataRowIndex"; "required": false; }; "dataItem": { "alias": "dataItem"; "required": false; }; "detailExpandCell": { "alias": "detailExpandCell"; "required": false; }; "headerLabelText": { "alias": "headerLabelText"; "required": false; }; }, {}, never, never, true, never>;
|
|
57
59
|
}
|
|
@@ -17,6 +17,8 @@ export declare class NavigationMetadata {
|
|
|
17
17
|
columns: any;
|
|
18
18
|
footerRow: number;
|
|
19
19
|
isStacked: boolean;
|
|
20
|
+
pinnedTopRowsCount: number;
|
|
21
|
+
pinnedBottomRowsCount: number;
|
|
20
22
|
get maxLogicalRowIndex(): number;
|
|
21
|
-
constructor(dataRows: number, headerRows: number, isVirtual: boolean, hasPager: boolean, hasDetailTemplate: boolean, gridElement: ElementRef, virtualColumns: boolean, columns: any, footerRow: number, isStacked: boolean);
|
|
23
|
+
constructor(dataRows: number, headerRows: number, isVirtual: boolean, hasPager: boolean, hasDetailTemplate: boolean, gridElement: ElementRef, virtualColumns: boolean, columns: any, footerRow: number, isStacked: boolean, pinnedTopRowsCount?: number, pinnedBottomRowsCount?: number);
|
|
22
24
|
}
|
|
@@ -78,6 +78,8 @@ export declare class NavigationService implements OnDestroy {
|
|
|
78
78
|
private lastCellRowIndex;
|
|
79
79
|
private isShiftPressed;
|
|
80
80
|
private currentSelection;
|
|
81
|
+
private zonePositions;
|
|
82
|
+
private currentZone;
|
|
81
83
|
private get activeDataRow();
|
|
82
84
|
constructor(zone: NgZone, domEvents: DomEventsService, pagerContextService: PagerContextService, scrollRequestService: ScrollRequestService, groupsService: GroupsService, detailsService: DetailsService, focusRoot: FocusRoot, editService: EditService, cd: ChangeDetectorRef, ctx: ContextService, resizeService: ColumnResizingService, focusableParent: FocusableDirective);
|
|
83
85
|
init(meta: NavigationMetadata, navigableOptions: GridNavigableSection[]): void;
|
|
@@ -90,6 +92,22 @@ export declare class NavigationService implements OnDestroy {
|
|
|
90
92
|
unregisterRow(index: number, row: LogicalRow): void;
|
|
91
93
|
isCellFocusable(cell: LogicalCell): boolean;
|
|
92
94
|
isCellFocused(cell: LogicalCell): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Returns the navigation zone for a given logical row index.
|
|
97
|
+
* Rows inside the pinned-top container return `'pinned-top'`,
|
|
98
|
+
* rows inside the pinned-bottom container return `'pinned-bottom'`,
|
|
99
|
+
* and all other rows (including header rows) return `'main'`.
|
|
100
|
+
*/
|
|
101
|
+
getZone(rowIndex: number): 'pinned-top' | 'main' | 'pinned-bottom';
|
|
102
|
+
/**
|
|
103
|
+
* Returns `true` when the given cell should carry a `tabIndex="0"` attribute as the
|
|
104
|
+
* preserved Tab stop for an inactive navigation zone.
|
|
105
|
+
*
|
|
106
|
+
* When pinned rows are present, each zone (pinned-top, main body, pinned-bottom) independently
|
|
107
|
+
* remembers its last active cell. This allows the Tab key to cycle between zones naturally
|
|
108
|
+
* via DOM order, giving each zone its own Tab stop.
|
|
109
|
+
*/
|
|
110
|
+
isCellZonePreserved(rowIndex: number, colIndex: number): boolean;
|
|
93
111
|
navigateTo(el: Element): void;
|
|
94
112
|
tryFocus(el: Element): boolean;
|
|
95
113
|
needsViewport(): boolean;
|
|
@@ -115,6 +133,7 @@ export declare class NavigationService implements OnDestroy {
|
|
|
115
133
|
private columnResize;
|
|
116
134
|
private onContentKeydown;
|
|
117
135
|
private onCellKeydown;
|
|
136
|
+
private firstRowInZone;
|
|
118
137
|
private onCursorChanges;
|
|
119
138
|
private onFocusOut;
|
|
120
139
|
private onWindowBlur;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { InjectionToken } from '@angular/core';
|
|
6
|
+
/**
|
|
7
|
+
* @hidden
|
|
8
|
+
* When provided as `true`, LogicalCellDirective instances skip all
|
|
9
|
+
* registration, focus management, and keyboard handling. Used by the
|
|
10
|
+
* sticky-group overlay container which manages its own focus independently.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SKIP_CELL_NAVIGATION: InjectionToken<boolean>;
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "24.0.0-develop.
|
|
10
|
+
"publishDate": 1778841783,
|
|
11
|
+
"version": "24.0.0-develop.31",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|