From 3957e059426865c6659c7f202547fd430aff928c Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Jan 2024 16:41:40 +0100 Subject: [PATCH] Prepare for filters.tags --- .../activities/activities-page.component.ts | 11 +---------- .../analysis/analysis-page.component.ts | 16 ++++++++-------- .../pages/portfolio/analysis/analysis-page.html | 4 +++- .../src/app/services/user/user.service.ts | 17 ++++++++++++++++- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts index 4beb90df9..376aa6d9b 100644 --- a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts @@ -122,18 +122,9 @@ export class ActivitiesPageComponent implements OnDestroy, OnInit { public fetchActivities() { if (this.user?.settings?.isExperimentalFeatures === true) { - const filters: Filter[] = []; - - if (this.user?.settings?.['filters.tags']) { - filters.push({ - id: this.user.settings['filters.tags'][0], - type: 'TAG' - }); - } - this.dataService .fetchActivities({ - filters, + filters: this.userService.getFilters() ?? [], skip: this.pageIndex * this.pageSize, sortColumn: this.sortColumn, sortDirection: this.sortDirection, diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts b/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts index 51dcee24c..4247aea47 100644 --- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts +++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -225,7 +225,7 @@ export class AnalysisPageComponent implements OnDestroy, OnInit { private fetchDividendsAndInvestments() { this.dataService .fetchDividends({ - filters: this.activeFilters, + filters: this.userService.getFilters() ?? this.activeFilters, groupBy: this.mode, range: this.user?.settings?.dateRange }) @@ -238,7 +238,7 @@ export class AnalysisPageComponent implements OnDestroy, OnInit { this.dataService .fetchInvestments({ - filters: this.activeFilters, + filters: this.userService.getFilters() ?? this.activeFilters, groupBy: this.mode, range: this.user?.settings?.dateRange }) @@ -252,16 +252,16 @@ export class AnalysisPageComponent implements OnDestroy, OnInit { ? translate('YEAR') : translate('YEARS') : this.streaks?.currentStreak === 1 - ? translate('MONTH') - : translate('MONTHS'); + ? translate('MONTH') + : translate('MONTHS'); this.unitLongestStreak = this.mode === 'year' ? this.streaks?.longestStreak === 1 ? translate('YEAR') : translate('YEARS') : this.streaks?.longestStreak === 1 - ? translate('MONTH') - : translate('MONTHS'); + ? translate('MONTH') + : translate('MONTHS'); this.changeDetectorRef.markForCheck(); }); @@ -313,7 +313,7 @@ export class AnalysisPageComponent implements OnDestroy, OnInit { this.dataService .fetchPortfolioPerformance({ - filters: this.activeFilters, + filters: this.userService.getFilters() ?? this.activeFilters, range: this.user?.settings?.dateRange }) .pipe(takeUntil(this.unsubscribeSubject)) @@ -358,7 +358,7 @@ export class AnalysisPageComponent implements OnDestroy, OnInit { this.dataService .fetchPositions({ - filters: this.activeFilters, + filters: this.userService.getFilters() ?? this.activeFilters, range: this.user?.settings?.dateRange }) .pipe(takeUntil(this.unsubscribeSubject)) diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.html b/apps/client/src/app/pages/portfolio/analysis/analysis-page.html index 74bb4719a..ae14d205a 100644 --- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.html +++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.html @@ -1,6 +1,7 @@

Analysis

-
+ @if (!user?.settings?.isExperimentalFeatures) { +
+ }
{ } } + public getFilters() { + const user = this.getState().user; + + return user?.settings?.isExperimentalFeatures === true + ? user.settings['filters.tags'] + ? [ + { + id: user.settings['filters.tags'][0], + type: 'TAG' + } + ] + : [] + : undefined; + } + public remove() { this.setState({ user: null }, UserStoreActions.RemoveUser); }