Browse Source

Merge pull request #14 from dandevaud/bugfix/fix-asset-allocation-overview

Handle both value and valueInBaseCurrency
pull/5027/head
dandevaud 2 years ago
committed by GitHub
parent
commit
47eac08e31
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 31
      libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts

31
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts

@ -47,6 +47,7 @@ export class PortfolioProportionChartComponent
[symbol: string]: Pick<PortfolioPosition, 'type'> & { [symbol: string]: Pick<PortfolioPosition, 'type'> & {
dataSource?: DataSource; dataSource?: DataSource;
name: string; name: string;
valueInBaseCurrency: number;
value: number; value: number;
}; };
} = {}; } = {};
@ -105,7 +106,10 @@ export class PortfolioProportionChartComponent
chartData[this.positions[symbol][this.keys[0]].toUpperCase()].value = chartData[this.positions[symbol][this.keys[0]].toUpperCase()].value =
chartData[ chartData[
this.positions[symbol][this.keys[0]].toUpperCase() this.positions[symbol][this.keys[0]].toUpperCase()
].value.plus(this.positions[symbol].value); ].value.plus(
this.positions[symbol].valueInBaseCurrency ??
this.positions[symbol].value
);
if ( if (
chartData[this.positions[symbol][this.keys[0]].toUpperCase()] chartData[this.positions[symbol][this.keys[0]].toUpperCase()]
@ -117,19 +121,29 @@ export class PortfolioProportionChartComponent
chartData[ chartData[
this.positions[symbol][this.keys[0]].toUpperCase() 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].valueInBaseCurrency ??
this.positions[symbol].value this.positions[symbol].value
); );
} else { } else {
chartData[ chartData[
this.positions[symbol][this.keys[0]].toUpperCase() this.positions[symbol][this.keys[0]].toUpperCase()
].subCategory[this.positions[symbol][this.keys[1]] ?? UNKNOWN_KEY] = ].subCategory[this.positions[symbol][this.keys[1]] ?? UNKNOWN_KEY] =
{ value: new Big(this.positions[symbol].value) }; {
value: new Big(
this.positions[symbol].valueInBaseCurrency ??
this.positions[symbol].value
)
};
} }
} else { } else {
chartData[this.positions[symbol][this.keys[0]].toUpperCase()] = { chartData[this.positions[symbol][this.keys[0]].toUpperCase()] = {
name: this.positions[symbol][this.keys[0]], name: this.positions[symbol][this.keys[0]],
subCategory: {}, subCategory: {},
value: new Big(this.positions[symbol].value ?? 0) value: new Big(
this.positions[symbol].valueInBaseCurrency ??
this.positions[symbol].value ??
0
)
}; };
if (this.positions[symbol][this.keys[1]]) { if (this.positions[symbol][this.keys[1]]) {
@ -137,7 +151,10 @@ export class PortfolioProportionChartComponent
this.positions[symbol][this.keys[0]].toUpperCase() this.positions[symbol][this.keys[0]].toUpperCase()
].subCategory = { ].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].valueInBaseCurrency ??
this.positions[symbol].value
)
} }
}; };
} }
@ -145,6 +162,7 @@ export class PortfolioProportionChartComponent
} else { } else {
if (chartData[UNKNOWN_KEY]) { if (chartData[UNKNOWN_KEY]) {
chartData[UNKNOWN_KEY].value = chartData[UNKNOWN_KEY].value.plus( chartData[UNKNOWN_KEY].value = chartData[UNKNOWN_KEY].value.plus(
this.positions[symbol].valueInBaseCurrency ??
this.positions[symbol].value this.positions[symbol].value
); );
} else { } else {
@ -153,7 +171,10 @@ export class PortfolioProportionChartComponent
subCategory: this.keys[1] subCategory: this.keys[1]
? { [this.keys[1]]: { value: new Big(0) } } ? { [this.keys[1]]: { value: new Big(0) } }
: undefined, : undefined,
value: new Big(this.positions[symbol].value) value: new Big(
this.positions[symbol].valueInBaseCurrency ??
this.positions[symbol].value
)
}; };
} }
} }

Loading…
Cancel
Save