LANIA_Proyecto/js/control-candidato.js

59 lines
2.2 KiB
JavaScript

document.addEventListener("DOMContentLoaded" , function() {
const tabla = document.querySelector('table');
const btnRefrescar = document.getElementById('btn-refrescar');
// Funcionalidad del botón de refrescar
btnRefrescar.addEventListener('click', function() {
try {
// Mostrar indicador de carga cambiando el texto del botón
const textoOriginal = btnRefrescar.innerHTML;
btnRefrescar.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> Refrescando...';
btnRefrescar.disabled = true;
// Recargar la página para obtener los datos actualizados
setTimeout(() => {
location.reload();
}, 500); // Pequeño delay para mostrar el indicador de carga
} catch (error) {
// Manejar errores y restaurar el botón
console.error('Error al refrescar la tabla:', error);
btnRefrescar.innerHTML = '<i class="fa-solid fa-rotate-right"></i> Refrescar tabla';
btnRefrescar.disabled = false;
alert('Error al refrescar la tabla. Por favor, inténtelo de nuevo.');
}
});
// Funcionalidad de eliminación de candidatos
tabla.addEventListener("click", function(evento) {
const botonEliminar = evento.target.closest(".boton-eliminar");
if (botonEliminar) {
// Obtener id del candidato a eliminar usando dataset
const idCandidatoEliminar = botonEliminar.dataset.idCandidato;
// Mostrar un mensaje de confirmación antes de eliminar
if (!confirm("¿Desea eliminar al candidato " + idCandidatoEliminar + "?")) {
return;
}
const data = new FormData();
data.append("id_candidato", idCandidatoEliminar);
fetch('../controllers/eliminarCandidato.php', {
method: 'POST',
body: data
})
.then(response => response.json())
.then(data => {
alert(data.mensaje);
location.reload();
})
.catch((error) => {
console.error('Error:', error);
});
}
});
});