Browse Source

Handle both value and valueInBaseCurrency

pull/5027/head
Daniel Devaud 2 years ago
parent
commit
f3adfe2ecd
  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'> & {
dataSource?: DataSource;
name: string;
valueInBaseCurrency: 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.plus(this.positions[symbol].value);
].value.plus(
this.positions[symbol].valueInBaseCurrency ??
this.positions[symbol].value
);
if (
chartData[this.positions[symbol][this.keys[0]].toUpperCase()]
@ -117,19 +121,29 @@ export class PortfolioProportionChartComponent
chartData[
this.positions[symbol][this.keys[0]].toUpperCase()
].subCategory[this.positions[symbol][this.keys[1]]].value.plus(
this.positions[symbol].valueInBaseCurrency ??
this.positions[symbol].value
);
} else {
chartData[
this.positions[symbol][this.keys[0]].toUpperCase()
].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 {
chartData[this.positions[symbol][this.keys[0]].toUpperCase()] = {
name: this.positions[symbol][this.keys[0]],
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]]) {
@ -137,7 +151,10 @@ export class PortfolioProportionChartComponent
this.positions[symbol][this.keys[0]].toUpperCase()
].subCategory = {
[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 {
if (chartData[UNKNOWN_KEY]) {
chartData[UNKNOWN_KEY].value = chartData[UNKNOWN_KEY].value.plus(
this.positions[symbol].valueInBaseCurrency ??
this.positions[symbol].value
);
} else {
@ -153,7 +171,10 @@ export class PortfolioProportionChartComponent
subCategory: this.keys[1]
? { [this.keys[1]]: { value: new Big(0) } }
: undefined,
value: new Big(this.positions[symbol].value)
value: new Big(
this.positions[symbol].valueInBaseCurrency ??
this.positions[symbol].value
)
};
}
}

Loading…
Cancel
Save