@bi8/am-dyn-form
Version:
ng update @angular/cli yarn add @angular/cli
71 lines (70 loc) • 2.41 kB
TypeScript
import { Subject, Observable } from 'rxjs';
import { ValidatorFn, AsyncValidatorFn } from "@angular/forms";
import { DynFormControl } from "./dyn-form-control";
export declare class DynAutoCompleteControl extends DynFormControl {
type: string;
loader: AutoCompleteCriteriaLoader;
selectOptions$: Subject<any[]>;
total: number;
items: any[];
constructor(options?: {}, validator?: ValidatorFn | ValidatorFn[] | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);
loadValues(value: any): void;
displayFn(item: any): any;
}
export interface AutoCompleteLoadFn {
(criteria: any): Observable<Object>;
}
export interface ArrayAutoCompleteFilterLoadFn {
(item: any, value: any): boolean;
}
export interface AutoCompleteCriteriaLoader {
codeProperty: string;
valueProperty: string;
prepare(criteria: any): Observable<Object>;
processResponse(response: any): any;
}
export declare class ArrayAutoCompleteLoader implements AutoCompleteCriteriaLoader {
items: any[];
filterFn: ArrayAutoCompleteFilterLoadFn;
size: number;
page: number;
codeProperty: string;
valueProperty: string;
constructor(items: any[], filterFn: ArrayAutoCompleteFilterLoadFn, options: any);
prepare(value: any): Observable<Object>;
processResponse(response: any): any;
}
export declare class ObservableAutoCompleteLoader implements AutoCompleteCriteriaLoader {
loadFn: AutoCompleteLoadFn;
size: number;
page: number;
codeProperty: string;
valueProperty: string;
constructor(loadFn: AutoCompleteLoadFn, options?: any);
prepare(value: any): Observable<Object>;
processResponse(response: any): {
total: any;
items: any;
};
}
export declare class KeywordAutoCompleteCriteriaLoader implements AutoCompleteCriteriaLoader {
loadFn: AutoCompleteLoadFn;
size: number;
page: number;
inclusive: boolean;
keywordProperty: string;
codeProperty: string;
valueProperty: string;
constructor(loadFn: AutoCompleteLoadFn, options?: any);
resolveContext(value: any): {
size: number;
page: number;
inclusive: boolean;
criteria: any[];
};
prepare(value: any): Observable<Object>;
processResponse(response: any): {
total: any;
items: any;
};
}