import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { BreadcrumbService } from '../app/app.module';
@Component({
selector: 'app',
template: `
Breadcrumb Example
`
})
export class AppComponent {
constructor(private breadcrumbService: BreadcrumbService) {
breadcrumbService.addFriendlyNameForRoute('/comp1', 'Comp 1');
breadcrumbService.addFriendlyNameForRouteRegex('^/comp1/comp[0-9]$', 'Comp 2');
breadcrumbService.hideRoute('/comp1/comp2/comp3');
breadcrumbService.addCallbackForRouteRegex('/comp1/comp2/comp3/[0-9]', this.getName);
}
getName(id:string): string {
return 'Comp ' + id;
}
}
@Component({
selector: 'comp1',
template: `
This is Component 1
`
})
export class Component1 {
constructor(private router: Router) {
}
goTo(): void {
this.router.navigate(['/comp1/comp2']);
}
}
@Component({
selector: 'comp2',
template: `
This is Component 2
`
})
export class Component2 {
constructor(private router: Router) {
}
goTo(): void {
this.router.navigate(['/comp1/comp2/comp3']);
}
}
@Component({
selector: 'comp3',
template: `
This is Component 3, which is hidden from the breadcrumb
`
})
export class Component3 {
constructor(private router: Router) {
}
goTo(): void {
this.router.navigate(['/comp1/comp2/comp3/' + Math.floor(Math.random()*100))]);
}
}
@Component({
selector: 'comp4',
template: `
This is Component 4, which uses a callback to display its breadcrumb name
`
})
export class Component4 {
constructor() {
}
}