@tiposaurio/guido-lib
Version:
128 lines • 11.9 kB
JavaScript
/**
* @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