@ -3,7 +3,11 @@ import { GfDialogFooterModule } from '@ghostfolio/client/components/dialog-foote
import { GfDialogHeaderModule } from '@ghostfolio/client/components/dialog-header/dialog-header.module' ;
import { DataService } from '@ghostfolio/client/services/data.service' ;
import { UserService } from '@ghostfolio/client/services/user/user.service' ;
import { NUMERICAL_PRECISION_THRESHOLD } from '@ghostfolio/common/config' ;
import {
NUMERICAL_PRECISION_THRESHOLD_3_FIGURES ,
NUMERICAL_PRECISION_THRESHOLD_5_FIGURES ,
NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
} from '@ghostfolio/common/config' ;
import { DATE_FORMAT , downloadAsFile } from '@ghostfolio/common/helper' ;
import {
DataProviderInfo ,
@ -101,6 +105,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
public assetClass : string ;
public assetSubClass : string ;
public averagePrice : number ;
public averagePricePrecision = 2 ;
public benchmarkDataItems : LineChartItem [ ] ;
public benchmarkLabel = $localize ` Average Unit Price ` ;
public countries : {
@ -122,11 +127,15 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
public marketDataItems : MarketData [ ] = [ ] ;
public marketPrice : number ;
public marketPriceMax : number ;
public marketPriceMaxPrecision = 2 ;
public marketPriceMin : number ;
public marketPriceMinPrecision = 2 ;
public marketPricePrecision = 2 ;
public netPerformance : number ;
public netPerformancePrecision = 2 ;
public netPerformancePercent : number ;
public netPerformancePercentWithCurrencyEffect : number ;
public netPerformancePercentWithCurrencyEffectPrecision = 2 ;
public netPerformanceWithCurrencyEffect : number ;
public netPerformanceWithCurrencyEffectPrecision = 2 ;
public quantity : number ;
@ -274,6 +283,14 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
value
} ) = > {
this . averagePrice = averagePrice ;
if (
this . data . deviceType === 'mobile' &&
this . averagePrice >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
) {
this . averagePricePrecision = 0 ;
}
this . benchmarkDataItems = [ ] ;
this . countries = { } ;
this . dataProviderInfo = dataProviderInfo ;
@ -281,7 +298,8 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
if (
this . data . deviceType === 'mobile' &&
this . dividendInBaseCurrency >= NUMERICAL_PRECISION_THRESHOLD
this . dividendInBaseCurrency >=
NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
) {
this . dividendInBaseCurrencyPrecision = 0 ;
}
@ -320,19 +338,42 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
if (
this . data . deviceType === 'mobile' &&
this . investmentInBaseCurrencyWithCurrencyEffect >=
NUMERICAL_PRECISION_THRESHOLD
NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
) {
this . investmentInBaseCurrencyWithCurrencyEffectPrecision = 0 ;
}
this . marketPrice = marketPrice ;
this . marketPriceMax = marketPriceMax ;
if (
this . data . deviceType === 'mobile' &&
this . marketPriceMax >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
) {
this . marketPriceMaxPrecision = 0 ;
}
this . marketPriceMin = marketPriceMin ;
if (
this . data . deviceType === 'mobile' &&
this . marketPriceMin >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
) {
this . marketPriceMinPrecision = 0 ;
}
if (
this . data . deviceType === 'mobile' &&
this . marketPrice >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
) {
this . marketPricePrecision = 0 ;
}
this . netPerformance = netPerformance ;
if (
this . data . deviceType === 'mobile' &&
this . netPerformance >= NUMERICAL_PRECISION_THRESHOLD
this . netPerformance >= NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
) {
this . netPerformancePrecision = 0 ;
}
@ -342,13 +383,21 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
this . netPerformancePercentWithCurrencyEffect =
netPerformancePercentWithCurrencyEffect ;
if (
this . data . deviceType === 'mobile' &&
this . netPerformancePercentWithCurrencyEffect >=
NUMERICAL_PRECISION_THRESHOLD_3_FIGURES
) {
this . netPerformancePercentWithCurrencyEffectPrecision = 0 ;
}
this . netPerformanceWithCurrencyEffect =
netPerformanceWithCurrencyEffect ;
if (
this . data . deviceType === 'mobile' &&
this . netPerformanceWithCurrencyEffect >=
NUMERICAL_PRECISION_THRESHOLD
NUMERICAL_PRECISION_THRESHOLD_5_FIGURES
) {
this . netPerformanceWithCurrencyEffectPrecision = 0 ;
}