UNPKG

@ng-flexy/form

Version:

Flexy components and tools to build Angular 8+ applications

44 lines (43 loc) 1.46 kB
import { FormControl, FormGroup } from '@angular/forms'; import { FlexyLayout } from '@ng-flexy/layout'; import { FlexyFormFieldLayoutSchema, FlexyFormLayoutSchema } from './layout-schema.model'; import { FlexyFormData } from './form.data'; import { Observable } from 'rxjs'; interface CalcRefs { [name: string]: { calc: string; control: FormControl; ifControl?: FormGroup; }; } export declare class FlexyForm extends FlexyLayout { currentData: FlexyFormData; currentDataHash: string; readonly currentData$: Observable<FlexyFormData>; get valid(): boolean; isStarted: boolean; readonly schema: FlexyFormLayoutSchema[]; readonly formGroup: FormGroup; private readonly _originalData; private readonly _currentDataSubject; _calculatedRefs: CalcRefs; _lastErrors: { [key: string]: any; }; private _changesSubscription; constructor(formGroup: FormGroup, schema: FlexyFormLayoutSchema[], data: FlexyFormData); getAllData(): FlexyFormData; getDirtyData(): FlexyFormData; getAllErrors(): { [key: string]: any; }; containsFieldSchema(fieldName: string): boolean; getFieldSchema(fieldName: string): FlexyFormFieldLayoutSchema; getFieldInstance<T>(fieldName: string): T; private _subscribeChangesAndCalculate; private _setCurrentData; private _initCalculatedRefs; private _calculate; private _clearHiddenData; } export {};