diff --git a/CHANGELOG.md b/CHANGELOG.md index 1128a6205..d178ae97a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Changed the _As seen in_ section on the landing page to an animated carousel +- Refactored `transactionCount` to `activitiesCount` in the endpoint `GET api/v1/portfolio/holding/:dataSource/:symbol` - Refactored various components to use self-closing tags - Improved the language localization for German (`de`) diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index e73f79784..f774378ef 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -778,6 +778,7 @@ export class PortfolioService { if (activities.length === 0) { return { activities: [], + activitiesCount: 0, averagePrice: undefined, dataProviderInfo: undefined, dividendInBaseCurrency: undefined, @@ -802,7 +803,6 @@ export class PortfolioService { quantity: undefined, SymbolProfile: undefined, tags: [], - transactionCount: undefined, value: undefined }; } @@ -966,8 +966,8 @@ export class PortfolioService { marketPriceMin, SymbolProfile, tags, - transactionCount, activities: activitiesOfHolding, + activitiesCount: transactionCount, averagePrice: averagePrice.toNumber(), dataProviderInfo: portfolioCalculator.getDataProviderInfos()?.[0], dividendInBaseCurrency: dividendInBaseCurrency.toNumber(), @@ -1070,6 +1070,7 @@ export class PortfolioService { marketPriceMin, SymbolProfile, activities: [], + activitiesCount: 0, averagePrice: 0, dataProviderInfo: undefined, dividendInBaseCurrency: 0, @@ -1095,7 +1096,6 @@ export class PortfolioService { }, quantity: 0, tags: [], - transactionCount: undefined, value: 0 }; } diff --git a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts index 8f6616174..d4c1c59c1 100644 --- a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts +++ b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts @@ -100,6 +100,7 @@ import { HoldingDetailDialogParams } from './interfaces/interfaces'; templateUrl: 'holding-detail-dialog.html' }) export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit { + public activitiesCount: number; public activityForm: FormGroup; public accounts: Account[]; public assetClass: string; @@ -151,8 +152,6 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit { public SymbolProfile: EnhancedSymbolProfile; public tags: Tag[]; public tagsAvailable: Tag[]; - public totalItems: number; - public transactionCount: number; public user: User; public value: number; @@ -261,6 +260,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit { .pipe(takeUntil(this.unsubscribeSubject)) .subscribe( ({ + activitiesCount, averagePrice, dataProviderInfo, dividendInBaseCurrency, @@ -279,9 +279,9 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit { quantity, SymbolProfile, tags, - transactionCount, value }) => { + this.activitiesCount = activitiesCount; this.averagePrice = averagePrice; if ( @@ -429,8 +429,6 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit { this.activityForm.setValue({ tags: this.tags }, { emitEvent: false }); - this.transactionCount = transactionCount; - this.totalItems = transactionCount; this.value = value; if (SymbolProfile?.assetClass) { diff --git a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html index 651f01a65..298692303 100644 --- a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html +++ b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -223,9 +223,9 @@ - @if (transactionCount === 1) { + @if (activitiesCount === 1) { Activity } @else { Activities @@ -363,7 +363,7 @@ [sortColumn]="sortColumn" [sortDirection]="sortDirection" [sortDisabled]="true" - [totalItems]="totalItems" + [totalItems]="activitiesCount" (activityToClone)="onCloneActivity($event)" (activityToUpdate)="onUpdateActivity($event)" (export)="onExport()" diff --git a/libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts b/libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts index 000460228..b82a8f85d 100644 --- a/libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts @@ -10,6 +10,7 @@ import { Tag } from '@prisma/client'; export interface PortfolioHoldingResponse { activities: Activity[]; + activitiesCount: number; averagePrice: number; dataProviderInfo: DataProviderInfo; dividendInBaseCurrency: number; @@ -34,6 +35,5 @@ export interface PortfolioHoldingResponse { quantity: number; SymbolProfile: EnhancedSymbolProfile; tags: Tag[]; - transactionCount: number; value: number; }