316 lines
13 KiB
JavaScript
316 lines
13 KiB
JavaScript
// 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 += `
|
|
<div class="painelItem">
|
|
<div class="img">
|
|
<img src="../Acessts/Imagens/Iconis/hospital.png" alt="Logo da ${nome}">
|
|
</div>
|
|
<div class="corpo">
|
|
<div class="titulo">
|
|
<h2>${nome}</h2>
|
|
</div>
|
|
<div class="alinhamentos">
|
|
<button id="AtreladorDashbord">Dashbords</button>
|
|
<button id="AtreladorGrupos">Grupos</button>
|
|
</div>
|
|
</div>
|
|
<div class="edicao">
|
|
<button id="Painel_${nome}">:</button>
|
|
</div>
|
|
</div>
|
|
`;
|
|
}
|
|
|
|
// 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 `
|
|
<div class='fecharPainel' id='FecharPainel'>
|
|
<button>X</button>
|
|
</div>
|
|
|
|
<div id='formulario'>
|
|
<div class='Bloco_1'>
|
|
<div class='TituloCampo'>
|
|
<h2>Informações do Ambiente</h2>
|
|
</div>
|
|
<div class='Campo'>
|
|
<label>Dominio</label>
|
|
<input type="text" placeholder="Escreva o Dominio" id="pesquisarAmbiente">
|
|
</div>
|
|
<div class='Campo'>
|
|
<label>Nome</label>
|
|
<input type="text" placeholder="Escreva o nome do Ambiente" id="pesquisarAmbiente">
|
|
</div>
|
|
<div class='Campolong'>
|
|
<label>Descrição</label>
|
|
<textarea name="" id=""></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div class='Bloco_2'>
|
|
<div class='TituloCampo'>
|
|
<h2>Informações do Cliente</h2>
|
|
</div>
|
|
<div class='Campo'>
|
|
<label>Nome</label>
|
|
<input type="text" placeholder="Escreva o nome do cliente" id="pesquisarAmbiente">
|
|
</div>
|
|
<div class='CampoInsercao'>
|
|
<label>Logo</label>
|
|
<button id='ImagemEmpresa' onclick="document.getElementById('uploadImagem').click()">+</button>
|
|
<input type="file" id="uploadImagem" style="display: none;" accept="image/*">
|
|
</div>
|
|
</div>
|
|
|
|
<div class='Bloco_3'>
|
|
<div class='TituloCampo'>
|
|
<h2>Alinhamento do Ambiente</h2>
|
|
</div>
|
|
<div class='PainelDasborhs'>
|
|
<div class='Coluna_1'>
|
|
<div class='TitutloPopup'>
|
|
<h2>Dashbords</h2>
|
|
</div>
|
|
<div class='PesquisaPopup'>
|
|
<input type="text" placeholder="Pesquise seu ambiente" id="pesquisarAmbiente">
|
|
<button id="pesquisa">
|
|
<img src="../Acessts/Imagens/Iconis/lupa.png">
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class='Coluna_2'>
|
|
<div class='DashbordItem'>
|
|
<h2>Nome da Dashbord</h2>
|
|
<button id='DesvincularDashbord'>X</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class='PainelDasborhs'>
|
|
<div class='Coluna_1'>
|
|
<div class='TitutloPopup'>
|
|
<h2>Grupos</h2>
|
|
</div>
|
|
<div class='PesquisaPopup'>
|
|
<input type="text" placeholder="Pesquise seu ambiente" id="pesquisarAmbiente">
|
|
<button id="pesquisa">
|
|
<img src="../Acessts/Imagens/Iconis/lupa.png">
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class='Coluna_2'>
|
|
<div class='DashbordItem'>
|
|
<h2>Nome da Dashbord</h2>
|
|
<button id='DesvincularDashbord'>X</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`;
|
|
}
|
|
|
|
// 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 `
|
|
<div class='fecharPainel'>
|
|
<button id='FecharPainel'>X</button>
|
|
</div>
|
|
<div class='CorpoPainel'>
|
|
<div class='PainelDasborhs'>
|
|
<div class='Coluna_1'>
|
|
<div class='TitutloPopup'>
|
|
<h2>Dashbords ${Empresa}</h2>
|
|
</div>
|
|
<div class='PesquisaPopup'>
|
|
<input type="text" placeholder="Pesquise seu ambiente" id="pesquisarAmbiente">
|
|
<button id="pesquisa">
|
|
<img src="../Acessts/Imagens/Iconis/lupa.png">
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class='Coluna_2'>
|
|
<div class='DashbordItem'>
|
|
<h2>Nome da Dashbord</h2>
|
|
<button id='DesvincularDashbord'>X</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class='PainelDasborhs'>
|
|
<div class='Coluna_1'>
|
|
<div class='TitutloPopup'>
|
|
<h2>Grupos ${Empresa}</h2>
|
|
</div>
|
|
<div class='PesquisaPopup'>
|
|
<input type="text" placeholder="Pesquise seu ambiente" id="pesquisarAmbiente">
|
|
<button id="pesquisa">
|
|
<img src="../Acessts/Imagens/Iconis/lupa.png">
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class='Coluna_2'>
|
|
<div class='DashbordItem'>
|
|
<h2>Nome do Grupo</h2>
|
|
<button id='DesvincularDashbord'>X</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`;
|
|
}
|
|
|
|
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 = ``;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|