Browse Source

Feature/add tags to account detail dialog (#7460)

* Add tags (read-only)

* Update changelog
pull/7267/merge
Thomas Kaul 1 day ago
committed by GitHub
parent
commit
19fe447655
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 15
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts
  3. 4
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
  4. 2
      libs/ui/src/lib/tags-selector/tags-selector.component.ts

1
CHANGELOG.md

@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added an overview tab to the account detail dialog
- Added the tags (read-only) to the account detail dialog (experimental)
### Changed

15
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts

@ -20,7 +20,9 @@ import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table';
import { GfDialogFooterComponent } from '@ghostfolio/ui/dialog-footer';
import { GfDialogHeaderComponent } from '@ghostfolio/ui/dialog-header';
import { GfHoldingsTableComponent } from '@ghostfolio/ui/holdings-table';
import { translate } from '@ghostfolio/ui/i18n';
import { DataService } from '@ghostfolio/ui/services';
import { GfTagsSelectorComponent } from '@ghostfolio/ui/tags-selector';
import { GfValueComponent } from '@ghostfolio/ui/value';
import {
@ -42,6 +44,7 @@ import { MatTableDataSource } from '@angular/material/table';
import { MatTabsModule } from '@angular/material/tabs';
import { NavigationStart, Router } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
import { Tag } from '@prisma/client';
import { Big } from 'big.js';
import { format, parseISO } from 'date-fns';
import { addIcons } from 'ionicons';
@ -70,6 +73,7 @@ import {
GfDialogHeaderComponent,
GfHoldingsTableComponent,
GfInvestmentChartComponent,
GfTagsSelectorComponent,
GfValueComponent,
IonIcon,
MatButtonModule,
@ -105,6 +109,7 @@ export class GfAccountDetailDialogComponent implements OnInit {
protected platformName: string;
protected sortColumn = 'date';
protected sortDirection: SortDirection = 'desc';
protected tags: Tag[];
protected totalItems: number;
protected user: User;
protected valueInBaseCurrency: number;
@ -236,6 +241,7 @@ export class GfAccountDetailDialogComponent implements OnInit {
interestInBaseCurrency,
name,
platform,
tags,
value,
valueInBaseCurrency
}) => {
@ -285,6 +291,15 @@ export class GfAccountDetailDialogComponent implements OnInit {
this.name = name;
this.platformName = platform?.name ?? '-';
this.tags =
tags?.map((tag) => {
return {
...tag,
name: translate(tag.name)
};
}) ?? [];
this.valueInBaseCurrency = valueInBaseCurrency;
this.changeDetectorRef.markForCheck();

4
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html

@ -179,6 +179,10 @@
/>
</mat-tab>
</mat-tab-group>
@if (user?.settings?.isExperimentalFeatures) {
<gf-tags-selector [readonly]="true" [tags]="tags" />
}
</div>
</div>

2
libs/ui/src/lib/tags-selector/tags-selector.component.ts

@ -167,7 +167,7 @@ export class GfTagsSelectorComponent
return id;
});
return this.tagsAvailable
return (this.tagsAvailable ?? [])
.filter(({ id, name }) => {
return (
!tagIds.includes(id) &&

Loading…
Cancel
Save