Browse Source

Refactor value to valueInBaseCurrency

pull/2167/head
Thomas 2 years ago
parent
commit
bda862a414
  1. 6
      apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts
  2. 20
      libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts

6
apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts

@ -81,7 +81,7 @@ export class AllocationsPageComponent implements OnDestroy, OnInit {
dataSource?: DataSource; dataSource?: DataSource;
name: string; name: string;
symbol: string; symbol: string;
value: number; valueInBaseCurrency: number;
}; };
}; };
@ -259,7 +259,7 @@ export class AllocationsPageComponent implements OnDestroy, OnInit {
[UNKNOWN_KEY]: { [UNKNOWN_KEY]: {
name: UNKNOWN_KEY, name: UNKNOWN_KEY,
symbol: UNKNOWN_KEY, symbol: UNKNOWN_KEY,
value: 0 valueInBaseCurrency: 0
} }
}; };
} }
@ -389,7 +389,7 @@ export class AllocationsPageComponent implements OnDestroy, OnInit {
dataSource: position.dataSource, dataSource: position.dataSource,
name: position.name, name: position.name,
symbol: prettifySymbol(symbol), symbol: prettifySymbol(symbol),
value: isNumber(position.valueInBaseCurrency) valueInBaseCurrency: isNumber(position.valueInBaseCurrency)
? position.valueInBaseCurrency ? position.valueInBaseCurrency
: position.valueInPercentage : position.valueInPercentage
}; };

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

@ -44,10 +44,12 @@ export class PortfolioProportionChartComponent
@Input() maxItems?: number; @Input() maxItems?: number;
@Input() showLabels = false; @Input() showLabels = false;
@Input() positions: { @Input() positions: {
[symbol: string]: Pick<PortfolioPosition, 'type'> & { [symbol: string]: Pick<
PortfolioPosition,
'type' | 'valueInBaseCurrency'
> & {
dataSource?: DataSource; dataSource?: DataSource;
name: string; name: string;
value: number;
}; };
} = {}; } = {};
@ -105,7 +107,7 @@ 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);
if ( if (
chartData[this.positions[symbol][this.keys[0]].toUpperCase()] chartData[this.positions[symbol][this.keys[0]].toUpperCase()]
@ -117,19 +119,19 @@ 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].value this.positions[symbol].valueInBaseCurrency
); );
} 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) };
} }
} 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 ?? 0)
}; };
if (this.positions[symbol][this.keys[1]]) { if (this.positions[symbol][this.keys[1]]) {
@ -137,7 +139,7 @@ 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 ?? 0)
} }
}; };
} }
@ -145,7 +147,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].value this.positions[symbol].valueInBaseCurrency
); );
} else { } else {
chartData[UNKNOWN_KEY] = { chartData[UNKNOWN_KEY] = {
@ -153,7 +155,7 @@ 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)
}; };
} }
} }

Loading…
Cancel
Save