Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gmostert/ng2-breadcrumb
This is an angular 2 component that creates a breadcrumb trail. It hooks into the angular2/router, to dynamically build up the crumb trail once a component is routed to.
https://github.com/gmostert/ng2-breadcrumb
Last synced: about 1 month ago
JSON representation
This is an angular 2 component that creates a breadcrumb trail. It hooks into the angular2/router, to dynamically build up the crumb trail once a component is routed to.
- Host: GitHub
- URL: https://github.com/gmostert/ng2-breadcrumb
- Owner: gmostert
- License: mit
- Created: 2016-03-04T07:00:29.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-02-09T14:47:23.000Z (almost 7 years ago)
- Last Synced: 2024-10-20T04:53:08.707Z (about 2 months ago)
- Language: TypeScript
- Homepage:
- Size: 169 KB
- Stars: 102
- Watchers: 6
- Forks: 80
- Open Issues: 48
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-angular-components - ng2-breadcrumb - This is an angular 2 component that creates a breadcrumb trail. It hooks into the angular2/router, to dynamically build up the crumb trail once a component is routed to. (Uncategorized / Uncategorized)
- awesome-angular-components - ng2-breadcrumb - Dynamic breadcrumb trail. (Uncategorized / Uncategorized)
- awesome-angular-components - ng2-breadcrumb - This is an angular 2 component that creates a breadcrumb trail. It hooks into the angular2/router, to dynamically build up the crumb trail once a component is routed to. (Uncategorized / Uncategorized)
README
# ng2-breadcrumb
This component generates a breadcrumb trail, as you navigate to child routes using the @angular/router. It interprets the browser URL of a navigate request,
in the same way the component router does to match a path to a specific component, to build up a hierarchy of available parent/child routes for that destination.So given a navigation request to a url '/comp1/comp2/comp3', a breadcrumb trail with 3 levels will be generated. Each level includes all the elements from the previous
level along with the next child. Thus the above url request will result in the following 3 levels being generated: '/comp1', '/comp1/comp2', '/comp1/comp2/comp3'.Theres a breadcrumbService that allows you to add friendly names for each of your app's available routes. This friendly name will show up in the breadcrumb trail
for each matching level, otherwise it will show the last url fragment.## Dependencies
Optionally uses bootstrap.css (v 3.x.x) for styling of some elements (although the component is fully functional without it and there is a flag to turn off the dependency).## Install
Install the module via npm:npm install ng2-breadcrumb --save
## Usage
Import the this module into your module using forRoot()import {Ng2BreadcrumbModule} from 'ng2-breadcrumb/ng2-breadcrumb';
@NgModule({
imports: [Ng2BreadcrumbModule.forRoot()]
})
export class AppModule {
...
}Alternatively you can import the this module into your module and manually provide its service
import {Ng2BreadcrumbModule, BreadcrumbService} from 'ng2-breadcrumb/ng2-breadcrumb';
@NgModule({
imports: [Ng2BreadcrumbModule],
providers: [BreadcrumbService]
})
export class AppModule {
...
}
Inject the BreadcrumbService into your component to map your routesexport class AppComponent {
constructor(private breadcrumbService: BreadcrumbService) {
}
}Place the breadcrumb selector in your component's html where you added your router-outlet:
## Directives
`useBootstrap: boolean` to apply the bootstrap breadcrumb style. Defaulted to true.
`prefix: string` to have a static prefix as the first breadcrumb which routes to the base root when clicked.
## BreadcrumbService
Add friendly names for each of your app's routes (paths). Can also specify regular expressions to match routes and assign a friendly name.breadcrumbService.addFriendlyNameForRoute('/home', 'Home Sweet Home');
breadcrumbService.addFriendlyNameForRoute('/home/users', 'All users');
breadcrumbService.addFriendlyNameForRouteRegex('/home/users/[0-9]/info', 'Information');
Specify a callback function that will supply a name for a specific route or regex.
This is intended to be used when a route contains path params. It allows you display a specific name for the given id contained in the route url.
breadcrumbService.addCallbackForRoute('/home/users/1', this.getNameForUser);
breadcrumbService.addCallbackForRouteRegex('^/home/users/[0-9]$', this.getNameForUser);
getNameForUser(id:string):string {
return 'specific name for user with id';
}
Hide certain routes (paths) from the breadcrumb trail using an exact url or regex.
breadcrumbService.hideRoute('/home/secret');
breadcrumbService.hideRouteRegex('^/home/secret/[a-zA-Z]');## Build
npm install
npm buildTo build a standalone bundle:
npm bundles
## Running
npm start