-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
82 lines (67 loc) · 1.57 KB
/
script.js
File metadata and controls
82 lines (67 loc) · 1.57 KB
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
let cliente = document.getElementById('cliente')
let nomes_mesa = document.getElementById('nomes_mesa')
let btnAdicionar = document.getElementById('btnAdicionar')
let arrNomes = ['joao', 'lucas', 'andres', 'lucas h']
compareNames = (e) => {
nomes_mesa.innerHTML = ''
let input = e.target.value.toUpperCase()
let result = []
if(input.length) {
if(arrNomes.length) {
arrNomes.filter((name) => {
let nome = name.toUpperCase()
if(nome.includes(input)) {
result.push(name)
}
})
} else {
result = []
}
renderNames(result)
} else {
nomes_mesa.innerHTML = ''
}
}
renderNames = (result) => {
let html = ''
if (result) {
for(let i in result) {
html += `
<li>${result[i]}</li>
`
}
nomes_mesa.innerHTML = html
getName()
}
}
getName = () => {
document.querySelectorAll("ul#nomes_mesa li")
.forEach((name, index) => {
name.addEventListener('click', (name) => {
cliente.value = name.target.textContent
nomes_mesa.innerHTML = ''
})
if (index % 2 === 0) {
name.className = 'zebraon'
}
})
}
addName = (e) => {
let input = cliente.value.trim()
let isMatch = arrNomes.find(
(name) => name === input
)
if(input.length) {
if (!isMatch) {
arrNomes.push(input)
}
}
cliente.value = ''
}
cliente.addEventListener('keyup', compareNames)
btnAdicionar.addEventListener('click', addName)
document.addEventListener('click', (e) => {
if(e.target.value !== nomes_mesa){
nomes_mesa.innerHTML = ''
}
})