@@ -3,6 +3,21 @@ const taskAddBtn = document.querySelector("#addSvg");
33const taskContainer = document . querySelector ( ".task-container" ) ;
44const taskField = document . querySelector ( ".task" ) ;
55const 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
823taskAddBtn . 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
3173clearAllTaskBtn . addEventListener ( "click" , ( ) => {
3274
0 commit comments