59 lines
2.2 KiB
JavaScript
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);
|
|
});
|
|
}
|
|
|
|
});
|
|
}); |