From 66d7d9e8f986a4045dfcd8e31fe11d1885084d35 Mon Sep 17 00:00:00 2001 From: Dan Date: Wed, 17 Apr 2024 15:10:24 +0200 Subject: [PATCH] Fix Filter deletion --- .../app/components/header/header.component.ts | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/apps/client/src/app/components/header/header.component.ts b/apps/client/src/app/components/header/header.component.ts index f342a1021..c7151a71f 100644 --- a/apps/client/src/app/components/header/header.component.ts +++ b/apps/client/src/app/components/header/header.component.ts @@ -169,15 +169,7 @@ export class HeaderComponent implements OnChanges { const userSetting: UpdateUserSettingDto = {}; for (const filter of filters) { - let filtersType: string; - - if (filter.type === 'ACCOUNT') { - filtersType = 'accounts'; - } else if (filter.type === 'ASSET_CLASS') { - filtersType = 'assetClasses'; - } else if (filter.type === 'TAG') { - filtersType = 'tags'; - } + let filtersType = this.getFilterType(filter.type); let userFilters = filters .filter((f) => f.type === filter.type && filter.id) @@ -187,6 +179,14 @@ export class HeaderComponent implements OnChanges { ? userFilters : null; } + ['ACCOUNT', 'ASSET_CLASS', 'TAG'] + .filter( + (fitlerType) => + !filters.some((f: Filter) => f.type.toString() === fitlerType) + ) + .forEach((filterType) => { + userSetting[`filters.${this.getFilterType(filterType)}`] = null; + }); this.dataService .putUserSetting(userSetting) @@ -269,4 +269,13 @@ export class HeaderComponent implements OnChanges { this.unsubscribeSubject.next(); this.unsubscribeSubject.complete(); } + private getFilterType(filterType: string) { + if (filterType === 'ACCOUNT') { + return 'accounts'; + } else if (filterType === 'ASSET_CLASS') { + return 'assetClasses'; + } else if (filterType === 'TAG') { + return 'tags'; + } + } }