UNPKG

@tiposaurio/guido-lib

Version:
128 lines 11.9 kB
/** * @fileoverview added by tsickle * Generated from: lib/components/breadcrumb/breadcrumb.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, Output, EventEmitter } from '@angular/core'; import { Title } from '@angular/platform-browser'; import { Router, NavigationEnd, ActivatedRoute } from '@angular/router'; import { filter, map, mergeMap } from 'rxjs/operators'; export class BreadcrumbComponent { /** * @param {?} router * @param {?} activatedRoute * @param {?} titleService */ constructor(router, activatedRoute, titleService) { this.router = router; this.activatedRoute = activatedRoute; this.titleService = titleService; this.breadcrumbEvent = new EventEmitter(); this.router.events .pipe(filter((/** * @param {?} event * @return {?} */ event => event instanceof NavigationEnd))) .pipe(map((/** * @return {?} */ () => this.activatedRoute))) .pipe(map((/** * @param {?} route * @return {?} */ route => { while (route.firstChild) { route = route.firstChild; } return route; }))) .pipe(filter((/** * @param {?} route * @return {?} */ route => route.outlet === 'primary'))) .pipe(mergeMap((/** * @param {?} route * @return {?} */ route => route.data))) .subscribe((/** * @param {?} event * @return {?} */ event => { this.titleService.setTitle(event['title']); this.pageInfo = event; })); } /** * @return {?} */ ngOnInit() { } /** * @param {?} title * @return {?} */ redirectBack(title) { // console.log(this.router, '..bread-ruta..', this.titleService.getTitle()); // console.log('..title..', title); /*this.router.navigate(['../'], {relativeTo: this.activatedRoute});*/ /** @type {?} */ const url = this.activatedRoute.snapshot.url; /** @type {?} */ const link = (url[0] && url[0].path) || ''; /** @type {?} */ const relativeUrl = link ? `../${link}` : `./${link}`; // console.log(url, '..bread-ruta..', link); // this.router.navigate([relativeUrl], { relativeTo: this.activatedRoute }); } /** * @return {?} */ eventBreadcrumb() { this.breadcrumbEvent.emit(this); } } BreadcrumbComponent.decorators = [ { type: Component, args: [{ selector: 'gui-breadcrumb', template: "<!-- ============================================================== -->\r\n<!-- Bread crumb and right sidebar toggle -->\r\n<!-- ============================================================== -->\r\n<div class=\"page-breadcrumb\">\r\n <div class=\"row\">\r\n <div class=\"col-12 align-self-center\">\r\n <h4 class=\"page-title\">{{pageInfo?.title}}</h4>\r\n <div class=\"d-flex align-items-center\">\r\n <nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <ng-template ngFor let-url [ngForOf]=\"pageInfo?.urls\" let-last=\"last\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"!last\">\r\n <a (click)=\"eventBreadcrumb()\">{{url.title}}</a>\r\n </li>\r\n <li class=\"breadcrumb-item active\" *ngIf=\"last\">{{url.title}}</li>\r\n </ng-template>\r\n </ol>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- <div class=\"page-breadcrumb\">\r\n <div class=\"row\">\r\n <div class=\"col-12 align-self-center\">\r\n <h4 class=\"page-title\">{{pageInfo?.title}}</h4>\r\n <div class=\"d-flex align-items-center\">\r\n <nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <ng-template ngFor let-url [ngForOf]=\"pageInfo?.urls\" let-last=\"last\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"!last\">\r\n <a (click)=\"redirectBack(url.url)\">{{url.title}}</a>\r\n </li>\r\n <li class=\"breadcrumb-item active\" *ngIf=\"last\">{{url.title}}</li>\r\n </ng-template>\r\n </ol>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n<!-- ============================================================== -->\r\n<!-- End Bread crumb and right sidebar toggle -->\r\n<!-- ============================================================== -->", styles: [".page-breadcrumb{padding:10px 10px 0 15px}.page-breadcrumb .page-title{margin-bottom:0}.page-breadcrumb .breadcrumb{padding:0;margin:0;background:0 0;font-size:12px}.page-breadcrumb .breadcrumb .breadcrumb-item+.breadcrumb-item::before{content:\"\\e649\";font-family:themify;color:#ccc;font-size:11px}"] }] } ]; /** @nocollapse */ BreadcrumbComponent.ctorParameters = () => [ { type: Router }, { type: ActivatedRoute }, { type: Title } ]; BreadcrumbComponent.propDecorators = { layout: [{ type: Input }], breadcrumbEvent: [{ type: Output }] }; if (false) { /** @type {?} */ BreadcrumbComponent.prototype.layout; /** @type {?} */ BreadcrumbComponent.prototype.breadcrumbEvent; /** @type {?} */ BreadcrumbComponent.prototype.pageInfo; /** * @type {?} * @private */ BreadcrumbComponent.prototype.router; /** * @type {?} * @private */ BreadcrumbComponent.prototype.activatedRoute; /** * @type {?} * @private */ BreadcrumbComponent.prototype.titleService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGlwb3NhdXJpby9ndWlkby1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFjLE1BQU0saUJBQWlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPdkQsTUFBTSxPQUFPLG1CQUFtQjs7Ozs7O0lBSTlCLFlBQ1UsTUFBYyxFQUNkLGNBQThCLEVBQzlCLFlBQW1CO1FBRm5CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQU87UUFMbkIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTzdDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNmLElBQUksQ0FBQyxNQUFNOzs7O1FBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxFQUFDLENBQUM7YUFDckQsSUFBSSxDQUFDLEdBQUc7OztRQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUMsQ0FBQzthQUNwQyxJQUFJLENBQ0gsR0FBRzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1YsT0FBTyxLQUFLLENBQUMsVUFBVSxFQUFFO2dCQUN2QixLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQzthQUMxQjtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxFQUFDLENBQ0g7YUFDQSxJQUFJLENBQUMsTUFBTTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUMsQ0FBQzthQUNqRCxJQUFJLENBQUMsUUFBUTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBQyxDQUFDO2FBQ25DLFNBQVM7Ozs7UUFBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFDRCxRQUFRLEtBQUksQ0FBQzs7Ozs7SUFFYixZQUFZLENBQUMsS0FBSzs7Ozs7Y0FJVixHQUFHLEdBQWlCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUc7O2NBQ3BELElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTs7Y0FDcEMsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDckQsNENBQTRDO1FBRTVDLDRFQUE0RTtJQUM5RSxDQUFDOzs7O0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQS9DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsMnZFQUEwQzs7YUFFM0M7Ozs7WUFQUSxNQUFNO1lBQWlCLGNBQWM7WUFEckMsS0FBSzs7O3FCQVVYLEtBQUs7OEJBQ0wsTUFBTTs7OztJQURQLHFDQUFnQjs7SUFDaEIsOENBQStDOztJQUMvQyx1Q0FBUzs7Ozs7SUFFUCxxQ0FBc0I7Ozs7O0lBQ3RCLDZDQUFzQzs7Ozs7SUFDdEMsMkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25FbmQsIEFjdGl2YXRlZFJvdXRlLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdndWktYnJlYWRjcnVtYicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbGF5b3V0O1xyXG4gIEBPdXRwdXQoKSBicmVhZGNydW1iRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcGFnZUluZm87XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogVGl0bGVcclxuICApIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgLnBpcGUobWFwKCgpID0+IHRoaXMuYWN0aXZhdGVkUm91dGUpKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocm91dGUgPT4ge1xyXG4gICAgICAgICAgd2hpbGUgKHJvdXRlLmZpcnN0Q2hpbGQpIHtcclxuICAgICAgICAgICAgcm91dGUgPSByb3V0ZS5maXJzdENoaWxkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHJvdXRlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoZmlsdGVyKHJvdXRlID0+IHJvdXRlLm91dGxldCA9PT0gJ3ByaW1hcnknKSlcclxuICAgICAgLnBpcGUobWVyZ2VNYXAocm91dGUgPT4gcm91dGUuZGF0YSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKGV2ZW50Wyd0aXRsZSddKTtcclxuICAgICAgICB0aGlzLnBhZ2VJbmZvID0gZXZlbnQ7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIHJlZGlyZWN0QmFjayh0aXRsZSkge1xyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5yb3V0ZXIsICcuLmJyZWFkLXJ1dGEuLicsIHRoaXMudGl0bGVTZXJ2aWNlLmdldFRpdGxlKCkpO1xyXG4gICAgLy8gY29uc29sZS5sb2coJy4udGl0bGUuLicsIHRpdGxlKTtcclxuICAgIC8qdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nXSwge3JlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGV9KTsqL1xyXG4gICAgY29uc3QgdXJsOiBVcmxTZWdtZW50W10gPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnVybDtcclxuICAgIGNvbnN0IGxpbmsgPSAodXJsWzBdICYmIHVybFswXS5wYXRoKSB8fCAnJztcclxuICAgIGNvbnN0IHJlbGF0aXZlVXJsID0gbGluayA/IGAuLi8ke2xpbmt9YCA6IGAuLyR7bGlua31gO1xyXG4gICAgLy8gY29uc29sZS5sb2codXJsLCAnLi5icmVhZC1ydXRhLi4nLCBsaW5rKTtcclxuICAgIFxyXG4gICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlbGF0aXZlVXJsXSwgeyByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlIH0pO1xyXG4gIH1cclxuICBldmVudEJyZWFkY3J1bWIoKSB7XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJFdmVudC5lbWl0KHRoaXMpO1xyXG4gIH1cclxuICAvLyBwdWJsaWMgb25CYWNrKCkge1xyXG4gIC8vICAgY29uc3QgdXJsOiBVcmxTZWdtZW50W10gPSB0aGlzLnJvdXRlLnNuYXBzaG90LnVybDtcclxuICAvLyAgIGNvbnN0IGxpbmsgPSAodXJsWzBdICYmIHVybFswXS5wYXRoKSB8fCAnJztcclxuICAvLyAgIGNvbnN0IHJlbGF0aXZlVXJsID0gbGluayA/IGAuLi8ke2xpbmt9YCA6IGAuLyR7bGlua31gO1xyXG4gIC8vICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlbGF0aXZlVXJsXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xyXG4gIC8vIH1cclxuXHJcbn1cclxuIl19