import { Component, Inject, OnInit } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
import { DispatchResponse } from 'src/app/interfaces/acquisition-management/dispatch/dispatch.interface';

@Component({
  selector: 'app-config-group',
  templateUrl: './config-group.component.html',
  styleUrls: ['./config-group.component.css']
})
export class ConfigGroupComponent implements OnInit {

  public formGroup: FormGroup;
  constructor(@Inject(MAT_DIALOG_DATA) public arrDispatch: Array<DispatchResponse>) {
    this.formGroup = this.createFormGroup();
  }

  ngOnInit(): void {
  }

  private createFormGroup(){
    return new FormGroup({
      despacho: new FormControl('', Validators.required),
      proposito: new FormControl('no_aplica', Validators.required),
      actividad: new FormControl('', Validators.required),
      proyecto: new FormControl('', Validators.required),
    });
  }

  public getErrorMessage(typeInput:string) {
    if (typeInput === 'despacho' && this.despacho?.hasError('required')) {
      return 'El campo Despacho es requerido.';
    }
    if (typeInput === 'proposito' && this.proposito?.hasError('required')) {
      return 'El campo Proposito es requerido.';
    }
    if (typeInput === 'actividad' && this.actividad?.hasError('required')) {
      return 'El campo Actividad es requerido.';
    }
    if (typeInput === 'proyecto' && this.proyecto?.hasError('required')) {
      return 'El campo Proyecto es requerido.';
    }
    return ''
  }

  get despacho() { return this.formGroup.get('despacho'); }
  get proposito() { return this.formGroup.get('proposito'); }
  get actividad() { return this.formGroup.get('actividad'); }
  get proyecto() { return this.formGroup.get('proyecto'); }

}
