// Dados experimentais para exibir os itens na tela const dataAmbientes = { // Lista de ambientes, com um nome associado a cada um itguys: { nome: 'ItGuys', }, enseg: { nome: 'Enseg', }, OestPan: { nome: 'OestPan', }, Prolog: { nome: 'Prolog', } } // Função de ancoragem, chamada no início do processo para alinhar e acionar subprocessos automaticamente quando um evento for disparado function AlinhamentoAmbientes() { // Seleciona o elemento que vai receber os ambientes no painel const ListaAmbientes = document.getElementById('apresentarAmbientes'); // Insere o HTML gerado pela função ComponenteAmbientes dentro do painel ListaAmbientes.innerHTML = ComponenteAmbientes(); // Inserção de HTML // Após um tempo (setTimeout), itera sobre os dados e chama funções específicas para cada ambiente setTimeout(() => { for (let ambiente in dataAmbientes) { // Itera sobre os itens de ambientes definidos no objeto 'dataAmbientes' const nome = dataAmbientes[ambiente].nome; // Pega o nome de cada ambiente // Chama a função 'FormeEditarAmbiente' passando o nome de cada ambiente FormeEditarAmbiente(nome); } }, 0); // Executa o loop sem delay (imediatamente após a inserção de HTML) // Chama a função para criar um novo ambiente FormeCriarAmbiente(); } // Função responsável por gerar o HTML com a estrutura dos ambientes function ComponenteAmbientes() { let htmlContent = ''; // Variável para armazenar o conteúdo HTML gerado // Itera sobre os dados de ambientes e gera o HTML para cada um for (let ambiente in dataAmbientes) { const nome = dataAmbientes[ambiente].nome; // Para cada ambiente, adiciona um painel com seu nome e um ícone htmlContent += `
Logo da ${nome}

${nome}

`; } // Retorna o conteúdo HTML gerado para ser inserido no DOM return htmlContent; } // Função que permite a criação de um novo ambiente através de um painel function FormeCriarAmbiente() { const InsercaoAmbiente = document.getElementById('criarAmbiente'); // Adiciona um ouvinte de evento para o botão de criação de ambiente InsercaoAmbiente.addEventListener('click', CriarAmbiente); function CriarAmbiente() { const PainelCriacao = document.getElementById('PopPainel'); // Exibe o painel de criação e aplica classes para estilizar PainelCriacao.style.display = 'flex'; PainelCriacao.classList.add('CriacaoAmbientes'); PainelCriacao.classList.remove('EdicaoAmbientes'); // Insere o conteúdo HTML do painel de criação de ambiente PainelCriacao.innerHTML = PainelAmbiente(); // Chama a função de extras para configurar botões auxiliares no painel Extras(); // Função que retorna o HTML do painel de criação de ambiente function PainelAmbiente() { return `

Informações do Ambiente

Informações do Cliente

Alinhamento do Ambiente

Dashbords

Nome da Dashbord

Grupos

Nome da Dashbord

`; } // Função para alterar a imagem do botão de logo da empresa function alterarImagem() { const input = document.getElementById('uploadImagem'); const button = document.getElementById('ImagemEmpresa'); const file = input.files[0]; if (file) { const reader = new FileReader(); reader.onload = function (event) { // Aplica a imagem ao botão button.style.backgroundImage = `url(${event.target.result})`; button.style.backgroundSize = "contain"; button.style.backgroundRepeat = "no-repeat"; button.style.backgroundPosition = "center"; button.style.height = '30vh'; button.style.transition = '1s ease'; button.textContent = ''; // Remove o texto '+' após a imagem ser carregada } reader.readAsDataURL(file); // Lê a imagem como uma URL } } // Função para tratar os botões auxiliares do painel function Extras() { fechar(); // Função de fechamento do painel function fechar() { const FecharPainelEdicao = document.getElementById('FecharPainel'); FecharPainelEdicao.addEventListener('click', EncerrarTarefa); // Função que fecha o painel e limpa o conteúdo function EncerrarTarefa() { PainelCriacao.style.display = 'none'; PainelCriacao.classList.remove('CriacaoAmbientes'); PainelCriacao.innerHTML = ``; } } } // Adiciona o listener para o evento de mudança no input de imagem const inputImagem = document.getElementById('uploadImagem'); inputImagem.addEventListener('change', alterarImagem); } } // Função responsável por editar o ambiente, chamada quando um painel de ambiente é clicado function FormeEditarAmbiente(Empresa) { const ItemAmbiente = document.getElementById(`Painel_${Empresa}`); ItemAmbiente.addEventListener('click', PaineldeEdicao); function PaineldeEdicao() { const PainelEdicao = document.getElementById('PopPainel'); PainelEdicao.style.display = 'flex'; PainelEdicao.classList.remove('CriacaoAmbientes'); PainelEdicao.classList.add('EdicaoAmbientes'); PainelEdicao.innerHTML = PainelAmbiente(); Extras(); function PainelAmbiente() { return `

Dashbords ${Empresa}

Nome da Dashbord

Grupos ${Empresa}

Nome do Grupo

`; } function Extras() { fechar(); // Função de fechamento do painel de edição function fechar() { const FecharPainelEdicao = document.getElementById('FecharPainel'); FecharPainelEdicao.addEventListener('click', EncerrarTarefa); // Função para encerrar e limpar o painel de edição function EncerrarTarefa() { PainelEdicao.style.display = 'none'; PainelEdicao.classList.remove('EdicaoAmbientes'); PainelEdicao.innerHTML = ``; } } } } }