Browse Source

Verify current benchmark before loading it (#2541)

* Verify current benchmark before loading it

* Update changelog

---------

Co-authored-by: Thomas <4159106+dtslvr@users.noreply.github.com>
pull/2543/head
Basim Mohammed 1 year ago
committed by GitHub
parent
commit
2992a0da4c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      CHANGELOG.md
  2. 43
      apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
  3. 6
      apps/client/src/app/pages/portfolio/analysis/analysis-page.html

1
CHANGELOG.md

@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed ### Fixed
- Fixed the chart in the account detail dialog for accounts excluded from analysis - Fixed the chart in the account detail dialog for accounts excluded from analysis
- Verified the current benchmark before loading it on the analysis page
## 2.14.0 - 2023-10-21 ## 2.14.0 - 2023-10-21

43
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts

@ -309,7 +309,6 @@ export class AnalysisPageComponent implements OnDestroy, OnInit {
} }
private update() { private update() {
this.isLoadingBenchmarkComparator = true;
this.isLoadingInvestmentChart = true; this.isLoadingInvestmentChart = true;
this.dataService this.dataService
@ -385,35 +384,37 @@ export class AnalysisPageComponent implements OnDestroy, OnInit {
} }
private updateBenchmarkDataItems() { private updateBenchmarkDataItems() {
this.benchmarkDataItems = [];
if (this.user.settings.benchmark) { if (this.user.settings.benchmark) {
const { dataSource, symbol } = const { dataSource, symbol } =
this.benchmarks.find(({ id }) => { this.benchmarks.find(({ id }) => {
return id === this.user.settings.benchmark; return id === this.user.settings.benchmark;
}) ?? {}; }) ?? {};
this.dataService if (dataSource && symbol) {
.fetchBenchmarkBySymbol({ this.isLoadingBenchmarkComparator = true;
dataSource,
symbol,
startDate: this.firstOrderDate
})
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(({ marketData }) => {
this.benchmarkDataItems = marketData.map(({ date, value }) => {
return {
date,
value
};
});
this.isLoadingBenchmarkComparator = false; this.dataService
.fetchBenchmarkBySymbol({
dataSource,
symbol,
startDate: this.firstOrderDate
})
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(({ marketData }) => {
this.benchmarkDataItems = marketData.map(({ date, value }) => {
return {
date,
value
};
});
this.changeDetectorRef.markForCheck(); this.isLoadingBenchmarkComparator = false;
});
} else {
this.benchmarkDataItems = [];
this.isLoadingBenchmarkComparator = false; this.changeDetectorRef.markForCheck();
});
}
} }
} }
} }

6
apps/client/src/app/pages/portfolio/analysis/analysis-page.html

@ -3,7 +3,7 @@
<div *ngIf="user?.settings?.viewMode !== 'ZEN'" class="my-4 text-center"> <div *ngIf="user?.settings?.viewMode !== 'ZEN'" class="my-4 text-center">
<gf-toggle <gf-toggle
[defaultValue]="user?.settings?.dateRange" [defaultValue]="user?.settings?.dateRange"
[isLoading]="isLoadingBenchmarkComparator" [isLoading]="isLoadingBenchmarkComparator || isLoadingInvestmentChart"
[options]="dateRangeOptions" [options]="dateRangeOptions"
(change)="onChangeDateRange($event.value)" (change)="onChangeDateRange($event.value)"
></gf-toggle> ></gf-toggle>
@ -23,7 +23,7 @@
[benchmarks]="benchmarks" [benchmarks]="benchmarks"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[daysInMarket]="daysInMarket" [daysInMarket]="daysInMarket"
[isLoading]="isLoadingBenchmarkComparator" [isLoading]="isLoadingBenchmarkComparator || isLoadingInvestmentChart"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[performanceDataItems]="performanceDataItemsInPercentage" [performanceDataItems]="performanceDataItemsInPercentage"
[user]="user" [user]="user"
@ -149,7 +149,7 @@
[daysInMarket]="daysInMarket" [daysInMarket]="daysInMarket"
[historicalDataItems]="performanceDataItems" [historicalDataItems]="performanceDataItems"
[isInPercent]="hasImpersonationId || user.settings.isRestrictedView" [isInPercent]="hasImpersonationId || user.settings.isRestrictedView"
[isLoading]="isLoadingBenchmarkComparator" [isLoading]="isLoadingInvestmentChart"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[range]="user?.settings?.dateRange" [range]="user?.settings?.dateRange"
></gf-investment-chart> ></gf-investment-chart>

Loading…
Cancel
Save