Skip to content

Commit 651b91e

Browse files
committed
refactor(breadcrumb-router.service): router.events takeUntilDestroyed()
1 parent 90a296b commit 651b91e

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import { Injectable } from '@angular/core';
2-
import { Router, ActivatedRoute, NavigationEnd } from '@angular/router';
2+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3+
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
34
import { BehaviorSubject, Observable } from 'rxjs';
45
import { filter } from 'rxjs/operators';
56
import { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';
67

78
@Injectable({
8-
providedIn: 'root',
9+
providedIn: 'root'
910
})
1011
export class BreadcrumbRouterService {
1112
public outlet = 'primary';
@@ -21,7 +22,10 @@ export class BreadcrumbRouterService {
2122
this.breadcrumbs$ = this.breadcrumbsBehaviorSubject.asObservable();
2223

2324
this.router.events
24-
.pipe(filter((event) => event instanceof NavigationEnd))
25+
.pipe(
26+
takeUntilDestroyed(),
27+
filter((event) => event instanceof NavigationEnd)
28+
)
2529
.subscribe((event) => {
2630
const breadcrumbs: any[] = [];
2731
let currentRoute: ActivatedRoute | null = this.route.root;
@@ -33,13 +37,11 @@ export class BreadcrumbRouterService {
3337
// console.log('breadcrumb event', event, 'route', route);
3438
if (childRoute.outlet === this.outlet) {
3539
const routeSnapshot = childRoute.snapshot;
36-
url +=
37-
'/' +
38-
routeSnapshot.url.map((segment) => segment.path).join('/');
40+
url += '/' + routeSnapshot.url.map((segment) => segment.path).join('/');
3941
breadcrumbs.push({
4042
label: childRoute.snapshot.data['title'] || '',
4143
url,
42-
queryParams: routeSnapshot.queryParams,
44+
queryParams: routeSnapshot.queryParams
4345
});
4446
currentRoute = childRoute;
4547
}

0 commit comments

Comments
 (0)