From 6283977a2c2d0926ebb8fe5e5a8f4aeafb5afb25 Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Mon, 17 Apr 2023 21:23:21 +0200 Subject: [PATCH] Introduce allocations by organization --- .../allocations/allocations-page.component.ts | 28 +++++++++++++++++-- .../allocations/allocations-page.html | 23 +++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts index 64831cb0f..728eb42ba 100644 --- a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts +++ b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts @@ -65,7 +65,7 @@ export class AllocationsPageComponent implements OnDestroy, OnInit { | 'exchange' | 'name' | 'value' - >; + > & { organization: string }; }; public sectors: { [name: string]: { name: string; value: number }; @@ -276,7 +276,12 @@ export class AllocationsPageComponent implements OnDestroy, OnInit { assetSubClass: position.assetSubClass, currency: position.currency, exchange: position.exchange, - name: position.name + name: position.name, + organization: this.nameToOrganization({ + assetClass: position.assetClass, + assetSubClass: position.assetSubClass, + name: position.name + }) }; if (position.assetClass !== AssetClass.CASH) { @@ -452,4 +457,23 @@ export class AllocationsPageComponent implements OnDestroy, OnInit { }); }); } + + private nameToOrganization({ + assetClass, + assetSubClass, + name + }: { + assetClass: AssetClass; + assetSubClass: PortfolioPosition['assetSubClass']; + name: string; + }) { + if (assetClass.toUpperCase() === 'CASH') { + return UNKNOWN_KEY; + } else if (assetSubClass === 'ETF' || name.includes('ETF')) { + const [firstWord] = name.split(' '); + return firstWord; + } + + return name; + } } diff --git a/apps/client/src/app/pages/portfolio/allocations/allocations-page.html b/apps/client/src/app/pages/portfolio/allocations/allocations-page.html index 412527fc7..92b1a65fe 100644 --- a/apps/client/src/app/pages/portfolio/allocations/allocations-page.html +++ b/apps/client/src/app/pages/portfolio/allocations/allocations-page.html @@ -100,6 +100,29 @@ +
+ + + By Organization + + + + + +