-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
127 lines (109 loc) · 3.45 KB
/
index.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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
let empregados = [];
let f = 0
let qtdDelete = 0
let edit = false
let controle = false;
function consulta() {
let resposta = ''
//percorrer a variavel dados
empregados.map(empregados => {
resposta += `<tr><td>${empregados.id}</td><td>${empregados.nome}</td> <td>${empregados.funcao}</td> <td>${empregados.salario}</td>
<td> <button onClick="atualiza(${empregados.id},'${empregados.nome}','${empregados.funcao}','${empregados.salario}')"> Editar </button> </td>
<td> <button onClick="deletar2(${empregados.id})"> Deletar </button>
</tr>`
})
//colocar a resposta no body da tabela
document.getElementById("conteudoTabela").innerHTML = resposta
}
// C //
function cadastrar() {
//new instructor
if (edit == true) {
const attEmpregado = {
id: Number(document.getElementById("id").value),
nome: document.getElementById("nome").value,
funcao: document.getElementById("funcao").value,
salario: document.getElementById("salario").value,
}
controle = true;
deletar2(Number(document.getElementById("id").value));
controle = false;
//adiciona vetor atualizado
empregados.push(attEmpregado);
console.log(empregados)
console.log("Atualizou e Ordenou")
bubbleSort(empregados, (elem1, elem2) => {
if(elem1.id === elem2.id) {
return elem1.nome > elem2.nome }
else return elem1.id > elem2.id})
console.log(empregados)
edit = false
limpa();
consulta();
}
else {
const novoEmpregado = {
id: f + 1,
nome: document.getElementById("nome").value,
funcao: document.getElementById("funcao").value,
salario: document.getElementById("salario").value,
}
//adding new intructor
empregados.push(novoEmpregado);
f++
consulta();
console.log(empregados)
let a = 0
if (a == 0) {
document.getElementById("id").innerHTML = f
a++
}
console.log("Cadastrou")
limpa();
}
}
// U //
function atualiza(id, nome, funcao, salario) {
document.getElementById("id").value = Number(id)
document.getElementById("nome").value = nome
document.getElementById("funcao").value = funcao
document.getElementById("salario").value = salario
edit = true
}
// D //
function deletar2(id) {
//delete a element
console.log("Id:", id)
let num2 = empregados.map(object => object.id).indexOf(id)
console.log("Comando delete:", num2)
empregados.splice(num2, 1)
consulta();
console.log(empregados)
if (controle == false) {
//qtdDelete++
}
}
function limpa() {
document.getElementById("id").value = ""
document.getElementById("nome").value = ""
document.getElementById("funcao").value = ""
document.getElementById("salario").value = ""
edit = false
}
function bubbleSort(vetor, fnComp){
pass = 0, comps = 0, trocas = 0
let trocou
do{
pass++
trocou = false
//Percurso for tradicional até a PENÚLTIMA posição do vetor
for (let i = 0; i < vetor.length - 1; i++){
comps++
if(fnComp(vetor[i], vetor[i+1])){
[vetor[i], vetor [i+1]] = [vetor [i+1], vetor[i]]
trocou = true
trocas++
}
}
} while (trocou)
}