add base resolver

This commit is contained in:
FrancescoMolinaro
2023-12-13 14:55:40 +01:00
parent 62ae9226f5
commit b494c9551e
2 changed files with 31 additions and 4 deletions

View File

@@ -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'}
},

View File

@@ -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<BreadcrumbConfig<string>> {
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<string> {
console.log(route, state);
return null
}
}