-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
172 lines (136 loc) · 5.11 KB
/
app.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
const form=document.querySelector("form")
const alltransaction=document.querySelector("#alltransaction")
let listOfTransactionIncome=[]
let listOfTransactionExpense=[]
let dincome=document.querySelector(".incomedisplay")
let dexpense=document.querySelector(".expensedisplay")
let dtotal=document.querySelector(".totaldisplay")
let cincome=0
let cexpense=0
let ctotal=0
dincome.innerHTML=cincome
dexpense.innerHTML=cexpense
dtotal.innerHTML=ctotal
form.addEventListener("submit",(e)=>{
e.preventDefault()
let type=document.querySelector("input[name=choice]:checked")
let name=document.querySelector("#tname").value
let amount =document.querySelector("#tamount").value
let date =document.querySelector("#tdate").value
let description =document.querySelector("#tdescription").value
if(type=="" || name=="" || amount=="" || date=="" || description==""){
alert("dont sumbit the form with empty values")
}
else{
let tdiv=document.createElement("div")
tdiv.setAttribute("class","transaction")
// img div
let imgrep=document.createElement("div")
if(type.id=="income"){
imgrep.setAttribute("class","income")
imgrep.setAttribute("id","income")
}
else{
imgrep.setAttribute("class","expense")
imgrep.setAttribute("id","expense")
}
let content=document.createElement("div")
content.setAttribute("class","content")
// elements within content div
let h2=document.createElement("h2")
h2.innerHTML=name
let h4=document.createElement("h4")
h4.innerHTML=date
let p=document.createElement("p")
p.innerHTML=description
// adding h2,h4,p to content div
content.append(h2)
content.append(h4)
content.append(p)
// amount div
let amt=document.createElement("div")
let h1=document.createElement("h1")
h1.innerHTML=amount
amt.append(h1)
let dbtn=document.createElement("button")
dbtn.setAttribute("class","deletebtn")
dbtn.innerHTML="X"
dbtn.setAttribute("onclick","removeelem(this)")
tdiv.append(imgrep)
tdiv.append(content)
tdiv.append(amt)
tdiv.append(dbtn)
alltransaction.append(tdiv)
}
amount=parseInt(amount)
if(type.id=="income"){
cincome+=amount
ctotal+=amount
listOfTransactionIncome.push([name,amount])
}
else{
cexpense+=amount
ctotal-=amount
listOfTransactionExpense.push([name,amount])
}
console.log(listOfTransactionExpense,listOfTransactionIncome)
show()
google.charts.setOnLoadCallback(drawChart);
})
function show(){
dincome.innerHTML=cincome
dexpense.innerHTML=cexpense
dtotal.innerHTML=ctotal
}
function removeelem(elem){
elem.parentElement.remove()
let removeName=elem.parentElement.querySelector("h2").innerHTML
let removeamount=elem.parentElement.querySelector("h1").innerHTML
let type=elem.parentElement.querySelector("div").id
if(type=="income"){
for(i=0;i<listOfTransactionIncome.length;i++){
if(listOfTransactionIncome[i][0]== removeName && listOfTransactionIncome[i][1]==removeamount){
console.log(i)
listOfTransactionIncome.splice(i,1)
google.charts.setOnLoadCallback(drawChart);
ctotal-=removeamount
cincome-=removeamount
}
}
}
else{
for(i=0;i<listOfTransactionExpense.length;i++){
if(listOfTransactionExpense[i][0]== removeName && listOfTransactionExpense[i][1]==removeamount){
console.log(i)
listOfTransactionExpense.splice(i,1)
google.charts.setOnLoadCallback(drawChart);
ctotal+=parseInt(removeamount)
cexpense-=removeamount
}
}
}
show()
}
// graph implementation
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data1 = new google.visualization.DataTable();
data1.addColumn('string', 'Type');
data1.addColumn('number', 'Amount');
data1.addRows(listOfTransactionIncome);
var data2 = new google.visualization.DataTable();
data2.addColumn('string', 'Type');
data2.addColumn('number', 'Amount');
data2.addRows(listOfTransactionExpense);
var options1 = {'title':'How Much I Earned/INCOME',
'width':600,
'height':500};
var options2 = {'title':'How Much I Spend/EXPENSE',
'width':600,
'height':500};
var chart1 = new google.visualization.PieChart(document.getElementById('piechart1'));
var chart2 = new google.visualization.PieChart(document.getElementById('piechart2'));
chart1.draw(data1,options1);
chart2.draw(data2,options2);
}