UNPKG

ngx-obelisco-example

Version:

Componentes funcionales y reutilizables para Angular.

85 lines (80 loc) 5.87 kB
import * as i0 from '@angular/core'; import { Component, Input, NgModule } from '@angular/core'; import * as i1 from '@angular/router'; import { NavigationEnd, RouterModule } from '@angular/router'; import { Subject, takeUntil, filter, startWith } from 'rxjs'; import * as i2 from 'ngx-obelisco-example/core/services'; import * as i3 from '@angular/common'; import { CommonModule } from '@angular/common'; class OBreadcrumbComponent { constructor(router, breadcrumbService) { this.router = router; this.breadcrumbService = breadcrumbService; this.customClasses = ''; this.routes = []; this.onDestroy$ = new Subject(); } ngOnInit() { this.breadcrumbService.breadcrumb$.pipe(takeUntil(this.onDestroy$)).subscribe((breadcrumb) => { if (Object.entries(breadcrumb).length !== 0) { this.routes = breadcrumb.routes || []; this.defaultRoute = breadcrumb.defaultRoute || ''; } }); if (this.routes.length === 0) { this.getPaths(); return; } } getPaths() { this.routes.length != 0 && this.router.events .pipe(takeUntil(this.onDestroy$), filter((event) => event instanceof NavigationEnd), startWith(this.router)) .subscribe({ next: (event) => { event = event; this.routes = []; event.route .split('/') .forEach((item, index) => (item !== '' || isNaN(+item) || item.length > 2) && this.routes.push({ name: this.formatedName(item), route: this.formatedRoute(item, event.route) })); } }); } formatedName(path) { return (path && path[0].toUpperCase() + path.split('-').join(' ').slice(1)) || ''; } formatedRoute(url, route) { return route.split(url)[0] + url; } ngOnDestroy() { this.onDestroy$.next(); this.onDestroy$.complete(); } } OBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OBreadcrumbComponent, deps: [{ token: i1.Router }, { token: i2.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); OBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: OBreadcrumbComponent, selector: "o-breadcrumb", inputs: { customClasses: "customClasses" }, ngImport: i0, template: "<nav aria-label=\"Navegaci\u00F3n secundaria\" [ngClass]=\"customClasses\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"routes.length == 0\">\r\n <a href=\"https://buenosaires.gob.ar/inicio/\">Inicio</a>\r\n </li>\r\n <li class=\"breadcrumb-item\" *ngFor=\"let route of routes; index as i\">\r\n <a [routerLink]=\"[route.route]\">\r\n {{ route.name }}\r\n </a>\r\n <ng-template #nameDefault>{{ route?.name }} </ng-template>\r\n </li>\r\n </ol>\r\n</nav>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OBreadcrumbComponent, decorators: [{ type: Component, args: [{ selector: 'o-breadcrumb', template: "<nav aria-label=\"Navegaci\u00F3n secundaria\" [ngClass]=\"customClasses\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\" *ngIf=\"routes.length == 0\">\r\n <a href=\"https://buenosaires.gob.ar/inicio/\">Inicio</a>\r\n </li>\r\n <li class=\"breadcrumb-item\" *ngFor=\"let route of routes; index as i\">\r\n <a [routerLink]=\"[route.route]\">\r\n {{ route.name }}\r\n </a>\r\n <ng-template #nameDefault>{{ route?.name }} </ng-template>\r\n </li>\r\n </ol>\r\n</nav>\r\n" }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.BreadcrumbService }]; }, propDecorators: { customClasses: [{ type: Input }] } }); class OBreadcrumbModule { } OBreadcrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); OBreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: OBreadcrumbModule, declarations: [OBreadcrumbComponent], imports: [CommonModule, RouterModule], exports: [OBreadcrumbComponent] }); OBreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OBreadcrumbModule, imports: [CommonModule, RouterModule] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OBreadcrumbModule, decorators: [{ type: NgModule, args: [{ declarations: [OBreadcrumbComponent], imports: [CommonModule, RouterModule], exports: [OBreadcrumbComponent] }] }] }); /** * Generated bundle index. Do not edit. */ export { OBreadcrumbComponent, OBreadcrumbModule }; //# sourceMappingURL=ngx-obelisco-example-breadcrumb.mjs.map