diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts index a7638c561..427637c2c 100644 --- a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts @@ -7,7 +7,7 @@ import { ImpersonationStorageService } from '@ghostfolio/client/services/imperso import { UserService } from '@ghostfolio/client/services/user/user.service'; import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config'; import { downloadAsFile } from '@ghostfolio/common/helper'; -import { User } from '@ghostfolio/common/interfaces'; +import { AssetProfileIdentifier, User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; @@ -138,6 +138,16 @@ export class ActivitiesPageComponent implements OnDestroy, OnInit { this.fetchActivities(); } + public onClickActivity({ dataSource, symbol }: AssetProfileIdentifier) { + this.router.navigate([], { + queryParams: { + dataSource, + symbol, + holdingDetailDialog: true + } + }); + } + public onCloneActivity(aActivity: Activity) { this.openCreateActivityDialog(aActivity); } diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.html b/apps/client/src/app/pages/portfolio/activities/activities-page.html index 9edb400ab..c06f7dd75 100644 --- a/apps/client/src/app/pages/portfolio/activities/activities-page.html +++ b/apps/client/src/app/pages/portfolio/activities/activities-page.html @@ -21,6 +21,7 @@ [sortDirection]="sortDirection" [totalItems]="totalItems" (activitiesDeleted)="onDeleteActivities()" + (activityClicked)="onClickActivity($event)" (activityDeleted)="onDeleteActivity($event)" (activityToClone)="onCloneActivity($event)" (activityToUpdate)="onUpdateActivity($event)" diff --git a/libs/ui/src/lib/activities-table/activities-table.component.ts b/libs/ui/src/lib/activities-table/activities-table.component.ts index 482305bb7..4f8fff904 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.ts +++ b/libs/ui/src/lib/activities-table/activities-table.component.ts @@ -42,7 +42,6 @@ import { } from '@angular/material/sort'; import { MatTableDataSource, MatTableModule } from '@angular/material/table'; import { MatTooltipModule } from '@angular/material/tooltip'; -import { Router, RouterModule } from '@angular/router'; import { isUUID } from 'class-validator'; import { endOfToday, isAfter } from 'date-fns'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; @@ -64,8 +63,7 @@ import { Subject, Subscription, takeUntil } from 'rxjs'; MatSortModule, MatTableModule, MatTooltipModule, - NgxSkeletonLoaderModule, - RouterModule + NgxSkeletonLoaderModule ], schemas: [CUSTOM_ELEMENTS_SCHEMA], selector: 'gf-activities-table', @@ -95,6 +93,7 @@ export class GfActivitiesTableComponent @Input() totalItems = Number.MAX_SAFE_INTEGER; @Output() activitiesDeleted = new EventEmitter(); + @Output() activityClicked = new EventEmitter(); @Output() activityDeleted = new EventEmitter(); @Output() activityToClone = new EventEmitter(); @Output() activityToUpdate = new EventEmitter(); @@ -122,10 +121,7 @@ export class GfActivitiesTableComponent private unsubscribeSubject = new Subject(); - public constructor( - private notificationService: NotificationService, - private router: Router - ) {} + public constructor(private notificationService: NotificationService) {} public ngOnInit() { if (this.showCheckbox) { @@ -203,7 +199,7 @@ export class GfActivitiesTableComponent activity.isDraft === false && ['BUY', 'DIVIDEND', 'SELL'].includes(activity.type) ) { - this.onOpenPositionDialog({ + this.activityClicked.emit({ dataSource: activity.SymbolProfile.dataSource, symbol: activity.SymbolProfile.symbol }); @@ -268,12 +264,6 @@ export class GfActivitiesTableComponent }); } - public onOpenPositionDialog({ dataSource, symbol }: AssetProfileIdentifier) { - this.router.navigate([], { - queryParams: { dataSource, symbol, holdingDetailDialog: true } - }); - } - public onUpdateActivity(aActivity: OrderWithAccount) { this.activityToUpdate.emit(aActivity); }