diff --git a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html index 11638edaf..19b3e8a4e 100644 --- a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html +++ b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html @@ -4,7 +4,7 @@ [deviceType]="data.deviceType" [title]="name" (closeButtonClicked)="onClose()" -> +/>
@@ -16,7 +16,7 @@ [locale]="user?.settings?.locale" [unit]="user?.settings?.baseCurrency" [value]="valueInBaseCurrency" - > + />
@@ -28,7 +28,7 @@ [isInPercent]="hasImpersonationId || user.settings.isRestrictedView" [isLoading]="isLoadingChart" [locale]="user?.settings?.locale" - > + />
@@ -79,7 +79,7 @@ [deviceType]="data.deviceType" [holdings]="holdings" [locale]="user?.settings?.locale" - > + /> @@ -102,7 +102,7 @@ [totalItems]="totalItems" (export)="onExport()" (sortChanged)="onSortChanged($event)" - > + /> + /> @@ -128,7 +128,7 @@ [locale]="user?.settings?.locale" [showActions]="!hasImpersonationId && hasPermissionToDeleteAccountBalance && !user.settings.isRestrictedView" (accountBalanceDeleted)="onDeleteAccountBalance($event)" - > + />
@@ -138,4 +138,4 @@ mat-dialog-actions [deviceType]="data.deviceType" (closeButtonClicked)="onClose()" -> +/> diff --git a/apps/client/src/app/components/accounts-table/accounts-table.component.html b/apps/client/src/app/components/accounts-table/accounts-table.component.html index 92b04486d..199628a94 100644 --- a/apps/client/src/app/components/accounts-table/accounts-table.component.html +++ b/apps/client/src/app/components/accounts-table/accounts-table.component.html @@ -39,7 +39,7 @@ class="d-inline d-sm-none mr-1" [tooltip]="element.Platform?.name" [url]="element.Platform?.url" - > + /> {{ element.name }} + /> {{ element.Platform?.name }} @@ -131,7 +131,7 @@ [isCurrency]="true" [locale]="locale" [value]="element.balance" - > + /> + /> @@ -166,7 +166,7 @@ [isCurrency]="true" [locale]="locale" [value]="element.value" - > + /> + /> @@ -201,7 +201,7 @@ [isCurrency]="true" [locale]="locale" [value]="element.valueInBaseCurrency" - > + /> + /> @@ -296,4 +296,4 @@ height: '1.5rem', width: '100%' }" -> +/> diff --git a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html index c6e972f45..f452dd1c9 100644 --- a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html +++ b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html @@ -8,7 +8,7 @@ [showXAxis]="true" [showYAxis]="true" [symbol]="symbol" - > + />
+ />
@@ -213,7 +213,7 @@ height: '1.5rem', width: '100%' }" - > + />
diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html index 0f5b5b7f2..006b63a82 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -50,7 +50,7 @@ [marketData]="marketDataDetails" [symbol]="data.symbol" (marketDataChanged)="onMarketDataChanged($event)" - > + />
@@ -162,7 +162,7 @@ [keys]="['name']" [maxItems]="10" [positions]="sectors" - > + />
Countries
@@ -172,7 +172,7 @@ [keys]="['name']" [maxItems]="10" [positions]="countries" - > + />
diff --git a/apps/client/src/app/components/admin-overview/admin-overview.html b/apps/client/src/app/components/admin-overview/admin-overview.html index 61b93be30..bdf623bab 100644 --- a/apps/client/src/app/components/admin-overview/admin-overview.html +++ b/apps/client/src/app/components/admin-overview/admin-overview.html @@ -16,7 +16,7 @@ [locale]="user?.settings?.locale" [precision]="0" [value]="userCount" - > + />
@@ -26,7 +26,7 @@ [locale]="user?.settings?.locale" [precision]="0" [value]="transactionCount" - > + />
{{ transactionCount / userCount | number : '1.2-2' }} per User @@ -39,10 +39,7 @@ @@ -52,7 +49,7 @@ [locale]="user?.settings?.locale" [precision]="4" [value]="exchangeRate.value" - > + /> diff --git a/apps/client/src/app/components/admin-users/admin-users.html b/apps/client/src/app/components/admin-users/admin-users.html index 2bd08b724..e82ac7e02 100644 --- a/apps/client/src/app/components/admin-users/admin-users.html +++ b/apps/client/src/app/components/admin-users/admin-users.html @@ -46,7 +46,7 @@ class="ml-1" [enableLink]="false" [title]="'Expires ' + formatDistanceToNow(element.subscription.expiresAt) + ' (' + (element.subscription.expiresAt | date: defaultDateFormat) + ')'" - > + /> @@ -107,7 +107,7 @@ class="d-inline-block justify-content-end" [locale]="user?.settings?.locale" [value]="element.accountCount" - > + /> @@ -128,7 +128,7 @@ class="d-inline-block justify-content-end" [locale]="user?.settings?.locale" [value]="element.transactionCount" - > + /> @@ -153,7 +153,7 @@ [locale]="user?.settings?.locale" [precision]="0" [value]="element.engagement" - > + /> diff --git a/apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.html b/apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.html index 7507f2e13..2022e421c 100644 --- a/apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.html +++ b/apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.html @@ -7,7 +7,7 @@ + />
@@ -50,7 +50,7 @@ height: '100%', width: '100%' }" - > + /> + />
diff --git a/apps/client/src/app/components/header/header.component.html b/apps/client/src/app/components/header/header.component.html index 4b6d6dffc..e192d7fee 100644 --- a/apps/client/src/app/components/header/header.component.html +++ b/apps/client/src/app/components/header/header.component.html @@ -7,7 +7,7 @@ [ngClass]="{ 'w-100': hasTabs }" [routerLink]="['/']" > - + @@ -165,6 +165,32 @@ /> + + Upgrade Plan + Renew Plan + +
+
diff --git a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html index 35074ec97..b76c2c892 100644 --- a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html +++ b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -61,7 +61,7 @@ class="mr-1" [tooltip]="platformEntry.name" [url]="platformEntry.url" - > + /> {{ platformEntry.name }} diff --git a/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html b/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html index b18ba9984..d2e9a03c2 100644 --- a/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html +++ b/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -17,8 +17,7 @@ class="mr-1" [tooltip]="account.Platform?.name" [url]="account.Platform?.url" - >{{ account.name }} + />{{ account.name }} @@ -35,8 +34,7 @@ class="mr-1" [tooltip]="account.Platform?.name" [url]="account.Platform?.url" - >{{ account.name }} + />{{ account.name }} diff --git a/apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.html b/apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.html index 093d62f05..c121fd95f 100644 --- a/apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.html +++ b/apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.html @@ -20,8 +20,8 @@ + /> + annual plan for ambitious investors who need the full picture of their financial assets.

diff --git a/apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.html b/apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.html index 352e0b5ce..e60aeda92 100644 --- a/apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.html +++ b/apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.html @@ -21,8 +21,8 @@ + /> + annual plan with our exclusive Black Week deal. Elevate your financial strategy with the power of Ghostfolio designed to give you the full picture of your assets. diff --git a/apps/client/src/app/pages/features/features-page.html b/apps/client/src/app/pages/features/features-page.html index 5ea587c9b..c7636ce08 100644 --- a/apps/client/src/app/pages/features/features-page.html +++ b/apps/client/src/app/pages/features/features-page.html @@ -142,7 +142,7 @@ + />

Check the rate of return of your portfolio for @@ -162,7 +162,7 @@ + />

Check the allocations of your portfolio by account, asset @@ -207,7 +207,7 @@

diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html index 0f68d6c88..6aa9ed9d2 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -82,8 +82,7 @@ class="mr-1" [tooltip]="account.Platform?.name" [url]="account.Platform?.url" - >{{ account.name }} + />{{ account.name }} @@ -357,7 +356,7 @@ [locale]="data.user?.settings?.locale" [unit]="activityForm.controls['currency']?.value ?? data.user?.settings?.baseCurrency" [value]="total" - > + />
@@ -85,8 +87,8 @@ > + /> + + /> @@ -119,7 +121,7 @@ [positions]="symbols" [showLabels]="deviceType !== 'mobile'" (proportionChartClicked)="onSymbolChartClicked($event)" - > + /> @@ -131,8 +133,8 @@ > + /> + + /> @@ -155,8 +157,8 @@ > + /> + + /> @@ -178,8 +180,8 @@ > + /> + + /> @@ -202,8 +204,8 @@ > + /> +
@@ -212,7 +214,7 @@ [format]="worldMapChartFormat" [isInPercent]="hasImpersonationId || user.settings.isRestrictedView" [locale]="user?.settings?.locale" - > + />
@@ -275,7 +277,7 @@ [locale]="user?.settings?.locale" [positions]="accounts" (proportionChartClicked)="onAccountChartClicked($event)" - > + />
@@ -287,8 +289,8 @@ > + /> + + />
@@ -310,8 +312,8 @@ > + /> + + /> diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.html b/apps/client/src/app/pages/portfolio/analysis/analysis-page.html index 0d69c7b05..7ce6a8d25 100644 --- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.html +++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.html @@ -7,14 +7,14 @@ [isLoading]="isLoadingBenchmarkComparator || isLoadingInvestmentChart" [options]="dateRangeOptions" (change)="onChangeDateRange($event.value)" - > + /> + /> }
@@ -30,7 +30,7 @@ [performanceDataItems]="performanceDataItemsInPercentage" [user]="user" (benchmarkChanged)="onChangeBenchmark($event)" - > + />
@@ -51,7 +51,7 @@ [locale]="user?.settings?.locale" [unit]="user?.settings?.baseCurrency" [value]="isLoadingInvestmentChart ? undefined : performance?.currentNetPerformance" - > + />
@@ -66,7 +66,7 @@ [isPercent]="true" [locale]="user?.settings?.locale" [value]="isLoadingInvestmentChart ? undefined : performance?.currentNetPerformancePercent" - > + />
@@ -81,7 +81,7 @@ [locale]="user?.settings?.locale" [unit]="user?.settings?.baseCurrency" [value]="isLoadingInvestmentChart ? undefined : (performance?.currentNetPerformanceWithCurrencyEffect === null ? null : performance?.currentNetPerformanceWithCurrencyEffect - performance?.currentNetPerformance)" - > + />
@@ -96,7 +96,7 @@ [isPercent]="true" [locale]="user?.settings?.locale" [value]="isLoadingInvestmentChart ? undefined : performance?.currentNetPerformancePercentWithCurrencyEffect - performance?.currentNetPerformancePercent" - > + />

@@ -112,7 +112,7 @@ [locale]="user?.settings?.locale" [unit]="user?.settings?.baseCurrency" [value]="isLoadingInvestmentChart ? undefined : performance?.currentNetPerformanceWithCurrencyEffect" - > + />
@@ -127,7 +127,7 @@ [isPercent]="true" [locale]="user?.settings?.locale" [value]="isLoadingInvestmentChart ? undefined : performance?.currentNetPerformancePercentWithCurrencyEffect" - > + />
@@ -167,7 +167,7 @@ [isPercent]="true" [locale]="user?.settings?.locale" [value]="position.netPerformancePercentage" - > + />
@@ -180,7 +180,7 @@ height: '1.5rem', width: '100%' }" - > + /> @@ -215,7 +215,7 @@ [isPercent]="true" [locale]="user?.settings?.locale" [value]="position.netPerformancePercentage" - > + /> @@ -228,7 +228,7 @@ height: '1.5rem', width: '100%' }" - > + /> @@ -245,7 +245,7 @@ + />
@@ -260,7 +260,7 @@ [isLoading]="isLoadingInvestmentChart" [locale]="user?.settings?.locale" [range]="user?.settings?.dateRange" - > + />
@@ -275,7 +275,7 @@ + /> + />
@@ -317,7 +317,7 @@ [locale]="user?.settings?.locale" [range]="user?.settings?.dateRange" [savingsRate]="savingsRate" - > + />
@@ -332,7 +332,7 @@ + /> + />
+ />
diff --git a/apps/client/src/app/pages/portfolio/fire/fire-page.html b/apps/client/src/app/pages/portfolio/fire/fire-page.html index 2e8522570..aa3c33a74 100644 --- a/apps/client/src/app/pages/portfolio/fire/fire-page.html +++ b/apps/client/src/app/pages/portfolio/fire/fire-page.html @@ -8,7 +8,7 @@ > + /> + /> @@ -35,7 +35,7 @@ > + />
+ /> + />
If you retire today, you would be able to withdraw @@ -63,7 +63,7 @@ [locale]="user?.settings?.locale" [unit]="user?.settings?.baseCurrency" [value]="withdrawalRatePerYear?.toNumber()" - > + /> per year or @@ -74,7 +74,7 @@ [locale]="user?.settings?.locale" [unit]="user?.settings?.baseCurrency" [value]="withdrawalRatePerMonth?.toNumber()" - > + /> per month, based on your total assets of + /> + and a withdrawal rate of 4%.
@@ -112,12 +112,12 @@ > + /> + />

@@ -125,12 +125,12 @@ > + />

+ />

@@ -138,12 +138,12 @@ > + />

+ />

@@ -151,12 +151,12 @@ > + />

+ />
diff --git a/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts b/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts index 5afb649b7..9413796f2 100644 --- a/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts +++ b/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -86,16 +86,14 @@ export class HoldingsPageComponent implements OnDestroy, OnInit { ? $localize`Filter by account or tag...` : ''; - return this.dataService.fetchPortfolioDetails({ - filters: this.activeFilters - }); + return this.fetchPortfolioDetails(); }), takeUntil(this.unsubscribeSubject) ) .subscribe((portfolioDetails) => { this.portfolioDetails = portfolioDetails; - this.initializeAnalysisData(); + this.initialize(); this.isLoading = false; @@ -146,17 +144,41 @@ export class HoldingsPageComponent implements OnDestroy, OnInit { ...tagFilters ]; + if (this.user?.settings?.isExperimentalFeatures === true) { + this.holdings = undefined; + + this.fetchPortfolioDetails() + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe((portfolioDetails) => { + this.portfolioDetails = portfolioDetails; + + this.initialize(); + + this.changeDetectorRef.markForCheck(); + }); + } + this.changeDetectorRef.markForCheck(); } }); } - public initialize() { - this.holdings = []; + public ngOnDestroy() { + this.unsubscribeSubject.next(); + this.unsubscribeSubject.complete(); } - public initializeAnalysisData() { - this.initialize(); + private fetchPortfolioDetails() { + return this.dataService.fetchPortfolioDetails({ + filters: + this.activeFilters.length > 0 + ? this.activeFilters + : this.userService.getFilters() + }); + } + + private initialize() { + this.holdings = []; for (const [symbol, holding] of Object.entries( this.portfolioDetails.holdings @@ -165,11 +187,6 @@ export class HoldingsPageComponent implements OnDestroy, OnInit { } } - public ngOnDestroy() { - this.unsubscribeSubject.next(); - this.unsubscribeSubject.complete(); - } - private openPositionDialog({ dataSource, symbol diff --git a/apps/client/src/app/pages/portfolio/holdings/holdings-page.html b/apps/client/src/app/pages/portfolio/holdings/holdings-page.html index 282dc5a00..c6251c184 100644 --- a/apps/client/src/app/pages/portfolio/holdings/holdings-page.html +++ b/apps/client/src/app/pages/portfolio/holdings/holdings-page.html @@ -2,12 +2,14 @@

Holdings

+ @if (!user?.settings?.isExperimentalFeatures) { + /> + }
@@ -18,7 +20,7 @@ [hasPermissionToCreateActivity]="hasPermissionToCreateOrder" [holdings]="holdings" [locale]="user?.settings?.locale" - > + />

Premium - +

diff --git a/apps/client/src/app/pages/public/public-page.html b/apps/client/src/app/pages/public/public-page.html index 3b39b8f1c..71cb2ec2d 100644 --- a/apps/client/src/app/pages/public/public-page.html +++ b/apps/client/src/app/pages/public/public-page.html @@ -20,7 +20,7 @@ [keys]="['symbol']" [positions]="symbols" [showLabels]="deviceType !== 'mobile'" - > + />
@@ -35,7 +35,7 @@ [keys]="['currency']" [maxItems]="10" [positions]="positions" - > + />
@@ -50,7 +50,7 @@ [keys]="['name']" [maxItems]="10" [positions]="sectors" - > + />
@@ -64,7 +64,7 @@ [isInPercent]="true" [keys]="['name']" [positions]="continents" - > + /> @@ -81,7 +81,7 @@ format="{0}%" [countries]="countries" [isInPercent]="true" - > + />
@@ -135,7 +135,7 @@ [hasPermissionToShowValues]="false" [holdings]="holdings" [pageSize]="7" - > + />
diff --git a/apps/client/src/app/pages/register/register-page.html b/apps/client/src/app/pages/register/register-page.html index 0d13a7f75..27aa5527e 100644 --- a/apps/client/src/app/pages/register/register-page.html +++ b/apps/client/src/app/pages/register/register-page.html @@ -9,7 +9,7 @@
- +

Wealth Management Software

diff --git a/apps/client/src/app/pages/webauthn/webauthn-page.html b/apps/client/src/app/pages/webauthn/webauthn-page.html index a81a9c6fc..a4b2a4e07 100644 --- a/apps/client/src/app/pages/webauthn/webauthn-page.html +++ b/apps/client/src/app/pages/webauthn/webauthn-page.html @@ -4,7 +4,7 @@
- +
diff --git a/apps/client/src/index.html b/apps/client/src/index.html index 47f2c3d1a..7447a2c78 100644 --- a/apps/client/src/index.html +++ b/apps/client/src/index.html @@ -48,7 +48,7 @@ - + diff --git a/libs/ui/src/lib/account-balances/account-balances.component.html b/libs/ui/src/lib/account-balances/account-balances.component.html index d0abbd117..3fb557211 100644 --- a/libs/ui/src/lib/account-balances/account-balances.component.html +++ b/libs/ui/src/lib/account-balances/account-balances.component.html @@ -26,7 +26,7 @@ [locale]="locale" [unit]="element?.Account?.currency" [value]="element?.value" - > + />
diff --git a/libs/ui/src/lib/activities-table-lazy/activities-table-lazy.component.html b/libs/ui/src/lib/activities-table-lazy/activities-table-lazy.component.html index 796aaa290..bc2851e97 100644 --- a/libs/ui/src/lib/activities-table-lazy/activities-table-lazy.component.html +++ b/libs/ui/src/lib/activities-table-lazy/activities-table-lazy.component.html @@ -120,7 +120,7 @@ [dataSource]="element.SymbolProfile?.dataSource" [symbol]="element.SymbolProfile?.symbol" [tooltip]="element.SymbolProfile?.name" - > + />
{{ element.dataSource }}
@@ -154,7 +154,7 @@ Type
@@ -188,7 +188,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : element.quantity" - > + /> @@ -212,7 +212,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : element.unitPrice" - > + /> @@ -236,7 +236,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : element.fee" - > + /> @@ -259,7 +259,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : element.value" - > + /> @@ -291,7 +291,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : element.valueInBaseCurrency" - > + /> @@ -307,7 +307,7 @@ class="mr-1" [tooltip]="element.Account?.Platform?.name" [url]="element.Account?.Platform?.url" - > + /> {{ element.Account?.name }} @@ -467,7 +467,7 @@ height: '1.5rem', width: '100%' }" -> +/> - + 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 e1c582e5f..8b696dfe1 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.html +++ b/libs/ui/src/lib/activities-table/activities-table.component.html @@ -4,7 +4,7 @@ [ngClass]="{ 'd-none': !hasPermissionToFilter }" [placeholder]="placeholder" (valueChanged)="filters$.next($event)" -> +/>
@@ -239,7 +239,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : element.quantity" - > + /> @@ -330,7 +330,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : element.value" - > + /> @@ -361,7 +361,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : element.valueInBaseCurrency" - > + /> @@ -393,7 +393,7 @@ class="mr-1" [tooltip]="element.Account?.Platform?.name" [url]="element.Account?.Platform?.url" - > + /> {{ element.Account?.name }} @@ -579,7 +579,7 @@ height: '1.5rem', width: '100%' }" -> +/>
- +
diff --git a/libs/ui/src/lib/assistant/assistant.component.ts b/libs/ui/src/lib/assistant/assistant.component.ts index 79ecce4b5..19cbaefcb 100644 --- a/libs/ui/src/lib/assistant/assistant.component.ts +++ b/libs/ui/src/lib/assistant/assistant.component.ts @@ -216,6 +216,12 @@ export class AssistantComponent implements OnChanges, OnDestroy, OnInit { ); } + public hasFilter(aFormValue: { [key: string]: string }) { + return Object.values(aFormValue).some((value) => { + return !!value; + }); + } + public async initialize() { this.isLoading = true; this.keyManager = new FocusKeyManager(this.assistantListItems).withWrap(); @@ -249,6 +255,21 @@ export class AssistantComponent implements OnChanges, OnDestroy, OnInit { this.closed.emit(); } + public onResetFilters() { + this.filtersChanged.emit([ + { + id: null, + type: 'ACCOUNT' + }, + { + id: null, + type: 'TAG' + } + ]); + + this.onCloseAssistant(); + } + public setIsOpen(aIsOpen: boolean) { this.isOpen = aIsOpen; } diff --git a/libs/ui/src/lib/assistant/assistant.html b/libs/ui/src/lib/assistant/assistant.html index 560705c0f..682d2227e 100644 --- a/libs/ui/src/lib/assistant/assistant.html +++ b/libs/ui/src/lib/assistant/assistant.html @@ -59,7 +59,7 @@ height: '1.5rem', width: '100%' }" - > + />
No entries...
@@ -80,7 +80,7 @@ height: '1.5rem', width: '100%' }" - > + />
No entries...
@@ -91,33 +91,25 @@ *ngIf="!(isLoading || searchFormControl.value) && user?.settings?.isExperimentalFeatures" class="filter-container" > +
+ + Date Range + + @for (range of dateRangeOptions; track range) { + {{ range.label }} + } + + +
- - Date Range -
- - - @for (range of dateRangeOptions; track range) { - {{ range.label }} - } - - -
-
+
+ +
diff --git a/libs/ui/src/lib/assistant/assistant.scss b/libs/ui/src/lib/assistant/assistant.scss index a2b6f1fa2..5003d1c39 100644 --- a/libs/ui/src/lib/assistant/assistant.scss +++ b/libs/ui/src/lib/assistant/assistant.scss @@ -3,7 +3,7 @@ .filter-container { .mat-mdc-tab-group { - max-height: 40vh; + max-height: 20vh; } ::ng-deep { diff --git a/libs/ui/src/lib/fire-calculator/fire-calculator.component.html b/libs/ui/src/lib/fire-calculator/fire-calculator.component.html index 17f1f623a..2ecf0d305 100644 --- a/libs/ui/src/lib/fire-calculator/fire-calculator.component.html +++ b/libs/ui/src/lib/fire-calculator/fire-calculator.component.html @@ -77,7 +77,7 @@ height: '100%', width: '100%' }" - > + /> + /> @@ -59,7 +59,7 @@ [isDate]="element.dateOfFirstActivity ? true : false" [locale]="locale" [value]="element.dateOfFirstActivity ?? ''" - > + /> @@ -83,7 +83,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : element.valueInBaseCurrency" - > + /> @@ -104,7 +104,7 @@ [isPercent]="true" [locale]="locale" [value]="isLoading ? undefined : element.allocationInPercentage" - > + /> @@ -126,7 +126,7 @@ [isPercent]="true" [locale]="locale" [value]="isLoading ? undefined : element.netPerformancePercent" - > + /> @@ -162,7 +162,7 @@ height: '1.5rem', width: '100%' }" -> +/>
- +
diff --git a/libs/ui/src/lib/holdings-table/holdings-table.component.ts b/libs/ui/src/lib/holdings-table/holdings-table.component.ts index e931c505e..18105861f 100644 --- a/libs/ui/src/lib/holdings-table/holdings-table.component.ts +++ b/libs/ui/src/lib/holdings-table/holdings-table.component.ts @@ -58,11 +58,11 @@ export class HoldingsTableComponent implements OnChanges, OnDestroy, OnInit { this.isLoading = true; - if (this.holdings) { - this.dataSource = new MatTableDataSource(this.holdings); - this.dataSource.paginator = this.paginator; - this.dataSource.sort = this.sort; + this.dataSource = new MatTableDataSource(this.holdings); + this.dataSource.paginator = this.paginator; + this.dataSource.sort = this.sort; + if (this.holdings) { this.isLoading = false; } } diff --git a/libs/ui/src/lib/line-chart/line-chart.component.html b/libs/ui/src/lib/line-chart/line-chart.component.html index 577920888..e60f964b7 100644 --- a/libs/ui/src/lib/line-chart/line-chart.component.html +++ b/libs/ui/src/lib/line-chart/line-chart.component.html @@ -5,7 +5,7 @@ height: '100%', width: '100%' }" -> +/>
- +
+/> +/> + />
diff --git a/package.json b/package.json index e4595bb67..01ba601ee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.45.0", + "version": "2.46.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio",
- + {{ exchangeRate.label1 }} = {{ exchangeRate.label2 }} diff --git a/apps/client/src/app/components/admin-platform/admin-platform.component.html b/apps/client/src/app/components/admin-platform/admin-platform.component.html index 9c7a76f97..bd7e82560 100644 --- a/apps/client/src/app/components/admin-platform/admin-platform.component.html +++ b/apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -35,7 +35,7 @@ class="d-inline mr-1" [tooltip]="element.name" [url]="element.url" - > + /> {{ element.name }} - + - + + /> + /> @@ -306,7 +306,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : totalFees" - > + /> @@ -341,7 +341,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : totalValue" - > + /> @@ -372,7 +372,7 @@ [isCurrency]="true" [locale]="locale" [value]="isLoading ? undefined : totalValue" - > + />