From f32cc4ab046da1c8b3f4f5ec625b8253168edbbd Mon Sep 17 00:00:00 2001 From: MaysWind Date: Wed, 30 Jul 2025 21:12:15 +0800 Subject: [PATCH] fix the filter could not be saved after the filtered accounts, categories and transaction tags were deleted (#185) --- src/views/base/settings/AccountFilterSettingPageBase.ts | 4 ++++ src/views/base/settings/CategoryFilterSettingPageBase.ts | 4 ++++ .../base/settings/TransactionTagFilterSettingPageBase.ts | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/views/base/settings/AccountFilterSettingPageBase.ts b/src/views/base/settings/AccountFilterSettingPageBase.ts index 4937f476..a09a2200 100644 --- a/src/views/base/settings/AccountFilterSettingPageBase.ts +++ b/src/views/base/settings/AccountFilterSettingPageBase.ts @@ -120,6 +120,10 @@ export function useAccountFilterSettingPageBase(type?: string) { const account = accountsStore.allAccountsMap[accountId]; + if (!account) { + continue; + } + if (!allowHiddenAccount.value && account.hidden) { continue; } diff --git a/src/views/base/settings/CategoryFilterSettingPageBase.ts b/src/views/base/settings/CategoryFilterSettingPageBase.ts index 72f94156..e7533fb9 100644 --- a/src/views/base/settings/CategoryFilterSettingPageBase.ts +++ b/src/views/base/settings/CategoryFilterSettingPageBase.ts @@ -135,6 +135,10 @@ export function useCategoryFilterSettingPageBase(type?: string, allowCategoryTyp const category = transactionCategoriesStore.allTransactionCategoriesMap[categoryId]; + if (!category) { + continue; + } + if (!isCategoryOrSubCategoriesAllChecked(category, filterCategoryIds.value)) { filteredCategoryIds[categoryId] = true; isAllSelected = false; diff --git a/src/views/base/settings/TransactionTagFilterSettingPageBase.ts b/src/views/base/settings/TransactionTagFilterSettingPageBase.ts index 3844ac1c..c2b7ec7a 100644 --- a/src/views/base/settings/TransactionTagFilterSettingPageBase.ts +++ b/src/views/base/settings/TransactionTagFilterSettingPageBase.ts @@ -98,6 +98,10 @@ export function useTransactionTagFilterSettingPageBase(type?: string) { const transactionTag = transactionTagsStore.allTransactionTagsMap[transactionTagId]; + if (!transactionTag) { + continue; + } + if (filterTagIds.value[transactionTag.id]) { filteredTagIds[transactionTag.id] = true; } else {