Browse Source

feat(lib): use input function for hasPermission fields

pull/6306/head
KenTandrian 2 months ago
parent
commit
7f615f74c4
  1. 2
      libs/ui/src/lib/holdings-table/holdings-table.component.html
  2. 14
      libs/ui/src/lib/holdings-table/holdings-table.component.ts

2
libs/ui/src/lib/holdings-table/holdings-table.component.html

@ -183,7 +183,7 @@
mat-row mat-row
[ngClass]="{ [ngClass]="{
'cursor-pointer': 'cursor-pointer':
hasPermissionToOpenDetails && hasPermissionToOpenDetails() &&
!ignoreAssetSubClasses.includes(row.assetSubClass) !ignoreAssetSubClasses.includes(row.assetSubClass)
}" }"
(click)=" (click)="

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

@ -51,9 +51,6 @@ import { GfValueComponent } from '../value/value.component';
export class GfHoldingsTableComponent implements OnChanges, OnDestroy { export class GfHoldingsTableComponent implements OnChanges, OnDestroy {
@Input() baseCurrency: string; @Input() baseCurrency: string;
@Input() deviceType: string; @Input() deviceType: string;
@Input() hasPermissionToOpenDetails = true;
@Input() hasPermissionToShowQuantities = true;
@Input() hasPermissionToShowValues = true;
@Input() locale = getLocale(); @Input() locale = getLocale();
@Input() pageSize = Number.MAX_SAFE_INTEGER; @Input() pageSize = Number.MAX_SAFE_INTEGER;
@ -63,6 +60,9 @@ export class GfHoldingsTableComponent implements OnChanges, OnDestroy {
public ignoreAssetSubClasses = [AssetSubClass.CASH]; public ignoreAssetSubClasses = [AssetSubClass.CASH];
public routeQueryParams: Subscription; public routeQueryParams: Subscription;
public readonly hasPermissionToOpenDetails = input(true);
public readonly hasPermissionToShowQuantities = input(true);
public readonly hasPermissionToShowValues = input(true);
public readonly holdings = input.required<PortfolioPosition[]>(); public readonly holdings = input.required<PortfolioPosition[]>();
public readonly paginator = viewChild.required(MatPaginator); public readonly paginator = viewChild.required(MatPaginator);
public readonly sort = viewChild.required(MatSort); public readonly sort = viewChild.required(MatSort);
@ -82,17 +82,17 @@ export class GfHoldingsTableComponent implements OnChanges, OnDestroy {
public ngOnChanges() { public ngOnChanges() {
this.displayedColumns = ['icon', 'nameWithSymbol', 'dateOfFirstActivity']; this.displayedColumns = ['icon', 'nameWithSymbol', 'dateOfFirstActivity'];
if (this.hasPermissionToShowQuantities) { if (this.hasPermissionToShowQuantities()) {
this.displayedColumns.push('quantity'); this.displayedColumns.push('quantity');
} }
if (this.hasPermissionToShowValues) { if (this.hasPermissionToShowValues()) {
this.displayedColumns.push('valueInBaseCurrency'); this.displayedColumns.push('valueInBaseCurrency');
} }
this.displayedColumns.push('allocationInPercentage'); this.displayedColumns.push('allocationInPercentage');
if (this.hasPermissionToShowValues) { if (this.hasPermissionToShowValues()) {
this.displayedColumns.push('performance'); this.displayedColumns.push('performance');
} }
@ -100,7 +100,7 @@ export class GfHoldingsTableComponent implements OnChanges, OnDestroy {
} }
public onOpenHoldingDialog({ dataSource, symbol }: AssetProfileIdentifier) { public onOpenHoldingDialog({ dataSource, symbol }: AssetProfileIdentifier) {
if (this.hasPermissionToOpenDetails) { if (this.hasPermissionToOpenDetails()) {
this.holdingClicked.emit({ dataSource, symbol }); this.holdingClicked.emit({ dataSource, symbol });
} }
} }

Loading…
Cancel
Save