grcm-components
Version:
> ⚡ Crea formularios dinámicos en Angular de forma rápida, limpia y reutilizable.
37 lines (36 loc) • 2.38 kB
TypeScript
import { AfterViewInit, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
import { FormGroup, ValidationErrors } from '@angular/forms';
import { GrcmDataForm } from './interfaces/data-form.interface';
import { ResponseGrcmForm } from './interfaces/response-form.interface';
import { GrcmDataFormChange } from './interfaces/form-change.interface';
import { GenericObject } from './interfaces/generic-object.interface';
import { GrcmFormComponentType } from './interfaces/form-component-type.interface';
import * as i0 from "@angular/core";
export declare class GrcmFormComponent implements OnInit, AfterViewInit {
grcmControls: import("@angular/core").Signal<readonly ViewContainerRef[]>;
private readonly _destroyRef;
private readonly _formBuilder;
data: import("@angular/core").InputSignal<GrcmDataForm>;
additionalClasses: import("@angular/core").Signal<string | string[]>;
buildForm: import("@angular/core").OutputEmitterRef<FormGroup<any> | null>;
formSubmit: import("@angular/core").OutputEmitterRef<ResponseGrcmForm>;
formChange: import("@angular/core").OutputEmitterRef<GrcmDataFormChange>;
private _form;
readonly form: import("@angular/core").Signal<FormGroup<any> | null>;
protected formKeys: string[];
readonly templates: import("@angular/core").InputSignal<GenericObject<TemplateRef<any>>>;
readonly identifier: import("@angular/core").Signal<string>;
readonly formControlNames: import("@angular/core").Signal<string[]>;
ngOnInit(): void;
ngAfterViewInit(): void;
private initialize;
private initForm;
addControl(name: string, control: GrcmFormComponentType<any, any>): void;
private initSubscriptionsForControlValueChanges;
getErrors(errors: ValidationErrors | null): string[];
onSubmit(event?: SubmitEvent | null): void;
private markAsTouched;
protected getDataForTemplateContext(formControlName?: string | null): GenericObject;
static ɵfac: i0.ɵɵFactoryDeclaration<GrcmFormComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<GrcmFormComponent, "lib-grcm-form", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "templates": { "alias": "templates"; "required": false; "isSignal": true; }; }, { "buildForm": "buildForm"; "formSubmit": "formSubmit"; "formChange": "formChange"; }, never, never, true, never>;
}