testes/js/page/Modulo_Construcao/Funcao/Estrutura/Estrutura.js

315 lines
11 KiB
JavaScript

function Interatividade() {
var botao = document.getElementById('id_ajuste');
var cabecario = document.querySelector('.capitulo_1');
var tela = document.querySelector('.capitulo_2');
var menu = document.querySelector('.menu_lateral');
if (botao) {
botao.addEventListener('click', function () {
//console.log('Botão clicado!');
if (menu) menu.classList.toggle('expansao');
if (cabecario) cabecario.classList.toggle('expansao');
if (tela) tela.classList.toggle('expansao');
});
} else {
console.error('Botão não encontrado!');
}
/*if (Permissoes.visuMonitor) {
const script2 = document.createElement('script');
script2.src = './js/page/Ambiente/Monitoramento/Modulo_Construcao/Funcao/Estrutura_Secundaria_Monitor.js';
script2.setAttribute // Acessando a propriedade corretamente
document.body.appendChild(script2);
}*/
// Adiciona o listener de clique após a construção do HTML
}
async function ApresentarTelas(InfoGeral) {
InteracoesTelas();
function InteracoesTelas() {
const Config_texts = document.getElementById('Configuracao_1');
const Config_icon = document.getElementById('Configuracao_2');
const Home_texts = document.getElementById('Home_1');
const Home_icon = document.getElementById('Home_2');
const Logou_texts = document.getElementById('EncerrarSessao_1')
const Logou_icon = document.getElementById('EncerrarSessao_2')
// Adiciona eventos para alternar entre as telas
Config_texts.addEventListener('click', () => carregarTela('config'));
Config_icon.addEventListener('click', () => carregarTela('config'));
Home_texts.addEventListener('click', () => carregarTela('home'));
Home_icon.addEventListener('click', () => carregarTela('home'));
const PainelMoniIcon = document.getElementById('sub_entrada_moni_1');
const PainelMoniButton = document.getElementById('sub_entrada_moni_2');
PainelMoniButton.addEventListener('click', () => carregarTela('moni'));
PainelMoniIcon.addEventListener('click', () => carregarTela('moni'));
Logou_texts.addEventListener('click', EncerrarSessaAm);
Logou_icon.addEventListener('click', EncerrarSessaAm);
function EncerrarSessaAm() {
localStorage.removeItem('x-access-token');
window.location.href = "./login.html";
}
}
async function carregarTela(tela) {
const telaVisualizacao = document.getElementById('TelaVisualizacao');
telaVisualizacao.innerHTML = EstrutraPrimaria();
function EstrutraPrimaria() {
return `
<div id="subEntrada_1" ></div>
<div id="subEntrada_2" ></div>
`;
}
TeladeCarregamento();
function TeladeCarregamento() {
const Subentrada1 = document.getElementById('subEntrada_1');
InciandoCarregamento();
function InciandoCarregamento() {
Subentrada1.innerHTML = estruraAnimiada();
function estruraAnimiada() {
return `
<div id="Painel_loading" class="Painel_loading">
<div class="loading">
<span></span>
<span></span>
<span></span>
</div>
</div>
`;
}
FinalizandoCarregamento();
}
function FinalizandoCarregamento() {
//Aplica intevalo de verificações para capitar se foi incluido carregou dentro de localstorage, uma vez encotrado um if busca a resposta para validar se ele é true, ele executa o if.
const interval = setInterval(() => {
const Subtela_laod = document.getElementById('subEntrada_1');
const SubPaine_load = document.getElementById('Painel_loading')
const Subcarregou = localStorage.getItem('Carregou_tela');
if (SubPaine_load && Subtela_laod) { // Verifica se os elementos existem
if (Subcarregou === 'true') {
SubPaine_load.style.opacity = "0";
setTimeout(() => {
Subtela_laod.innerHTML = ''; // Limpa o conteúdo do elemento do load
localStorage.removeItem('Carregou_tela'); // Remove o item do localStorage
clearInterval(interval); // Para de verificar
}, 1000);
}
} else {
clearInterval(interval); // Para de verificar se os elementos não existem
}
}, 3500); // Verifica a cada 500ms
}
}
const Subentrada2 = document.getElementById('subEntrada_2');
const scriptPaths = {
//Alinhamento das telas por datas, aqui são organizadas das possiveis respostas de cada botão e os caminhos scripts cada uma delas necessita para o seu funcionamento.
home: {
func: './js/page/Modulo_Construcao/Funcao/Home/Func_Home.js',
html: './js/page/Modulo_Construcao/Painel/Home/Html_Home.js',
mensagem: 'Carregando ...',
},
moni: {
func: './js/page/Modulo_Construcao/Funcao/Monitoramento/Func_Moni.js',
html: './js/page/Modulo_Construcao/Painel/Monitoramento/Html_Moni.js',
mensagem: 'Carregando ...',
},
config: {
func: './js/page/Modulo_Construcao/Funcao/Config/Estrutura/config.js',
html: './js/page/Modulo_Construcao/Painel/Config/Estrutura/Estrutura_Config_Html.js',
mensagem: 'Carregando ...',
},
};
if (!scriptPaths[tela]) {
console.error('Tela inválida:', tela);
return;
}
// Remove scripts antigos antes de adicionar novos
document.querySelectorAll('script[data-dinamico]').forEach(script => script.remove());
try {
// Aguarda o carregamento dos dois scripts
await Promise.all([
carregarScript(scriptPaths[tela].html),
carregarScript(scriptPaths[tela].func),
]);
// Aplicação de if realizam a modificação da mensagem de cada condicional para a estrutura de seu html respectivo.
// Estrutura html do home
if (tela === 'home' && typeof estruturaHtml_Home === 'function') {
scriptPaths[tela].mensagem = estruturaHtml_Home();
const Tela_homelink = document.getElementById('conexao_tela');
Tela_homelink.href = "./Css/page/Ambiente/Home/root_Home.css";
}
// Estrutura html de monitoramento
if (tela === 'moni' && typeof estruturaHtml_Home === 'function') {
scriptPaths[tela].mensagem = estruturaHtml_Moni();
const Tela_homelink = document.getElementById('conexao_tela');
Tela_homelink.href = "./Css/page/Ambiente/Monitoramento/Monitor.css";
localStorage.setItem('Carregou_tela', 'true')
}
// Estrutura html de configuração
if (tela === 'config' && typeof estruturaHtml_Home === 'function') {
const novatela = document.getElementById('entrada_2')
const antigatela = document.getElementById('entrada_1')
localStorage.setItem('Carregou_tela', 'true')
Carregar_Configuracoes();
function Carregar_Configuracoes() {
InciandoCarregamento_Config();
function InciandoCarregamento_Config() {
antigatela.innerHTML = estruraAnimiadaConfig();
function estruraAnimiadaConfig() {
return `
<div id="Painel_loading" class="Painel_loadingConfig">
<div class="loading">
<span></span>
<span></span>
<span></span>
</div>
</div>
`;
}
FinalizandoCarregamento_Config();
}
function FinalizandoCarregamento_Config() {
//Aplica intevalo de verificações para capitar se foi incluido carregou dentro de localstorage, uma vez encotrado um if busca a resposta para validar se ele é true, ele executa o if.
const intervalConfig = setInterval(() => {
const Subtela_laodConfig = document.getElementById('entrada_1');
const SubPaine_loadConfig = document.getElementById('Painel_loading')
const SubcarregouConfig = localStorage.getItem('Carregou_tela_config');
if (SubcarregouConfig === 'true') {
SubPaine_loadConfig.style.opacity = "0";
setTimeout(() => {
Subtela_laodConfig.innerHTML = ''; // Limpa o conteúdo do elemento do load
localStorage.removeItem('Carregou_tela_config'); // Remove o item do localStorage
clearInterval(intervalConfig); // Para de verificar
}, 1000);
}
}, 3500); // Verifica a cada 500ms
}
}
novatela.innerHTML = estruturaHtml_Config();
// Remove os scripts específicos, se existirem
const scriptFunc = document.getElementById('Ambiente_func');
const scriptHtml = document.getElementById('Ambiente_Html');
if (scriptFunc) {
scriptFunc.remove(); // Remove o script 'func'
//console.log('Script Ambiente_func removido');
}
if (scriptHtml) {
scriptHtml.remove(); // Remove o script 'html'
//console.log('Script Ambiente_Html removido');
}
//console.log('estrutura')
}
Subentrada2.innerHTML = scriptPaths[tela].mensagem;
//console.log(`Tela ${tela} carregada com sucesso!`);
} catch (error) {
console.error('Erro ao carregar os scripts:', error);
}
}
// função que carreca os scripts dentro do html
function carregarScript(src) {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = src;
script.dataset.dinamico = true; // Marca como script dinâmico
script.onload = () => resolve();
script.onerror = () => reject(new Error(`Erro ao carregar o script ${src}`));
document.body.appendChild(script);
});
}
// Carrega a tela 'home' automaticamente ao iniciar
carregarTela('home');
}