Newer
Older
import { Injectable } from '@angular/core';
import { Observable, Subject } from 'rxjs';
FormControlElement, FormControlValidators, ChildFormGroup, ValueChangeElement
@Injectable({
providedIn: 'root'
})
export class FormService {
private _elementValueChanged = new Subject<ValueChangeElement>();
private _controlAdded = new Subject<FormControlElement>();
private _groupAdded = new Subject<ChildFormGroup>();
private _validatorsAdded = new Subject<FormControlValidators>();
get elementValueChanged(): Observable<ValueChangeElement> {
return this._elementValueChanged.asObservable();
get controlAdded(): Observable<FormControlElement> {
get groupAdded(): Observable<ChildFormGroup> {
return this._groupAdded.asObservable();
}
get validatorsAdded(): Observable<FormControlValidators> {
return this._validatorsAdded.asObservable();
changeElementValue(elementValues: ValueChangeElement): void {
registerFormControl(control: FormControlElement): void {
this._controlAdded.next(control);
registerFormGroup(group: ChildFormGroup): void {
this._groupAdded.next(group);
}
setValidators(validations: FormControlValidators): void {
this._validatorsAdded.next(validations);