File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change 1
1
let inpNewTask = document . getElementById ( 'inpNewTask' )
2
2
let btnAdd = document . getElementById ( 'btnAdd' )
3
+ let btnClearDone = document . getElementById ( 'btnClearDone' )
3
4
let taskList = document . getElementById ( 'taskList' )
4
5
5
6
// Code for managing model layer
@@ -10,6 +11,14 @@ function addItem(taskTitle) {
10
11
tasks . push ( { title : taskTitle , done : false } )
11
12
}
12
13
14
+ function toggleItemDone ( itemId ) {
15
+ tasks [ itemId ] . done = ! tasks [ itemId ] . done
16
+ }
17
+
18
+ function clearDoneItems ( ) {
19
+ tasks = tasks . filter ( ( x ) => ! x . done )
20
+ }
21
+
13
22
// Code for managing views
14
23
15
24
function renderList ( ) {
@@ -18,6 +27,10 @@ function renderList() {
18
27
let item = document . createElement ( 'li' )
19
28
item . innerText = tasks [ i ] . title
20
29
item . className = tasks [ i ] . done ? 'list-group-item done' : 'list-group-item'
30
+ item . onclick = ( ) => {
31
+ toggleItemDone ( i )
32
+ renderList ( )
33
+ }
21
34
taskList . appendChild ( item )
22
35
}
23
36
}
@@ -36,6 +49,10 @@ btnAdd.addEventListener('click', addItemFromInput)
36
49
inpNewTask . addEventListener ( 'keypress' , ( event ) => {
37
50
if ( event . keyCode == 13 ) addItemFromInput ( )
38
51
} )
52
+ btnClearDone . addEventListener ( 'click' , ( ) => {
53
+ clearDoneItems ( )
54
+ renderList ( )
55
+ } )
39
56
40
57
// When page starts
41
58
You can’t perform that action at this time.
0 commit comments