|
|
@ -5,7 +5,11 @@ import { |
|
|
PROPERTY_IS_DATA_GATHERING_ENABLED |
|
|
PROPERTY_IS_DATA_GATHERING_ENABLED |
|
|
} from '@ghostfolio/common/config'; |
|
|
} from '@ghostfolio/common/config'; |
|
|
import { UpdateAssetProfileDto } from '@ghostfolio/common/dtos'; |
|
|
import { UpdateAssetProfileDto } from '@ghostfolio/common/dtos'; |
|
|
import { DATE_FORMAT } from '@ghostfolio/common/helper'; |
|
|
import { |
|
|
|
|
|
DATE_FORMAT, |
|
|
|
|
|
getCurrencyFromSymbol, |
|
|
|
|
|
isCurrency |
|
|
|
|
|
} from '@ghostfolio/common/helper'; |
|
|
import { |
|
|
import { |
|
|
AdminMarketDataDetails, |
|
|
AdminMarketDataDetails, |
|
|
AssetClassSelectorOption, |
|
|
AssetClassSelectorOption, |
|
|
@ -138,7 +142,6 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit { |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
public assetSubClassOptions: AssetClassSelectorOption[] = []; |
|
|
public assetSubClassOptions: AssetClassSelectorOption[] = []; |
|
|
|
|
|
|
|
|
public assetProfile: AdminMarketDataDetails['assetProfile']; |
|
|
public assetProfile: AdminMarketDataDetails['assetProfile']; |
|
|
|
|
|
|
|
|
public assetProfileForm = this.formBuilder.group({ |
|
|
public assetProfileForm = this.formBuilder.group({ |
|
|
@ -180,12 +183,14 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit { |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
public benchmarks: Partial<SymbolProfile>[]; |
|
|
public benchmarks: Partial<SymbolProfile>[]; |
|
|
|
|
|
public canEditAssetProfile = true; |
|
|
|
|
|
|
|
|
public countries: { |
|
|
public countries: { |
|
|
[code: string]: { name: string; value: number }; |
|
|
[code: string]: { name: string; value: number }; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
public currencies: string[] = []; |
|
|
public currencies: string[] = []; |
|
|
|
|
|
|
|
|
public dateRangeOptions = [ |
|
|
public dateRangeOptions = [ |
|
|
{ |
|
|
{ |
|
|
label: $localize`Current week` + ' (' + $localize`WTD` + ')', |
|
|
label: $localize`Current week` + ' (' + $localize`WTD` + ')', |
|
|
@ -260,7 +265,7 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public get canSaveAssetProfileIdentifier() { |
|
|
public get canSaveAssetProfileIdentifier() { |
|
|
return !this.assetProfileForm.dirty; |
|
|
return !this.assetProfileForm.dirty && this.canEditAssetProfile; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public ngOnInit() { |
|
|
public ngOnInit() { |
|
|
@ -322,6 +327,10 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit { |
|
|
.subscribe(({ assetProfile, marketData }) => { |
|
|
.subscribe(({ assetProfile, marketData }) => { |
|
|
this.assetProfile = assetProfile; |
|
|
this.assetProfile = assetProfile; |
|
|
|
|
|
|
|
|
|
|
|
this.canEditAssetProfile = !isCurrency( |
|
|
|
|
|
getCurrencyFromSymbol(this.data.symbol) |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
this.assetClassLabel = translate(this.assetProfile?.assetClass); |
|
|
this.assetClassLabel = translate(this.assetProfile?.assetClass); |
|
|
this.assetSubClassLabel = translate(this.assetProfile?.assetSubClass); |
|
|
this.assetSubClassLabel = translate(this.assetProfile?.assetSubClass); |
|
|
this.countries = {}; |
|
|
this.countries = {}; |
|
|
@ -390,6 +399,10 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit { |
|
|
url: this.assetProfile?.url ?? '' |
|
|
url: this.assetProfile?.url ?? '' |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
if (!this.canEditAssetProfile) { |
|
|
|
|
|
this.assetProfileForm.disable(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
this.assetProfileForm.markAsPristine(); |
|
|
this.assetProfileForm.markAsPristine(); |
|
|
|
|
|
|
|
|
this.changeDetectorRef.markForCheck(); |
|
|
this.changeDetectorRef.markForCheck(); |
|
|
@ -399,7 +412,9 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit { |
|
|
public onCancelEditAssetProfileIdentifierMode() { |
|
|
public onCancelEditAssetProfileIdentifierMode() { |
|
|
this.isEditAssetProfileIdentifierMode = false; |
|
|
this.isEditAssetProfileIdentifierMode = false; |
|
|
|
|
|
|
|
|
this.assetProfileForm.enable(); |
|
|
if (this.canEditAssetProfile) { |
|
|
|
|
|
this.assetProfileForm.enable(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
this.assetProfileIdentifierForm.reset(); |
|
|
this.assetProfileIdentifierForm.reset(); |
|
|
} |
|
|
} |
|
|
|