import { EventEmitter, OnInit, Renderer } from '@angular/core'; import { FormGroup, FormControl, ValidatorFn } from '@angular/forms'; import { Subject } from 'rxjs'; /** * Clase Base para implementar todos los inputs de los formularios */ export declare abstract class BaseFieldComponent implements OnInit { renderer: Renderer; /** * Parametro que indica el label del input */ label: string; /** * Nombre asignado al input */ name: string; /** * FormGroup al que pertenece el campo */ group: FormGroup; /** * Hint que se muestra debajo del campo del lado izquierdo */ hintStart: string; /** * Hint que se muestra debajo del componente del lado derecho */ hintEnd: string; /** * Indica si el campo es de solo lectura */ readonly: boolean; /** * Indica si el campo estara desactivado */ disabled: boolean; /** * Indica si el campo tendrá el focus */ focus: boolean; /** * Json que representa al componente, se utiliza para inicializar el componente. */ metadata: any; /** * Evento para hacer visible o esconder el componente */ visibleSubject: Subject; /** * Evento que indica si cambio o no el campo. */ changeEmitter: EventEmitter; /** * Bandera que indica si es campo es requerido */ isRequired: boolean; /** * El FormControl que representa el campo en el formulario */ onchange: Function; /** * El FormControl que representa el campo en el formulario */ control: FormControl; /** * Arreglo del validaciones necesarias para el componente */ validators: ValidatorFn[]; /** * Indicador de visibilidad del componente */ visible: boolean; /** * Indicador para checar si el campo está contenido en un FormArray */ isFormArray: boolean; /** * Indicador para checar si el campo está contenido en un FormArray */ formArrayName: string; /** * Indicador para checar si el campo está contenido en un FormArray */ field: any; constructor(renderer: Renderer); /** * Inicializa el componente */ ngOnInit(): void; /** * Inicializa el componente */ init(): void; /** * Valida que existan los campos name y group para que funcione bien el componente * En caso de faltar alguno manda un error. */ validateComponent(): void; /** * Inicializa el componenete grafico, esto para inicializar mensajes en caso de existir */ getControl(): void; /** * Metodo que se dispara cuando existe un cambio en el campo */ abstract onValueChanges(_val: any): void; /** * Inicializa el componente desde los metadatos */ abstract initFromMetadata(): void; /** * Asigna los valores de un json al componenete * @param _json json con la informacion inicial */ fromJson(_json: any): this; /** * Metdodo para remplazar un atributo del componente con un metadato asignado * @param attribute atributo que se quiere reemplazar con el metadato */ setMetadata(attribute: any): void; }