diff --git a/src/stores/transaction.js b/src/stores/transaction.js index be217751..6e82c8ba 100644 --- a/src/stores/transaction.js +++ b/src/stores/transaction.js @@ -746,6 +746,7 @@ export const useTransactionsStore = defineStore('transactions', { } }, updateTransactionListFilter(filter) { + const accountsStore = useAccountsStore(); let changed = false; if (filter && isNumber(filter.dateType) && this.transactionsFilter.dateType !== filter.dateType) { @@ -775,6 +776,11 @@ export const useTransactionsStore = defineStore('transactions', { if (filter && isString(filter.accountIds) && this.transactionsFilter.accountIds !== filter.accountIds) { this.transactionsFilter.accountIds = filter.accountIds; + + if (datetimeConstants.allBillingCycleDateRangesMap[this.transactionsFilter.dateType] && !accountsStore.getAccountStatementDate(this.transactionsFilter.accountIds)) { + this.transactionsFilter.dateType = datetimeConstants.allDateRanges.Custom.type; + } + changed = true; } diff --git a/src/views/desktop/common/cards/AccountFilterSettingsCard.vue b/src/views/desktop/common/cards/AccountFilterSettingsCard.vue index 3b7a8cc0..f5854655 100644 --- a/src/views/desktop/common/cards/AccountFilterSettingsCard.vue +++ b/src/views/desktop/common/cards/AccountFilterSettingsCard.vue @@ -152,7 +152,6 @@ import { useAccountsStore } from '@/stores/account.js'; import { useTransactionsStore } from '@/stores/transaction.js'; import { useStatisticsStore } from '@/stores/statistics.js'; -import datetimeConstants from '@/consts/datetime.js'; import accountConstants from '@/consts/account.js'; import { copyObjectTo } from '@/lib/common.js'; import { @@ -323,15 +322,9 @@ export default { self.statisticsStore.updateTransactionStatisticsInvalidState(true); } } else if (this.type === 'transactionListCurrent') { - const filter = { + changed = self.transactionsStore.updateTransactionListFilter({ accountIds: isAllSelected ? '' : finalAccountIds - }; - - if (datetimeConstants.allBillingCycleDateRangesMap[self.transactionsStore.transactionsFilter.dateType] && !self.accountsStore.getAccountStatementDate(filter.accountIds)) { - filter.dateType = datetimeConstants.allDateRanges.Custom.type; - } - - changed = self.transactionsStore.updateTransactionListFilter(filter); + }); if (changed) { self.transactionsStore.updateTransactionListInvalidState(true); diff --git a/src/views/desktop/transactions/ListPage.vue b/src/views/desktop/transactions/ListPage.vue index 0f983e7e..579d3d43 100644 --- a/src/views/desktop/transactions/ListPage.vue +++ b/src/views/desktop/transactions/ListPage.vue @@ -1432,15 +1432,9 @@ export default { return; } - const filter = { + const changed = this.transactionsStore.updateTransactionListFilter({ accountIds: accountIds - }; - - if (datetimeConstants.allBillingCycleDateRangesMap[this.query.dateType] && !this.accountsStore.getAccountStatementDate(accountIds)) { - filter.dateType = datetimeConstants.allDateRanges.Custom.type; - } - - const changed = this.transactionsStore.updateTransactionListFilter(filter); + }); if (changed) { this.loading = true; diff --git a/src/views/mobile/settings/AccountFilterSettingsPage.vue b/src/views/mobile/settings/AccountFilterSettingsPage.vue index 2355be9d..bb0a40f8 100644 --- a/src/views/mobile/settings/AccountFilterSettingsPage.vue +++ b/src/views/mobile/settings/AccountFilterSettingsPage.vue @@ -136,7 +136,6 @@ import { useAccountsStore } from '@/stores/account.js'; import { useTransactionsStore } from '@/stores/transaction.js'; import { useStatisticsStore } from '@/stores/statistics.js'; -import datetimeConstants from '@/consts/datetime.js'; import accountConstants from '@/consts/account.js'; import { copyObjectTo } from '@/lib/common.js'; import { @@ -295,15 +294,9 @@ export default { filterAccountIds: filteredAccountIds }); } else if (this.type === 'transactionListCurrent') { - const filter = { + const changed = self.transactionsStore.updateTransactionListFilter({ accountIds: isAllSelected ? '' : finalAccountIds - }; - - if (datetimeConstants.allBillingCycleDateRangesMap[self.transactionsStore.transactionsFilter.dateType] && !self.accountsStore.getAccountStatementDate(filter.accountIds)) { - filter.dateType = datetimeConstants.allDateRanges.Custom.type; - } - - const changed = self.transactionsStore.updateTransactionListFilter(filter); + }); if (changed) { self.transactionsStore.updateTransactionListInvalidState(true); diff --git a/src/views/mobile/transactions/ListPage.vue b/src/views/mobile/transactions/ListPage.vue index 6bdff955..e3de161c 100644 --- a/src/views/mobile/transactions/ListPage.vue +++ b/src/views/mobile/transactions/ListPage.vue @@ -981,15 +981,9 @@ export default { return; } - const filter = { + const changed = this.transactionsStore.updateTransactionListFilter({ accountIds: accountIds - }; - - if (datetimeConstants.allBillingCycleDateRangesMap[this.query.dateType] && !this.accountsStore.getAccountStatementDate(accountIds)) { - filter.dateType = datetimeConstants.allDateRanges.Custom.type; - } - - const changed = this.transactionsStore.updateTransactionListFilter(filter); + }); this.showAccountPopover = false;