From 20d738eee0162a2a227855703f0dd8c3a15f2026 Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Fri, 26 May 2023 20:25:58 +0200 Subject: [PATCH] Sum up case insensitive names --- .../portfolio-proportion-chart.component.ts | 52 ++++++++++--------- 1 file changed, 28 insertions(+), 24 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 36991d763..beec9c73d 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 @@ -100,38 +100,42 @@ export class PortfolioProportionChartComponent }; Object.keys(this.positions).forEach((symbol) => { - if (this.positions[symbol][this.keys[0]]) { - if (chartData[this.positions[symbol][this.keys[0]]]) { - chartData[this.positions[symbol][this.keys[0]]].value = chartData[ - this.positions[symbol][this.keys[0]] - ].value.plus(this.positions[symbol].value); + if (this.positions[symbol][this.keys[0]].toUpperCase()) { + if (chartData[this.positions[symbol][this.keys[0]].toUpperCase()]) { + chartData[this.positions[symbol][this.keys[0]].toUpperCase()].value = + chartData[ + this.positions[symbol][this.keys[0]].toUpperCase() + ].value.plus(this.positions[symbol].value); if ( - chartData[this.positions[symbol][this.keys[0]]].subCategory[ - this.positions[symbol][this.keys[1]] - ] + chartData[this.positions[symbol][this.keys[0]].toUpperCase()] + .subCategory[this.positions[symbol][this.keys[1]]] ) { - chartData[this.positions[symbol][this.keys[0]]].subCategory[ - this.positions[symbol][this.keys[1]] - ].value = chartData[ - this.positions[symbol][this.keys[0]] - ].subCategory[this.positions[symbol][this.keys[1]]].value.plus( - this.positions[symbol].value - ); + chartData[ + this.positions[symbol][this.keys[0]].toUpperCase() + ].subCategory[this.positions[symbol][this.keys[1]]].value = + chartData[ + this.positions[symbol][this.keys[0]].toUpperCase() + ].subCategory[this.positions[symbol][this.keys[1]]].value.plus( + this.positions[symbol].value + ); } else { - chartData[this.positions[symbol][this.keys[0]]].subCategory[ - this.positions[symbol][this.keys[1]] ?? UNKNOWN_KEY - ] = { value: new Big(this.positions[symbol].value) }; + chartData[ + this.positions[symbol][this.keys[0]].toUpperCase() + ].subCategory[this.positions[symbol][this.keys[1]] ?? UNKNOWN_KEY] = + { value: new Big(this.positions[symbol].value) }; } } else { - chartData[this.positions[symbol][this.keys[0]]] = { - name: this.positions[symbol].name, + chartData[this.positions[symbol][this.keys[0]].toUpperCase()] = { + name: this.positions[symbol][this.keys[0]], subCategory: {}, value: new Big(this.positions[symbol].value ?? 0) }; if (this.positions[symbol][this.keys[1]]) { - chartData[this.positions[symbol][this.keys[0]]].subCategory = { + chartData[ + this.positions[symbol][this.keys[0]].toUpperCase() + ].subCategory = { [this.positions[symbol][this.keys[1]]]: { value: new Big(this.positions[symbol].value) } @@ -145,7 +149,7 @@ export class PortfolioProportionChartComponent ); } else { chartData[UNKNOWN_KEY] = { - name: this.positions[symbol].name, + name: this.positions[symbol][this.keys[1]], subCategory: this.keys[1] ? { [this.keys[1]]: { value: new Big(0) } } : undefined, @@ -232,8 +236,8 @@ export class PortfolioProportionChartComponent } ]; - let labels = chartDataSorted.map(([label]) => { - return label; + let labels = chartDataSorted.map(([symbol, { name }]) => { + return name; }); if (this.keys[1]) {