@@ -70,8 +70,9 @@ function data_validator() {
70
70
if ( data_el == "" ) {
71
71
error_message_shower ( false , "Note Data Can't be Empty" ) ;
72
72
} else {
73
- add_note ( title_el , data_el ) ;
74
- save_to_local ( storenote , title_el , data_el ) ;
73
+ if ( unique_notes_verifier ( ) )
74
+ { add_note ( title_el , data_el ) ;
75
+ save_to_local ( storenote , title_el , data_el ) ; }
75
76
}
76
77
}
77
78
//////////////add note fuction ////////////////////////
@@ -156,29 +157,46 @@ function saved_notes_display() {
156
157
}
157
158
}
158
159
function unique_notes_verifier ( ) {
160
+
159
161
input = document . getElementById ( "note_title" ) . value ;
160
- /////////////////////verify if it is in dom///////////////////
161
- cardsTitle = document . getElementsByClassName ( "card-title" ) ;
162
-
163
- cardsTitle_li = [ ] ;
164
- Array . from ( cardsTitle ) . forEach ( function ( element , ind ) {
165
- cardsTitle_li . push ( element . innerHTML ) ;
166
- } ) ;
167
- for ( let j = 0 ; j < cardsTitle_li . length ; j ++ ) {
168
- if ( cardsTitle_li [ j ] . toLowerCase ( ) . indexOf ( input . toLowerCase ( ) ) > - 1 ) {
169
- error_message_shower ( "Title Already Exist" ) ;
170
- document . getElementById ( "addbtn" ) . disabled = true ;
171
- } else {
162
+
163
+ /////////////////////verify if it is in dom///////////////////
164
+ let noteselm = JSON . parse ( localStorage . getItem ( "notes" ) ) ;
165
+ try
166
+ {
167
+ noteselm . forEach ( function note_data_extractor ( note , ind ) {
168
+ for ( var title in note )
169
+ {
170
+
171
+ if ( title . toLowerCase ( ) == input . toLowerCase ( ) )
172
+ {
173
+
174
+ error_message_shower ( "Title Already Exist" ) ;
175
+ throw "Title Already Exist"
176
+
177
+
178
+ }
179
+ }
180
+ } ) ;
172
181
terror = document . getElementById ( "title_error" ) ;
173
- terror . innerHTML = "" ;
174
- terror . setAttribute ( "style" , "color: red; font-size: 12px;" ) ;
175
- t_el = document
176
- . getElementById ( "note_title" )
177
- . setAttribute ( "style" , "border: 1px solid green;" ) ;
178
- document . getElementById ( "addbtn" ) . disabled = false ;
179
-
180
- }
182
+
183
+ terror . innerHTML = "" ;
184
+ terror . setAttribute ( "style" , "color: red; font-size: 12px;" ) ;
185
+ t_el = document
186
+ . getElementById ( "note_title" )
187
+ . setAttribute ( "style" , "border: 1px solid green;" ) ;
188
+ document
189
+ . getElementById ( "note_data" )
190
+ . setAttribute ( "style" , "border: 1px solid green;" ) ;
191
+
192
+ return true ;
181
193
}
194
+ catch ( err )
195
+ {
196
+ return false ;
197
+ }
198
+
199
+
182
200
}
183
201
//////////////////this will clear your local storage////////////////////
184
202
function localStorage_clear ( ) {
@@ -227,12 +245,37 @@ function note_search(e) {
227
245
function edit_note ( id )
228
246
{
229
247
title = document . getElementById ( "note_title" ) ;
248
+
230
249
data = document . getElementById ( "note_data" ) ;
250
+
231
251
note = document . getElementById ( id ) . children [ 0 ] . children [ 1 ] ;
252
+
232
253
title . value = note . children [ 0 ] . innerText ;
233
254
data . value = note . children [ 1 ] . innerText ;
234
- console . log ( id )
255
+
256
+ addbtn = document . getElementById ( "addbtn" ) ;
257
+
258
+ savebtn = document . createElement ( 'button' ) ;
259
+ savebtn . innerHTML = "Save Note"
260
+ savebtn . setAttribute ( 'id' , "savebtn" )
261
+ savebtn . setAttribute ( 'class' , "btn btn-dark" )
262
+ savebtn . setAttribute ( 'onclick' , "edit_save()" )
263
+ addbtn . replaceWith ( savebtn ) ;
264
+
265
+
266
+
267
+
235
268
269
+ }
270
+ function edit_save ( )
271
+ {
272
+ oldnote = document . getElementById ( id ) . children [ 0 ] ;
273
+ title = document . getElementById ( "note_title" ) . value ;
274
+
275
+ data = document . getElementById ( "note_data" ) . value ;
276
+ let noteselm = JSON . parse ( localStorage . getItem ( "notes" ) ) ;
277
+ console . log ( noteselm )
278
+ savebtn . replaceWith ( addbtn )
236
279
237
280
238
281
}
0 commit comments