Browse Source

Task/refactor input in portfolio proportion chart component (#6691)

* Refactor input to isInPercentage
pull/6695/head
Thomas Kaul 7 days ago
committed by GitHub
parent
commit
b32f24a45c
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
  2. 4
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
  3. 20
      apps/client/src/app/pages/portfolio/allocations/allocations-page.html
  4. 8
      apps/client/src/app/pages/public/public-page.html
  5. 2
      libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.stories.ts
  6. 6
      libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts

4
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html

@ -280,7 +280,7 @@
<gf-portfolio-proportion-chart <gf-portfolio-proportion-chart
[colorScheme]="data.colorScheme" [colorScheme]="data.colorScheme"
[data]="sectors" [data]="sectors"
[isInPercent]="true" [isInPercentage]="true"
[keys]="['name']" [keys]="['name']"
[maxItems]="10" [maxItems]="10"
/> />
@ -290,7 +290,7 @@
<gf-portfolio-proportion-chart <gf-portfolio-proportion-chart
[colorScheme]="data.colorScheme" [colorScheme]="data.colorScheme"
[data]="countries" [data]="countries"
[isInPercent]="true" [isInPercentage]="true"
[keys]="['name']" [keys]="['name']"
[maxItems]="10" [maxItems]="10"
/> />

4
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html

@ -286,7 +286,7 @@
[baseCurrency]="data.baseCurrency" [baseCurrency]="data.baseCurrency"
[colorScheme]="data.colorScheme" [colorScheme]="data.colorScheme"
[data]="sectors" [data]="sectors"
[isInPercent]="true" [isInPercentage]="true"
[keys]="['name']" [keys]="['name']"
[locale]="data.locale" [locale]="data.locale"
[maxItems]="10" [maxItems]="10"
@ -298,7 +298,7 @@
[baseCurrency]="data.baseCurrency" [baseCurrency]="data.baseCurrency"
[colorScheme]="data.colorScheme" [colorScheme]="data.colorScheme"
[data]="countries" [data]="countries"
[isInPercent]="true" [isInPercentage]="true"
[keys]="['name']" [keys]="['name']"
[locale]="data.locale" [locale]="data.locale"
[maxItems]="10" [maxItems]="10"

20
apps/client/src/app/pages/portfolio/allocations/allocations-page.html

@ -47,7 +47,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="platforms" [data]="platforms"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[keys]="['id']" [keys]="['id']"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
/> />
@ -69,7 +69,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="holdings" [data]="holdings"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[keys]="['currency']" [keys]="['currency']"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
/> />
@ -91,7 +91,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="holdings" [data]="holdings"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[keys]="['assetClassLabel', 'assetSubClassLabel']" [keys]="['assetClassLabel', 'assetSubClassLabel']"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
/> />
@ -112,7 +112,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="symbols" [data]="symbols"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[keys]="['symbol']" [keys]="['symbol']"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[showLabels]="deviceType !== 'mobile'" [showLabels]="deviceType !== 'mobile'"
@ -136,7 +136,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="sectors" [data]="sectors"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[keys]="['name']" [keys]="['name']"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[maxItems]="10" [maxItems]="10"
@ -159,7 +159,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="continents" [data]="continents"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[keys]="['name']" [keys]="['name']"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
/> />
@ -181,7 +181,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="marketsAdvanced" [data]="marketsAdvanced"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
/> />
</mat-card-content> </mat-card-content>
@ -268,7 +268,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="countries" [data]="countries"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[keys]="['name']" [keys]="['name']"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[maxItems]="10" [maxItems]="10"
@ -287,7 +287,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="accounts" [data]="accounts"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[keys]="['id']" [keys]="['id']"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
(proportionChartClicked)="onAccountChartClicked($event)" (proportionChartClicked)="onAccountChartClicked($event)"
@ -310,7 +310,7 @@
[baseCurrency]="user?.settings?.baseCurrency" [baseCurrency]="user?.settings?.baseCurrency"
[colorScheme]="user?.settings?.colorScheme" [colorScheme]="user?.settings?.colorScheme"
[data]="holdings" [data]="holdings"
[isInPercent]="showValuesInPercentage()" [isInPercentage]="showValuesInPercentage()"
[keys]="['etfProvider']" [keys]="['etfProvider']"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
/> />

8
apps/client/src/app/pages/public/public-page.html

@ -73,7 +73,7 @@
<gf-portfolio-proportion-chart <gf-portfolio-proportion-chart
class="mx-auto" class="mx-auto"
[data]="symbols" [data]="symbols"
[isInPercent]="true" [isInPercentage]="true"
[keys]="['symbol']" [keys]="['symbol']"
[showLabels]="deviceType !== 'mobile'" [showLabels]="deviceType !== 'mobile'"
/> />
@ -98,7 +98,7 @@
<mat-card-content> <mat-card-content>
<gf-portfolio-proportion-chart <gf-portfolio-proportion-chart
[data]="positions" [data]="positions"
[isInPercent]="true" [isInPercentage]="true"
[keys]="['currency']" [keys]="['currency']"
[maxItems]="10" [maxItems]="10"
/> />
@ -115,7 +115,7 @@
<mat-card-content> <mat-card-content>
<gf-portfolio-proportion-chart <gf-portfolio-proportion-chart
[data]="sectors" [data]="sectors"
[isInPercent]="true" [isInPercentage]="true"
[keys]="['name']" [keys]="['name']"
[maxItems]="10" [maxItems]="10"
/> />
@ -134,7 +134,7 @@
<mat-card-content> <mat-card-content>
<gf-portfolio-proportion-chart <gf-portfolio-proportion-chart
[data]="continents" [data]="continents"
[isInPercent]="true" [isInPercentage]="true"
[keys]="['name']" [keys]="['name']"
/> />
</mat-card-content> </mat-card-content>

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

@ -77,7 +77,7 @@ export const InPercentage: Story = {
JP: { name: 'Japan', value: 0 }, JP: { name: 'Japan', value: 0 },
BE: { name: 'Belgium', value: 0 } BE: { name: 'Belgium', value: 0 }
}, },
isInPercent: true, isInPercentage: true,
keys: ['name'] keys: ['name']
} }
}; };

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

@ -74,7 +74,7 @@ export class GfPortfolioProportionChartComponent
value: number; value: number;
}; };
} = {}; } = {};
@Input() isInPercent = false; @Input() isInPercentage = false;
@Input() keys: string[] = []; @Input() keys: string[] = [];
@Input() locale = getLocale(); @Input() locale = getLocale();
@Input() maxItems?: number; @Input() maxItems?: number;
@ -198,7 +198,7 @@ export class GfPortfolioProportionChartComponent
}); });
} }
if (this.isInPercent) { if (this.isInPercentage) {
const totalValueInPercentage = getSum( const totalValueInPercentage = getSum(
Object.values(chartData).map(({ value }) => { Object.values(chartData).map(({ value }) => {
return value; return value;
@ -465,7 +465,7 @@ export class GfPortfolioProportionChartComponent
if ((context.raw as number) === Number.MAX_SAFE_INTEGER) { if ((context.raw as number) === Number.MAX_SAFE_INTEGER) {
return $localize`No data available`; return $localize`No data available`;
} else if (this.isInPercent) { } else if (this.isInPercentage) {
return [`${name ?? symbol}`, `${percentage.toFixed(2)}%`]; return [`${name ?? symbol}`, `${percentage.toFixed(2)}%`];
} else { } else {
const value = context.raw as number; const value = context.raw as number;

Loading…
Cancel
Save