UNPKG

armstrong-react

Version:

Rocketmakers Armstrong library of React components

55 lines (54 loc) 1.8 kB
import * as React from "react"; export interface IDropdownOption { id: number; name: string; data?: any; } export interface IDropdownSelectProps extends React.Props<DropdownSelect> { className?: string; value?: IDropdownOption | IDropdownOption[]; minimumLength?: number; placeholder?: string; searchPlaceholder?: string; noResultsMessage?: string; options?: IDropdownOption[]; remoteThrottle?: number; remoteQuery?: (query: string) => Promise<IDropdownOption[]>; remoteQueryOnOpen?: boolean; hasGoButton?: boolean; goButtonContent?: JSX.Element | string; onSelected?: (selectedOption: IDropdownOption | IDropdownOption[]) => void; visibleItems?: number; canClear?: boolean; disabled?: boolean; multiSelect?: boolean; } export interface IDropdownSelectState { filteredOptions?: IDropdownOption[]; query?: string; open?: boolean; selectedValue?: IDropdownOption | IDropdownOption[]; selectedIndex?: number; remoteSearching?: boolean; offsetIndex?: number; } export declare class DropdownSelect extends React.Component<IDropdownSelectProps, IDropdownSelectState> { private timer; private itemHeight; static defaultProps: { remoteThrottle: number; minimumLength: number; }; constructor(props: IDropdownSelectProps); filterRemote(query: string, immediate?: boolean): void; filter(query: string): void; focusInput(e: any): void; handleEvent(e: any): void; componentWillMount(): void; componentWillReceiveProps(newProps: IDropdownSelectProps): void; checkKey(e: any): boolean; constrainIndex(): void; handleSelection(options: IDropdownOption | IDropdownOption[]): void; buttonClick(): void; render(): JSX.Element; }