Browse Source
Add duplicate action on transactions table (#68)
* feat: add duplicate action on transactions table
* fix: review changes
* fix: add type and dataSource
pull/70/head
Mantovani Gabriele
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with
19 additions and
5 deletions
-
apps/client/src/app/components/transactions-table/transactions-table.component.html
-
apps/client/src/app/components/transactions-table/transactions-table.component.ts
-
apps/client/src/app/pages/transactions/transactions-page.component.ts
-
apps/client/src/app/pages/transactions/transactions-page.html
|
|
@ -177,6 +177,9 @@ |
|
|
|
<button i18n mat-menu-item (click)="onUpdateTransaction(element)"> |
|
|
|
Edit |
|
|
|
</button> |
|
|
|
<button i18n mat-menu-item (click)="onCloneTransaction(element)"> |
|
|
|
Clone |
|
|
|
</button> |
|
|
|
<button i18n mat-menu-item (click)="onDeleteTransaction(element.id)"> |
|
|
|
Delete |
|
|
|
</button> |
|
|
|
|
|
@ -35,6 +35,7 @@ export class TransactionsTableComponent |
|
|
|
@Input() transactions: OrderModel[]; |
|
|
|
|
|
|
|
@Output() transactionDeleted = new EventEmitter<string>(); |
|
|
|
@Output() transactionToClone = new EventEmitter<OrderModel>(); |
|
|
|
@Output() transactionToUpdate = new EventEmitter<OrderModel>(); |
|
|
|
|
|
|
|
@ViewChild(MatSort) sort: MatSort; |
|
|
@ -123,6 +124,10 @@ export class TransactionsTableComponent |
|
|
|
this.transactionToUpdate.emit(aTransaction); |
|
|
|
} |
|
|
|
|
|
|
|
public onCloneTransaction(aTransaction: OrderModel) { |
|
|
|
this.transactionToClone.emit(aTransaction); |
|
|
|
} |
|
|
|
|
|
|
|
public openPositionDialog({ |
|
|
|
symbol, |
|
|
|
title |
|
|
|
|
|
@ -109,6 +109,10 @@ export class TransactionsPageComponent implements OnInit { |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
public onCloneTransaction(aTransaction: OrderModel) { |
|
|
|
this.openCreateTransactionDialog(aTransaction); |
|
|
|
} |
|
|
|
|
|
|
|
public onDeleteTransaction(aId: string) { |
|
|
|
this.dataService.deleteOrder(aId).subscribe({ |
|
|
|
next: () => { |
|
|
@ -175,20 +179,21 @@ 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, |
|
|
|
transaction: { |
|
|
|
accountId: this.user?.accounts.find((account) => { |
|
|
|
accountId: aTransaction?.accountId ?? this.user?.accounts.find((account) => { |
|
|
|
return account.isDefault; |
|
|
|
})?.id, |
|
|
|
currency: null, |
|
|
|
currency: aTransaction?.currency ?? null, |
|
|
|
dataSource: aTransaction?.dataSource ?? null, |
|
|
|
date: new Date(), |
|
|
|
fee: 0, |
|
|
|
quantity: null, |
|
|
|
symbol: null, |
|
|
|
type: 'BUY', |
|
|
|
symbol: aTransaction?.symbol ?? null, |
|
|
|
type: aTransaction?.type ?? 'BUY', |
|
|
|
unitPrice: null |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
@ -9,6 +9,7 @@ |
|
|
|
[showActions]="!hasImpersonationId && hasPermissionToDeleteOrder" |
|
|
|
[transactions]="transactions" |
|
|
|
(transactionDeleted)="onDeleteTransaction($event)" |
|
|
|
(transactionToClone)="onCloneTransaction($event)" |
|
|
|
(transactionToUpdate)="onUpdateTransaction($event)" |
|
|
|
></gf-transactions-table> |
|
|
|
</div> |
|
|
|