UNPKG

@spartacus/core

Version:

Spartacus - the core framework

34 lines 4.8 kB
import { Injectable } from '@angular/core'; import { map, shareReplay } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "../services/activated-routes.service"; /** * Service to expose all parameters for the router, including child routes. * This is convenient in case the parent route (component) requires awareness * of child routes parameters. */ export class RoutingParamsService { constructor(router, activatedRoutesService) { this.router = router; this.activatedRoutesService = activatedRoutesService; this.params$ = this.activatedRoutesService.routes$.pipe(map((routes) => this.findAllParam(routes)), shareReplay({ refCount: true, bufferSize: 1 })); } /** * Get the list of all parameters of the full route. This includes * active child routes. */ getParams() { return this.params$; } findAllParam(routes) { return Object.assign({}, ...routes.map((route) => route.params)); } } RoutingParamsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: RoutingParamsService, deps: [{ token: i1.Router }, { token: i2.ActivatedRoutesService }], target: i0.ɵɵFactoryTarget.Injectable }); RoutingParamsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: RoutingParamsService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: RoutingParamsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.ActivatedRoutesService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy1wYXJhbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3JvdXRpbmcvZmFjYWRlL3JvdXRpbmctcGFyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBR2xEOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLFlBQ1ksTUFBYyxFQUNkLHNCQUE4QztRQUQ5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVR2QyxZQUFPLEdBRXJCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUMzQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDMUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDL0MsQ0FBQztJQUtDLENBQUM7SUFFSjs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFUyxZQUFZLENBQUMsTUFBZ0M7UUFHckQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7O2lIQXpCVSxvQkFBb0I7cUhBQXBCLG9CQUFvQixjQURQLE1BQU07MkZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hY3RpdmF0ZWQtcm91dGVzLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gZXhwb3NlIGFsbCBwYXJhbWV0ZXJzIGZvciB0aGUgcm91dGVyLCBpbmNsdWRpbmcgY2hpbGQgcm91dGVzLlxuICogVGhpcyBpcyBjb252ZW5pZW50IGluIGNhc2UgdGhlIHBhcmVudCByb3V0ZSAoY29tcG9uZW50KSByZXF1aXJlcyBhd2FyZW5lc3NcbiAqIG9mIGNoaWxkIHJvdXRlcyBwYXJhbWV0ZXJzLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJvdXRpbmdQYXJhbXNTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmFtcyQ6IE9ic2VydmFibGU8e1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgfT4gPSB0aGlzLmFjdGl2YXRlZFJvdXRlc1NlcnZpY2Uucm91dGVzJC5waXBlKFxuICAgIG1hcCgocm91dGVzKSA9PiB0aGlzLmZpbmRBbGxQYXJhbShyb3V0ZXMpKSxcbiAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZXNTZXJ2aWNlOiBBY3RpdmF0ZWRSb3V0ZXNTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIGFsbCBwYXJhbWV0ZXJzIG9mIHRoZSBmdWxsIHJvdXRlLiBUaGlzIGluY2x1ZGVzXG4gICAqIGFjdGl2ZSBjaGlsZCByb3V0ZXMuXG4gICAqL1xuICBnZXRQYXJhbXMoKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PiB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zJDtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaW5kQWxsUGFyYW0ocm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90W10pOiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9IHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgLi4ucm91dGVzLm1hcCgocm91dGUpID0+IHJvdXRlLnBhcmFtcykpO1xuICB9XG59XG4iXX0=