import { Directive, Input, OnInit } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { ElementComponent } from './element-component.directive';

@Directive()
export abstract class FormElementComponent extends ElementComponent implements OnInit {
  @Input() parentForm!: FormGroup;
  elementFormControl!: FormControl;

  ngOnInit(): void {
    this.elementFormControl = this.parentForm ?
      this.parentForm.controls[this.elementModel.id] as FormControl :
      new FormControl(this.elementModel.value);
  }
}