import { Injectable } from '@angular/core'; import { Observable, of as observableOf, } from 'rxjs'; import { Breadcrumb } from '../breadcrumbs/breadcrumb/breadcrumb.model'; import { BreadcrumbsProviderService } from '../core/breadcrumbs/breadcrumbsProviderService'; import { hasValue } from '../shared/empty.util'; import { Process } from './processes/process.model'; /** * Service to calculate process breadcrumbs for a single part of the route */ @Injectable({ providedIn: 'root' }) export class ProcessBreadcrumbsService implements BreadcrumbsProviderService<Process> { /** * Method to calculate the breadcrumbs * @param key The key used to resolve the breadcrumb * @param url The url to use as a link for this breadcrumb */ getBreadcrumbs(key: Process, url: string): Observable<Breadcrumb[]> { if (hasValue(key)) { return observableOf([new Breadcrumb(key.processId + ' - ' + key.scriptName, url)]); } else { return observableOf([]); } } }