Feature/improve loading indicator of accounts table (#3761)
* Improve loading indicator * Update changelog
This commit is contained in:
parent
2bd14b135c
commit
3cd77523a1
@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
- Improved the loading indicator of the accounts table
|
||||||
- Improved the language localization for German (`de`)
|
- Improved the language localization for German (`de`)
|
||||||
- Improved the language localization for Polish (`pl`)
|
- Improved the language localization for Polish (`pl`)
|
||||||
|
|
||||||
|
@ -92,11 +92,11 @@ export class AccountsTableComponent implements OnChanges, OnDestroy, OnInit {
|
|||||||
|
|
||||||
this.isLoading = true;
|
this.isLoading = true;
|
||||||
|
|
||||||
if (this.accounts) {
|
this.dataSource = new MatTableDataSource(this.accounts);
|
||||||
this.dataSource = new MatTableDataSource(this.accounts);
|
this.dataSource.sort = this.sort;
|
||||||
this.dataSource.sort = this.sort;
|
this.dataSource.sortingDataAccessor = get;
|
||||||
this.dataSource.sortingDataAccessor = get;
|
|
||||||
|
|
||||||
|
if (this.accounts) {
|
||||||
this.isLoading = false;
|
this.isLoading = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,18 +136,18 @@ export class AccountsPageComponent implements OnDestroy, OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public onDeleteAccount(aId: string) {
|
public onDeleteAccount(aId: string) {
|
||||||
|
this.reset();
|
||||||
|
|
||||||
this.dataService
|
this.dataService
|
||||||
.deleteAccount(aId)
|
.deleteAccount(aId)
|
||||||
.pipe(takeUntil(this.unsubscribeSubject))
|
.pipe(takeUntil(this.unsubscribeSubject))
|
||||||
.subscribe({
|
.subscribe(() => {
|
||||||
next: () => {
|
this.userService
|
||||||
this.userService
|
.get(true)
|
||||||
.get(true)
|
.pipe(takeUntil(this.unsubscribeSubject))
|
||||||
.pipe(takeUntil(this.unsubscribeSubject))
|
.subscribe();
|
||||||
.subscribe();
|
|
||||||
|
|
||||||
this.fetchAccounts();
|
this.fetchAccounts();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,19 +193,21 @@ export class AccountsPageComponent implements OnDestroy, OnInit {
|
|||||||
.pipe(takeUntil(this.unsubscribeSubject))
|
.pipe(takeUntil(this.unsubscribeSubject))
|
||||||
.subscribe((account: UpdateAccountDto | null) => {
|
.subscribe((account: UpdateAccountDto | null) => {
|
||||||
if (account) {
|
if (account) {
|
||||||
|
this.reset();
|
||||||
|
|
||||||
this.dataService
|
this.dataService
|
||||||
.putAccount(account)
|
.putAccount(account)
|
||||||
.pipe(takeUntil(this.unsubscribeSubject))
|
.pipe(takeUntil(this.unsubscribeSubject))
|
||||||
.subscribe({
|
.subscribe(() => {
|
||||||
next: () => {
|
this.userService
|
||||||
this.userService
|
.get(true)
|
||||||
.get(true)
|
.pipe(takeUntil(this.unsubscribeSubject))
|
||||||
.pipe(takeUntil(this.unsubscribeSubject))
|
.subscribe();
|
||||||
.subscribe();
|
|
||||||
|
|
||||||
this.fetchAccounts();
|
this.fetchAccounts();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.changeDetectorRef.markForCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.router.navigate(['.'], { relativeTo: this.route });
|
this.router.navigate(['.'], { relativeTo: this.route });
|
||||||
@ -264,19 +266,21 @@ export class AccountsPageComponent implements OnDestroy, OnInit {
|
|||||||
.pipe(takeUntil(this.unsubscribeSubject))
|
.pipe(takeUntil(this.unsubscribeSubject))
|
||||||
.subscribe((account: CreateAccountDto | null) => {
|
.subscribe((account: CreateAccountDto | null) => {
|
||||||
if (account) {
|
if (account) {
|
||||||
|
this.reset();
|
||||||
|
|
||||||
this.dataService
|
this.dataService
|
||||||
.postAccount(account)
|
.postAccount(account)
|
||||||
.pipe(takeUntil(this.unsubscribeSubject))
|
.pipe(takeUntil(this.unsubscribeSubject))
|
||||||
.subscribe({
|
.subscribe(() => {
|
||||||
next: () => {
|
this.userService
|
||||||
this.userService
|
.get(true)
|
||||||
.get(true)
|
.pipe(takeUntil(this.unsubscribeSubject))
|
||||||
.pipe(takeUntil(this.unsubscribeSubject))
|
.subscribe();
|
||||||
.subscribe();
|
|
||||||
|
|
||||||
this.fetchAccounts();
|
this.fetchAccounts();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.changeDetectorRef.markForCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.router.navigate(['.'], { relativeTo: this.route });
|
this.router.navigate(['.'], { relativeTo: this.route });
|
||||||
@ -296,6 +300,8 @@ export class AccountsPageComponent implements OnDestroy, OnInit {
|
|||||||
.pipe(takeUntil(this.unsubscribeSubject))
|
.pipe(takeUntil(this.unsubscribeSubject))
|
||||||
.subscribe((data: any) => {
|
.subscribe((data: any) => {
|
||||||
if (data) {
|
if (data) {
|
||||||
|
this.reset();
|
||||||
|
|
||||||
const { accountIdFrom, accountIdTo, balance }: TransferBalanceDto =
|
const { accountIdFrom, accountIdTo, balance }: TransferBalanceDto =
|
||||||
data?.account;
|
data?.account;
|
||||||
|
|
||||||
@ -318,9 +324,18 @@ export class AccountsPageComponent implements OnDestroy, OnInit {
|
|||||||
.subscribe(() => {
|
.subscribe(() => {
|
||||||
this.fetchAccounts();
|
this.fetchAccounts();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.changeDetectorRef.markForCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.router.navigate(['.'], { relativeTo: this.route });
|
this.router.navigate(['.'], { relativeTo: this.route });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private reset() {
|
||||||
|
this.accounts = undefined;
|
||||||
|
this.totalBalanceInBaseCurrency = 0;
|
||||||
|
this.totalValueInBaseCurrency = 0;
|
||||||
|
this.transactionCount = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user