From 0e5256c8ceb241b365a81fc338f4bb6ff56794b3 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 17 Sep 2021 07:18:37 +0200 Subject: [PATCH] Rebuild transaction list. --- .../src/components/transactions/Index.vue | 135 +++++------ .../transactions/TransactionListLarge.vue | 229 +++++++++++++----- frontend/yarn.lock | 30 +-- public/v2/js/accounts/show.js | 2 +- public/v2/js/accounts/show.js.map | 2 +- public/v2/js/transactions/index.js | 2 +- public/v2/js/transactions/index.js.map | 2 +- 7 files changed, 256 insertions(+), 146 deletions(-) diff --git a/frontend/src/components/transactions/Index.vue b/frontend/src/components/transactions/Index.vue index 4eb8509154..8352b0745d 100644 --- a/frontend/src/components/transactions/Index.vue +++ b/frontend/src/components/transactions/Index.vue @@ -196,7 +196,6 @@ export default { endStr = format(this.urlEnd, 'y-MM-dd'); } let url = './api/v1/transactions?type=' + this.type + '&page=' + page + "&start=" + startStr + "&end=" + endStr + '&cache=' + this.cacheKey; - url = './api/v1/transactions?type=' + this.type + '&page=' + page + '&cache=' + this.cacheKey; api.get(url) .then(response => { //let currentPage = parseInt(response.data.meta.pagination.current_page); @@ -218,73 +217,73 @@ export default { ); }); }, - createTransactionRows: function () { - this.transactionRows = []; - for (let i in this.transactions) { - let transaction = this.transactions[i]; - let transactionRow = this.getTransactionRow(transaction, 0); - this.transactionRows.push(transactionRow); - - if (transaction.attributes.transactions.length > 1) { - transactionRow.description = transaction.attributes.group_title; - transactionRow.split = true; - transactionRow.collapsed = transaction.collapsed === true || transaction.collapsed === undefined; - transactionRow.amount = transaction.attributes.transactions - .map(transaction => Number(transaction.amount)) - .reduce((sum, n) => sum + n); - transactionRow.source_name = ''; - transactionRow.source_id = ''; - transactionRow.destination_name = ''; - transactionRow.destination_id = ''; - - if (!transactionRow.collapsed) { - for (let i = 0; i < transaction.attributes.transactions.length; i++) { - let splitTransactionRow = this.getTransactionRow(transaction, i); - splitTransactionRow.key = splitTransactionRow.id + "." + i - splitTransactionRow.split = true; - splitTransactionRow.split_index = i + 1; - splitTransactionRow.split_parent = transactionRow; - this.transactionRows.push(splitTransactionRow); - } - } - } - } - - this.loading = false; - }, - getTransactionRow(transaction, index) { - let transactionRow = {}; - let currentTransaction = transaction.attributes.transactions[index]; - - transactionRow.key = transaction.id; - transactionRow.id = transaction.id; - transactionRow.type = currentTransaction.type; - transactionRow.description = currentTransaction.description; - transactionRow.amount = currentTransaction.amount; - transactionRow.currency_code = currentTransaction.currency_code; - transactionRow.date = new Date(currentTransaction.date); - transactionRow.date_formatted = format(transactionRow.date, this.$t('config.month_and_day_fns')); - transactionRow.source_name = currentTransaction.source_name; - transactionRow.source_id = currentTransaction.source_id; - transactionRow.destination_name = currentTransaction.destination_name; - transactionRow.destination_id = currentTransaction.destination_id; - transactionRow.category_id = currentTransaction.category_id; - transactionRow.category_name = currentTransaction.category_name; - transactionRow.split = false; - transactionRow.split_index = 0; - transactionRow.split_parent = null; - - return transactionRow; - }, - toggleCollapse: function (row) { - let transaction = this.transactions.filter(transaction => transaction.id === row.id)[0]; - if (transaction.collapsed === undefined) { - transaction.collapsed = false; - } else { - transaction.collapsed = !transaction.collapsed; - } - this.createTransactionRows(); - }, + // createTransactionRows: function () { + // this.transactionRows = []; + // for (let i in this.transactions) { + // let transaction = this.transactions[i]; + // let transactionRow = this.getTransactionRow(transaction, 0); + // this.transactionRows.push(transactionRow); + // + // if (transaction.attributes.transactions.length > 1) { + // transactionRow.description = transaction.attributes.group_title; + // transactionRow.split = true; + // transactionRow.collapsed = transaction.collapsed === true || transaction.collapsed === undefined; + // transactionRow.amount = transaction.attributes.transactions + // .map(transaction => Number(transaction.amount)) + // .reduce((sum, n) => sum + n); + // transactionRow.source_name = ''; + // transactionRow.source_id = ''; + // transactionRow.destination_name = ''; + // transactionRow.destination_id = ''; + // + // if (!transactionRow.collapsed) { + // for (let i = 0; i < transaction.attributes.transactions.length; i++) { + // let splitTransactionRow = this.getTransactionRow(transaction, i); + // splitTransactionRow.key = splitTransactionRow.id + "." + i + // splitTransactionRow.split = true; + // splitTransactionRow.split_index = i + 1; + // splitTransactionRow.split_parent = transactionRow; + // this.transactionRows.push(splitTransactionRow); + // } + // } + // } + // } + // + // this.loading = false; + // }, + // getTransactionRow(transaction, index) { + // let transactionRow = {}; + // let currentTransaction = transaction.attributes.transactions[index]; + // + // transactionRow.key = transaction.id; + // transactionRow.id = transaction.id; + // transactionRow.type = currentTransaction.type; + // transactionRow.description = currentTransaction.description; + // transactionRow.amount = currentTransaction.amount; + // transactionRow.currency_code = currentTransaction.currency_code; + // transactionRow.date = new Date(currentTransaction.date); + // transactionRow.date_formatted = format(transactionRow.date, this.$t('config.month_and_day_fns')); + // transactionRow.source_name = currentTransaction.source_name; + // transactionRow.source_id = currentTransaction.source_id; + // transactionRow.destination_name = currentTransaction.destination_name; + // transactionRow.destination_id = currentTransaction.destination_id; + // transactionRow.category_id = currentTransaction.category_id; + // transactionRow.category_name = currentTransaction.category_name; + // transactionRow.split = false; + // transactionRow.split_index = 0; + // transactionRow.split_parent = null; + // + // return transactionRow; + // }, + // toggleCollapse: function (row) { + // let transaction = this.transactions.filter(transaction => transaction.id === row.id)[0]; + // if (transaction.collapsed === undefined) { + // transaction.collapsed = false; + // } else { + // transaction.collapsed = !transaction.collapsed; + // } + // this.createTransactionRows(); + // }, }, } diff --git a/frontend/src/components/transactions/TransactionListLarge.vue b/frontend/src/components/transactions/TransactionListLarge.vue index 0f7494e93a..dfd17a56cb 100644 --- a/frontend/src/components/transactions/TransactionListLarge.vue +++ b/frontend/src/components/transactions/TransactionListLarge.vue @@ -30,7 +30,6 @@ Loading: {{ loading }}
-