-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
76 lines (65 loc) · 2.24 KB
/
script.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
const inputBox = document.getElementById("input-box");
const listContainer = document.getElementById("list-container");
const deleteAllButton = document.querySelector(".delete-all");
function addTask(){
if(inputBox.value === ''){
alert("Please enter a task");
}
else{
let li = document.createElement("li");
li.innerHTML = inputBox.value;
listContainer.appendChild(li);
let deleteButton = document.createElement("span");
deleteButton.innerHTML = "\u00d7";
deleteButton.style.cursor = 'pointer';
let editButton = document.createElement("Edit");
editButton.innerHTML = "\u270E";
editButton.className = "edit-btn";
li.appendChild(editButton);
li.appendChild(deleteButton);
editButton.addEventListener("click", function(e){
let li = e.target.parentElement;
let currentText = li.firstChild.textContent;
let newText = prompt("Edit your task:", currentText);
if(newText !== null && newText !== ''){
li.firstChild.textContent = newText;
saveData();
}
});
saveData();
}
inputBox.value = "";
}
listContainer.addEventListener("click", function(e){
if(e.target.tagName === "LI"){
e.target.classList.toggle("checked");
saveData();
}
else if(e.target.tagName === "SPAN"){
e.target.parentElement.remove();
saveData();
}
}, false);
function saveData(){
localStorage.setItem("data", listContainer.innerHTML);
}
function showTask(){
listContainer.innerHTML = localStorage.getItem("data");
let editButtons = document.querySelectorAll(".edit-btn");
editButtons.forEach(button => {
button.addEventListener("click", function(e){
let li = e.target.parentElement;
let currentText = li.firstChild.textContent;
let newText = prompt("Edit your task:", currentText);
if(newText !== null && newText !== ''){
li.firstChild.textContent = newText;
saveData();
}
});
});
}
showTask();
deleteAllButton.addEventListener("click", () => {
listContainer.innerHTML = "";
saveData();
});