PHP Classes

File: assets/js/components/list/GerenciadorSaloes.js

Recommend this page to a friend!
  Classes of Rodrigo Faustino   Web App Multi-Perfil   assets/js/components/list/GerenciadorSaloes.js   Download  
File: assets/js/components/list/GerenciadorSaloes.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Web App Multi-Perfil
App that uses CRUD to manage multiple users
Author: By
Last change:
Date: 8 months ago
Size: 5,028 bytes
 

Contents

Class file image Download
import BuscaApi from '../lib/BuscaApiG.js'; import Mensagem from '../lib/Mensagens.js'; export default class GerenciadorSaloes { constructor(navigateCallback) { this.navigate = navigateCallback; this.buscaApi = new BuscaApi(sessionStorage.getItem('token')); this.mensagem = new Mensagem(); } async init() { await this.buscaSaloes(); } async deleteSaloes(id) { return await this.buscaApi.fetchApi(`Saloes`, 'DELETE', { id }); } async buscaSaloes() { try { const data = await this.buscaApi.fetchApi(`Saloes/MeuSalao`, 'GET'); this.renderSaloes(data); } catch (error) { console.error(error); } } async deleteEndereco(salaoid) { return await this.buscaApi.fetchApi(`Enderecos/${salaoid}`, 'DELETE'); } renderSaloes(saloes='') { const divUser = document.querySelector('.main'); const container1 = document.createElement("div"); const salaoBtn = document.createElement('button'); const hr = document.createElement('hr'); salaoBtn.textContent = "Cadastrar salão"; salaoBtn.classList.add("w3-button", "w3-border","w3-green", "w3-hover-black"); salaoBtn.addEventListener('click', async () => { this.navigate('cadsalao'); }); if(saloes.length<1 ){ container1.appendChild(salaoBtn); divUser.appendChild(container1); } if(saloes!=''){ saloes.forEach(salao => { const container = document.createElement("div"); container.classList.add("w3-card-4"); container.innerHTML = ` <div class="w3-container"> <h4>Meu Salão</h4> <p hidden>Id: ${salao.id}</p> <h3>Nome: ${salao.nome}</h3> </div> <hr> `; const idSalao = salao.id; const enderecoBtn = document.createElement('button'); enderecoBtn.textContent = "Cadastrar Endereço"; enderecoBtn.classList.add("w3-button-2","w3-green", "w3-border", "w3-hover-black", "w3-block"); enderecoBtn.addEventListener('click', async () => { this.navigate('cadendereco', idSalao ); }); const enderecoremove = document.createElement('button'); enderecoremove.textContent = "Remover Endereço"; enderecoremove.classList.add("w3-button-2","w3-yellow", "w3-border", "w3-hover-black", "w3-block"); enderecoremove.addEventListener('click', async () => { const isConfirmed = await this.mensagem.confirmAction('delete'); if (isConfirmed) { const result = await this.deleteEndereco(idSalao); if(result.status){ Swal.fire("Sucesso!", result.message, "sucess"); enderecoremove.remove(); removeBtn.remove(); container.appendChild(enderecoBtn); container.appendChild(removeBtn); } } }); const removeBtn = document.createElement('button'); removeBtn.textContent = "Remover Salão"; removeBtn.classList.add("w3-button","w3-red", "w3-border","w3-tiny", "w3-hover-black", "w3-block"); removeBtn.addEventListener('click', async () => { const isConfirmed = await this.mensagem.confirmAction('delete'); if (isConfirmed) { const result = await this.deleteSaloes(salao.id); if (result) { Swal.fire("Excluído!", "O salão foi excluído com sucesso.", "success"); container.remove(); container1.appendChild(salaoBtn); divUser.appendChild(container1); } } }); if(!salao.endereco){ container.appendChild(enderecoBtn); } if(salao.endereco){ container.appendChild(enderecoremove); } container.appendChild(removeBtn); divUser.appendChild(container); }); } } render() { document.getElementById('titulo').innerHTML='Gerir Salões'; const mainDiv = document.createElement('div'); mainDiv.className = 'main'; return { element: mainDiv, init: () => this.init() }; } }