UNPKG

@noaestudio/forms

Version:

Dynamic forms extension for Covalent

64 lines (63 loc) 2.16 kB
import { ChangeDetectorRef, TemplateRef, QueryList, AfterContentInit } from '@angular/core'; import { FormGroup, FormBuilder, AbstractControl } from '@angular/forms'; import { TdDynamicFormsService, ITdDynamicElementConfig } from './services/dynamic-forms.service'; import { TdDynamicFormsErrorTemplate } from './dynamic-element.component'; export declare class TdDynamicFormsComponent implements AfterContentInit { private _formBuilder; private _dynamicFormsService; private _changeDetectorRef; private _renderedElements; private _elements; private _templateMap; _errorTemplates: QueryList<TdDynamicFormsErrorTemplate>; dynamicForm: FormGroup; changeFunc: (data: any) => (any); /** * elements: ITdDynamicElementConfig[] * JS Object that will render the elements depending on its config. * [name] property is required. */ elements: ITdDynamicElementConfig[]; /** * Getter property for dynamic [FormGroup]. */ readonly form: FormGroup; /** * Getter property for [valid] of dynamic [FormGroup]. */ readonly valid: boolean; /** * Getter property for [value] of dynamic [FormGroup]. */ readonly value: any; /** * Getter property for [errors] of dynamic [FormGroup]. */ readonly errors: { [name: string]: any; }; /** * Getter property for [controls] of dynamic [FormGroup]. */ readonly controls: { [key: string]: AbstractControl; }; private jsonEqual(a, b); constructor(_formBuilder: FormBuilder, _dynamicFormsService: TdDynamicFormsService, _changeDetectorRef: ChangeDetectorRef); ngAfterContentInit(): void; private startChangeFunc(); /** * Refreshes the form and rerenders all validator/element modifications. */ refresh(): void; /** * Getter method for error template references */ getErrorTemplateRef(name: string): TemplateRef<any>; /** * Loads error templates and sets them in a map for faster access. */ private _updateErrorTemplates(); private _rerenderElements(); private _clearRemovedElements(); }