PHP Classes

File: front-produtos/js/app.js

Recommend this page to a friend!
  Classes of Rodrigo Faustino   App MFE   front-produtos/js/app.js   Download  
File: front-produtos/js/app.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: App MFE
Single-page application with micro-frontends
Author: By
Last change:
Date: 1 month ago
Size: 2,067 bytes
 

Contents

Class file image Download
import FetchService from './components/FetchService.js'; import ProdutoForm from './components/ProdutoForm.js'; import UpdateProdutoForm from './components/UpdateProdutoForm.js'; import ProdutosList from './components/ProdutosList.js'; export default class App { constructor(element, url) { this.apiBaseUrl = url; this.appElement = element; this.fetchService = new FetchService(this.apiBaseUrl); this.listProdutos = this.renderProdutosList.bind(this); this.updateProdutoForm = new UpdateProdutoForm(this.fetchService, this.listProdutos); this.produtoForm = new ProdutoForm(this.fetchService, this.listProdutos); this.produtosList = new ProdutosList(this.fetchService, this.updateProdutoForm, this.listProdutos); } init() { this.render(); } async render() { this.appElement.innerHTML = ` <div class="panel"> <h1>Gerenciador de Produtos</h1> <div id="produtoFormContainer"></div> <button id="fetchProdutosButton">Buscar Todos os Produtos</button> <div id="produtosListContainer"></div> <div id="updateProdutoFormContainer"></div> </div> `; document.getElementById('produtoFormContainer').innerHTML = this.produtoForm.render(); this.produtoForm.afterRender(); document.getElementById('updateProdutoFormContainer').innerHTML = this.updateProdutoForm.render(); this.updateProdutoForm.afterRender(); document.getElementById('fetchProdutosButton').addEventListener('click', async () => { await this.renderProdutosList(); }); await this.renderProdutosList(); } async renderProdutosList() { const produtosListHtml = await this.produtosList.render(); document.getElementById('produtosListContainer').innerHTML = produtosListHtml; this.produtosList.afterRender(); } } // const app = new App(document.getElementById("app"),"http://localhost:8080") // app.init()