ag-grid-community
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
26 lines (25 loc) • 1.5 kB
TypeScript
import { AgBeanStub } from '../core/agBeanStub';
import type { AgCoreBeanCollection } from '../interfaces/agCoreBeanCollection';
import type { BaseEvents } from '../interfaces/baseEvents';
import type { BaseProperties } from '../interfaces/baseProperties';
import type { IPropertiesService } from '../interfaces/iProperties';
export interface ManagedFocusCallbacks {
shouldStopEventPropagation?: (e: KeyboardEvent) => boolean;
onTabKeyDown?: (e: KeyboardEvent) => void;
handleKeyDown?: (e: KeyboardEvent) => void;
onFocusIn?: (e: FocusEvent) => void;
onFocusOut?: (e: FocusEvent) => void;
}
export declare const FOCUS_MANAGED_CLASS = "ag-focus-managed";
export interface StopPropagationCallbacks {
isStopPropagation: (e: Event) => boolean;
stopPropagation: (e: Event) => void;
}
export declare class AgManagedFocusFeature<TBeanCollection extends AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends BaseProperties, TGlobalEvents extends BaseEvents, TCommon, TPropertiesService extends IPropertiesService<TProperties, TCommon>> extends AgBeanStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService> {
private readonly eFocusable;
private readonly stopPropagationCallbacks;
private readonly callbacks;
constructor(eFocusable: HTMLElement, stopPropagationCallbacks?: StopPropagationCallbacks, callbacks?: ManagedFocusCallbacks);
postConstruct(): void;
private addKeyDownListeners;
}