feat(tasks,shares): fix Share Account Edit Details routing/auto-select, popup compare dialog, redesign Approval Center filters
build-run / Run Lint, Build and Deploy (push) Canceled after 0s
Publish Image in Docker Hub / build (push) Canceled after 0s
Playwright E2E Tests / Run Playwright Tests (push) Canceled after 0s
Tests / testRigor (push) Canceled after 0s

- Register the missing edit-details route so the Share Account "Edit Details"
  maker-checker screen (already built) is actually reachable, and remove the
  stale hardcoded disable on its menu entry.
- Fix Terms step race: Default Savings Account, Total Shares and Application
  Date now display correctly in edit mode instead of racing an async
  product-template fetch or reusing pending-application-only fields.
- Show a client's linked share account number on the Savings Account General
  tab.
- Replace the inline diff panel on Pending Share Account Edits with a popup
  compare dialog (mirrors the savings equivalent), showing only fields that
  actually changed.
- Redesign Pending Share/Savings Account Edits, Share Withdrawal Requests,
  Dividend Requests and Share Addition Requests with a consistent header,
  search box and (where the data supports it) date-range filters, matching
  the existing Withdrawal Requests screen.
This commit is contained in:
2026-09-01 07:43:07 +05:30
parent 7a2cb25538
commit 9739ff0758
27 changed files with 2932 additions and 507 deletions
@@ -64,6 +64,8 @@ export class WithdrawalRequestsComponent implements OnInit {
activePreset: string = 'today';
loading = false;
loaded = false;
searchTerm = '';
private searchDebounce: ReturnType<typeof setTimeout> | null = null;
readonly datePresets = [
{ key: 'today', label: 'Today' },
@@ -96,7 +98,8 @@ export class WithdrawalRequestsComponent implements OnInit {
this.pageIndex * this.pageSize,
this.pageSize,
this.isoDate(this.fromDate),
this.isoDate(this.toDate)
this.isoDate(this.toDate),
this.searchTerm.trim() || undefined
)
.pipe(catchError(() => of({ pageItems: [], totalFilteredRecords: 0 })))
.subscribe((res: any) => {
@@ -107,6 +110,16 @@ export class WithdrawalRequestsComponent implements OnInit {
});
}
onSearchChange(): void {
if (this.searchDebounce) {
clearTimeout(this.searchDebounce);
}
this.searchDebounce = setTimeout(() => {
this.pageIndex = 0;
this.load();
}, 300);
}
onPageChange(event: PageEvent): void {
this.pageSize = event.pageSize;
this.pageIndex = event.pageIndex;