-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
108 lines (100 loc) · 3.47 KB
/
script.js
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
let expenses =[]
let totalAmount = 0;
const categorySelect = document.getElementById('category_select')
const amountInput = document.getElementById('amount_input')
const InfoInput = document.getElementById('info')
const dateInput = document.getElementById('date_input')
const addBtn = document.getElementById('add_btn')
const expenseTableBody = document.getElementById('expense-table-body')
const totalAmountCell = document.getElementById('total-amount')
addBtn.addEventListener('click',function(){
const category=categorySelect.value;
const info=InfoInput.value;
const amount =Number(amountInput.value);
const date = dateInput.value;
if(category ===''){
alert('please select a category');
return;
}
if(isNaN(amount) || amount<=0){
alert('please enter a valid amount');
return;
}
if(info ===''){
alert('please enter a valid amount info');
return;
}
if(date ===''){
alert('please select a date');
return;
}
expenses.push({category,amount,info,date})
if(category === 'Income'){
totalAmount+=amount;
}
if(category === 'Expense'){
totalAmount-=amount;
}
totalAmountCell.textContent = totalAmount;
const newRow = expenseTableBody.insertRow();
const categoryCell = newRow.insertCell();
const AmountCell = newRow.insertCell();
const InfoCell = newRow.insertCell();
const dateCell = newRow.insertCell();
const deleteCell = newRow.insertCell();
const deleteBtn = document.createElement('button');
deleteBtn.textContent ='Delete';
deleteBtn.classList.add('delete-btn');
deleteBtn.addEventListener('click', function(){
expenses.splice(expenses.indexOf(expense),1);
if(category === 'Income'){
totalAmount-=amount;
}
if(category === 'Expense'){
totalAmount+=amount;
}
totalAmountCell.textContent=totalAmount;
expenseTableBody.removeChild(newRow)
})
const expense = expenses[expenses.length-1];
categoryCell.textContent=expense.category;
AmountCell.textContent=expense.amount;
InfoCell.textContent=expense.info;
dateCell.textContent=expense.date;
deleteCell.appendChild(deleteBtn);
});
for(const expense of expenses){
if(category === 'Income'){
totalAmount+=amount;
}
if(category === 'Expense'){
totalAmount-=amount;
}
totalAmountCell.textContent = totalAmount;
const newRow = expenseTableBody.insertRow();
const categoryCell = newRow.insertCell();
const AmountCell = newRow.insertCell();
const InfoCell = newRow.insertCell();
const dateCell = newRow.insertCell();
const deleteCell = newRow.insertCell();
const deleteBtn = document.createElement('button');
deleteBtn.textContent ='Delete';
deleteBtn.classList.add('delete-btn');
deleteBtn.addEventListener('click', function(){
expenses.splice(expenses.indexOf(expense),1);
if(category === 'Income'){
totalAmount-=amount;
}
if(category === 'Expense'){
totalAmount+=amount;
}
totalAmountCell.textContent=totalAmount;
expenseTableBody.removeChild(new Row)
})
const expense = expenses[expenses.length-1];
categoryCell.textContent=expense.category;
AmountCell.textContent=expense.amount;
InfoCell.textContent=expense.info;
dateCell.textContent=expense.date;
deleteCell.appendChild(deleteBtn);
}