UNPKG

4.75 kBJavaScriptView Raw
1import { Injectable } from '@angular/core';
2import { makeAutoObservable } from 'mobx';
3import { NavigationEnd } from '@angular/router';
4import { filter } from 'rxjs/operators';
5import * as i0 from "@angular/core";
6import * as i1 from "@angular/router";
7export class RouterStore {
8 constructor(router, activatedRoute) {
9 Object.defineProperty(this, "router", {
10 enumerable: true,
11 configurable: true,
12 writable: true,
13 value: router
14 });
15 Object.defineProperty(this, "activatedRoute", {
16 enumerable: true,
17 configurable: true,
18 writable: true,
19 value: activatedRoute
20 });
21 Object.defineProperty(this, "url", {
22 enumerable: true,
23 configurable: true,
24 writable: true,
25 value: ''
26 });
27 Object.defineProperty(this, "routeSnapshot", {
28 enumerable: true,
29 configurable: true,
30 writable: true,
31 value: null
32 });
33 makeAutoObservable(this);
34 router.events
35 .pipe(filter((event) => event instanceof NavigationEnd))
36 .subscribe((e) => this.routeListener(e));
37 }
38 routeListener(event) {
39 this.routeSnapshot = this.activatedRoute.snapshot;
40 this.url = event.urlAfterRedirects;
41 }
42}
43Object.defineProperty(RouterStore, "\u0275fac", {
44 enumerable: true,
45 configurable: true,
46 writable: true,
47 value: i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: RouterStore, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable })
48});
49Object.defineProperty(RouterStore, "\u0275prov", {
50 enumerable: true,
51 configurable: true,
52 writable: true,
53 value: i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: RouterStore, providedIn: 'root' })
54});
55i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: RouterStore, decorators: [{
56 type: Injectable,
57 args: [{ providedIn: 'root' }]
58 }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
59//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXN0b3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tb2J4LWFuZ3VsYXIvc3JjL2xpYi9yb3V0ZXItc3RvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBR0wsYUFBYSxFQUVkLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHeEMsTUFBTSxPQUFPLFdBQVc7SUFJdEIsWUFBb0IsTUFBYyxFQUFVLGNBQThCOzs7OzttQkFBdEQ7Ozs7OzttQkFBd0I7O1FBSDVDOzs7O21CQUFNLEVBQUU7V0FBQztRQUNUOzs7O21CQUF3QyxJQUFJO1dBQUM7UUFHM0Msa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekIsTUFBTSxDQUFDLE1BQU07YUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7YUFDdkQsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxhQUFhLENBQUMsS0FBb0I7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUNsRCxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUNyQyxDQUFDOzs7Ozs7Z0dBZlUsV0FBVzs7Ozs7O21HQUFYLFdBQVcsY0FERSxNQUFNOzsyRkFDbkIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1ha2VBdXRvT2JzZXJ2YWJsZSB9IGZyb20gJ21vYngnO1xyXG5pbXBvcnQge1xyXG4gIEFjdGl2YXRlZFJvdXRlLFxyXG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgTmF2aWdhdGlvbkVuZCxcclxuICBSb3V0ZXJcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUm91dGVyU3RvcmUge1xyXG4gIHVybCA9ICcnO1xyXG4gIHJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgbWFrZUF1dG9PYnNlcnZhYmxlKHRoaXMpO1xyXG5cclxuICAgIHJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgLnN1YnNjcmliZSgoZTogTmF2aWdhdGlvbkVuZCkgPT4gdGhpcy5yb3V0ZUxpc3RlbmVyKGUpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcm91dGVMaXN0ZW5lcihldmVudDogTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgdGhpcy5yb3V0ZVNuYXBzaG90ID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdDtcclxuICAgIHRoaXMudXJsID0gZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
\No newline at end of file