From 080123eff014d538b1ebff74ecf908877b429de1 Mon Sep 17 00:00:00 2001 From: David Requeno Date: Sat, 6 Jun 2026 20:55:53 -0600 Subject: [PATCH] Task/add account balances management component and integrate into account detail dialog --- .../account-detail-dialog.html | 1 + .../account-balances.component.ts | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html index cd397e35e..4b652db96 100644 --- a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html +++ b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html @@ -148,6 +148,7 @@ [accountBalances]="accountBalances" [accountCurrency]="currency" [accountId]="data.accountId" + [currentBalance]="balance" [locale]="user?.settings?.locale" [showActions]=" !data.hasImpersonationId && diff --git a/libs/ui/src/lib/account-balances/account-balances.component.ts b/libs/ui/src/lib/account-balances/account-balances.component.ts index 7b26263b0..1a3082066 100644 --- a/libs/ui/src/lib/account-balances/account-balances.component.ts +++ b/libs/ui/src/lib/account-balances/account-balances.component.ts @@ -70,6 +70,7 @@ export class GfAccountBalancesComponent implements OnChanges, OnInit { input.required(); public readonly accountCurrency = input.required(); public readonly accountId = input.required(); + public readonly currentBalance = input(); public readonly displayedColumns: string[] = ['date', 'value', 'actions']; public readonly locale = input(getLocale()); public readonly showActions = input(true); @@ -102,6 +103,8 @@ export class GfAccountBalancesComponent implements OnChanges, OnInit { this.dataSource.sort = this.sort(); this.dataSource.sortingDataAccessor = get; } + + this.prefillAccountBalanceForm(); } public onDeleteAccountBalance(aId: string) { @@ -140,4 +143,17 @@ export class GfAccountBalancesComponent implements OnChanges, OnInit { this.accountBalanceCreated.emit(accountBalance); } + + private prefillAccountBalanceForm() { + const currentBalance = this.currentBalance(); + + if ( + typeof currentBalance !== 'number' || + !this.accountBalanceForm.controls.balance.pristine + ) { + return; + } + + this.accountBalanceForm.patchValue({ balance: currentBalance }); + } }