From 7cd6ebe000df672fd52c5e6bb9a3507ddbf3d882 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 19 Jul 2026 08:20:12 +0200 Subject: [PATCH] Task/eliminate unneeded symbol pipe (#7375) Eliminate symbol pipe --- .../admin-market-data/admin-market-data.component.ts | 2 -- .../admin-market-data/admin-market-data.html | 4 +--- .../import-activities-dialog.component.ts | 2 -- .../import-activities-dialog.html | 2 +- .../allocations/allocations-page.component.ts | 8 ++++---- .../src/app/pages/public/public-page.component.ts | 8 ++++---- libs/common/src/lib/config.ts | 3 --- libs/common/src/lib/helper.ts | 5 ----- libs/common/src/lib/pipes/index.ts | 3 --- libs/common/src/lib/pipes/symbol.pipe.ts | 12 ------------ .../activities-filter.component.html | 4 ++-- .../activities-filter/activities-filter.component.ts | 2 -- .../activities-table/activities-table.component.html | 4 +--- .../activities-table.component.stories.ts | 2 -- .../activities-table/activities-table.component.ts | 2 -- .../assistant-list-item.component.ts | 3 +-- .../assistant-list-item/assistant-list-item.html | 2 +- .../portfolio-filter-form.component.html | 2 +- .../portfolio-filter-form.component.ts | 2 -- .../symbol-autocomplete.component.html | 2 +- .../symbol-autocomplete.component.ts | 2 -- .../src/lib/top-holdings/top-holdings.component.html | 2 +- .../src/lib/top-holdings/top-holdings.component.ts | 2 -- 23 files changed, 18 insertions(+), 62 deletions(-) delete mode 100644 libs/common/src/lib/pipes/index.ts delete mode 100644 libs/common/src/lib/pipes/symbol.pipe.ts diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts index 4b893af7b..e716907ef 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts @@ -13,7 +13,6 @@ import { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; -import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { GfActivitiesFilterComponent } from '@ghostfolio/ui/activities-filter'; import { GfFabComponent } from '@ghostfolio/ui/fab'; import { translate } from '@ghostfolio/ui/i18n'; @@ -83,7 +82,6 @@ import { CreateAssetProfileDialogParams } from './create-asset-profile-dialog/in GfActivitiesFilterComponent, GfFabComponent, GfPremiumIndicatorComponent, - GfSymbolPipe, GfValueComponent, IonIcon, MatButtonModule, diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.html b/apps/client/src/app/components/admin-market-data/admin-market-data.html index ebb165814..f6744b263 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.html +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -95,9 +95,7 @@
{{ element.name }}
@if (!isUUID(element.symbol)) {
- {{ - element.symbol | gfSymbol - }} + {{ element.symbol }}
} diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts index 4541009a0..77d889b1a 100644 --- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -7,7 +7,6 @@ import { CreateTagDto } from '@ghostfolio/common/dtos'; import { Activity, PortfolioPosition } from '@ghostfolio/common/interfaces'; -import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table'; import { GfDialogFooterComponent } from '@ghostfolio/ui/dialog-footer'; import { GfDialogHeaderComponent } from '@ghostfolio/ui/dialog-header'; @@ -66,7 +65,6 @@ import { ImportActivitiesDialogParams } from './interfaces/interfaces'; GfDialogFooterComponent, GfDialogHeaderComponent, GfFileDropDirective, - GfSymbolPipe, IonIcon, MatButtonModule, MatDialogModule, diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html index 4149ce5b6..559f639b1 100644 --- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html +++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -51,7 +51,7 @@ >
{{ holding.assetProfile.symbol | gfSymbol }} · + >{{ holding.assetProfile.symbol }} · {{ holding.assetProfile.currency }} diff --git a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts index 52f051e77..de00048e7 100644 --- a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts +++ b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts @@ -6,7 +6,7 @@ import { import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { MAX_TOP_HOLDINGS, UNKNOWN_KEY } from '@ghostfolio/common/config'; -import { getCountryName, prettifySymbol } from '@ghostfolio/common/helper'; +import { getCountryName } from '@ghostfolio/common/helper'; import { AssetProfileIdentifier, HoldingWithParents, @@ -495,10 +495,10 @@ export class GfAllocationsPageComponent implements OnInit { this.totalValueInEtf += this.holdings[symbol].value; } - this.symbols[prettifySymbol(symbol)] = { + this.symbols[symbol] = { + symbol, dataSource: position.assetProfile.dataSource, name: position.assetProfile.name ?? '', - symbol: prettifySymbol(symbol), value: (isNumber(position.valueInBaseCurrency) ? position.valueInBaseCurrency @@ -565,11 +565,11 @@ export class GfAllocationsPageComponent implements OnInit { return currentParentHolding && isNumber(currentParentHolding.valueInBaseCurrency) ? { + symbol, allocationInPercentage: currentParentHolding.valueInBaseCurrency / value, name: holding.assetProfile.name ?? '', position: holding, - symbol: prettifySymbol(symbol), valueInBaseCurrency: currentParentHolding.valueInBaseCurrency } diff --git a/apps/client/src/app/pages/public/public-page.component.ts b/apps/client/src/app/pages/public/public-page.component.ts index 52d295dfa..3b149cd08 100644 --- a/apps/client/src/app/pages/public/public-page.component.ts +++ b/apps/client/src/app/pages/public/public-page.component.ts @@ -1,5 +1,5 @@ import { UNKNOWN_KEY } from '@ghostfolio/common/config'; -import { getCountryName, prettifySymbol } from '@ghostfolio/common/helper'; +import { getCountryName } from '@ghostfolio/common/helper'; import { InfoItem, PortfolioPosition, @@ -250,9 +250,9 @@ export class GfPublicPageComponent implements OnInit { } } - this.symbols[prettifySymbol(symbol)] = { - name: position.assetProfile.name ?? prettifySymbol(symbol), - symbol: prettifySymbol(symbol), + this.symbols[symbol] = { + symbol, + name: position.assetProfile.name ?? symbol, value: isNumber(position.valueInBaseCurrency) ? position.valueInBaseCurrency : (position.valueInPercentage ?? 0) diff --git a/libs/common/src/lib/config.ts b/libs/common/src/lib/config.ts index f7bafb101..a5363372a 100644 --- a/libs/common/src/lib/config.ts +++ b/libs/common/src/lib/config.ts @@ -6,9 +6,6 @@ import { ColorScheme, DateRange } from './types'; export const ghostfolioPrefix = 'GF'; -/* @deprecated */ -export const ghostfolioScraperApiSymbolPrefix = `_${ghostfolioPrefix}_`; - export const ghostfolioFearAndGreedIndexDataSourceCryptocurrencies = DataSource.MANUAL; export const ghostfolioFearAndGreedIndexSymbolCryptocurrencies = `${ghostfolioPrefix}_FEAR_AND_GREED_INDEX_CRYPTOCURRENCIES`; diff --git a/libs/common/src/lib/helper.ts b/libs/common/src/lib/helper.ts index 9a32927e2..6a135eef6 100644 --- a/libs/common/src/lib/helper.ts +++ b/libs/common/src/lib/helper.ts @@ -40,7 +40,6 @@ import { DERIVED_CURRENCIES, ghostfolioFearAndGreedIndexSymbolCryptocurrencies, ghostfolioFearAndGreedIndexSymbolStocks, - ghostfolioScraperApiSymbolPrefix, TAG_ID_EXCLUDE_FROM_ANALYSIS } from './config'; import { @@ -527,10 +526,6 @@ export function parseSymbol({ dataSource, symbol }: AssetProfileIdentifier) { }; } -export function prettifySymbol(aSymbol: string): string { - return aSymbol?.replace(ghostfolioScraperApiSymbolPrefix, ''); -} - export function resetHours(aDate: Date) { const year = getYear(aDate); const month = getMonth(aDate); diff --git a/libs/common/src/lib/pipes/index.ts b/libs/common/src/lib/pipes/index.ts deleted file mode 100644 index 7b5ca4bac..000000000 --- a/libs/common/src/lib/pipes/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { GfSymbolPipe } from './symbol.pipe'; - -export { GfSymbolPipe }; diff --git a/libs/common/src/lib/pipes/symbol.pipe.ts b/libs/common/src/lib/pipes/symbol.pipe.ts deleted file mode 100644 index 6f4981699..000000000 --- a/libs/common/src/lib/pipes/symbol.pipe.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { prettifySymbol } from '@ghostfolio/common/helper'; - -import { Pipe, PipeTransform } from '@angular/core'; - -@Pipe({ - name: 'gfSymbol' -}) -export class GfSymbolPipe implements PipeTransform { - public transform(aSymbol: string) { - return prettifySymbol(aSymbol); - } -} diff --git a/libs/ui/src/lib/activities-filter/activities-filter.component.html b/libs/ui/src/lib/activities-filter/activities-filter.component.html index b525e5133..58626351b 100644 --- a/libs/ui/src/lib/activities-filter/activities-filter.component.html +++ b/libs/ui/src/lib/activities-filter/activities-filter.component.html @@ -8,7 +8,7 @@ [removable]="true" (removed)="onRemoveFilter(filter)" > - {{ filter.label ?? '' | gfSymbol }} + {{ filter.label }} @@ -33,7 +33,7 @@ @for (filter of filterGroup.filters; track filter) { - {{ filter.label ?? '' | gfSymbol }} + {{ filter.label }} } diff --git a/libs/ui/src/lib/activities-filter/activities-filter.component.ts b/libs/ui/src/lib/activities-filter/activities-filter.component.ts index 6b58e6aec..7a434d94c 100644 --- a/libs/ui/src/lib/activities-filter/activities-filter.component.ts +++ b/libs/ui/src/lib/activities-filter/activities-filter.component.ts @@ -1,5 +1,4 @@ import { Filter, FilterGroup } from '@ghostfolio/common/interfaces'; -import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { COMMA, ENTER } from '@angular/cdk/keycodes'; import { CommonModule } from '@angular/common'; @@ -39,7 +38,6 @@ import { translate } from '../i18n'; changeDetection: ChangeDetectionStrategy.OnPush, imports: [ CommonModule, - GfSymbolPipe, IonIcon, MatAutocompleteModule, MatButtonModule, diff --git a/libs/ui/src/lib/activities-table/activities-table.component.html b/libs/ui/src/lib/activities-table/activities-table.component.html index cc9a34047..50fb025cb 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.html +++ b/libs/ui/src/lib/activities-table/activities-table.component.html @@ -172,9 +172,7 @@ !isUUID(element.assetProfile?.symbol) ) {
- {{ - element.assetProfile?.symbol | gfSymbol - }} + {{ element.assetProfile?.symbol }}
} diff --git a/libs/ui/src/lib/activities-table/activities-table.component.stories.ts b/libs/ui/src/lib/activities-table/activities-table.component.stories.ts index e4028e7ba..540aa92b6 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.stories.ts +++ b/libs/ui/src/lib/activities-table/activities-table.component.stories.ts @@ -1,5 +1,4 @@ import { Activity } from '@ghostfolio/common/interfaces'; -import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { CommonModule } from '@angular/common'; import { MatButtonModule } from '@angular/material/button'; @@ -375,7 +374,6 @@ export default { GfActivityTypeComponent, GfEntityLogoComponent, GfNoTransactionsInfoComponent, - GfSymbolPipe, GfValueComponent, IonIcon, MatButtonModule, 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 399d5d7e1..be1f88752 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.ts +++ b/libs/ui/src/lib/activities-table/activities-table.component.ts @@ -8,7 +8,6 @@ import { Activity, AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; -import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; import { translate } from '@ghostfolio/ui/i18n'; import { NotificationService } from '@ghostfolio/ui/notifications'; @@ -83,7 +82,6 @@ import { GfValueComponent } from '../value/value.component'; GfActivityTypeComponent, GfEntityLogoComponent, GfNoTransactionsInfoComponent, - GfSymbolPipe, GfValueComponent, IonIcon, MatButtonModule, diff --git a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts index 36127a566..b2c541e3f 100644 --- a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts +++ b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts @@ -1,4 +1,3 @@ -import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { internalRoutes } from '@ghostfolio/common/routes/routes'; import { FocusableOption } from '@angular/cdk/a11y'; @@ -24,7 +23,7 @@ import { @Component({ changeDetection: ChangeDetectionStrategy.OnPush, - imports: [GfSymbolPipe, RouterModule], + imports: [RouterModule], selector: 'gf-assistant-list-item', styleUrls: ['./assistant-list-item.scss'], templateUrl: './assistant-list-item.html' diff --git a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html index fa30d0c03..45a84866b 100644 --- a/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html +++ b/libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html @@ -8,7 +8,7 @@ @if (item && isAsset(item)) {
{{ item?.symbol ?? '' | gfSymbol }} + >{{ item?.symbol }} @if (item.currency) { · {{ item.currency }} } diff --git a/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html b/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html index 33bde3fd6..cda9cab3c 100644 --- a/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html +++ b/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html @@ -40,7 +40,7 @@ >
{{ holding.assetProfile.symbol | gfSymbol }} · + >{{ holding.assetProfile.symbol }} · {{ holding.assetProfile.currency }} diff --git a/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.ts b/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.ts index 20e8b0f0f..9d9002c67 100644 --- a/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.ts +++ b/libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.ts @@ -1,6 +1,5 @@ import { getAssetProfileIdentifier } from '@ghostfolio/common/helper'; import { Filter, PortfolioPosition } from '@ghostfolio/common/interfaces'; -import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { AccountWithPlatform } from '@ghostfolio/common/types'; import { @@ -37,7 +36,6 @@ import { PortfolioFilterFormValue } from './interfaces'; imports: [ FormsModule, GfEntityLogoComponent, - GfSymbolPipe, MatFormFieldModule, MatSelectModule, ReactiveFormsModule diff --git a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html index 12867662b..d786d724d 100644 --- a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html +++ b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html @@ -25,7 +25,7 @@ } {{ lookupItem.symbol | gfSymbol }} + >{{ lookupItem.symbol }} @if (lookupItem.currency) { · {{ lookupItem.currency }} } diff --git a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.ts b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.ts index 87d43d764..cab911ef2 100644 --- a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.ts +++ b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.ts @@ -1,5 +1,4 @@ import { LookupItem } from '@ghostfolio/common/interfaces'; -import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { DataService } from '@ghostfolio/ui/services'; import { FocusMonitor } from '@angular/cdk/a11y'; @@ -58,7 +57,6 @@ import { AbstractMatFormField } from '../shared/abstract-mat-form-field'; imports: [ FormsModule, GfPremiumIndicatorComponent, - GfSymbolPipe, MatAutocompleteModule, MatFormFieldModule, MatInputModule, diff --git a/libs/ui/src/lib/top-holdings/top-holdings.component.html b/libs/ui/src/lib/top-holdings/top-holdings.component.html index e07e5fe4d..3e09ab5ba 100644 --- a/libs/ui/src/lib/top-holdings/top-holdings.component.html +++ b/libs/ui/src/lib/top-holdings/top-holdings.component.html @@ -80,7 +80,7 @@
{{ parentHolding?.name }}
{{ - parentHolding?.symbol | gfSymbol + parentHolding?.symbol }}
diff --git a/libs/ui/src/lib/top-holdings/top-holdings.component.ts b/libs/ui/src/lib/top-holdings/top-holdings.component.ts index 51ef8751f..3e7473c65 100644 --- a/libs/ui/src/lib/top-holdings/top-holdings.component.ts +++ b/libs/ui/src/lib/top-holdings/top-holdings.component.ts @@ -3,7 +3,6 @@ import { AssetProfileIdentifier, HoldingWithParents } from '@ghostfolio/common/interfaces'; -import { GfSymbolPipe } from '@ghostfolio/common/pipes'; import { animate, @@ -43,7 +42,6 @@ import { GfValueComponent } from '../value/value.component'; ], changeDetection: ChangeDetectionStrategy.OnPush, imports: [ - GfSymbolPipe, GfValueComponent, MatButtonModule, MatPaginatorModule,