1+ // selectors | Reference
2+ var todoInput = document . querySelector ( ".todo-input" ) ;
3+ var btn = document . querySelector ( ".todo-button" ) ;
4+ var todoList = document . querySelector ( ".todo-list" ) ;
5+
6+ // Event Handlers
7+ btn . onclick = create ;
8+ todoList . onclick = performAction ;
9+
10+ var data ;
11+ // Functions
12+ function create ( e ) {
13+ e . preventDefault ( ) ;
14+ data = todoInput . value ;
15+ console . log ( data ) ;
16+ data = data . trim ( ) ;
17+ if ( data != "" ) {
18+ var newDiv = document . createElement ( "div" ) ;
19+ newDiv . classList . add ( "todo" ) ;
20+
21+ var newLi = document . createElement ( "li" ) ;
22+ newLi . classList . add ( "todo-item" ) ;
23+ newLi . innerText = data ;
24+ newDiv . appendChild ( newLi ) ;
25+
26+ var cmpltBtn = document . createElement ( "button" ) ;
27+ cmpltBtn . classList . add ( "cmpltBtn" ) ;
28+ cmpltBtn . innerHTML = '<i class="fa fa-check " aria-hidden="true"></i>' ;
29+ newDiv . appendChild ( cmpltBtn ) ;
30+
31+ var deleteBtn = document . createElement ( "button" ) ;
32+ deleteBtn . classList . add ( "deleteBtn" ) ;
33+ deleteBtn . innerHTML = '<i class="fa fa-trash" aria-hidden="true"></i>' ;
34+ newDiv . appendChild ( deleteBtn ) ;
35+
36+ todoList . appendChild ( newDiv ) ;
37+ todoInput . value = "" ;
38+ } else {
39+ alert ( "Box can not be blank" ) ;
40+ }
41+ }
42+
43+ function performAction ( e ) {
44+ var item = e . target ;
45+ // console.log(item);
46+
47+ if ( item . classList [ 0 ] == "cmpltBtn" ) {
48+ // console.log("Cmplete Button pressed");
49+ var parent = item . parentElement ;
50+ parent . classList . toggle ( "todo-done" ) ;
51+ }
52+ if ( item . classList [ 0 ] == "deleteBtn" ) {
53+ var parent = item . parentElement ;
54+ // console.log(parent);
55+ parent . remove ( ) ;
56+ }
57+ }
0 commit comments