-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
62 lines (51 loc) · 1.43 KB
/
main.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
const toDoList = []
const $input = document.getElementsByTagName('input')[0]
const $button = document.getElementsByTagName('button')[0]
const $ul = document.getElementsByTagName('ul')[0]
var id = toDoList.length + 1
$button.addEventListener('click', addTodoItem)
function addTodoItem() {
let newInput = $input.value
if (validateInput(newInput)) {
let newItem = new Object() // {}
newItem.id = id
id++
newItem.title = $input.value
toDoList.push(newItem)
$input.value = null
renderTodoList()
} else {
console.log('The input must be filled')
}
}
function deleteTodoItem(id) {
deleteTodoItemFromtoDoList(id)
renderTodoList()
}
function renderTodoList() {
$ul.innerHTML = null
toDoList.forEach(item => {
let li = document.createElement('li')
li.innerHTML = item.title + " ID: " + item.id + " - "
let delButton = document.createElement('button')
delButton.innerHTML = "Delete"
delButton.addEventListener('click', () => {
deleteTodoItem(item.id)
})
li.appendChild(delButton)
$ul.appendChild(li)
}
)
}
function deleteTodoItemFromtoDoList(id) {
let item = toDoList.find(value => value.id === id)
toDoList.splice(toDoList.indexOf(item), 1)
}
function validateInput(value) {
if(value !== ''){
return true
}else{
return false
}
}
renderTodoList()