UNPKG

@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
/**----------------------------------------------------------------------------------------- * 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>; }