Browse Source

feat: add duplicate action on transactions table

pull/68/head
mantovanig 4 years ago
parent
commit
d77b12a8a2
  1. 3
      apps/client/src/app/components/transactions-table/transactions-table.component.html
  2. 5
      apps/client/src/app/components/transactions-table/transactions-table.component.ts
  3. 10
      apps/client/src/app/pages/transactions/transactions-page.component.ts
  4. 1
      apps/client/src/app/pages/transactions/transactions-page.html

3
apps/client/src/app/components/transactions-table/transactions-table.component.html

@ -177,6 +177,9 @@
<button i18n mat-menu-item (click)="onUpdateTransaction(element)">
Edit
</button>
<button i18n mat-menu-item (click)="onDuplicateTransaction(element)">
Duplicate
</button>
<button i18n mat-menu-item (click)="onDeleteTransaction(element.id)">
Delete
</button>

5
apps/client/src/app/components/transactions-table/transactions-table.component.ts

@ -36,6 +36,7 @@ export class TransactionsTableComponent
@Output() transactionDeleted = new EventEmitter<string>();
@Output() transactionToUpdate = new EventEmitter<OrderModel>();
@Output() transactionToDuplicate = new EventEmitter<OrderModel>();
@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

10
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
}

1
apps/client/src/app/pages/transactions/transactions-page.html

@ -10,6 +10,7 @@
[transactions]="transactions"
(transactionDeleted)="onDeleteTransaction($event)"
(transactionToUpdate)="onUpdateTransaction($event)"
(transactionToDuplicate)="onDuplicateTransaction($event)"
></gf-transactions-table>
</div>
</div>

Loading…
Cancel
Save