@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
71 lines (70 loc) • 2.41 kB
TypeScript
import { CancelableEventArgs, CancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils';
import { IgxDropDownItemBaseDirective } from './drop-down-item.base';
import { IToggleView } from '../core/navigation/IToggleView';
import { EventEmitter, InjectionToken } from '@angular/core';
import { DisplayDensityBase } from '../core/density';
/** @hidden */
export declare enum Navigate {
Up = -1,
Down = 1
}
/** Key actions that have designated handlers in IgxDropDownComponent */
export declare enum DropDownActionKey {
ESCAPE = "escape",
ENTER = "enter",
SPACE = "space"
}
/**
* Interface that encapsulates onSelection event arguments - old selection, new selection and cancel selection.
* @export
*/
export interface ISelectionEventArgs extends CancelableEventArgs, IBaseEventArgs {
oldSelection: IgxDropDownItemBaseDirective;
newSelection: IgxDropDownItemBaseDirective;
}
/**
* Interface for an instance of IgxDropDownNavigationDirective
* @export
*/
export interface IDropDownNavigationDirective {
target: any;
handleKeyDown(event: KeyboardEvent): void;
onArrowDownKeyDown(event?: KeyboardEvent): void;
onArrowUpKeyDown(event?: KeyboardEvent): void;
onEndKeyDown(event?: KeyboardEvent): void;
onHomeKeyDown(event?: KeyboardEvent): void;
}
export declare const IGX_DROPDOWN_BASE: InjectionToken<IDropDownBase>;
/**
* @hidden
*/
export interface IDropDownList extends DisplayDensityBase {
onSelection: EventEmitter<ISelectionEventArgs>;
width: string;
height: string;
id: string;
maxHeight: string;
collapsed: boolean;
items: IgxDropDownItemBaseDirective[];
headers: IgxDropDownItemBaseDirective[];
focusedItem: IgxDropDownItemBaseDirective;
navigateFirst(): void;
navigateLast(): void;
navigateNext(): void;
navigatePrev(): void;
navigateItem(newIndex: number, direction?: Navigate): void;
onItemActionKey(key: DropDownActionKey, event?: Event): void;
}
/**
* @hidden
*/
export interface IDropDownBase extends IDropDownList, IToggleView {
selectedItem: any;
onOpening: EventEmitter<CancelableEventArgs>;
onOpened: EventEmitter<void>;
onClosing: EventEmitter<CancelableBrowserEventArgs>;
onClosed: EventEmitter<void>;
allowItemsFocus?: boolean;
setSelectedItem(index: number): void;
selectItem(item: IgxDropDownItemBaseDirective, event?: Event): void;
}