-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
89 lines (72 loc) · 2.59 KB
/
script.js
File metadata and controls
89 lines (72 loc) · 2.59 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
const listed = [];
let count = 0;
const myTask = document.querySelector("#myTask");
const addBTn = document.querySelector("#addBtn");
const listOfTasks = document.querySelector(".listOfTasks");
const noInput = document.querySelector("#noInput");
const countTaskDone = document.querySelector("#count");
function changeCompleted(taskDone, status) {
let index = listed.map(t => t.task).indexOf(taskDone);
listed[index].completed = status;
console.log(listed);
}
addBTn.addEventListener("click", taskList);
myTask.addEventListener("keypress", function (event) {
if (event.key === "Enter") {
event.preventDefault();
taskList();
}
});
function taskList() {
let newTask = myTask.value;
if (newTask.length == 0) {
noInput.innerText = "You must type in a task";
return;
} else {
noInput.innerText = "";
}
const toDo = document.createElement("div");
toDo.classList.add("divOfToDo");
listOfTasks.appendChild(toDo);
const list = document.createElement("li");
list.innerText = newTask;
list.classList.add("listOfToDo");
toDo.appendChild(list);
const checkBtn = document.createElement("button");
checkBtn.innerHTML = '<i class="fa-solid fa-check"></i>';
checkBtn.classList.add("checkBtn")
toDo.appendChild(checkBtn);
const deleteBtn = document.createElement("button");
deleteBtn.innerHTML = '<i class="fa-solid fa-trash"></i>';
deleteBtn.classList.add("deleteBtn");
toDo.appendChild(deleteBtn);
checkBtn.addEventListener("click", function () {
if (list.getAttribute("class") == "mark") {
count--;
list.setAttribute("class", "reset"); //lagt till reset
let taskDone = toDo.firstChild.textContent;
changeCompleted(taskDone, false);
} else {
count++;
list.setAttribute("class", "mark");
let taskDone = toDo.firstChild.textContent;
changeCompleted(taskDone, true);
}
countTaskDone.innerText = count;
});
deleteBtn.addEventListener("click", function () {
toDo.remove();
let taskDone = toDo.firstChild.textContent;
let index = listed.map(t => t.task).indexOf(taskDone);
let deleted = listed.splice(index, 1);
//console.log(listed);
let isDone = deleted.some((done) => { return done.completed == true });
if (isDone == true) {
count--;
countTaskDone.innerText = count;
}
});
const listObject = { task: newTask, completed: false };
listed.push(listObject);
myTask.value = "";
};