@progress/kendo-angular-grid
Version:
Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.
130 lines (129 loc) • 5.59 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ChangeDetectorRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import { FocusRoot } from './focus-root';
import { FocusableDirective } from './focusable.directive';
import { LogicalCell } from './logical-cell.interface';
import { LogicalRow } from './logical-row.interface';
import { NavigationCell } from './navigation-cell.interface';
import { NavigationChange } from './navigation-change.interface';
import { NavigationMetadata } from './navigation-metadata';
import { NavigationRow } from './navigation-row.interface';
import { DomEventsService } from '../common/dom-events.service';
import { EditService } from '../editing/edit.service';
import { GroupsService } from '../grouping/groups.service';
import { PagerContextService } from '@progress/kendo-angular-pager';
import { DetailsService } from '../rendering/details/details.service';
import { ScrollRequestService } from '../scrolling/scroll-request.service';
import { GridNavigableSection } from './navigable-settings';
import { ContextService } from '../common/provider.service';
import { ColumnResizingService } from '../column-resizing/column-resizing.service';
import * as i0 from "@angular/core";
/**
* @hidden
*/
export declare class NavigationViewport {
firstItemIndex: number;
lastItemIndex: number;
constructor(firstItemIndex: number, lastItemIndex: number);
containsRow(dataRowIndex: number): boolean;
intersects(start: number, end: number): boolean;
}
/**
* @hidden
*/
export declare class NavigationService implements OnDestroy {
private zone;
private domEvents;
private pagerContextService;
private scrollRequestService;
private groupsService;
private detailsService;
private focusRoot;
private editService;
private cd;
private ctx;
private resizeService;
private focusableParent;
readonly changes: Subject<NavigationChange>;
readonly cellKeydown: EventEmitter<any>;
set metadata(value: NavigationMetadata);
get metadata(): NavigationMetadata;
get enabled(): boolean;
get pagerEnabled(): boolean;
get tableEnabled(): boolean;
get toolbarEnabled(): boolean;
get activeCell(): NavigationCell;
get activeRow(): NavigationRow;
get isColumnResizable(): boolean;
viewport: NavigationViewport;
columnViewport: NavigationViewport;
private activeRowIndex;
private alive;
private active;
private mode;
private model;
private cursor;
private meta;
private subs;
private pendingRowIndex;
private virtualCell;
private pagerIsNavigable;
private tableIsNavigable;
private toolbarIsNavigable;
private lastCellRowIndex;
private isShiftPressed;
private currentSelection;
private get activeDataRow();
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);
init(meta: NavigationMetadata, navigableOptions: GridNavigableSection[]): void;
ngOnDestroy(): void;
registerCell(cell: LogicalCell): void;
registerCellOnCurrentRow(cell: LogicalCell): void;
unregisterCell(index: number, rowIndex: number, cell: LogicalCell): void;
registerRow(row: LogicalRow): void;
updateRow(row: LogicalRow): void;
unregisterRow(index: number, row: LogicalRow): void;
isCellFocusable(cell: LogicalCell): boolean;
isCellFocused(cell: LogicalCell): boolean;
navigateTo(el: Element): void;
tryFocus(el: Element): boolean;
needsViewport(): boolean;
setViewport(firstItemIndex: number, lastItemIndex: number): void;
setColumnViewport(firstItemIndex: number, lastItemIndex: number): void;
focusCell(rowIndex?: number, colIndex?: number): NavigationCell;
focusCellByElement(el: Element): NavigationCell;
focusNextCell(wrap?: boolean): NavigationCell;
focusPrevCell(wrap?: boolean): NavigationCell;
toggle(active: boolean): void;
hasFocus(): boolean;
autoFocusCell(start: number, end: number): boolean;
setActiveSections(navigableOptions: GridNavigableSection[]): void;
private focusAdjacentCell;
private enterCell;
private leaveCell;
private activateElements;
private deactivateElements;
private activateRow;
private moveCursorFwd;
private moveCursorBwd;
private onCursorKeydown;
private columnResize;
private onContentKeydown;
private onCellKeydown;
private onCursorChanges;
private onFocusOut;
private onWindowBlur;
private onKeydown;
private onTabout;
private handleVerticalArrowSelection;
private handleHorizontalArrowSelection;
private handleMultipleArrowCellSelection;
private handleMultipleArrowRowSelection;
private calculateRowspanOffset;
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
}