generateBreadcrumb()

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);
  }