import { Component, OnInit, OnDestroy, Input } from '@angular/core'; import { MostrarOcultarService } from '../../../../../services/mostrar-ocultar.service'; import { GrupoEvaluacion} from '../../../../../Models/grupos-evaluacion' import { GruposParametrosEvaluacionService } from '../../../../../services/grupos-parametros-evaluacion/grupos-parametros-evaluacion.service'; import { Subscription} from 'rxjs'; import { Router } from '@angular/router'; import { distinctUntilChanged } from 'rxjs/operators'; @Component({ selector: 'app-grupo-parametros-eva', templateUrl: './grupo-parametros-eva.component.html', styleUrls: ['./grupo-parametros-eva.component.css'] }) export class GrupoParametrosEvaComponent implements OnInit { mostrarDiv: number[] = []; grupoEvaluacion!: GrupoEvaluacion[]; parametrosSubscription: Subscription; @Input() idConf2: number; 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 mostrarOcultarService: MostrarOcultarService, private gruposParametrosEvaluacionService: GruposParametrosEvaluacionService, private router: Router ) { } AgregarParametro() { this.router.navigate(['main/NuevoGrupoParametrosEvaComponent'], { queryParams: { idGrupo: this.idConf2.toString() } }); } EditarParametro(id:number){ const registroSeleccionado = this.grupoEvaluacion.find(parametro => parametro.uzytavcabparaevaf_id === id); this.mostrarOcultarService.grupoEvaluacionEditado = registroSeleccionado; this.router.navigate(['main/EditGrupoParametrosEvaComponent', id]); } eliminarParametro(id: number) { const confirmacion = confirm('¿Estás seguro de que quieres eliminar este parámetro?'); if (confirmacion) { console.log("id",id); this.gruposParametrosEvaluacionService.eliminarParametros(id).subscribe( () => { // Manejar la eliminación exitosa console.log('Registro eliminado correctamente'); this.obtenerRegistros(this.idConf2); }, (error) => { // Manejar el error en caso de que ocurra console.error('Error al eliminar el registro', error); } ); } } ngOnInit() { this.obtenerRegistros(this.idConf2); // Suscribirse a la notificación de actualización de componentes this.parametrosSubscription = this.gruposParametrosEvaluacionService.parametrosActualizados .pipe(distinctUntilChanged()) .subscribe(() => { this.obtenerRegistros(this.idConf2); }); } obtenerRegistros(id:number) { this.gruposParametrosEvaluacionService.obtenerParametrosGrupoFinales(id).subscribe(data => { this.grupoEvaluacion = data; }); } }