X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Fapp%2Flayouts%2Fbreadcrumb%2FBreadcrumbComponent.ts;h=2b7ca54d275c3236a067d011a2d965c4f276b059;hb=5cad4ddc1c44e6093f792f4cb3ae32d4be94df05;hp=ccb9588c12565815268ed0a127123730220772dc;hpb=3b4814aa2d3dec621dadb52f058ba95a3dc3a86a;p=osm%2FNG-UI.git diff --git a/src/app/layouts/breadcrumb/BreadcrumbComponent.ts b/src/app/layouts/breadcrumb/BreadcrumbComponent.ts index ccb9588..2b7ca54 100644 --- a/src/app/layouts/breadcrumb/BreadcrumbComponent.ts +++ b/src/app/layouts/breadcrumb/BreadcrumbComponent.ts @@ -18,12 +18,13 @@ /** * @file Bread Crumb component. */ +import { isNullOrUndefined } from 'util'; import { Component, Injector, OnInit } from '@angular/core'; +import { Title } from '@angular/platform-browser'; import { ActivatedRoute, NavigationEnd, Router, RouterEvent, UrlSegment } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { BREADCRUMBITEM } from 'CommonModel'; import { filter, startWith } from 'rxjs/operators'; -import { isNullOrUndefined } from 'util'; /** * Creating component @@ -58,19 +59,27 @@ export class BreadcrumbComponent implements OnInit { /** handle translate service @private */ private translateService: TranslateService; + /** Title Service in create ticket page */ + private titleService: Title; + constructor(injector: Injector) { this.injector = injector; this.router = this.injector.get(Router); this.activatedRoute = this.injector.get(ActivatedRoute); this.translateService = this.injector.get(TranslateService); + this.titleService = this.injector.get(Title); } /** Lifecyle Hooks the trigger before component is instantiate @public */ public ngOnInit(): void { this.router.events + // eslint-disable-next-line deprecation/deprecation .pipe(filter((event: RouterEvent) => event instanceof NavigationEnd), startWith(undefined)) .subscribe(() => this.menuItems = this.createBreadcrumbs(this.activatedRoute.root)); } - + /** To set the title if the page @private */ + public setTitle(newTitle: string): void { + this.titleService.setTitle(newTitle); + } /** Generate breadcrumbs from data given the module routes @private */ private createBreadcrumbs(route: ActivatedRoute, url: string = '', breadcrumbs: BREADCRUMBITEM[] = []): BREADCRUMBITEM[] { @@ -99,9 +108,18 @@ export class BreadcrumbComponent implements OnInit { breadcrumbs.push(item); }); } + this.setTitleforApplication(breadcrumbs); return this.createBreadcrumbs(child, url, breadcrumbs); } } + /** Generate title from data given the module routes @private */ + private setTitleforApplication(breadcrumbs: BREADCRUMBITEM[]): void { + let addTitle: string = 'Open Source MANO'; + breadcrumbs.forEach((data: BREADCRUMBITEM): void => { + addTitle += ' | ' + this.translateService.instant(data.title); + }); + this.setTitle(addTitle); + } /** Check and update title based on type of operations @private */ private checkTitle(breadcrumbItem: BREADCRUMBITEM, opertionType: string): string { if (!isNullOrUndefined(breadcrumbItem.url)) { @@ -136,5 +154,4 @@ export class BreadcrumbComponent implements OnInit { return this.translateService.instant('PAGE.DASHBOARD.NETSLICEINSTANCE'); } } - }