diff --git a/libs/ui/src/lib/holdings-table/holdings-table.component.ts b/libs/ui/src/lib/holdings-table/holdings-table.component.ts index 3abb9903e..53d4d45cb 100644 --- a/libs/ui/src/lib/holdings-table/holdings-table.component.ts +++ b/libs/ui/src/lib/holdings-table/holdings-table.component.ts @@ -14,7 +14,8 @@ import { OnChanges, OnDestroy, Output, - ViewChild + ViewChild, + input } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatDialogModule } from '@angular/material/dialog'; @@ -52,7 +53,6 @@ export class GfHoldingsTableComponent implements OnChanges, OnDestroy { @Input() hasPermissionToOpenDetails = true; @Input() hasPermissionToShowQuantities = true; @Input() hasPermissionToShowValues = true; - @Input() holdings: PortfolioPosition[]; @Input() locale = getLocale(); @Input() pageSize = Number.MAX_SAFE_INTEGER; @@ -67,7 +67,9 @@ export class GfHoldingsTableComponent implements OnChanges, OnDestroy { public isLoading = true; public routeQueryParams: Subscription; - private unsubscribeSubject = new Subject(); + public readonly holdings = input.required(); + + private readonly unsubscribeSubject = new Subject(); public ngOnChanges() { this.displayedColumns = ['icon', 'nameWithSymbol', 'dateOfFirstActivity']; @@ -90,13 +92,13 @@ export class GfHoldingsTableComponent implements OnChanges, OnDestroy { this.isLoading = true; - this.dataSource = new MatTableDataSource(this.holdings); + this.dataSource = new MatTableDataSource(this.holdings()); this.dataSource.paginator = this.paginator; this.dataSource.sortingDataAccessor = getLowercase; this.dataSource.sort = this.sort; - if (this.holdings) { + if (this.holdings()) { this.isLoading = false; } }