From 2dab582c699f6cccee212ae8865ecad09266a6c0 Mon Sep 17 00:00:00 2001 From: Caroline Moran Date: Thu, 8 Dec 2022 11:01:04 -0400 Subject: [PATCH] =?UTF-8?q?feat(Footer.js):=20add=20fun=C3=A7=C3=A3o=20que?= =?UTF-8?q?=20monitora=20se=20o=20carrinho=20est=C3=A1=20vazio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- checkout/src/arquivos/js/components/Footer.js | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/checkout/src/arquivos/js/components/Footer.js b/checkout/src/arquivos/js/components/Footer.js index b8ea24d..ddbfee7 100644 --- a/checkout/src/arquivos/js/components/Footer.js +++ b/checkout/src/arquivos/js/components/Footer.js @@ -7,15 +7,28 @@ export default class Footer { async init() { await this.selectors(); - console.log(this.item); + // this.onUpdate(); } async selectors() { - this.item = await waitElement("#my-element", { - //#my-element pode ser a class ou o id do elemento html qeu vocÊ quer pegar - timeout: 5000, // vai esperar 5 segundos antes de rejeitar a promise - interval: 1000, // vai verificar a cada 1 segundo se o elemento existe + //Para verificar se o carrinho está vazio e remover a prateleira de produtos: + // vocês devem olhar a doc fornecida no Desafio para aprender a usar o waitElement + this.checkoutVazio = await waitElement(".empty-cart-content"); + } + + onUpdate() { + //Função qeu fará a verificação se o carrinho está vazio para remover a prateleira de produtos: + // vocês devem olhar a doc fornecida no Desafio para aprender a usar a MutationObserver + // sempre que o carrinho estiver vazio o elemento chcekoutVazio fica display: none e isso pode ser usado como atributo para a MutationObserver + let target = this.checkoutVazio; + let config = { childList: true, attributes: true }; + let observer = new MutationObserver((mutations) => { + mutations.forEach(function (mutation) { + console.log(mutation.type); + }); }); + + observer.observe(target, config); } async addCarrossel() { const elemento = await waitElement("#my-element");