From 3d1c41badcbbc16aef217729a80ad27989510237 Mon Sep 17 00:00:00 2001 From: Ramveer Date: Mon, 20 Jun 2022 11:41:42 +0530 Subject: [PATCH] fix: breadcrumbs issues on many screens (#1441) * fix: breadcrumbs issues on many screens * lint fix * minor lint fix --- src/app/centers/centers-routing.module.ts | 4 +- src/app/clients/clients-routing.module.ts | 3 + .../shell/breadcrumb/breadcrumb.component.ts | 34 ++++++++++- .../fixed-deposits-routing.module.ts | 4 +- src/app/groups/groups-routing.module.ts | 4 +- src/app/loans/loans-routing.module.ts | 4 +- src/app/products/products-routing.module.ts | 56 ++++++++++--------- src/app/savings/savings-routing.module.ts | 4 +- 8 files changed, 81 insertions(+), 32 deletions(-) diff --git a/src/app/centers/centers-routing.module.ts b/src/app/centers/centers-routing.module.ts index 4ae5eac9a..37cd4997e 100644 --- a/src/app/centers/centers-routing.module.ts +++ b/src/app/centers/centers-routing.module.ts @@ -51,12 +51,14 @@ const routes: Routes = [ { path: ':centerId', data: { title: extract('Centers View'), routeParamBreadcrumb: 'centerId' }, + resolve: { + centerViewData: CenterViewResolver, + }, children: [ { path: '', component: CentersViewComponent, resolve: { - centerViewData: CenterViewResolver, centerDatatables: CenterDatatablesResolver }, children: [ diff --git a/src/app/clients/clients-routing.module.ts b/src/app/clients/clients-routing.module.ts index 185a4ee9b..3317cc645 100644 --- a/src/app/clients/clients-routing.module.ts +++ b/src/app/clients/clients-routing.module.ts @@ -176,6 +176,9 @@ const routes: Routes = [ { path: ':clientId', data: { title: extract('Clients View'), routeParamBreadcrumb: 'clientId' }, + resolve: { + clientViewData: ClientViewResolver + }, children: [ { path: 'edit', diff --git a/src/app/core/shell/breadcrumb/breadcrumb.component.ts b/src/app/core/shell/breadcrumb/breadcrumb.component.ts index 2665c6499..7f177b206 100644 --- a/src/app/core/shell/breadcrumb/breadcrumb.component.ts +++ b/src/app/core/shell/breadcrumb/breadcrumb.component.ts @@ -1,6 +1,6 @@ /** Angular Imports */ import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router, NavigationEnd } from '@angular/router'; +import { ActivatedRoute, Router, NavigationEnd, Data } from '@angular/router'; /** rxjs Imports */ import { filter } from 'rxjs/operators'; @@ -104,6 +104,38 @@ export class BreadcrumbComponent implements OnInit { }); } else if (route.snapshot.data.hasOwnProperty(routeParamBreadcrumb) && route.snapshot.paramMap.get(route.snapshot.data[routeParamBreadcrumb])) { breadcrumbLabel = route.snapshot.paramMap.get(route.snapshot.data[routeParamBreadcrumb]); + const routeData: Data = route.snapshot.data; + if (routeData.breadcrumb === 'Clients') { + breadcrumbLabel = routeData.clientViewData.displayName; + } else if (routeData.breadcrumb === 'Groups') { + breadcrumbLabel = routeData.groupViewData.name; + } else if (routeData.breadcrumb === 'Centers') { + breadcrumbLabel = routeData.centerViewData.name; + } else if (routeData.breadcrumb === 'Loans') { + breadcrumbLabel = routeData.loanDetailsData.loanProductName + '(' + routeData.loanDetailsData.accountNo + ')'; + } else if (routeData.breadcrumb === 'Savings') { + breadcrumbLabel = routeData.savingsAccountData.savingsProductName + '(' + routeData.savingsAccountData.accountNo + ')'; + } else if (routeData.breadcrumb === 'Fixed Deposits') { + breadcrumbLabel = routeData.fixedDepositsAccountData.depositProductName + '(' + routeData.fixedDepositsAccountData.accountNo + ')'; + } else if (routeData.breadcrumb === 'Loan Products') { + breadcrumbLabel = routeData.loanProduct.name; + } else if (routeData.breadcrumb === 'Charges') { + breadcrumbLabel = routeData.charge.name; + } else if (routeData.breadcrumb === 'Saving Products') { + breadcrumbLabel = routeData.savingProduct.name; + } else if (routeData.breadcrumb === 'Share Products') { + breadcrumbLabel = routeData.shareProduct.name; + } else if (routeData.breadcrumb === 'Fixed Deposit Products') { + breadcrumbLabel = routeData.fixedDepositProduct.name; + } else if (routeData.breadcrumb === 'Recurring Deposit Products') { + breadcrumbLabel = routeData.recurringDepositProduct.name; + } else if (routeData.breadcrumb === 'Floating Rates') { + breadcrumbLabel = routeData.floatingRate.name; + } else if (routeData.breadcrumb === 'Tax Components') { + breadcrumbLabel = routeData.taxComponent.name; + } else if (routeData.breadcrumb === 'Tax Groups') { + breadcrumbLabel = routeData.taxGroup.name; + } } else if (route.snapshot.data.hasOwnProperty(routeDataBreadcrumb)) { breadcrumbLabel = route.snapshot.data[routeDataBreadcrumb]; } diff --git a/src/app/deposits/fixed-deposits/fixed-deposits-routing.module.ts b/src/app/deposits/fixed-deposits/fixed-deposits-routing.module.ts index c97ee2893..1fe848414 100644 --- a/src/app/deposits/fixed-deposits/fixed-deposits-routing.module.ts +++ b/src/app/deposits/fixed-deposits/fixed-deposits-routing.module.ts @@ -42,12 +42,14 @@ const routes: Routes = [ { path: ':fixedDepositAccountId', data: { title: extract('Fixed Deposit Account View'), routeParamBreadcrumb: 'fixedDepositAccountId' }, + resolve: { + fixedDepositsAccountData: FixedDepositsAccountViewResolver, + }, children: [ { path: '', component: FixedDepositAccountViewComponent, resolve: { - fixedDepositsAccountData: FixedDepositsAccountViewResolver, savingsDatatables: SavingsDatatablesResolver }, children: [ diff --git a/src/app/groups/groups-routing.module.ts b/src/app/groups/groups-routing.module.ts index 3a8978b71..e3399f418 100644 --- a/src/app/groups/groups-routing.module.ts +++ b/src/app/groups/groups-routing.module.ts @@ -53,12 +53,14 @@ const routes: Routes = [ { path: ':groupId', data: { title: extract('View Group'), routeParamBreadcrumb: 'groupId' }, + resolve: { + groupViewData: GroupViewResolver + }, children: [ { path: '', component: GroupsViewComponent, resolve: { - groupViewData: GroupViewResolver, groupDatatables: GroupDatatablesResolver }, children: [ diff --git a/src/app/loans/loans-routing.module.ts b/src/app/loans/loans-routing.module.ts index 0e25262c4..81b26a8d6 100644 --- a/src/app/loans/loans-routing.module.ts +++ b/src/app/loans/loans-routing.module.ts @@ -61,12 +61,14 @@ const routes: Routes = [ { path: ':loanId', data: { title: extract('Loan View'), routeParamBreadcrumb: 'loanId' }, + resolve: { + loanDetailsData: LoanDetailsResolver + }, children: [ { path: '', component: LoansViewComponent, resolve: { - loanDetailsData: LoanDetailsResolver, loanDatatables: LoanDatatablesResolver, }, children: [ diff --git a/src/app/products/products-routing.module.ts b/src/app/products/products-routing.module.ts index 477268717..63637a4e6 100644 --- a/src/app/products/products-routing.module.ts +++ b/src/app/products/products-routing.module.ts @@ -128,13 +128,13 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Loan Product'), routeParamBreadcrumb: 'id' }, + resolve: { + loanProduct: LoanProductResolver + }, children: [ { path: '', component: ViewLoanProductComponent, - resolve: { - loanProduct: LoanProductResolver - }, }, { path: 'edit', @@ -170,13 +170,13 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Saving Product'), routeParamBreadcrumb: 'id' }, + resolve: { + savingProduct: SavingProductResolver + }, children: [ { path: '', component: ViewSavingProductComponent, - resolve: { - savingProduct: SavingProductResolver - } }, { path: 'edit', @@ -212,13 +212,13 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Share Product'), routeParamBreadcrumb: 'id' }, + resolve: { + shareProduct: ShareProductResolver + }, children: [ { path: '', component: ViewShareProductComponent, - resolve: { - shareProduct: ShareProductResolver - }, }, { path: 'edit', @@ -291,13 +291,13 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Tax Component'), routeParamBreadcrumb: 'id' }, + resolve: { + taxComponent: TaxComponentResolver + }, children: [ { path: '', component: ViewTaxComponentComponent, - resolve: { - taxComponent: TaxComponentResolver - } }, { path: 'edit', @@ -333,13 +333,13 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Tax Group'), routeParamBreadcrumb: 'id' }, + resolve: { + taxGroup: TaxGroupResolver + }, children: [ { path: '', component: ViewTaxGroupComponent, - resolve: { - taxGroup: TaxGroupResolver - } }, { path: 'edit', @@ -377,12 +377,14 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Recurring Deposit Product'), routeParamBreadcrumb: 'id' }, + resolve: { + recurringDepositProduct: RecurringDepositProductResolver + }, children: [ { path: '', component: ViewRecurringDepositProductComponent, resolve: { - recurringDepositProduct: RecurringDepositProductResolver, recurringDepositProductsTemplate: RecurringDepositProductsTemplateResolver } }, @@ -420,12 +422,14 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Fixed Deposit Product'), routeParamBreadcrumb: 'id' }, + resolve: { + fixedDepositProduct: FixedDepositProductResolver, + }, children: [ { path: '', component: ViewFixedDepositProductComponent, resolve: { - fixedDepositProduct: FixedDepositProductResolver, fixedDepositProductsTemplate: FixedDepositProductsTemplateResolver } }, @@ -463,13 +467,13 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Product Mix'), routeParamBreadcrumb: 'id'}, + resolve: { + productMix: ViewProductMixResolver + }, children: [ { path: '', component: ViewProductMixComponent, - resolve: { - productMix: ViewProductMixResolver - } }, { path: 'edit', @@ -502,13 +506,13 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Floating Rate'), routeParamBreadcrumb: 'id' }, + resolve: { + floatingRate: FloatingRateResolver + }, children: [ { path: '', component: ViewFloatingRateComponent, - resolve: { - floatingRate: FloatingRateResolver - } }, { path: 'edit', @@ -544,13 +548,13 @@ const routes: Routes = [ { path: ':id', data: { title: extract('View Charges'), routeParamBreadcrumb: 'id' }, + resolve: { + charge: ChargeResolver + }, children: [ { path: '', component: ViewChargeComponent, - resolve: { - charge: ChargeResolver - } }, { path: 'edit', diff --git a/src/app/savings/savings-routing.module.ts b/src/app/savings/savings-routing.module.ts index 0743f5d48..e9a465fe0 100644 --- a/src/app/savings/savings-routing.module.ts +++ b/src/app/savings/savings-routing.module.ts @@ -49,12 +49,14 @@ const routes: Routes = [ { path: ':savingAccountId', data: { title: extract('Saving Account View'), routeParamBreadcrumb: 'savingAccountId' }, + resolve: { + savingsAccountData: SavingsAccountViewResolver + }, children: [ { path: '', component: SavingsAccountViewComponent, resolve: { - savingsAccountData: SavingsAccountViewResolver, savingsDatatables: SavingsDatatablesResolver }, children: [