-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExpenseTracker3HourTest.js
More file actions
72 lines (62 loc) · 2.64 KB
/
ExpenseTracker3HourTest.js
File metadata and controls
72 lines (62 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
const myform=document.querySelector('#my-form');
const amountInput=document.querySelector('#amount');
const discInput=document.querySelector('#disc');
const categoryInput=document.querySelector('#category');
const msg=document.querySelector('.msg');
const userList=document.querySelector('#users');
myform.addEventListener('submit',onsubmit);
window.addEventListener('DOMContentLoaded',display);
function display(){
Object.keys(localStorage).forEach(key=>{
let details=JSON.parse(localStorage.getItem(key));
userList.innerHTML +=`<li id=${details.category}> ${details.amount} - ${details.description} -${details.category}<button onclick=deleteUser('${details.category}')>Delete</button>
<button onclick=editUser('${details.amount}','${details.description}','${details.category}')>Edit</button></li>`;
})
}
function onsubmit(e){
e.preventDefault();
if(amountInput.value=='' || discInput.value==''){
msg.innerHTML='Please enter all fields';
setTimeout(()=>msg.remove(),3000);
}
else{
const obj={
amount:amountInput.value,
description:discInput.value,
category:categoryInput.value
}
localStorage.setItem(obj.category,JSON.stringify(obj));
addUsers(obj);
amountInput.value='';
discInput.value='';
categoryInput.value='';
}
}
function addUsers(obj){
const userList=document.querySelector('#users');
//if(localStorage.getItem(obj.userEmail)!==null){
//removeUserFromScreen(obj.userEmail);
//}
const childHTML = `<li id=${obj.category}> ${obj.amount} - ${obj.description} -${obj.category}
<button onclick=deleteUser('${obj.category}')> Delete User </button>
<button onclick=editUser('${obj.amount}','${obj.description}','${obj.category}')>Edit User </button>
</li>`
//const childHTML=`<li id=${obj.userEmail}>${obj.userName}:${obj.userEmail}<button onclick=deleteUser('${obj.userEmail}')>Delete</button>
//<button onclick=editUser('${obj.userName}','${obj.userEmail}')>Edit</button></li>`
userList.innerHTML=userList.innerHTML+childHTML;
}
function deleteUser(category){
localStorage.removeItem(category);
removeUserFromScreen(category);
}
function removeUserFromScreen(category){
const childNodeToBeDeleted=document.getElementById(category);
if(childNodeToBeDeleted){
userList.removeChild(childNodeToBeDeleted);
}
}
function editUser(amount,description,category){
amountInput.value=amount;
discInput.value=description;
deleteUser(category);
}