ag-grid-quick-filter
Version:
A function rich all select that supports multiple data sources and integrates with ag-grid
63 lines (62 loc) • 2.79 kB
TypeScript
import { RefObject, ChangeEvent, KeyboardEvent, MouseEvent as ReactMouseEvent } from "react";
import CSS from "csstype";
import { Cache } from "../cache/cache";
import { Choice, Choices, ChoiceDefinition, Selection, SelectProps } from "../types";
import { OptionType } from "../types/optionType";
import { LookUp } from "../types/choiceDefinition";
import { Comparison } from "../types/comparison";
import { Operand } from "../types/operand";
import { GridApi } from "ag-grid-community";
export interface AgGridQuickFilterModel {
definitionMap: Map<string, ChoiceDefinition<any>>;
lookUpGuidMap: Map<string, string>;
lookUpChoiceMap: Map<string, OptionType[]>;
cache?: Cache;
inputText: string;
filterText: string;
showChoices: boolean;
highlightedIndex: number;
visibleChoices: Choices[];
visibleChoiceCount: number;
selected: Selection[];
listPosition: CSS.Property.Top;
token: string;
selectId: string;
comparison?: Comparison;
operand?: Operand;
agGridApi?: GridApi;
props: SelectProps;
inputRef?: RefObject<HTMLInputElement>;
selectRef?: RefObject<HTMLDivElement>;
active?: number;
refresh?: () => void;
updateProps: (props: SelectProps) => void;
updateRefs: (inputRef?: RefObject<HTMLInputElement>, selectRef?: RefObject<HTMLDivElement>) => void;
updateDisplay: () => void;
signalChange: () => void;
fetchChoices: (text: string) => void;
buildVisibleChoices: () => void;
includeItemText: (item: OptionType, exact: boolean, lookUp?: LookUp) => boolean;
includeItemValue: (item: OptionType, exact: boolean, lookUp?: LookUp) => boolean;
includeItem: (definition: ChoiceDefinition<any>, item: OptionType, exact: boolean) => boolean;
updateVisibleChoices: () => void;
hideList: () => void;
showList: () => void;
updateListPosition: () => void;
clickedAway: (mouseEvent: MouseEvent) => void;
setFocus: () => void;
updateFilterText: (text: string) => void;
textInputClicked: () => void;
textChanged: (event: ChangeEvent<HTMLInputElement>) => void;
updateAgGrid: (definition?: ChoiceDefinition<any>) => void;
updateSelection: () => void;
selectItem: (choice: Choice) => void;
deselectItem: (selection: Selection) => void;
clearSelection: (event: ReactMouseEvent) => void;
makeItemVisible: (index: number) => void;
adjustHighlightedIndex: (index: number) => void;
adjustHighlightedIndexOnly: (index: number) => void;
getItemAtIndex: () => Choice | undefined;
inputKeyPressed: (event: KeyboardEvent<HTMLDivElement>) => void;
}
export declare const createAgGridQuickFilterModel: (initialProps: SelectProps) => AgGridQuickFilterModel;