36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
import { Observable } from 'rxjs';
|
|
import { AutoCompleteGroup } from '../auto-complete-group';
|
|
|
|
export interface SingleAutoCompleteConfiguration {
|
|
// Delay for performing the request. Default: 200ms.
|
|
requestDelay?: number;
|
|
// Min characters for the filtering to be applied. Default: 1.
|
|
minFilteringChars?: number;
|
|
// Load and present items from start, without user query. Default: true.
|
|
loadDataOnStart?: boolean;
|
|
// Remove item after selection.
|
|
removeAfterSelection?: boolean;
|
|
// Static or initial items.
|
|
initialItems?: (data?: any) => Observable<any[]>;
|
|
// Data retrieval function
|
|
filterFn?: (searchQuery: string, data?: any) => Observable<any[]>;
|
|
// Property formating for input
|
|
displayFn?: (item: any) => string;
|
|
// Property formating for dropdown
|
|
groupingFn?: (items: any[]) => AutoCompleteGroup[];
|
|
// Property formating for dropdown
|
|
titleFn?: (item: any) => string;
|
|
// Property formating for dropdown
|
|
subtitleFn?: (item: any) => string;
|
|
// Property formating for icon on chip
|
|
iconFn?: (item: any) => string;
|
|
// Property for link on chip
|
|
linkFn?: (item: any) => string;
|
|
// Disable option.
|
|
disableOption?: (item: any) => boolean;
|
|
//Extra data passed to query function
|
|
extraData?: any;
|
|
// Callback to intercept value assignment based on item selection
|
|
valueAssign?: (selectedItem: any) => any;
|
|
}
|