UNPKG

@miesil/pp-breadcrumbs

Version:

PP-Breadcrumbs is an Angular 7 module generating breadcrumbs based on the routing state.

71 lines 5.12 kB
/** * @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==