-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvagas.js
83 lines (70 loc) · 2.59 KB
/
vagas.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
// declara um conjunto inicial de contatos
var db_contatos_inicial = {
"data": [
{
"id": 1,
"sobre": "Sobre a vaga aqui",
"estado": "MG",
"area": "Exatas",
"turno": "Tarde",
"email": "[email protected]",
"horas": "5:30",
"salario": "2500",
"site": "Empresa.com"
}
]
}
// Caso os dados já estejam no Local Storage, caso contrário, carrega os dados iniciais
var db = JSON.parse(localStorage.getItem('db_contato'));
if (!db) {
db = db_contatos_inicial
};
// Exibe mensagem em um elemento de ID msg
function displayMessage(msg) {
$('#msg').html('<div class="alert alert-warning">' + msg + '</div>');
}
function insertContato(contato) {
// Calcula novo Id a partir do último código existente no array (PODE GERAR ERRO SE A BASE ESTIVER VAZIA)
let novoId = 1;
if (db.data.length != 0)
novoId = db.data[db.data.length - 1].id + 1;
let novoContato = {
"id": novoId,
"sobre": contato.sobre,
"email" : contato.email,
"horas": contato.horas,
"salario": contato.salario,
"estado" : contato.estado,
"area": contato.area,
"turno": contato.turno,
"site": contato.site
};
// Insere o novo objeto no array
db.data.push(novoContato);
displayMessage("Vaga inserida com sucesso");
// Atualiza os dados no Local Storage
localStorage.setItem('db_contato', JSON.stringify(db));
}
function updateContato(id, contato) {
// Localiza o indice do objeto a ser alterado no array a partir do seu ID
let index = db.data.map(obj => obj.id).indexOf(id);
// Altera os dados do objeto no array
db.data[index].sobre = contato.sobre,
db.data[index].email = contato.email,
db.data[index].horas = contato.horas,
db.data[index].salario = contato.salario,
db.data[index].estado = contato.estado,
db.data[index].area = contato.area,
db.data[index].turno = contato.turno,
db.data[index].site = contato.site
displayMessage("Vaga alterada com sucesso");
// Atualiza os dados no Local Storage
localStorage.setItem('db_contato', JSON.stringify(db));
}
function deleteContato(id) {
// Filtra o array removendo o elemento com o id passado
db.data = db.data.filter(function (element) { return element.id != id });
displayMessage("Vaga removida com sucesso");
// Atualiza os dados no Local Storage
localStorage.setItem('db_contato', JSON.stringify(db));
}