Browse Source

Task/eliminate unneeded symbol pipe (#7375)

Eliminate symbol pipe
pull/7378/head
Thomas Kaul 1 day ago
committed by GitHub
parent
commit
7cd6ebe000
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
  2. 4
      apps/client/src/app/components/admin-market-data/admin-market-data.html
  3. 2
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
  4. 2
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
  5. 8
      apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts
  6. 8
      apps/client/src/app/pages/public/public-page.component.ts
  7. 3
      libs/common/src/lib/config.ts
  8. 5
      libs/common/src/lib/helper.ts
  9. 3
      libs/common/src/lib/pipes/index.ts
  10. 12
      libs/common/src/lib/pipes/symbol.pipe.ts
  11. 4
      libs/ui/src/lib/activities-filter/activities-filter.component.html
  12. 2
      libs/ui/src/lib/activities-filter/activities-filter.component.ts
  13. 4
      libs/ui/src/lib/activities-table/activities-table.component.html
  14. 2
      libs/ui/src/lib/activities-table/activities-table.component.stories.ts
  15. 2
      libs/ui/src/lib/activities-table/activities-table.component.ts
  16. 3
      libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts
  17. 2
      libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html
  18. 2
      libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html
  19. 2
      libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.ts
  20. 2
      libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html
  21. 2
      libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.ts
  22. 2
      libs/ui/src/lib/top-holdings/top-holdings.component.html
  23. 2
      libs/ui/src/lib/top-holdings/top-holdings.component.ts

2
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,

4
apps/client/src/app/components/admin-market-data/admin-market-data.html

@ -95,9 +95,7 @@
<div class="text-truncate">{{ element.name }}</div>
@if (!isUUID(element.symbol)) {
<div>
<small class="text-muted">{{
element.symbol | gfSymbol
}}</small>
<small class="text-muted">{{ element.symbol }}</small>
</div>
}
</td>

2
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,

2
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html

@ -51,7 +51,7 @@
>
<br />
<small class="text-muted"
>{{ holding.assetProfile.symbol | gfSymbol }} ·
>{{ holding.assetProfile.symbol }} ·
{{ holding.assetProfile.currency }}</small
>
</mat-option>

8
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
}

8
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)

3
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`;

5
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);

3
libs/common/src/lib/pipes/index.ts

@ -1,3 +0,0 @@
import { GfSymbolPipe } from './symbol.pipe';
export { GfSymbolPipe };

12
libs/common/src/lib/pipes/symbol.pipe.ts

@ -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);
}
}

4
libs/ui/src/lib/activities-filter/activities-filter.component.html

@ -8,7 +8,7 @@
[removable]="true"
(removed)="onRemoveFilter(filter)"
>
{{ filter.label ?? '' | gfSymbol }}
{{ filter.label }}
<button matChipRemove>
<ion-icon name="close-outline" />
</button>
@ -33,7 +33,7 @@
<mat-optgroup [label]="filterGroup.name">
@for (filter of filterGroup.filters; track filter) {
<mat-option [value]="filter.id">
{{ filter.label ?? '' | gfSymbol }}
{{ filter.label }}
</mat-option>
}
</mat-optgroup>

2
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,

4
libs/ui/src/lib/activities-table/activities-table.component.html

@ -172,9 +172,7 @@
!isUUID(element.assetProfile?.symbol)
) {
<div>
<small class="text-muted">{{
element.assetProfile?.symbol | gfSymbol
}}</small>
<small class="text-muted">{{ element.assetProfile?.symbol }}</small>
</div>
}
</td>

2
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,

2
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,

3
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'

2
libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html

@ -8,7 +8,7 @@
@if (item && isAsset(item)) {
<br />
<small class="text-muted"
>{{ item?.symbol ?? '' | gfSymbol }}
>{{ item?.symbol }}
@if (item.currency) {
· {{ item.currency }}
}

2
libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html

@ -40,7 +40,7 @@
>
<br />
<small class="text-muted"
>{{ holding.assetProfile.symbol | gfSymbol }} ·
>{{ holding.assetProfile.symbol }} ·
{{ holding.assetProfile.currency }}</small
>
</div>

2
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

2
libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html

@ -25,7 +25,7 @@
}
</span>
<small class="text-muted"
>{{ lookupItem.symbol | gfSymbol }}
>{{ lookupItem.symbol }}
@if (lookupItem.currency) {
· {{ lookupItem.currency }}
}

2
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,

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

@ -80,7 +80,7 @@
<div class="text-truncate">{{ parentHolding?.name }}</div>
<div>
<small class="text-muted">{{
parentHolding?.symbol | gfSymbol
parentHolding?.symbol
}}</small>
</div>
</td>

2
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,

Loading…
Cancel
Save