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
TypeScript
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>;
}