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; // Data retrieval function filterFn?: (searchQuery: string, data?: any) => Observable; // 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; //Extra data passed to query function extraData?: any; // Callback to intercept value assignment based on item selection valueAssign?: (selectedItem: any) => any; }