UNPKG

ngx-json-ui

Version:

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.

47 lines (46 loc) 2.62 kB
import { OnChanges, SimpleChanges, OnDestroy } from '@angular/core'; import { FormGroup, AbstractControl, FormControl } from '@angular/forms'; import { BaseComponent } from './base.component'; import { DomSanitizer } from '@angular/platform-browser'; import { FormControlComponentModel } from '../../core/models/component-models/form-control-component.model'; import { FormSubmitBroadcastService } from '../../core/services/form-submit-broadcast.service'; import * as i0 from "@angular/core"; /** * Base class for all reactive form controls (input, checkbox, radio, select, nested FormGroup, etc.). * - Grabs the control by name from the parent FormGroup * - Applies host class/style via BaseComponent * - Exposes control state, errors, and value changes * * @typeParam M - the ComponentModel type for config * @typeParam C - the AbstractControl subclass (default FormControl) */ export declare abstract class BaseFormControlComponent<M extends FormControlComponentModel = FormControlComponentModel, C extends AbstractControl = FormControl> extends BaseComponent<M> implements OnChanges, OnDestroy { protected sanitizer: DomSanitizer; protected submitBroadcastService: FormSubmitBroadcastService; /** Reference to the specific control instance (FormControl or FormGroup) */ control: C; form: FormGroup; submitted: boolean; private statusSub?; private destroy$; /** Host element id for label association */ hostId: string; constructor(sanitizer: DomSanitizer, submitBroadcastService: FormSubmitBroadcastService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; get errorState(): boolean; /** The control's value, or null if not set */ get getControlErrorMessage(): string; /** * Handles input change event and updates the form control. * @param event The input event from the text field. * @param constraints The constraints for the input (e.g., max length, case). * @returns void * This method enforces constraints such as maximum length, exact length, and case (lower/upper). * It also updates the form control value without triggering additional events to prevent loops. */ handleInputChange(event: Event, constraints: any): void; static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormControlComponent<any, any>, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFormControlComponent<any, any>, never, never, { "form": { "alias": "form"; "required": false; }; "submitted": { "alias": "submitted"; "required": false; }; }, {}, never, never, true, never>; }