-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpage.js
More file actions
94 lines (74 loc) · 2.54 KB
/
page.js
File metadata and controls
94 lines (74 loc) · 2.54 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
83
84
85
86
87
88
89
90
91
92
93
94
const inputField = document.querySelector('.input-task');
const form = document.querySelector('.form');
const searchInput = document.querySelector('.filter');
const tasks = document.querySelector('.tasks');
const removeAllBtn = document.querySelector('.clear-task');
const msgBox = document.querySelector('.msg');
//all evenlistener
form.addEventListener('submit', addTask);
tasks.addEventListener('click', removeItem);
removeAllBtn.addEventListener('click', removeAll);
searchInput.addEventListener('keyup', searchTask);
function addTask(e){
if(inputField.value === ''){
alert('empty task')
}
else{
//create li
const li = document.createElement('li');
li.classList = 'task';
//add text to new task
li.appendChild(document.createTextNode(inputField.value));
//create div
const icons = document.createElement('div');
icons.classList = 'remove';
//createremove link
const remove = document.createElement('a');
remove.classList = 'remove';
remove.innerText = '🛑';
const done = document.createElement('a');
done.classList = 'done';
done.innerText = '✅';
//append icons to the div
icons.appendChild(remove);
icons.appendChild(done);
//append div in TO li
li.appendChild(icons)
//append li in TO ul
tasks.appendChild(li)
inputField.value = '';
msgBox.style.display = 'none';
}
e.preventDefault();
}
//delete task
function removeItem(e){
if(e.target.classList.contains('remove')){
e.target.parentElement.parentElement.remove();
}
else if (e.target.classList.contains('done')){
e.target.parentElement.parentElement.style.backgroud = '#9DD9D2';
e.target.parentElement.parentElement.style.color = 'red';
}}
//delete all tasks
function removeAll(e){
if(confirm('Are you sure')){
while(tasks.firstChild){
tasks.removeChild(tasks.firstChild);
}
}
}
//search
function searchTask(e){
const textInput = e.target.value.tolowerCase();
document.querySelectorAll('.task').forEach(
function(items){
const item = items.firstChild.textContent;
if(item.tolowerCase().indexOf(textInput) != -1 ){
items.style.display = 'block';
}else{
items.style.display = 'none';
}
}
)
}