import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule, FormGroupDirective, NgForm } from '@angular/forms';
import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service';
import {  ActivatedRoute, Router } from '@angular/router';
import { OpcionesRespuestaService } from '../../../../../services/opciones-respuesta/opciones-respuesta.service';
import { Subscription} from 'rxjs';
import { OpcionesRespuesta } from '../../../../../Models/opciones-respuesta';


@Component({
  selector: 'app-nueva-op-resp-eva',
  templateUrl: './nueva-op-resp-eva.component.html',
  styleUrls: ['./nueva-op-resp-eva.component.css'],

})
export class NuevaOpRespEvaComponent implements OnInit {

  mostrarDiv: number[] = [];
  opcionesRespuesta: OpcionesRespuesta;
  parametrosSubscription: Subscription;
  myForm: FormGroup;
  idParaeva: number;
  idParaevaF: number;
  tipoParaevaF: string;
  idOP:number;
  ruta:string;
  toggleDiv(i: number) {
    const index = this.mostrarDiv.indexOf(i);
    if (index > -1) {
      this.mostrarDiv.splice(index, 1); // Eliminar el índice del arreglo
    } else {
      this.mostrarDiv.push(i); // Agregar el índice al arreglo
    }
  }

  constructor(
    private formBuilder: FormBuilder,
    public mostrarOcultarService: MostrarOcultarService,
    private opcionesRespuestaService: OpcionesRespuestaService,
    private route: Router,
    private router: ActivatedRoute

  ) {
    this.opcionesRespuesta = new OpcionesRespuesta();

  }

  ngOnInit() {
    this.router.queryParams.subscribe(params => {
      this.idParaeva = params['idConf'];
    });
    this.router.queryParams.subscribe(params => {
      this.idParaevaF = params['idParaevaF'];
    });
    
    
    this.router.queryParams.subscribe(params => {
      this.tipoParaevaF = params['tipoParaevaF'];
    });

    this.myForm = this.formBuilder.group({
      descripcion: ['', Validators.required],
      puntaje: ['', Validators.required],

    });
  }

  enviarSolicitud = false;




  onSubmit() {
    if (this.myForm.valid && !this.enviarSolicitud) {
      this.enviarSolicitud = true;
      this.opcionesRespuesta.uzytavalorpar_descrip = this.myForm.value.descripcion;
      this.opcionesRespuesta.uzytavalorpar_puntaje = parseInt(this.myForm.value.puntaje);
     
      if(this.tipoParaevaF === undefined){
        this.idOP = this.idParaeva;
        this.ruta = 'main/ParametrosEvaluacionInicial'
      }else{
        this.idOP = this.idParaevaF;
        this.ruta = 'main/ParametrosEvaluacionFinal'
      }
      this.opcionesRespuesta.uzytavparaeva_id = this.idOP
      console.log("id x",  this.opcionesRespuesta.uzytavparaeva_id)
      this.opcionesRespuestaService.guardarParametros(this.opcionesRespuesta).subscribe(() => {
      this.opcionesRespuestaService.parametrosActualizados.next();
      this.route.navigate([this.ruta]);
      });
    }
  }

  onCancel() {

    if(this.tipoParaevaF === undefined){
      this.idOP = this.idParaeva;
      this.ruta = 'main/ParametrosEvaluacionInicial'
    }else{
      this.idOP = this.idParaevaF;
      this.ruta = 'main/ParametrosEvaluacionFinal'
    }


    this.route.navigate([this.ruta]);

  }
}