got transactions into rows in transactions.html, now gotta fix column with for description then go for editable
cicd / ci (push) Successful in 55s Details

main
Bel LaPointe 2024-07-20 11:40:06 -06:00
parent 8886442e89
commit 2ce78d2b42
2 changed files with 30 additions and 19 deletions

View File

@ -15,6 +15,7 @@
} }
xmlhttp.send(body); xmlhttp.send(body);
} }
function callback(responseBody, responseStatus) { function callback(responseBody, responseStatus) {
} }
//var f = String(window.location).split("/transactions.html")[1] //var f = String(window.location).split("/transactions.html")[1]
@ -22,6 +23,7 @@
// f = "/ledger.dat" // f = "/ledger.dat"
//} //}
//f = "." + f //f = "." + f
function init() { function init() {
const zeroPad = (num, places) => String(num).padStart(places, '0') const zeroPad = (num, places) => String(num).padStart(places, '0')
var d = new Date() var d = new Date()
@ -32,14 +34,16 @@
load() load()
} }
function load() { function load() {
http("GET", "/api/transactions" /*?f="+f*/, (body, status) => { http("GET", "/api/transactions" /*?f="+f*/, (body, status) => {
var d = JSON.parse(body) var d = JSON.parse(body)
console.log("loading", d) console.log("loading", d)
loadBalances(d.balances) loadBalances(d.balances)
loadDeltas(d.deltas) loadTransactions(d.transactions)
}) })
} }
function loadBalances(balances) { function loadBalances(balances) {
console.log("loading balances", balances) console.log("loading balances", balances)
var result = `<table>` var result = `<table>`
@ -49,27 +53,32 @@
result += `</table>` result += `</table>`
document.getElementById("bal").innerHTML = result document.getElementById("bal").innerHTML = result
} }
function loadDeltas(deltas) {
console.log(deltas[0]) function loadTransactions(transactions) {
for (var i = 0; i < deltas.length/2; i++) { transactions.reverse()
tmp = deltas[i] console.log(transactions[0])
deltas[i] = deltas[deltas.length-1-i]
deltas[deltas.length-1-i] = tmp
}
console.log(deltas[0])
var result = `<table>` var result = `<table>`
for (var k of deltas) { for (var t of transactions) {
result += `<tr>` result += `<tr>`
result += ` <td>${k.Date}</td>` result += ` <td style="width: 6em;">${t[0].Date}</td>`
result += ` <td>${k.Description}</td>` result += ` <td>${t[0].Description}</td>`
result += ` <td>${k.Name}</td>` result += ` <td><table>`
result += ` <td style="text-align: right">${k.Currency}</td>` for (var delta of t) {
result += ` <td style="text-align: right">${k.Value}</td>` result += ` <tr>`
result += ` <td>${delta.Name}</td>`
result += ` <td style="text-align: right">${delta.Currency}</td>`
result += ` <td style="text-align: right">${delta.Value}</td>`
result += ` </tr>`
}
result += ` </table></td>`
result += `</tr>` result += `</tr>`
} }
result += `</table>` result += `</table>`
document.getElementById("reg").innerHTML = result document.getElementById("reg").innerHTML = result
} }
function stage(who, contributesToHouse) { function stage(who, contributesToHouse) {
var d = new Date() var d = new Date()
const zeroPad = (num, places) => String(num).padStart(places, '0') const zeroPad = (num, places) => String(num).padStart(places, '0')
@ -114,7 +123,7 @@
</div> </div>
</div> </div>
</details> </details>
<details> <details open>
<summary>Register</summary> <summary>Register</summary>
<div id="reg"> <div id="reg">
</div> </div>

View File

@ -94,16 +94,18 @@ func (router Router) APITransactions(w http.ResponseWriter, r *http.Request) {
houseRelatedDeltas := deltas.Like(ledger.LikeTransactions( houseRelatedDeltas := deltas.Like(ledger.LikeTransactions(
deltas.Like(ledger.LikeName(`^House`))..., deltas.Like(ledger.LikeName(`^House`))...,
)) ))
sixMonths := time.Hour * 24 * 365 / 2 recent := time.Hour * 24 * 365 / 6
json.NewEncoder(w).Encode(map[string]any{ json.NewEncoder(w).Encode(map[string]any{
"deltas": houseRelatedDeltas. "deltas": houseRelatedDeltas.
Like(ledger.LikeAfter(time.Now().Add(-1 * sixMonths).Format("2006-01"))), Like(ledger.LikeAfter(time.Now().Add(-1 * recent).Format("2006-01"))),
"balances": houseRelatedDeltas.Balances(). "balances": houseRelatedDeltas.Balances().
Like(`^(Zach|Bel|House[^:]*:Debts:)`). Like(`^(Zach|Bel|House[^:]*:Debts:)`).
Group(`^[^:]*`). Group(`^[^:]*`).
WithBPIs(bpis), WithBPIs(bpis),
"transactions": houseRelatedDeltas.Transactions(), "transactions": houseRelatedDeltas.
Like(ledger.LikeAfter(time.Now().Add(-1 * recent).Format("2006-01"))).
Transactions(),
}) })
} }