@@ -10,7 +10,7 @@ const clearBtn = document.querySelector(".clear-btn");
1010// edit option
1111let editElement ;
1212let editFlag = false ;
13-
13+ let editValue = "" ;
1414// ****** event listeners **********
1515
1616// submit form
@@ -60,9 +60,10 @@ function addItem(e) {
6060 } else if ( value !== "" && editFlag ) {
6161 editElement . innerHTML = value ;
6262 displayAlert ( "value changed" , "success" ) ;
63+
64+ // edit local storage
65+ editLocalStorage ( editValue , value ) ;
6366 setBackToDefault ( ) ;
64- // add to local storage
65- addToLocalStorage ( value ) ;
6667 } else {
6768 displayAlert ( "please enter value" , "danger" ) ;
6869 }
@@ -113,15 +114,15 @@ function editItem(e) {
113114 // set form value
114115 grocery . value = editElement . innerHTML ;
115116 editFlag = true ;
117+ editValue = editElement . innerHTML ;
116118 //
117119 submitBtn . textContent = "edit" ;
118- // remove from local storage
119- removeFromLocalStorage ( editElement . innerHTML ) ;
120120}
121121// set backt to defaults
122122function setBackToDefault ( ) {
123123 grocery . value = "" ;
124124 editFlag = false ;
125+ editValue = "" ;
125126 submitBtn . textContent = "submit" ;
126127}
127128
@@ -147,6 +148,17 @@ function removeFromLocalStorage(grocery) {
147148 } ) ;
148149 localStorage . setItem ( "list" , JSON . stringify ( items ) ) ;
149150}
151+ function editLocalStorage ( oldValue , newValue ) {
152+ let items = getLocalStorage ( ) ;
153+
154+ items = items . map ( function ( item ) {
155+ if ( item === oldValue ) {
156+ item = newValue ;
157+ }
158+ return item ;
159+ } ) ;
160+ localStorage . setItem ( "list" , JSON . stringify ( items ) ) ;
161+ }
150162
151163// SETUP LOCALSTORAGE.REMOVEITEM('LIST');
152164
0 commit comments