From 591c478325cfb46938d3cbd2545b9b0c665a564f Mon Sep 17 00:00:00 2001 From: Modo Date: Mon, 23 Oct 2023 14:59:42 +0530 Subject: [PATCH] Add "Edit Data" Data Logic --- frontend/scripts/dashboard.js | 49 ++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/frontend/scripts/dashboard.js b/frontend/scripts/dashboard.js index fab31a9..862a7c2 100644 --- a/frontend/scripts/dashboard.js +++ b/frontend/scripts/dashboard.js @@ -152,6 +152,7 @@ const exitentrywin = document.getElementById('backbtn') exitentrywin.addEventListener('click', function() { entrywindow.style.display = "none" + localStorage.removeItem("editVal") }) //----------------------------------------------------------------------------------------- Form Behaviour Logic @@ -290,6 +291,7 @@ function addFieldEditLogic(field){ const url = document.getElementById('urlfield') const sitename = document.getElementById('sitenamefield') const userdata = JSON.parse(localStorage.getItem("userdata")) + localStorage.setItem("editVal", field) sitename.value = field url.value = userdata[field]["url"] @@ -332,7 +334,7 @@ function addFieldEditLogic(field){ //----------------------------------------------------------------------------------------- Edit Data Validation -function validateEditData() { +function validateDataEdit() { if(validateEditSitename() && validateEditUrl()) editData(); return; @@ -376,16 +378,52 @@ function validateEditUrl(){ function editData() { const form = document.getElementById('formdata') const formeditdata = new FormData(form) - formatEditData(formeditdata) + editDataHandler(formeditdata) } -function formatEditData(editdata) { - +function editDataHandler(editdata) { + const objData = {} + const userdata = JSON.parse(localStorage.getItem("userdata")) + const entryname = localStorage.getItem("editVal") + let sitename; //from edit data + editdata.forEach((value, key)=>{ + if(key == 'sitename'){ + sitename = value; + }else { + objData[key] = value; + } + }) + + for(let field in objData){ + let value = objData[field] + + if(!(field in userdata[entryname])){ + addNewField(entryname, field, value) + } else if(value != userdata[entryname][field]){ + editFieldValue(entryname, field, value ) + } + } + + if(sitename != entryname){ + changeEntryName(entryname, sitename) + } } //----------------------------------------------------------------------------------------- Edit Data API Logic +function addNewField(sitename, field, value) { + console.log(sitename, field, value) +} + +function editFieldValue(sitename, field, value) { + console.log(sitename, field, value) +} + +function changeEntryName(entryname, sitename) { + console.log(entryname, sitename) +} + //----------------------------------------------------------------------------------------- Display User Information @@ -497,8 +535,7 @@ const logoutbtn = document.querySelector("#logout") logoutbtn.addEventListener('click', () => { console.log("logging out") - localStorage.removeItem("username") - localStorage.removeItem("userdata") + localStorage.clear() logOut() })