$(document).ready(function() {
$('#form-dropdown').change(function() {
const selectedValue = $(this).val();
const formContainer = $('#form-container');
const imageRef = $('#image-ref');
if (selectedValue === "profundidade") {
formContainer.html(`
`);
imageRef.addClass('d-none');
} else if (selectedValue === "largura") {
formContainer.html(`
`);
imageRef.removeClass('d-none');
} else {
formContainer.html("");
imageRef.addClass('d-none');
}
});
// Retorna CSRF token a partir dos cookies
function getCsrfToken() {
try {
var cookies = document.cookie.split(';');
var csrf_value = cookies.find(cookie => cookie.trim().startsWith("csrftoken")).split('=')[1];
// precisa do trim para eliminar espaco antes do csrftoken que aparece na hora do split (nao sei quais as condicoes)
// console.log('csrf_value', csrf_value);
} catch (error) {
console.warn('Erro ao tentar obter CSRF TOKEN:', error);
return null;
}
return csrf_value;
}
window.salvarArquivo = function(parametro) {
const fileInput = $('#file-input')[0];
const nomeArquivo = fileInput.files.length > 0 ? fileInput.files[0].name : "Sem arquivo";
const formData = new FormData();
formData.append('nome_arquivo', nomeArquivo);
formData.append('parametro', parametro);
if (parametro === "profundidade") {
formData.append('profundidade', $('#input-profundidade').val());
} else if (parametro === "largura") {
formData.append('largura', $('#input-largura').val());
formData.append('b', $('#input-b').val());
formData.append('c', $('#input-c').val());
}
formData.append('csrfmiddlewaretoken', getCsrfToken());
$.ajax({
url: '/api/salvar_arquivo/',
method: 'POST',
data: formData,
processData: false,
contentType: false,
success: function() {
mostrarPopup("Arquivo carregado com sucesso!");
limparFormulario();
carregarArquivos();
abrirAccordion();
},
error: function(error) {
console.error("Erro ao salvar arquivo:", error);
}
});
};
function carregarArquivos() {
$.getJSON('/api/listar_arquivos/', function(data) {
const tabela = $('#tabela-dados');
tabela.html("");
data.forEach(arquivo => {
tabela.append(`
| ${arquivo.nome_arquivo} |
${arquivo.status} |
${arquivo.autor} |
Ver Relatório
Baixar
|
`);
});
atualizarTituloAccordion(data.length);
});
}
function atualizarTituloAccordion(quantidade) {
$(".accordion-button").html(`Arquivos LAS (${quantidade})`);
}
function limparFormulario() {
$('#form-container').html("");
$('#form-dropdown').prop('selectedIndex', 0);
}
function abrirAccordion() {
const accordionCollapse = $('#collapseLas');
if (!accordionCollapse.hasClass("show")) {
accordionCollapse.addClass("show");
}
}
function mostrarPopup(mensagem) {
const popup = $('').text(mensagem).css({
position: "fixed",
top: "20px",
right: "20px",
background: "#28a745",
color: "#fff",
padding: "10px 15px",
borderRadius: "5px",
zIndex: "1000",
boxShadow: "0 4px 6px rgba(0, 0, 0, 0.1)"
});
$('body').append(popup);
setTimeout(() => popup.remove(), 3000);
}
// function atualizarStatusArquivos() {
// $.getJSON('/api/listar_arquivos/', function(data) {
// data.forEach(arquivo => {
// const row = $(`#tabela-dados tr:contains('${arquivo.nome_arquivo}')`);
// if (row.length) {
// const statusCell = row.find("td:nth-child(2)");
// // const previousStatus = statusCell.text().trim();
// statusCell.text(arquivo.status); // Atualiza apenas o status
// if (arquivo.status === "Finalizado") {
// const verRelatorioBtn = row.find(".btn-ver-relatorio");
// const baixarBtn = row.find(".btn-baixar");
// verRelatorioBtn.removeClass("disabled");
// baixarBtn.removeClass("disabled");
// verRelatorioBtn.attr("href", `/gauss/${arquivo.id}/`);
// }
// }
// });
// });
// }
// Atualiza os status a cada 5 segundos
// setInterval(atualizarStatusArquivos, 10000);
$(document).ready(carregarArquivos);
});
function excluirItem(id) {
fetch(`/api/excluir_processo/${id}/`, {
method: "DELETE",
headers: {
"X-CSRFToken": getCookie("csrftoken"),
}
})
.then(r => r.json())
.then(data => {
if (data.success) {
location.reload();
}
});
}