Browse Source

Introduce isLoading attribute

pull/7540/head
Thomas Kaul 4 weeks ago
parent
commit
405d38c6d2
  1. 3
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts
  2. 7
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
  3. 3
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
  4. 10
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
  5. 3
      apps/client/src/app/components/admin-overview/admin-overview.html
  6. 3
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts
  7. 14
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
  8. 6
      apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
  9. 3
      apps/client/src/app/components/user-account-settings/user-account-settings.component.ts
  10. 1
      apps/client/src/app/components/user-account-settings/user-account-settings.html
  11. 4
      apps/client/src/app/pages/portfolio/allocations/allocations-page.html
  12. 3
      libs/ui/src/lib/benchmark/benchmark-detail-dialog/benchmark-detail-dialog.component.ts
  13. 1
      libs/ui/src/lib/benchmark/benchmark-detail-dialog/benchmark-detail-dialog.html

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

@ -102,6 +102,7 @@ export class GfAccountDetailDialogComponent implements OnInit {
protected holdings: PortfolioPosition[]; protected holdings: PortfolioPosition[];
protected interestInBaseCurrency: number; protected interestInBaseCurrency: number;
protected interestInBaseCurrencyPrecision = 2; protected interestInBaseCurrencyPrecision = 2;
protected isLoading = true;
protected isLoadingChart: boolean; protected isLoadingChart: boolean;
protected name: string | null; protected name: string | null;
protected pageIndex = 0; protected pageIndex = 0;
@ -302,6 +303,8 @@ export class GfAccountDetailDialogComponent implements OnInit {
this.valueInBaseCurrency = valueInBaseCurrency; this.valueInBaseCurrency = valueInBaseCurrency;
this.isLoading = false;
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();
} }
); );

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

@ -12,6 +12,7 @@
<gf-value <gf-value
size="large" size="large"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[unit]="user?.settings?.baseCurrency" [unit]="user?.settings?.baseCurrency"
[value]="valueInBaseCurrency" [value]="valueInBaseCurrency"
@ -48,6 +49,7 @@
i18n i18n
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[precision]="balancePrecision" [precision]="balancePrecision"
[unit]="currency" [unit]="currency"
@ -60,6 +62,7 @@
i18n i18n
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[precision]="equityPrecision" [precision]="equityPrecision"
[unit]="currency" [unit]="currency"
@ -72,6 +75,7 @@
i18n i18n
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[precision]="interestInBaseCurrencyPrecision" [precision]="interestInBaseCurrencyPrecision"
[unit]="user?.settings?.baseCurrency" [unit]="user?.settings?.baseCurrency"
@ -84,6 +88,7 @@
i18n i18n
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[precision]="dividendInBaseCurrencyPrecision" [precision]="dividendInBaseCurrencyPrecision"
[unit]="user?.settings?.baseCurrency" [unit]="user?.settings?.baseCurrency"
@ -94,6 +99,7 @@
<div class="col-6 mb-3"> <div class="col-6 mb-3">
<gf-value <gf-value
size="medium" size="medium"
[isLoading]="isLoading"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[value]="activitiesCount" [value]="activitiesCount"
> >
@ -108,6 +114,7 @@
<gf-value <gf-value
i18n i18n
size="medium" size="medium"
[isLoading]="isLoading"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[value]="platformName" [value]="platformName"
>Platform</gf-value >Platform</gf-value

3
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts

@ -283,6 +283,7 @@ export class GfAssetProfileDialogComponent implements OnInit {
protected isBenchmark = false; protected isBenchmark = false;
protected isDataGatheringEnabled: boolean; protected isDataGatheringEnabled: boolean;
protected isEditAssetProfileIdentifierMode = false; protected isEditAssetProfileIdentifierMode = false;
protected isLoading = true;
protected readonly isUUID = isUUID; protected readonly isUUID = isUUID;
protected marketDataItems: MarketData[] = []; protected marketDataItems: MarketData[] = [];
@ -496,6 +497,8 @@ export class GfAssetProfileDialogComponent implements OnInit {
this.assetProfileForm.markAsPristine(); this.assetProfileForm.markAsPristine();
this.isLoading = false;
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();
}); });
} }

10
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html

@ -183,6 +183,7 @@
i18n i18n
size="medium" size="medium"
[enableCopyToClipboardButton]="true" [enableCopyToClipboardButton]="true"
[isLoading]="isLoading"
[value]="assetProfile?.symbol" [value]="assetProfile?.symbol"
>Symbol</gf-value >Symbol</gf-value
> >
@ -191,6 +192,7 @@
<gf-value <gf-value
i18n i18n
size="medium" size="medium"
[isLoading]="isLoading"
[value]=" [value]="
assetProfile?.dataProviderInfo?.name ?? assetProfile?.dataProviderInfo?.name ??
assetProfile?.dataSource assetProfile?.dataSource
@ -213,7 +215,11 @@
</div> </div>
} }
<div class="col-6 mb-3"> <div class="col-6 mb-3">
<gf-value i18n size="medium" [value]="assetProfile?.currency" <gf-value
i18n
size="medium"
[isLoading]="isLoading"
[value]="assetProfile?.currency"
>Currency</gf-value >Currency</gf-value
> >
</div> </div>
@ -231,6 +237,7 @@
i18n i18n
size="medium" size="medium"
[isDate]="assetProfile?.dateOfFirstActivity ? true : false" [isDate]="assetProfile?.dateOfFirstActivity ? true : false"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[value]="assetProfile?.dateOfFirstActivity ?? '-'" [value]="assetProfile?.dateOfFirstActivity ?? '-'"
>First Activity</gf-value >First Activity</gf-value
@ -240,6 +247,7 @@
<gf-value <gf-value
i18n i18n
size="medium" size="medium"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[value]="assetProfile?.activitiesCount" [value]="assetProfile?.activitiesCount"
>Activities</gf-value >Activities</gf-value

3
apps/client/src/app/components/admin-overview/admin-overview.html

@ -7,6 +7,7 @@
i18n i18n
size="large" size="large"
[enableCopyToClipboardButton]="true" [enableCopyToClipboardButton]="true"
[isLoading]="isLoading"
[value]="version" [value]="version"
>Version</gf-value >Version</gf-value
> >
@ -19,6 +20,7 @@
<gf-value <gf-value
i18n i18n
size="large" size="large"
[isLoading]="isLoading"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[value]="userCount" [value]="userCount"
>Users</gf-value >Users</gf-value
@ -32,6 +34,7 @@
<gf-value <gf-value
i18n i18n
size="large" size="large"
[isLoading]="isLoading"
[locale]="user?.settings?.locale" [locale]="user?.settings?.locale"
[subLabel]="activitiesCountPerUser" [subLabel]="activitiesCountPerUser"
[value]="activitiesCount" [value]="activitiesCount"

3
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts

@ -157,6 +157,7 @@ export class GfHoldingDetailDialogComponent implements OnInit {
}>; }>;
protected investmentInBaseCurrencyWithCurrencyEffect: number; protected investmentInBaseCurrencyWithCurrencyEffect: number;
protected investmentInBaseCurrencyWithCurrencyEffectPrecision = 2; protected investmentInBaseCurrencyWithCurrencyEffectPrecision = 2;
protected isLoading = true;
protected readonly isUUID = isUUID; protected readonly isUUID = isUUID;
protected marketDataItems: MarketData[] = []; protected marketDataItems: MarketData[] = [];
protected marketPrice: number; protected marketPrice: number;
@ -571,6 +572,8 @@ export class GfHoldingDetailDialogComponent implements OnInit {
this.fetchMarketData(); this.fetchMarketData();
} }
this.isLoading = false;
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();
} }
); );

14
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html

@ -12,6 +12,7 @@
<gf-value <gf-value
size="large" size="large"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[unit]="data.baseCurrency" [unit]="data.baseCurrency"
[value]="value" [value]="value"
@ -55,6 +56,7 @@
size="medium" size="medium"
[colorizeSign]="true" [colorizeSign]="true"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[precision]="netPerformanceWithCurrencyEffectPrecision" [precision]="netPerformanceWithCurrencyEffectPrecision"
[unit]="data.baseCurrency" [unit]="data.baseCurrency"
@ -75,6 +77,7 @@
i18n i18n
size="medium" size="medium"
[colorizeSign]="true" [colorizeSign]="true"
[isLoading]="isLoading"
[isPercent]="true" [isPercent]="true"
[locale]="data.locale" [locale]="data.locale"
[precision]="netPerformancePercentWithCurrencyEffectPrecision" [precision]="netPerformancePercentWithCurrencyEffectPrecision"
@ -95,6 +98,7 @@
i18n i18n
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[precision]="averagePricePrecision" [precision]="averagePricePrecision"
[unit]="assetProfile?.currency" [unit]="assetProfile?.currency"
@ -107,6 +111,7 @@
i18n i18n
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[precision]="marketPricePrecision" [precision]="marketPricePrecision"
[unit]="assetProfile?.currency" [unit]="assetProfile?.currency"
@ -125,6 +130,7 @@
round(marketPriceMin, marketPriceMinPrecision) round(marketPriceMin, marketPriceMinPrecision)
" "
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[precision]="marketPriceMinPrecision" [precision]="marketPriceMinPrecision"
[unit]="assetProfile?.currency" [unit]="assetProfile?.currency"
@ -143,6 +149,7 @@
round(marketPriceMin, marketPriceMinPrecision) round(marketPriceMin, marketPriceMinPrecision)
" "
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[precision]="marketPriceMaxPrecision" [precision]="marketPriceMaxPrecision"
[unit]="assetProfile?.currency" [unit]="assetProfile?.currency"
@ -154,6 +161,7 @@
<gf-value <gf-value
i18n i18n
size="medium" size="medium"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[precision]="quantityPrecision" [precision]="quantityPrecision"
[value]="quantity" [value]="quantity"
@ -165,6 +173,7 @@
i18n i18n
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[precision]=" [precision]="
investmentInBaseCurrencyWithCurrencyEffectPrecision investmentInBaseCurrencyWithCurrencyEffectPrecision
@ -182,6 +191,7 @@
i18n i18n
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[precision]="dividendInBaseCurrencyPrecision" [precision]="dividendInBaseCurrencyPrecision"
[unit]="data.baseCurrency" [unit]="data.baseCurrency"
@ -193,6 +203,7 @@
<gf-value <gf-value
i18n i18n
size="medium" size="medium"
[isLoading]="isLoading"
[isPercent]="true" [isPercent]="true"
[locale]="data.locale" [locale]="data.locale"
[value]="dividendYieldPercentWithCurrencyEffect" [value]="dividendYieldPercentWithCurrencyEffect"
@ -205,6 +216,7 @@
i18n i18n
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[unit]="data.baseCurrency" [unit]="data.baseCurrency"
[value]="feeInBaseCurrency" [value]="feeInBaseCurrency"
@ -217,6 +229,7 @@
size="medium" size="medium"
[deviceType]="data.deviceType" [deviceType]="data.deviceType"
[isDate]="true" [isDate]="true"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[value]="dateOfFirstActivity" [value]="dateOfFirstActivity"
>First Activity</gf-value >First Activity</gf-value
@ -225,6 +238,7 @@
<div class="col-6 mb-3"> <div class="col-6 mb-3">
<gf-value <gf-value
size="medium" size="medium"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[value]="activitiesCount" [value]="activitiesCount"
> >

6
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html

@ -2,7 +2,11 @@
<div class="flex-nowrap px-3 py-1 row"> <div class="flex-nowrap px-3 py-1 row">
<div class="flex-grow-1 text-truncate" i18n>Time in Market</div> <div class="flex-grow-1 text-truncate" i18n>Time in Market</div>
<div class="justify-content-end"> <div class="justify-content-end">
<gf-value class="justify-content-end" [value]="timeInMarket" /> <gf-value
class="justify-content-end"
[isLoading]="isLoading"
[value]="timeInMarket"
/>
</div> </div>
</div> </div>
<div <div

3
apps/client/src/app/components/user-account-settings/user-account-settings.component.ts

@ -87,6 +87,7 @@ export class GfUserAccountSettingsComponent implements OnInit {
protected hasPermissionToUpdateUserSettings: boolean; protected hasPermissionToUpdateUserSettings: boolean;
protected isAccessTokenHidden = true; protected isAccessTokenHidden = true;
protected readonly isFingerprintSupported = this.doesBrowserSupportAuthn(); protected readonly isFingerprintSupported = this.doesBrowserSupportAuthn();
protected isLoading = true;
protected isWebAuthnEnabled: boolean; protected isWebAuthnEnabled: boolean;
protected readonly language = document.documentElement.lang; protected readonly language = document.documentElement.lang;
protected locales = [ protected locales = [
@ -178,6 +179,8 @@ export class GfUserAccountSettingsComponent implements OnInit {
this.locales = Array.from(new Set(this.locales)).sort(); this.locales = Array.from(new Set(this.locales)).sort();
this.isLoading = false;
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();
} }
}); });

1
apps/client/src/app/components/user-account-settings/user-account-settings.html

@ -273,6 +273,7 @@
<gf-value <gf-value
class="text-monospace" class="text-monospace"
[enableCopyToClipboardButton]="true" [enableCopyToClipboardButton]="true"
[isLoading]="isLoading"
[value]="user?.id" [value]="user?.id"
/> />
</div> </div>

4
apps/client/src/app/pages/portfolio/allocations/allocations-page.html

@ -210,6 +210,7 @@
<gf-value <gf-value
i18n i18n
size="large" size="large"
[isLoading]="isLoading"
[isPercent]="true" [isPercent]="true"
[value]="markets?.developedMarkets?.valueInPercentage" [value]="markets?.developedMarkets?.valueInPercentage"
>Developed Markets</gf-value >Developed Markets</gf-value
@ -219,6 +220,7 @@
<gf-value <gf-value
i18n i18n
size="large" size="large"
[isLoading]="isLoading"
[isPercent]="true" [isPercent]="true"
[value]="markets?.emergingMarkets?.valueInPercentage" [value]="markets?.emergingMarkets?.valueInPercentage"
>Emerging Markets</gf-value >Emerging Markets</gf-value
@ -228,6 +230,7 @@
<gf-value <gf-value
i18n i18n
size="large" size="large"
[isLoading]="isLoading"
[isPercent]="true" [isPercent]="true"
[value]="markets?.otherMarkets?.valueInPercentage" [value]="markets?.otherMarkets?.valueInPercentage"
>Other Markets</gf-value >Other Markets</gf-value
@ -238,6 +241,7 @@
<gf-value <gf-value
i18n i18n
size="large" size="large"
[isLoading]="isLoading"
[isPercent]="true" [isPercent]="true"
[value]="markets?.[UNKNOWN_KEY]?.valueInPercentage" [value]="markets?.[UNKNOWN_KEY]?.valueInPercentage"
>No data available</gf-value >No data available</gf-value

3
libs/ui/src/lib/benchmark/benchmark-detail-dialog/benchmark-detail-dialog.component.ts

@ -46,6 +46,7 @@ import { BenchmarkDetailDialogParams } from './interfaces/interfaces';
export class GfBenchmarkDetailDialogComponent implements OnInit { export class GfBenchmarkDetailDialogComponent implements OnInit {
public assetProfile: AdminMarketDataDetails['assetProfile']; public assetProfile: AdminMarketDataDetails['assetProfile'];
public historicalDataItems: LineChartItem[]; public historicalDataItems: LineChartItem[];
public isLoading = true;
public value: number; public value: number;
public constructor( public constructor(
@ -79,6 +80,8 @@ export class GfBenchmarkDetailDialogComponent implements OnInit {
} }
); );
this.isLoading = false;
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();
}); });
} }

1
libs/ui/src/lib/benchmark/benchmark-detail-dialog/benchmark-detail-dialog.html

@ -11,6 +11,7 @@
<div class="col-12 d-flex justify-content-center mb-3"> <div class="col-12 d-flex justify-content-center mb-3">
<gf-value <gf-value
size="large" size="large"
[isLoading]="isLoading"
[locale]="data.locale" [locale]="data.locale"
[precision]="2" [precision]="2"
[value]="value" [value]="value"

Loading…
Cancel
Save