Não exclui o cliente, mesmo com o código certinho. Abaixo estão respectivamente o listaClientes e o service-cliente
import { cliente_service } from "../service/cliente-service.js";
const Cria_nova_linha = (nome, email, id) =>{
const linha_novo_cliente = document.createElement('tr');
const conteudo = `<td class="td" data-td>${nome}</td>
<td>${email}</td>
<td>
<ul class="tabela__botoes-controle">
<li><a href="../telas/edita_cliente.html" class="botao-simples botao-simples--editar">Editar</a></li>
<li><button class="botao-simples botao-simples--excluir" type="button">Excluir</button></li>
</ul>
</td>`
linha_novo_cliente.innerHTML = conteudo;
linha_novo_cliente.dataset.id = id;
return linha_novo_cliente;
}
const tabela = document.querySelector('[data-tabela]');
tabela.addEventListener('click', (evento) =>{
let botao_deletar = evento.target === 'botao-simples botao-simples--excluir';
if(botao_deletar){
const linha_cliente = evento.target.closest('[data-id]');
let id = linha_cliente.dataset.id;
cliente_service.Remove_cliente(id);
}
});
cliente_service.Lista_clientes().then(dado =>{
dado.forEach(elemento =>{
tabela.appendChild(Cria_nova_linha(elemento.nome, elemento.email, elemento.id));
});
});
const Lista_clientes = () =>{
return fetch(`http://localhost:3000/profile`).then(resposta =>{
return resposta.json();
});
}
const Cria_cliente = (nome, email) =>{
return fetch(`http://localhost:3000/profile`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
nome: nome,
email: email
})
}).then(resposta =>{
return resposta.body;
});
}
const Remove_cliente = (id) =>{
return fetch(`http://localhost:3000/profile/${id}`, {
method: 'DELETE'
})
}
export const cliente_service = {
Lista_clientes,
Cria_cliente,
Remove_cliente
};