diff --git a/browserNotes2.html b/browserNotes2.html index e7530ed..c6dac49 100644 --- a/browserNotes2.html +++ b/browserNotes2.html @@ -18,13 +18,14 @@ + -
Your browser does not support this script. Please check JavaScript is enabled and try again.
+
Your browser does not support this script. Please check JavaScript is enabled and try again.
diff --git a/script/lang.js b/script/lang.js index 5cc8b9c..32cffc6 100644 --- a/script/lang.js +++ b/script/lang.js @@ -34,7 +34,10 @@ function setLanguage(locale){ "password_modal": "Password", "file_loaded": "File loaded successfully.", "save_storage": "Save to WebStorage", - "load_storage": "Load from WebStorage" + "load_storage": "Load from WebStorage", + "note": "Note", + "add_note": "Add note", + "delete_note": "Delete note" } break; case "es_ES": @@ -62,7 +65,10 @@ function setLanguage(locale){ "password_modal": "Contraseña", "file_loaded": "Archivo cargado con éxito.", "save_storage": "Guardar WebStorage", - "load_storage": "Leer WebStorage" + "load_storage": "Leer WebStorage", + "note": "Nota", + "add_note": "Añadir nota", + "delete_note": "Borrar nota" } break; default: @@ -86,6 +92,9 @@ function setLanguage(locale){ document.getElementById("modalChangePasswordTitle").textContent = lang.password_modal; document.getElementById("modalChangePasswordInput1").placeholder = lang.password_modal; document.getElementById("modalChangePasswordInput2").placeholder = lang.pwd_change_confirm; + document.getElementById("note-dropdown").textContent = lang.note; + document.getElementById("addNote").textContent = lang.add_note; + document.getElementById("deleteNote").textContent = lang.delete_note; if(!oldLang || oldLang.note_title == getTitle()) document.getElementById("title").innerText = lang.note_title; if(!oldLang || oldLang.note_content == getText()) diff --git a/script/notemanager.js b/script/notemanager.js new file mode 100644 index 0000000..0ef854e --- /dev/null +++ b/script/notemanager.js @@ -0,0 +1,69 @@ +/** + * Initializes note + */ +function initializeNotes(){ + index = 0; + jsonFile = new Object(); + jsonFile.version = 1; + jsonFile.notes = new Array(); + jsonFile.notes[index] = new Object(); + + //Set default phrases + document.getElementById("title").innerText = lang.note_title; + document.getElementById("main").innerText = lang.note_content; + reflectChangesOnJson(); +} + +/** + * Add a note to document + */ +function addNote(){ + //1. Save actual note before unloading it from view + reflectChangesOnJson(); + + //2. Create new note and show it + index = jsonFile.notes.length; + jsonFile.notes[index] = new Object(); + document.getElementById("title").innerText = lang.note_title; + document.getElementById("main").innerText = lang.note_content; + + //3. Update jsonFile and add it to menu (navbar) + reflectChangesOnJson(); + updateNotesList(); +} + +/** + * Delete a note from document + */ +function deleteNote(){ + jsonFile.notes.splice(index, 1); //Delete note from object + index = jsonFile.notes.length - 1; //Point to last note in array + if(index == -1){ + initializeNotes(); //Reinitialize notes as they are all deleted + }else{ + updateVisibleNote(); //Show the last note + } + updateNotesList(); +} + +/** + * Update notes from dropdown at navbar + */ +function updateNotesList(){ + //Delete all notes in dropdown + $('.notemenuitem').remove(); + + //Add all other notes + for(var i = 0; i < jsonFile.notes.length; i++){ + $('#noteslist').append('' + jsonFile.notes[i].title + ''); + } +} + +/** + * Opens a note + */ +function openNote(noteToView){ + reflectChangesOnJson(); + index = noteToView; + updateVisibleNote(); +} \ No newline at end of file diff --git a/script/service.js b/script/service.js index 227ecc0..b9c059b 100644 --- a/script/service.js +++ b/script/service.js @@ -1,5 +1,5 @@ /* -Encriptador v2.2 +Encriptador v2.3 https://github.com/mesacarlos (c) 2018-2019 Carlos Mesa. All rights reserved. */ @@ -14,14 +14,11 @@ var pendingEncryptedJson; * Also, check for possible notes in the URL. If set, load saved note and ask for password. */ $(document).ready(function() { - index = 0; - jsonFile = new Object(); - jsonFile.version = 1; - jsonFile.notes = new Array(); - jsonFile.notes[index] = new Object(); + initializeNotes(); if(window.location.search){ loadURL(); } + updateNotesList(); }); /** @@ -106,6 +103,7 @@ function decrypt(encryptedJson){ throw "Password Incorrect"; jsonFile = JSON.parse(result); updateVisibleNote(); + updateNotesList(); showInfo(lang.file_loaded); } catch (e) { //Password is not correct or is not defined and must be prompted.