Skip to content

Commit 6131110

Browse files
committed
Fix: added data values to icons and JS for tasks
1 parent 34e8717 commit 6131110

File tree

2 files changed

+54
-12
lines changed

2 files changed

+54
-12
lines changed

index.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,33 +27,33 @@ <h1 id="todoTitle">ToDo App</h1>
2727
<div class="task-container">
2828
<div class="task">
2929
<!-- Pending Task -->
30-
<i class="fa-regular fa-circle pendingSvg"></i>
30+
<i class="fa-regular fa-circle pendingSvg" data="check"></i>
3131

32-
<span class="taskText">Follow @Alkaison on Twitter</span>
32+
<span class="taskText" data="task">Follow @Alkaison on Twitter</span>
3333

3434
<!-- Edit ICON -->
35-
<i class="fa-solid fa-pencil editSvg"></i>
35+
<i class="fa-solid fa-pencil editSvg" data="edit"></i>
3636

3737
<!-- Delete ICON -->
38-
<i class="fa-solid fa-trash deleteSvg"></i>
38+
<i class="fa-solid fa-trash deleteSvg" data="delete"></i>
3939
</div>
4040

4141
<div class="task">
42-
<i class="fa-regular fa-circle pendingSvg"></i>
42+
<i class="fa-regular fa-circle pendingSvg" data="check"></i>
4343

44-
<span class="taskText">Complete the first task</span>
44+
<span class="taskText" data="task">Complete the first task</span>
4545

46-
<i class="fa-solid fa-pencil editSvg"></i>
47-
<i class="fa-solid fa-trash deleteSvg"></i>
46+
<i class="fa-solid fa-pencil editSvg" data="edit"></i>
47+
<i class="fa-solid fa-trash deleteSvg" data="delete"></i>
4848
</div>
4949

5050
<div class="task">
51-
<i class="fa-regular fa-circle pendingSvg"></i>
51+
<i class="fa-regular fa-circle pendingSvg" data="check"></i>
5252

53-
<span class="taskText">Thank you for visiting here</span>
53+
<span class="taskText" data="task">Thank you for visiting here</span>
5454

55-
<i class="fa-solid fa-pencil editSvg"></i>
56-
<i class="fa-solid fa-trash deleteSvg"></i>
55+
<i class="fa-solid fa-pencil editSvg" data="edit"></i>
56+
<i class="fa-solid fa-trash deleteSvg" data="delete"></i>
5757
</div>
5858
</div>
5959

script.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,21 @@ const taskAddBtn = document.querySelector("#addSvg");
33
const taskContainer = document.querySelector(".task-container");
44
const taskField = document.querySelector(".task");
55
const clearAllTaskBtn = document.querySelector("#clearAllTaskBtn");
6+
const taskCompletedIcon = "fa-solid fa-circle-check pendingSvg";
7+
const taskUncompletedIcon = "fa-regular fa-circle pendingSvg";
8+
9+
const completedTask = (task) => {
10+
11+
// if the task sign is uncheck then check it, visa-versa
12+
task.className = task.className === taskUncompletedIcon ? taskCompletedIcon : taskUncompletedIcon;
13+
}
14+
15+
const editTaskText = (task) => {
16+
17+
// make the task text editable
18+
const editTaskText = taskElement.querySelector(".taskText");
19+
editTaskText.setAttribute("contenteditable", "true");
20+
}
621

722
// add the task when click
823
taskAddBtn.addEventListener("click", () => {
@@ -27,6 +42,33 @@ taskAddBtn.addEventListener("click", () => {
2742

2843
});
2944

45+
// check which task is clicked and which button is clicked
46+
taskContainer.addEventListener("click", (e) => {
47+
// select the particular task
48+
const taskElement = e.target.parentElement;
49+
50+
if(taskElement.classList.contains("task"))
51+
{
52+
// get the data value of clicked element
53+
const clickedElement = e.target;
54+
const data = clickedElement.getAttribute("data");;
55+
56+
switch(data)
57+
{
58+
case 'check':
59+
completedTask(clickedElement);
60+
break;
61+
case 'task':
62+
break;
63+
case 'edit':
64+
editTaskText(clickedElement);
65+
break;
66+
case 'delete':
67+
break;
68+
}
69+
}
70+
});
71+
3072
// remove all childs of "taskContainer" class
3173
clearAllTaskBtn.addEventListener("click", () => {
3274

0 commit comments

Comments
 (0)