From 9bef2e960c419eb592c1c67f382fc7a8e998d432 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 1 Apr 2023 10:29:39 +0200 Subject: [PATCH] Feature/ignore first item in portfolio evolution chart (#1816) * Ignore first item in portfolio evolution chart * Update changelog --- CHANGELOG.md | 6 ++++ .../analysis/analysis-page.component.ts | 28 +++++++++++-------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cbaffbf5..e1442d3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Changed + +- Improved the portfolio evolution chart (ignore first item) + ## 1.249.0 - 2023-03-27 ### Added 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 ae60a5e2..74371da9 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 @@ -308,18 +308,24 @@ export class AnalysisPageComponent implements OnDestroy, OnInit { this.performanceDataItems = []; this.performanceDataItemsInPercentage = []; - for (const { - date, - netPerformanceInPercentage, - totalInvestment, - value, - valueInPercentage - } of chart) { - this.investments.push({ date, investment: totalInvestment }); - this.performanceDataItems.push({ + for (const [ + index, + { date, - value: isNumber(value) ? value : valueInPercentage - }); + netPerformanceInPercentage, + totalInvestment, + value, + valueInPercentage + } + ] of chart.entries()) { + if (index > 0 || this.user?.settings?.dateRange === 'max') { + // Ignore first item where value is 0 + this.investments.push({ date, investment: totalInvestment }); + this.performanceDataItems.push({ + date, + value: isNumber(value) ? value : valueInPercentage + }); + } this.performanceDataItemsInPercentage.push({ date, value: netPerformanceInPercentage