@bi8/am-dyn-form
Version:
ng update @angular/cli yarn add @angular/cli
51 lines (50 loc) • 1.86 kB
TypeScript
import { FormControl, ValidatorFn, AsyncValidatorFn } from "@angular/forms";
import { Observable } from "rxjs";
export interface LoaderFn<A, T> {
(value: A): Observable<T>;
}
export declare type DYN_FIELD_APPEARANCE = 'legacy' | 'standard' | 'fill' | 'outline';
export declare abstract class DynFormControl extends FormControl {
key: string;
type: string;
path: string;
config: any;
logicalErrorMessage: string;
vCache: ValidatorFn | ValidatorFn[];
constructor(options?: {
defaultValue?: any;
key?: string;
required?: boolean;
dir?: string;
hint?: string;
placeholder?: string;
messages?: any[];
useDefaultErrorMessages?: boolean;
loadFn?: LoaderFn<any, any>;
disable?: boolean;
appearance?: DYN_FIELD_APPEARANCE;
compact?: boolean;
}, validator?: ValidatorFn | ValidatorFn[] | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);
removeRequired(): void;
addRequired(): void;
isRequired(): boolean | ValidatorFn;
isValidator(validator: ValidatorFn): boolean | ValidatorFn;
setValidator(validator: ValidatorFn): number | ValidatorFn;
removeValidator(validator: ValidatorFn): void;
setLogicalError(message: string): void;
clearLogicalError(): void;
activateValidators(): void;
setValue(value: any, options?: {
onlySelf?: boolean;
emitEvent?: boolean;
emitModelToViewChange?: boolean;
emitViewToModelChange?: boolean;
loadFn?: LoaderFn<any, any>;
}): void;
loadValue(param: any, loadFn: LoaderFn<any, any>, options?: {
onlySelf?: boolean;
emitEvent?: boolean;
emitModelToViewChange?: boolean;
emitViewToModelChange?: boolean;
}): void;
}