From eed98960623927cd6f15ae18ac457e1858e6751f Mon Sep 17 00:00:00 2001 From: FrancescoMolinaro Date: Mon, 11 Dec 2023 09:39:52 +0100 Subject: [PATCH] add qa breadcrumb --- .../breadcrumbs/qa-breadcrumbs.resolver.ts | 20 +++++++++++++++++++ .../breadcrumbs/qa-breadcrumbs.service.ts | 18 +++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/app/core/breadcrumbs/qa-breadcrumbs.resolver.ts create mode 100644 src/app/core/breadcrumbs/qa-breadcrumbs.service.ts diff --git a/src/app/core/breadcrumbs/qa-breadcrumbs.resolver.ts b/src/app/core/breadcrumbs/qa-breadcrumbs.resolver.ts new file mode 100644 index 0000000000..a59619d5b7 --- /dev/null +++ b/src/app/core/breadcrumbs/qa-breadcrumbs.resolver.ts @@ -0,0 +1,20 @@ +import { Injectable } from '@angular/core'; +import { ItemDataService } from '../data/item-data.service'; +import {QABreadcrumbsService} from "./qa-breadcrumbs.service"; +import {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from "@angular/router"; +import {BreadcrumbConfig} from "../../breadcrumbs/breadcrumb/breadcrumb-config.model"; +import {currentPathFromSnapshot} from "../../shared/utils/route.utils"; + +@Injectable({ + providedIn: 'root' +}) +export class QABreadcrumbResolver implements Resolve> { + constructor(protected breadcrumbService: QABreadcrumbsService, protected dataService: ItemDataService) {} + + resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): BreadcrumbConfig { + const key = "testKey"; + const fullPath = currentPathFromSnapshot(route); + console.log(key, fullPath) + return { provider: this.breadcrumbService, key: key, url: fullPath }; + } +} diff --git a/src/app/core/breadcrumbs/qa-breadcrumbs.service.ts b/src/app/core/breadcrumbs/qa-breadcrumbs.service.ts new file mode 100644 index 0000000000..38601c36df --- /dev/null +++ b/src/app/core/breadcrumbs/qa-breadcrumbs.service.ts @@ -0,0 +1,18 @@ +import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; +import { BreadcrumbsProviderService } from './breadcrumbsProviderService'; +import { Observable, of as observableOf } from 'rxjs'; +import { Injectable } from '@angular/core'; + + +/** + * Service to calculate QA breadcrumbs for a single part of the route + */ +@Injectable({ + providedIn: 'root' +}) +export class QABreadcrumbsService implements BreadcrumbsProviderService { + + getBreadcrumbs(key: string, url: string): Observable { + return observableOf([new Breadcrumb(key + "test", url)]); + } +}