diff --git a/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.component.ts b/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.component.ts index e1b30a8ef..d98dc00df 100644 --- a/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.component.ts +++ b/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.component.ts @@ -32,6 +32,7 @@ export class CreateOrUpdateTransactionDialog { public currencies: Currency[] = []; public filteredLookupItems: Observable; public isLoading = false; + public currentMarketPrice = null; public platforms: { id: string; name: string }[]; public searchSymbolCtrl = new FormControl( this.data.transaction.symbol, @@ -65,6 +66,21 @@ export class CreateOrUpdateTransactionDialog { return []; }) ); + + if (this.data.transaction.symbol) { + this.dataService + .fetchSymbolItem(this.data.transaction.symbol) + .pipe(takeUntil(this.unsubscribeSubject)) + .subscribe(({ marketPrice }) => { + this.currentMarketPrice = marketPrice; + this.cd.markForCheck(); + }); + } + } + + public applyCurrentMarketPrice() { + this.data.transaction.unitPrice = this.currentMarketPrice; + this.cd.markForCheck(); } public onCancel(): void { @@ -81,7 +97,7 @@ export class CreateOrUpdateTransactionDialog { .subscribe(({ currency, dataSource, marketPrice }) => { this.data.transaction.currency = currency; this.data.transaction.dataSource = dataSource; - this.data.transaction.unitPrice = marketPrice; + this.currentMarketPrice = marketPrice; this.isLoading = false; diff --git a/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.html b/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.html index 3476ca15e..22043206f 100644 --- a/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.html +++ b/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.html @@ -110,7 +110,7 @@
- + Unit Price + Use current market price from {{ data.transaction.dataSource + }}
diff --git a/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.scss b/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.scss index 0ce226588..5d01ce270 100644 --- a/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.scss +++ b/apps/client/src/app/pages/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.scss @@ -29,6 +29,14 @@ color: var(--dark-primary-text); } } + + .hint-action { + color: var(--dark-primary-text); + text-decoration: underline; + &:hover { + cursor: pointer; + } + } } }