diff --git a/apps/client/src/app/components/transactions-table/transactions-table.component.html b/apps/client/src/app/components/transactions-table/transactions-table.component.html
index 7c0bd479d..e5c7c11e3 100644
--- a/apps/client/src/app/components/transactions-table/transactions-table.component.html
+++ b/apps/client/src/app/components/transactions-table/transactions-table.component.html
@@ -177,6 +177,9 @@
+
diff --git a/apps/client/src/app/components/transactions-table/transactions-table.component.ts b/apps/client/src/app/components/transactions-table/transactions-table.component.ts
index b4d20b33f..eeacbbfc3 100644
--- a/apps/client/src/app/components/transactions-table/transactions-table.component.ts
+++ b/apps/client/src/app/components/transactions-table/transactions-table.component.ts
@@ -36,6 +36,7 @@ export class TransactionsTableComponent
@Output() transactionDeleted = new EventEmitter();
@Output() transactionToUpdate = new EventEmitter();
+ @Output() transactionToDuplicate = new EventEmitter();
@ViewChild(MatSort) sort: MatSort;
@@ -123,6 +124,10 @@ export class TransactionsTableComponent
this.transactionToUpdate.emit(aTransaction);
}
+ public onDuplicateTransaction(aTransaction: OrderModel) {
+ this.transactionToDuplicate.emit(aTransaction);
+ }
+
public openPositionDialog({
symbol,
title
diff --git a/apps/client/src/app/pages/transactions/transactions-page.component.ts b/apps/client/src/app/pages/transactions/transactions-page.component.ts
index ef02e49c0..e56dba3eb 100644
--- a/apps/client/src/app/pages/transactions/transactions-page.component.ts
+++ b/apps/client/src/app/pages/transactions/transactions-page.component.ts
@@ -123,6 +123,10 @@ export class TransactionsPageComponent implements OnInit {
});
}
+ public onDuplicateTransaction(aTransaction: OrderModel) {
+ this.openCreateTransactionDialog(aTransaction);
+ }
+
public openUpdateTransactionDialog({
accountId,
currency,
@@ -175,7 +179,7 @@ export class TransactionsPageComponent implements OnInit {
this.unsubscribeSubject.complete();
}
- private openCreateTransactionDialog(): void {
+ private openCreateTransactionDialog(aTransaction?: OrderModel): void {
const dialogRef = this.dialog.open(CreateOrUpdateTransactionDialog, {
data: {
accounts: this.user?.accounts,
@@ -183,11 +187,11 @@ export class TransactionsPageComponent implements OnInit {
accountId: this.user?.accounts.find((account) => {
return account.isDefault;
})?.id,
- currency: null,
+ currency: aTransaction?.currency || null,
date: new Date(),
fee: 0,
quantity: null,
- symbol: null,
+ symbol: aTransaction?.symbol || null,
type: 'BUY',
unitPrice: null
}
diff --git a/apps/client/src/app/pages/transactions/transactions-page.html b/apps/client/src/app/pages/transactions/transactions-page.html
index d290f54ed..41d9131b9 100644
--- a/apps/client/src/app/pages/transactions/transactions-page.html
+++ b/apps/client/src/app/pages/transactions/transactions-page.html
@@ -10,6 +10,7 @@
[transactions]="transactions"
(transactionDeleted)="onDeleteTransaction($event)"
(transactionToUpdate)="onUpdateTransaction($event)"
+ (transactionToDuplicate)="onDuplicateTransaction($event)"
>