in src/app/app.component.ts [54:90]
generateBreadcrumb() {
this.breadcrumbs = [];
let url = '';
let currentRoute: ActivatedRoute | null = this.route.root;
do {
const childrenRoutes = currentRoute.children;
currentRoute = null;
childrenRoutes.forEach((route) => {
if (route.outlet === 'primary') {
const routeSnapshot = route.snapshot;
if (routeSnapshot) {
url += '/' + routeSnapshot.url.map((segment) => segment.path).join('/');
if (!!route.snapshot.data['breadcrumb']) {
this.breadcrumbs.push({
label: route.snapshot.data['breadcrumb'].includes(':')
? this.getResourceName(
route.snapshot.data['breadcrumb'],
routeSnapshot.params,
route.snapshot.data['breadcrumb'].split(':')[1]
)
: route.snapshot.data['breadcrumb'],
url,
});
if (route.snapshot.data['prependRoot']) {
this.breadcrumbs.unshift({
label: 'Dashboard',
url: '/',
});
}
}
}
currentRoute = route;
}
});
} while (currentRoute);
}