Browse Source

Sum up case insensitive names

pull/2004/head
Thomas 2 years ago
parent
commit
20d738eee0
  1. 44
      libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts

44
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) => { Object.keys(this.positions).forEach((symbol) => {
if (this.positions[symbol][this.keys[0]]) { if (this.positions[symbol][this.keys[0]].toUpperCase()) {
if (chartData[this.positions[symbol][this.keys[0]]]) { if (chartData[this.positions[symbol][this.keys[0]].toUpperCase()]) {
chartData[this.positions[symbol][this.keys[0]]].value = chartData[ chartData[this.positions[symbol][this.keys[0]].toUpperCase()].value =
this.positions[symbol][this.keys[0]] chartData[
this.positions[symbol][this.keys[0]].toUpperCase()
].value.plus(this.positions[symbol].value); ].value.plus(this.positions[symbol].value);
if ( if (
chartData[this.positions[symbol][this.keys[0]]].subCategory[ chartData[this.positions[symbol][this.keys[0]].toUpperCase()]
this.positions[symbol][this.keys[1]] .subCategory[this.positions[symbol][this.keys[1]]]
]
) { ) {
chartData[this.positions[symbol][this.keys[0]]].subCategory[ chartData[
this.positions[symbol][this.keys[1]] this.positions[symbol][this.keys[0]].toUpperCase()
].value = chartData[ ].subCategory[this.positions[symbol][this.keys[1]]].value =
this.positions[symbol][this.keys[0]] chartData[
this.positions[symbol][this.keys[0]].toUpperCase()
].subCategory[this.positions[symbol][this.keys[1]]].value.plus( ].subCategory[this.positions[symbol][this.keys[1]]].value.plus(
this.positions[symbol].value this.positions[symbol].value
); );
} else { } else {
chartData[this.positions[symbol][this.keys[0]]].subCategory[ chartData[
this.positions[symbol][this.keys[1]] ?? UNKNOWN_KEY this.positions[symbol][this.keys[0]].toUpperCase()
] = { value: new Big(this.positions[symbol].value) }; ].subCategory[this.positions[symbol][this.keys[1]] ?? UNKNOWN_KEY] =
{ value: new Big(this.positions[symbol].value) };
} }
} else { } else {
chartData[this.positions[symbol][this.keys[0]]] = { chartData[this.positions[symbol][this.keys[0]].toUpperCase()] = {
name: this.positions[symbol].name, name: this.positions[symbol][this.keys[0]],
subCategory: {}, subCategory: {},
value: new Big(this.positions[symbol].value ?? 0) value: new Big(this.positions[symbol].value ?? 0)
}; };
if (this.positions[symbol][this.keys[1]]) { 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]]]: { [this.positions[symbol][this.keys[1]]]: {
value: new Big(this.positions[symbol].value) value: new Big(this.positions[symbol].value)
} }
@ -145,7 +149,7 @@ export class PortfolioProportionChartComponent
); );
} else { } else {
chartData[UNKNOWN_KEY] = { chartData[UNKNOWN_KEY] = {
name: this.positions[symbol].name, name: this.positions[symbol][this.keys[1]],
subCategory: this.keys[1] subCategory: this.keys[1]
? { [this.keys[1]]: { value: new Big(0) } } ? { [this.keys[1]]: { value: new Big(0) } }
: undefined, : undefined,
@ -232,8 +236,8 @@ export class PortfolioProportionChartComponent
} }
]; ];
let labels = chartDataSorted.map(([label]) => { let labels = chartDataSorted.map(([symbol, { name }]) => {
return label; return name;
}); });
if (this.keys[1]) { if (this.keys[1]) {

Loading…
Cancel
Save