@miesil/pp-breadcrumbs
Version:
PP-Breadcrumbs is an Angular 7 module generating breadcrumbs based on the routing state.
71 lines • 5.12 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, EventEmitter, Output } from '@angular/core';
import { PpBreadcrumbsService } from './breadcrumbs.service';
export class PpBreadcrumbsComponent {
/**
* @param {?} service
*/
constructor(service) {
this.service = service;
this.subscriptions = [];
this.onNavigate = new EventEmitter();
}
/**
* @return {?}
*/
ngOnInit() {
this.subscriptions.push(this.service.crumbs$.subscribe((/**
* @param {?} x
* @return {?}
*/
x => {
this.crumbs = x;
})));
}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} x
* @return {?}
*/
x => x.unsubscribe()));
this.onNavigate.complete();
this.onNavigate = undefined;
}
/**
* @return {?}
*/
click() {
this.onNavigate.emit({});
}
}
PpBreadcrumbsComponent.decorators = [
{ type: Component, args: [{
selector: 'pp-breadcrumbs',
template: "<ol *ngIf=\"crumbs.length\" class=\"breadcrumb\">\r\n <li *ngFor=\"let crumb of crumbs; let first = first; let last = last\" [ngClass]=\"{ 'active': last }\" class=\"breadcrumb-item\">\r\n <a *ngIf=\"!last; else lastBreadcrumb\" [routerLink]=\"crumb.path\" [innerHTML]=\"crumb.text\" (click)=\"click()\"></a>\r\n <ng-template #lastBreadcrumb>\r\n <span [innerHTML]=\"crumb.text\"></span>\r\n </ng-template>\r\n </li>\r\n</ol>\r\n",
styles: [""]
}] }
];
/** @nocollapse */
PpBreadcrumbsComponent.ctorParameters = () => [
{ type: PpBreadcrumbsService }
];
PpBreadcrumbsComponent.propDecorators = {
onNavigate: [{ type: Output }]
};
if (false) {
/** @type {?} */
PpBreadcrumbsComponent.prototype.crumbs;
/** @type {?} */
PpBreadcrumbsComponent.prototype.subscriptions;
/** @type {?} */
PpBreadcrumbsComponent.prototype.onNavigate;
/** @type {?} */
PpBreadcrumbsComponent.prototype.service;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG1pZXNpbC9wcC1icmVhZGNydW1icy8iLCJzb3VyY2VzIjpbImxpYi9icmVhZGNydW1icy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPN0QsTUFBTSxPQUFPLHNCQUFzQjs7OztJQU9qQyxZQUFtQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUxoRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFHbkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFYyxDQUFDOzs7O0lBRTdDLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDOzs7O0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7OztZQTlCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsMGNBQTJDOzthQUU1Qzs7OztZQU5RLG9CQUFvQjs7O3lCQVcxQixNQUFNOzs7O0lBSFAsd0NBQXFCOztJQUNyQiwrQ0FBbUM7O0lBRW5DLDRDQUNxQzs7SUFFekIseUNBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iIH0gZnJvbSAnLi9icmVhZGNydW1iJztcclxuaW1wb3J0IHsgUHBCcmVhZGNydW1ic1NlcnZpY2UgfSBmcm9tICcuL2JyZWFkY3J1bWJzLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwcC1icmVhZGNydW1icycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1icy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcEJyZWFkY3J1bWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNydW1iczogQnJlYWRjcnVtYltdO1xyXG4gIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uTmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IFBwQnJlYWRjcnVtYnNTZXJ2aWNlKSB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5zZXJ2aWNlLmNydW1icyQuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICAgIHRoaXMuY3J1bWJzID0geDtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHggPT4geC51bnN1YnNjcmliZSgpKTtcclxuICAgIHRoaXMub25OYXZpZ2F0ZS5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5vbk5hdmlnYXRlID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgY2xpY2soKSB7XHJcbiAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdCh7fSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==