*/
import { Component, Injector, OnDestroy } from '@angular/core';
+import { Title } from '@angular/platform-browser';
import { ActivatedRouteSnapshot, NavigationEnd, NavigationStart, Router } from '@angular/router';
import { concat, from, Observable, of, Subscription } from 'rxjs';
subscription: Subscription;
private defaultResolver = new BreadcrumbsResolver();
- constructor(private router: Router, private injector: Injector) {
+ constructor(private router: Router, private injector: Injector, private titleService: Title) {
this.subscription = this.router.events
.pipe(filter((x) => x instanceof NavigationStart))
.subscribe(() => {
.subscribe((x) => {
this.finished = true;
this.crumbs = x;
+ const title = this.getTitleFromCrumbs(this.crumbs);
+ this.titleService.setTitle(title);
});
});
}
return of(value as T);
}
+
+ private getTitleFromCrumbs(crumbs: IBreadcrumb[]): string {
+ const currentLocation = crumbs
+ .map((crumb: IBreadcrumb) => {
+ return crumb.text || '';
+ })
+ .join(' > ');
+ if (currentLocation.length > 0) {
+ return `Ceph: ${currentLocation}`;
+ } else {
+ return 'Ceph';
+ }
+ }
}