Browse Source

Usability improvements

* Disable the symbol input in edit mode
* Filter accounts by type (SECURITIES)
pull/483/head
Thomas 4 years ago
parent
commit
1e50ec1279
  1. 4
      apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.component.ts
  2. 4
      apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.html
  3. 3
      apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/interfaces/interfaces.ts
  4. 6
      apps/client/src/app/pages/portfolio/transactions/transactions-page.component.ts

4
apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.component.ts

@ -84,6 +84,10 @@ export class CreateOrUpdateTransactionDialog implements OnDestroy {
}) })
); );
if (this.data.transaction.id) {
this.searchSymbolCtrl.disable();
}
if (this.data.transaction.symbol) { if (this.data.transaction.symbol) {
this.dataService this.dataService
.fetchSymbolItem({ .fetchSymbolItem({

4
apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/create-or-update-transaction-dialog.html

@ -10,9 +10,7 @@
required required
[(value)]="data.transaction.accountId" [(value)]="data.transaction.accountId"
> >
<mat-option <mat-option *ngFor="let account of data.accounts" [value]="account.id"
*ngFor="let account of data.user?.accounts"
[value]="account.id"
>{{ account.name }}</mat-option >{{ account.name }}</mat-option
> >
</mat-select> </mat-select>

3
apps/client/src/app/pages/portfolio/transactions/create-or-update-transaction-dialog/interfaces/interfaces.ts

@ -1,8 +1,9 @@
import { User } from '@ghostfolio/common/interfaces'; import { User } from '@ghostfolio/common/interfaces';
import { Order } from '@prisma/client'; import { Account, Order } from '@prisma/client';
export interface CreateOrUpdateTransactionDialogParams { export interface CreateOrUpdateTransactionDialogParams {
accountId: string; accountId: string;
accounts: Account[];
transaction: Order; transaction: Order;
user: User; user: User;
} }

6
apps/client/src/app/pages/portfolio/transactions/transactions-page.component.ts

@ -261,6 +261,9 @@ export class TransactionsPageComponent implements OnDestroy, OnInit {
}: OrderModel): void { }: OrderModel): void {
const dialogRef = this.dialog.open(CreateOrUpdateTransactionDialog, { const dialogRef = this.dialog.open(CreateOrUpdateTransactionDialog, {
data: { data: {
accounts: this.user.accounts.filter((account) => {
return account.accountType === 'SECURITIES';
}),
transaction: { transaction: {
accountId, accountId,
currency, currency,
@ -343,6 +346,9 @@ export class TransactionsPageComponent implements OnDestroy, OnInit {
private openCreateTransactionDialog(aTransaction?: OrderModel): void { private openCreateTransactionDialog(aTransaction?: OrderModel): void {
const dialogRef = this.dialog.open(CreateOrUpdateTransactionDialog, { const dialogRef = this.dialog.open(CreateOrUpdateTransactionDialog, {
data: { data: {
accounts: this.user.accounts.filter((account) => {
return account.accountType === 'SECURITIES';
}),
transaction: { transaction: {
accountId: aTransaction?.accountId ?? this.defaultAccountId, accountId: aTransaction?.accountId ?? this.defaultAccountId,
currency: aTransaction?.currency ?? null, currency: aTransaction?.currency ?? null,

Loading…
Cancel
Save