1 | import { AbstractControl, AsyncValidatorFn, ValidatorFn } from '@angular/forms';
|
2 | import { Observable } from 'rxjs';
|
3 | export interface EclatErrorMapping<T> {
|
4 | [key: string]: string | string[] | ((control: AbstractEclatFormControl<T>) => string | string[]);
|
5 | }
|
6 | export interface EclatFormRule<T> {
|
7 | key: string;
|
8 | message: string | string[] | ((control: AbstractEclatFormControl<T>) => string | string[]);
|
9 | validator?: ValidatorFn;
|
10 | asyncValidator?: AsyncValidatorFn;
|
11 | }
|
12 | export 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 |