UNPKG

@redux-multipurpose/angular-router

Version:

Redux Multipurpose angular-router is available as a package on NPM:

23 lines 3.65 kB
import { __decorate } from "tslib"; import { NavigationEnd } from '@angular/router'; import { store, select } from '@redux-multipurpose/core'; import { filter } from 'rxjs/operators'; import { router } from './router.selectors-dispatchers'; import { updateUrl } from './router.slice'; export class RouterService { constructor(router) { this.router = router; } init() { this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((navigationEndEvent) => { store.dispatch(updateUrl(navigationEndEvent.url)); }); this.router$.pipe(filter(url => url != null && url != undefined && this.router.url !== url)).subscribe(url => { this.router.navigateByUrl(url); }); } } __decorate([ select(router) ], RouterService.prototype, "router$", void 0); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZWR1eC1tdWx0aXB1cnBvc2UvYW5ndWxhci1yb3V0ZXIvc3JjL2xpYi9zZXJ2aWNlL3JvdXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQWlCLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLGFBQWE7SUFLdEIsWUFDWSxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUN2QixDQUFDO0lBRUosSUFBSTtRQUVBLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDbkIsTUFBTSxDQUFDLENBQUMsS0FBWSxFQUEwQixFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUNuRixDQUFDLFNBQVMsQ0FBQyxDQUFDLGtCQUFpQyxFQUFFLEVBQUU7WUFDOUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FDNUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQXBCRztJQURDLE1BQU0sQ0FBQyxNQUFNLENBQUM7OENBQ2EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIEV2ZW50LCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHN0b3JlLCBzZWxlY3QgfSBmcm9tICdAcmVkdXgtbXVsdGlwdXJwb3NlL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IHJvdXRlciB9IGZyb20gJy4vcm91dGVyLnNlbGVjdG9ycy1kaXNwYXRjaGVycyc7XG5pbXBvcnQgeyB1cGRhdGVVcmwgfSBmcm9tICcuL3JvdXRlci5zbGljZSc7XG5cbmV4cG9ydCBjbGFzcyBSb3V0ZXJTZXJ2aWNlXG57XG4gICAgQHNlbGVjdChyb3V0ZXIpXG4gICAgcm91dGVyJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHt9XG5cbiAgICBpbml0KClcbiAgICB7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChldmVudDogRXZlbnQpOiBldmVudCBpcyBOYXZpZ2F0aW9uRW5kID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZClcbiAgICAgICAgKS5zdWJzY3JpYmUoKG5hdmlnYXRpb25FbmRFdmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xuICAgICAgICAgICAgc3RvcmUuZGlzcGF0Y2godXBkYXRlVXJsKG5hdmlnYXRpb25FbmRFdmVudC51cmwpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yb3V0ZXIkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodXJsID0+IHVybCAhPSBudWxsICYmIHVybCAhPSB1bmRlZmluZWQgJiYgdGhpcy5yb3V0ZXIudXJsICE9PSB1cmwpXG4gICAgICAgICkuc3Vic2NyaWJlKHVybCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn0iXX0=