-
Notifications
You must be signed in to change notification settings - Fork 0
/
eventos.js
109 lines (91 loc) · 2.87 KB
/
eventos.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
const API_URL = 'http://localhost:8000';
function buscarParaEditar(id) {
input_editar_id.value = id;
fetch(API_URL+'/contatos/'+id)
.then(res => res.json())
.then(dados => {
input_editar_nome.value = dados.nome;
input_editar_cidade.value = dados.cidade;
input_editar_numero.value = dados.numero;
});
}
function editar() {
event.preventDefault(); //impedindo a página de recarregar
//recuperando os dados do formulario
let dados = {
nome: input_editar_nome.value,
cidade: input_editar_cidade.value,
numero: input_editar_numero.value,
};
fetch(API_URL+'/contatos/'+input_editar_id.value, {
method: 'PATCH',
body: JSON.stringify(dados),
headers: {
'Content-Type': 'application/json'
}
})
.then(res => res.json())
.then(() => atualizarLista());
let x = document.querySelector('[data-bs-dismiss="offcanvas"]');
x.dispatchEvent(new Event('click'));
}
function inserir() {
//para a pagina não ser recarregada
event.preventDefault();
let dados = {
nome: input_nome.value,
numero: input_numero.value,
cidade: input_cidade.value
};
if(dados.nome === "" || dados.numero === "" || dados.cidade === "") {
alert('Dados invalidos');
return;
}
fetch(API_URL+'/contatos', {
method: 'POST',
body: JSON.stringify(dados),
headers: {
'Content-Type': 'application/json'
}
})
.then(resposta => resposta.json())
.then(resposta => atualizarLista());
form_add.reset();
}
async function excluir (id) {
let resposta = confirm('Are you sure?');
if(resposta !== true) {
return;
}
await fetch(API_URL+'/contatos/'+id, {
method: 'DELETE'
})
atualizarLista()
}
function atualizarLista() {
tabela_contatos.innerHTML = '';
fetch(API_URL+'/contatos')
.then(function (resposta) {
return resposta.json();
})
.then(function (lista) {
lista.forEach(function (cadaContato) {
tabela_contatos.innerHTML += `
<tr>
<td>${cadaContato.nome}</td>
<td>${cadaContato.cidade}</td>
<td>${cadaContato.numero}</td>
<td>
<button onclick="buscarParaEditar(${cadaContato.id})" data-bs-toggle="offcanvas" data-bs-target="#offcanvasEditar" class="btn btn-warning ">
Editar
</button>
<button onclick="excluir(${cadaContato.id})" class="btn btn-danger btn">
Excluir
</button>
</td >
</tr>
`
});
})
}
atualizarLista()