@@ -23,10 +23,17 @@ <h2>LOCAL TAPAS</h2>
2323 < input type ="text " name ="item " placeholder ="Item Name " required >
2424 < input type ="submit " value ="+ Add Item ">
2525 </ form >
26+ < div class ="buttons ">
27+ < input type ="button " id ="clear " value ="〄 Clear ">
28+ < input type ="button " id ="checkall " value ="✔️ Check/Uncheck All ">
29+ </ div >
2630 </ div >
2731
2832< script >
2933 const addItems = document . querySelector ( '.add-items' ) ;
34+ const clearItems = document . querySelector ( '#clear' ) ;
35+ const checkItems = document . querySelector ( '#checkall' ) ;
36+
3037 const itemsList = document . querySelector ( '.plates' ) ;
3138 const items = JSON . parse ( localStorage . getItem ( 'items' ) ) || [ ] ;
3239
@@ -75,8 +82,26 @@ <h2>LOCAL TAPAS</h2>
7582 populateList ( items , itemsList ) ;
7683 }
7784
85+ function handleClear ( ) {
86+ var newItems = localStorage . removeItem ( "items" ) ;
87+ populateList ( newItems , itemsList ) ;
88+ }
89+
90+ function checkAll ( e ) {
91+ for ( var item in items ) {
92+ items [ item ] . done = ! items [ item ] . done ;
93+ }
94+ localStorage . setItem ( 'items' , JSON . stringify ( items ) ) ;
95+ populateList ( items , itemsList ) ;
96+ }
97+
7898 // Event Handlers
7999 addItems . addEventListener ( 'submit' , addItem ) ;
100+
101+ clearItems . addEventListener ( 'click' , handleClear ) ;
102+
103+ checkItems . addEventListener ( 'click' , checkAll ) ;
104+
80105 itemsList . addEventListener ( 'click' , toggleDone ) ;
81106
82107 populateList ( items , itemsList ) ;
0 commit comments