UNPKG

@rxap/forms

Version:

This package provides a set of tools and directives to simplify working with Angular forms, including reactive forms, custom validators, and form directives for handling loading, submitting, and error states. It offers decorators for defining forms and co

64 lines (63 loc) 3.33 kB
import { UntypedFormControl } from '@angular/forms'; import { Observable, Subject, Subscription } from 'rxjs'; import { FormDefinition, FormType, RxapAbstractControlOptions, SetValueFn } from './model'; import { AsyncValidator, ControlEventOptions, ControlOptions, ControlState, EmitEvent, ExtractStrings, OnlySelf, OrBoxedValue, Validator } from './types'; export declare class RxapFormControl<T = any, E extends object = any, Parent extends object = any> extends UntypedFormControl { /** * @internal */ get rxapFormDefinition(): (FormType<Parent> & FormDefinition<Parent>) | undefined; readonly value: T; readonly errors: E | null; readonly valueChanges: Observable<T>; readonly status: ControlState; readonly statusChanges: Observable<ControlState>; readonly initialState: OrBoxedValue<T>; private _readonly; private touchChanges; private dirtyChanges; readonly touch$: Observable<boolean>; readonly dirty$: Observable<boolean>; readonly value$: Observable<T>; readonly disabled$: Observable<boolean>; readonly enabled$: Observable<boolean>; get readonly(): boolean; set readonly(value: boolean); readonly status$: Observable<ControlState>; readonly errors$: Observable<E | null>; readonly controlId: string; private readonly _onSetValue; readonly stateChanges: Subject<void>; readonly readonly$: Observable<boolean>; get controlPath(): string; get fullControlPath(): string; constructor(formState: OrBoxedValue<T>, options: RxapAbstractControlOptions & { controlId: string; }); setValue(valueOrObservable: Observable<T>, options?: ControlOptions): Subscription; setValue(valueOrObservable: T, options?: ControlOptions): void; patchValue(valueOrObservable: Observable<T>, options?: ControlOptions): Subscription; patchValue(valueOrObservable: T, options?: ControlOptions): void; disabledWhile(observable: Observable<boolean>, options?: ControlOptions): Subscription; enabledWhile(observable: Observable<boolean>, options?: ControlOptions): Subscription; mergeValidators(validators: Validator): void; mergeAsyncValidators(validators: AsyncValidator): void; markAsTouched(opts?: OnlySelf): void; markAsUntouched(opts?: OnlySelf): void; markAsPristine(opts?: OnlySelf): void; markAsDirty(opts?: OnlySelf): void; markAllAsDirty(): void; reset(formState?: OrBoxedValue<T>, options?: ControlEventOptions): void; setValidators(newValidator: Validator, updateValueAndValidity?: boolean): void; setAsyncValidators(newValidator: AsyncValidator, updateValueAndValidity?: boolean): void; validateOn(observableValidation: Observable<null | object>): Subscription; getError<K extends ExtractStrings<E>>(errorCode: K): E[K] | null; hasError<K extends ExtractStrings<E>>(errorCode: K): boolean; setErrors(errors: Partial<E> | null, opts?: EmitEvent): void; setError(key: string, value: any, opts?: EmitEvent): void; hasErrorAndTouched(error: ExtractStrings<E>): boolean; hasErrorAndDirty(error: ExtractStrings<E>): boolean; setEnable(enable?: boolean, opts?: ControlEventOptions): void; setDisable(disable?: boolean, opts?: ControlEventOptions): void; registerOnSetValue(setValueFn: SetValueFn<T>): void; }