From 9b6237702b4c241e8f5273035bbc266994e4855d Mon Sep 17 00:00:00 2001 From: David Requeno Date: Wed, 10 Dec 2025 23:38:06 -0600 Subject: [PATCH] refactoring --- .../portfolio-proportion-chart.component.ts | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts b/libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts index a7123f09b..a869f9a5b 100644 --- a/libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts +++ b/libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -1,6 +1,6 @@ import { getTooltipOptions } from '@ghostfolio/common/chart-helper'; import { UNKNOWN_KEY } from '@ghostfolio/common/config'; -import { getLocale, getTextColor } from '@ghostfolio/common/helper'; +import { getLocale, getSum, getTextColor } from '@ghostfolio/common/helper'; import { AssetProfileIdentifier, PortfolioPosition @@ -196,22 +196,23 @@ export class GfPortfolioProportionChartComponent // If data is in percent format and total is less than 100%, // allocate the remaining percentage to UNKNOWN_KEY if (this.isInPercent) { - let totalValue = new Big(0); - - for (const symbol in chartData) { - totalValue = totalValue.plus(chartData[symbol].value); - } + const totalValueInPercentage = getSum( + Object.values(chartData).map(({ value }) => { + return value; + }) + ); - const remainingPercentage = new Big(1).minus(totalValue); + const unknownValueInPercentage = new Big(1).minus(totalValueInPercentage); - if (remainingPercentage.gt(0)) { + if (unknownValueInPercentage.gt(0)) { if (chartData[UNKNOWN_KEY]) { - chartData[UNKNOWN_KEY].value = - chartData[UNKNOWN_KEY].value.plus(remainingPercentage); + chartData[UNKNOWN_KEY].value = chartData[UNKNOWN_KEY].value.plus( + unknownValueInPercentage + ); } else { chartData[UNKNOWN_KEY] = { name: UNKNOWN_KEY, - value: remainingPercentage + value: unknownValueInPercentage }; } }