-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
112 lines (100 loc) · 3.64 KB
/
script.js
File metadata and controls
112 lines (100 loc) · 3.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
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
109
110
111
112
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 () {0
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);
}