From f28201e7114b224751c516296bf49cedbb3a97d0 Mon Sep 17 00:00:00 2001 From: Sirttas Date: Mon, 1 Jun 2026 21:04:39 +0200 Subject: [PATCH] tables display --- src/pages/ledger/ListLedgerTransactions.vue | 35 +++++++++++++--- src/pages/ledger/ListLedgers.vue | 2 +- src/pages/ledger/ViewLedgerBalance.vue | 44 ++++++++++++++++++--- 3 files changed, 69 insertions(+), 12 deletions(-) diff --git a/src/pages/ledger/ListLedgerTransactions.vue b/src/pages/ledger/ListLedgerTransactions.vue index f0b8073..5505d2b 100644 --- a/src/pages/ledger/ListLedgerTransactions.vue +++ b/src/pages/ledger/ListLedgerTransactions.vue @@ -5,6 +5,7 @@ import {computedAsync} from "@vueuse/core"; import {TransactionResponse} from "@/generated/mammon"; import {formatEveDate} from "@/formaters.ts"; import {IskLabel} from "@/market"; +import {SortableHeader, useSort, VirtualScrollTable} from "@/components/table"; const {ledgerId} = useLedgerParam(); @@ -15,6 +16,15 @@ const transactions = computedAsync(async () => { return []; }, []); +const { sortedArray, headerProps } = useSort(() => transactions.value.map(transaction => { + return { + transactionId: transaction.transactionId, + description: transaction.description, + date: new Date(transaction.datetime), + balance: getIskBalance(transaction) + } +})); + const getIskBalance = (transaction: TransactionResponse) => { if (!ledgerId.value) { return 0; @@ -37,10 +47,25 @@ const getIskBalance = (transaction: TransactionResponse) => { diff --git a/src/pages/ledger/ListLedgers.vue b/src/pages/ledger/ListLedgers.vue index 76fd7b6..6186753 100644 --- a/src/pages/ledger/ListLedgers.vue +++ b/src/pages/ledger/ListLedgers.vue @@ -9,7 +9,7 @@ import {SortableHeader, useSort, VirtualScrollTable} from "@/components/table"; const {ledgers} = storeToRefs(useLedgersStore()); -const { sortedArray, headerProps } = useSort(ledgers) +const { sortedArray, headerProps } = useSort(ledgers); const editModal = ref(); const editingLedgerId = ref(""); diff --git a/src/pages/ledger/ViewLedgerBalance.vue b/src/pages/ledger/ViewLedgerBalance.vue index 63194e2..0287e12 100644 --- a/src/pages/ledger/ViewLedgerBalance.vue +++ b/src/pages/ledger/ViewLedgerBalance.vue @@ -2,7 +2,8 @@ import {getLedgerBalance, useLedgerParam} from "@/ledger"; import {computedAsync} from "@vueuse/core"; import {BalanceResponse} from "@/generated/mammon"; -import {IskLabel, MarketTypeLabel} from "@/market"; +import {getMarketType, IskLabel, MarketTypeLabel} from "@/market"; +import {SortableHeader, useSort, VirtualScrollTable} from "@/components/table"; const {ledgerId} = useLedgerParam(); @@ -13,16 +14,47 @@ const balance = computedAsync(async () => { return undefined; }); +const { sortedArray, headerProps } = useSort(computedAsync(async () => { + const itemBalances = balance.value?.itemBalances; + + if (!itemBalances) { + return []; + } + + return await Promise.all(itemBalances.map(async i => { + const item = await getMarketType(i.typeId); + + return { + ...i, + name: item.name + }; + })); +}, [])); +