From b494c9551ecff6d5159ed30cd24f1566ff921a01 Mon Sep 17 00:00:00 2001 From: FrancescoMolinaro Date: Wed, 13 Dec 2023 14:55:40 +0100 Subject: [PATCH] add base resolver --- .../admin-ldn-services-routing.module.ts | 8 +++--- .../navigation-breadcrumb.resolver.ts | 27 +++++++++++++++++++ 2 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 src/app/core/breadcrumbs/navigation-breadcrumb.resolver.ts diff --git a/src/app/admin/admin-ldn-services/admin-ldn-services-routing.module.ts b/src/app/admin/admin-ldn-services/admin-ldn-services-routing.module.ts index 282ca430a2..4efeadf375 100644 --- a/src/app/admin/admin-ldn-services/admin-ldn-services-routing.module.ts +++ b/src/app/admin/admin-ldn-services/admin-ldn-services-routing.module.ts @@ -1,9 +1,9 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; -import {I18nBreadcrumbResolver} from 'src/app/core/breadcrumbs/i18n-breadcrumb.resolver'; import {LdnServicesOverviewComponent} from './ldn-services-directory/ldn-services-directory.component'; import {LdnServiceNewComponent} from './ldn-service-new/ldn-service-new.component'; import {LdnServiceFormEditComponent} from './ldn-service-form-edit/ldn-service-form-edit.component'; +import {NavigationBreadcrumbResolver} from "../../core/breadcrumbs/navigation-breadcrumb.resolver"; @NgModule({ imports: [ @@ -12,18 +12,18 @@ import {LdnServiceFormEditComponent} from './ldn-service-form-edit/ldn-service-f path: '', pathMatch: 'full', component: LdnServicesOverviewComponent, - resolve: {breadcrumb: I18nBreadcrumbResolver}, + resolve: {breadcrumb: NavigationBreadcrumbResolver}, data: {title: 'ldn-registered-services.title', breadcrumbKey: 'ldn-registered-services.new'}, }, { path: 'new', - resolve: {breadcrumb: I18nBreadcrumbResolver}, + resolve: {breadcrumb: NavigationBreadcrumbResolver}, component: LdnServiceNewComponent, data: {title: 'ldn-register-new-service.title', breadcrumbKey: 'ldn-register-new-service'} }, { path: 'edit/:serviceId', - resolve: {breadcrumb: I18nBreadcrumbResolver}, + resolve: {breadcrumb: NavigationBreadcrumbResolver}, component: LdnServiceFormEditComponent, data: {title: 'ldn-edit-service.title', breadcrumbKey: 'ldn-edit-service'} }, diff --git a/src/app/core/breadcrumbs/navigation-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/navigation-breadcrumb.resolver.ts new file mode 100644 index 0000000000..f167c65cab --- /dev/null +++ b/src/app/core/breadcrumbs/navigation-breadcrumb.resolver.ts @@ -0,0 +1,27 @@ +import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model'; +import { Injectable } from '@angular/core'; +import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { hasNoValue } from '../../shared/empty.util'; +import { currentPathFromSnapshot } from '../../shared/utils/route.utils'; + +/** + * The class that resolves a BreadcrumbConfig object with an i18n key string for a route + */ +@Injectable({ + providedIn: 'root' +}) +export class NavigationBreadcrumbResolver implements Resolve> { + constructor() { + } + + /** + * Method for resolving an I18n breadcrumb configuration object + * @param {ActivatedRouteSnapshot} route The current ActivatedRouteSnapshot + * @param {RouterStateSnapshot} state The current RouterStateSnapshot + * @returns BreadcrumbConfig object + */ + resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): BreadcrumbConfig { + console.log(route, state); + return null + } +}