Browse Source

feat(lib): use input function for holdings

pull/6306/head
KenTandrian 2 months ago
parent
commit
4bcfc4039e
  1. 12
      libs/ui/src/lib/holdings-table/holdings-table.component.ts

12
libs/ui/src/lib/holdings-table/holdings-table.component.ts

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

Loading…
Cancel
Save