UNPKG

1.16 kBTypeScriptView Raw
1import { AbstractControl, AsyncValidatorFn, ValidatorFn } from '@angular/forms';
2import { Observable } from 'rxjs';
3export interface EclatErrorMapping<T> {
4 [key: string]: string | string[] | ((control: AbstractEclatFormControl<T>) => string | string[]);
5}
6export interface EclatFormRule<T> {
7 key: string;
8 message: string | string[] | ((control: AbstractEclatFormControl<T>) => string | string[]);
9 validator?: ValidatorFn;
10 asyncValidator?: AsyncValidatorFn;
11}
12export declare abstract class AbstractEclatFormControl<T, C extends AbstractControl = AbstractControl> {
13 control: C;
14 protected asyncValidators: AsyncValidatorFn[];
15 protected validators: ValidatorFn[];
16 private readonly rules;
17 constructor(rules?: EclatFormRule<T>[]);
18 readonly errorMessages: string[];
19 readonly value: T;
20 readonly valid: boolean;
21 readonly valueChanges: Observable<T>;
22 disable(isDisabled?: boolean, opts?: {
23 onlySelf?: boolean;
24 emitEvent?: boolean;
25 }): void;
26 abstract patchState(data: T, emitEvent?: boolean): void;
27 abstract resetState(data: T, emitEvent?: boolean): void;
28}
29
\No newline at end of file