@ngxs/router-plugin 3.8.1-dev.master-07536db → 3.8.1-dev.master-db96f65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -4,7 +4,8 @@ import { NgZone, Injectable, Injector } from '@angular/core';
|
|
|
4
4
|
import { NavigationCancel, NavigationError, Router, RoutesRecognized, ResolveEnd, NavigationStart, NavigationEnd } from '@angular/router';
|
|
5
5
|
import { Action, Selector, State, Store } from '@ngxs/store';
|
|
6
6
|
import { ɵNGXS_ROUTER_PLUGIN_OPTIONS } from '@ngxs/router-plugin/internals';
|
|
7
|
-
import {
|
|
7
|
+
import { ReplaySubject } from 'rxjs';
|
|
8
|
+
import { takeUntil } from 'rxjs/operators';
|
|
8
9
|
import { Navigate, RouterCancel, RouterError, RouterNavigation, RouterDataResolved, RouterRequest, RouterNavigated } from './router.actions';
|
|
9
10
|
import { RouterStateSerializer } from './serializer';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
@@ -31,8 +32,8 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
31
32
|
*/
|
|
32
33
|
this._storeState = null;
|
|
33
34
|
this._lastEvent = null;
|
|
34
|
-
this._subscription = new Subscription();
|
|
35
35
|
this._options = null;
|
|
36
|
+
this._destroy$ = new ReplaySubject(1);
|
|
36
37
|
// Note: do not use `@Inject` since it fails on lower versions of Angular with Jest
|
|
37
38
|
// integration, it cannot resolve the token provider.
|
|
38
39
|
this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);
|
|
@@ -46,7 +47,7 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
46
47
|
return state && state.state && state.state.url;
|
|
47
48
|
}
|
|
48
49
|
ngOnDestroy() {
|
|
49
|
-
this.
|
|
50
|
+
this._destroy$.next();
|
|
50
51
|
}
|
|
51
52
|
navigate(_, action) {
|
|
52
53
|
return this._ngZone.run(() => this._router.navigate(action.path, {
|
|
@@ -62,12 +63,10 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
65
|
_setUpStoreListener() {
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
.subscribe((state) => {
|
|
66
|
+
const routerState$ = this._store.select(RouterState_1).pipe(takeUntil(this._destroy$));
|
|
67
|
+
routerState$.subscribe((state) => {
|
|
68
68
|
this._navigateIfNeeded(state);
|
|
69
69
|
});
|
|
70
|
-
this._subscription.add(subscription);
|
|
71
70
|
}
|
|
72
71
|
_navigateIfNeeded(routerState) {
|
|
73
72
|
if (routerState && routerState.trigger === 'devtools') {
|
|
@@ -90,7 +89,8 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
90
89
|
const dispatchRouterNavigationLate = this._options != null &&
|
|
91
90
|
this._options.navigationActionTiming === 2 /* NavigationActionTiming.PostActivation */;
|
|
92
91
|
let lastRoutesRecognized;
|
|
93
|
-
const
|
|
92
|
+
const events$ = this._router.events.pipe(takeUntil(this._destroy$));
|
|
93
|
+
events$.subscribe(event => {
|
|
94
94
|
this._lastEvent = event;
|
|
95
95
|
if (event instanceof NavigationStart) {
|
|
96
96
|
this._navigationStart(event);
|
|
@@ -122,7 +122,6 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
122
122
|
this._reset();
|
|
123
123
|
}
|
|
124
124
|
});
|
|
125
|
-
this._subscription.add(subscription);
|
|
126
125
|
}
|
|
127
126
|
/** Reacts to `NavigationStart`. */
|
|
128
127
|
_navigationStart(event) {
|
|
@@ -222,4 +221,4 @@ export { RouterState };
|
|
|
222
221
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RouterState, decorators: [{
|
|
223
222
|
type: Injectable
|
|
224
223
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i3.RouterStateSerializer }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { navigate: [], angularRouterAction: [] } });
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyLXBsdWdpbi9zcmMvcm91dGVyLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLE1BQU0sRUFFTixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGVBQWUsRUFDZixhQUFhLEVBRWQsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWdCLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBR0wsMkJBQTJCLEVBQzVCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQ0wsUUFBUSxFQUVSLFlBQVksRUFDWixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsZUFBZSxFQUNoQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUF3QjlDLElBQU0sV0FBVyxtQkFBakIsTUFBTSxXQUFXO0lBaUN0QixZQUNVLE1BQWEsRUFDYixPQUFlLEVBQ2YsV0FBdUQsRUFDdkQsT0FBZSxFQUN2QixRQUFrQjtRQUpWLFdBQU0sR0FBTixNQUFNLENBQU87UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQTRDO1FBQ3ZELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFwQ3pCOzs7V0FHRztRQUNLLGFBQVEsR0FBa0IsTUFBTSxDQUFDO1FBRXpDOztXQUVHO1FBQ0ssaUJBQVksR0FBK0Is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QVEsTUFpQlIsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdab25lLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBOYXZpZ2F0aW9uQ2FuY2VsLFxuICBOYXZpZ2F0aW9uRXJyb3IsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgUm91dGVzUmVjb2duaXplZCxcbiAgUmVzb2x2ZUVuZCxcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBOYXZpZ2F0aW9uRW5kLFxuICBFdmVudFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aW9uLCBTZWxlY3RvciwgU3RhdGUsIFN0YXRlQ29udGV4dCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQge1xuICBOYXZpZ2F0aW9uQWN0aW9uVGltaW5nLFxuICBOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucyxcbiAgybVOR1hTX1JPVVRFUl9QTFVHSU5fT1BUSU9OU1xufSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luL2ludGVybmFscyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgTmF2aWdhdGUsXG4gIFJvdXRlckFjdGlvbixcbiAgUm91dGVyQ2FuY2VsLFxuICBSb3V0ZXJFcnJvcixcbiAgUm91dGVyTmF2aWdhdGlvbixcbiAgUm91dGVyRGF0YVJlc29sdmVkLFxuICBSb3V0ZXJSZXF1ZXN0LFxuICBSb3V0ZXJOYXZpZ2F0ZWRcbn0gZnJvbSAnLi9yb3V0ZXIuYWN0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXIgfSBmcm9tICcuL3NlcmlhbGl6ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlclN0YXRlTW9kZWw8VCA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGU/OiBUO1xuICBuYXZpZ2F0aW9uSWQ/OiBudW1iZXI7XG4gIHRyaWdnZXI6IFJvdXRlclRyaWdnZXI7XG59XG5cbmV4cG9ydCB0eXBlIFJvdXRlclRyaWdnZXIgPVxuICB8ICdub25lJ1xuICB8ICdyb3V0ZXInXG4gIHwgJ3N0b3JlJ1xuICAvLyBUaGUgYGRldnRvb2xzYCB0cmlnZ2VyIG1lYW5zIHRoYXQgdGhlIHN0YXRlIGNoYW5nZSBoYXMgYmVlbiB0cmlnZ2VyZWQgYnkgUmVkdXggRGV2VG9vbHMgKGUuZy4gd2hlbiB0aGUgdGltZS10cmF2ZWxpbmcgaXMgdXNlZCkuXG4gIHwgJ2RldnRvb2xzJztcblxuQFN0YXRlPFJvdXRlclN0YXRlTW9kZWw+KHtcbiAgbmFtZTogJ3JvdXRlcicsXG4gIGRlZmF1bHRzOiB7XG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcbiAgICBuYXZpZ2F0aW9uSWQ6IHVuZGVmaW5lZCxcbiAgICB0cmlnZ2VyOiAnbm9uZSdcbiAgfVxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTdGF0ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGhvdyBuYXZpZ2F0aW9uIHdhcyBwZXJmb3JtZWQgYnkgdGhlIGBSb3V0ZXJTdGF0ZWAgaXRzZWxmXG4gICAqIG9yIG91dHNpZGUgdmlhIGBuZXcgTmF2aWdhdGUoLi4uKWBcbiAgICovXG4gIHByaXZhdGUgX3RyaWdnZXI6IFJvdXRlclRyaWdnZXIgPSAnbm9uZSc7XG5cbiAgLyoqXG4gICAqIFRoYXQncyB0aGUgc2VyaWFsaXplZCBzdGF0ZSBmcm9tIHRoZSBgUm91dGVyYCBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSBfcm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhhdCdzIHRoZSB2YWx1ZSBvZiB0aGUgYFJvdXRlclN0YXRlYCBzdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfc3RvcmVTdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2xhc3RFdmVudDogRXZlbnQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHJpdmF0ZSBfb3B0aW9uczogTmd4c1JvdXRlclBsdWdpbk9wdGlvbnMgfCBudWxsID0gbnVsbDtcblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgc3RhdGU8VCA9IFJvdXRlclN0YXRlU25hcHNob3Q+KHN0YXRlOiBSb3V0ZXJTdGF0ZU1vZGVsPFQ+KSB7XG4gICAgcmV0dXJuIHN0YXRlICYmIHN0YXRlLnN0YXRlO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIHVybChzdGF0ZTogUm91dGVyU3RhdGVNb2RlbCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHN0YXRlICYmIHN0YXRlLnN0YXRlICYmIHN0YXRlLnN0YXRlLnVybDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3N0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIF9zZXJpYWxpemVyOiBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXI8Um91dGVyU3RhdGVTbmFwc2hvdD4sXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIC8vIE5vdGU6IGRvIG5vdCB1c2UgYEBJbmplY3RgIHNpbmNlIGl0IGZhaWxzIG9uIGxvd2VyIHZlcnNpb25zIG9mIEFuZ3VsYXIgd2l0aCBKZXN0XG4gICAgLy8gaW50ZWdyYXRpb24sIGl0IGNhbm5vdCByZXNvbHZlIHRoZSB0b2tlbiBwcm92aWRlci5cbiAgICB0aGlzLl9vcHRpb25zID0gaW5qZWN0b3IuZ2V0KMm1TkdYU19ST1VURVJfUExVR0lOX09QVElPTlMsIG51bGwpO1xuICAgIHRoaXMuX3NldFVwU3RvcmVMaXN0ZW5lcigpO1xuICAgIHRoaXMuX3NldFVwUm91dGVyRXZlbnRzTGlzdGVuZXIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgQEFjdGlvbihOYXZpZ2F0ZSlcbiAgbmF2aWdhdGUoXzogU3RhdGVDb250ZXh0PFJvdXRlclN0YXRlTW9kZWw+LCBhY3Rpb246IE5hdmlnYXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuX25nWm9uZS5ydW4oKCkgPT5cbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShhY3Rpb24ucGF0aCwge1xuICAgICAgICBxdWVyeVBhcmFtczogYWN0aW9uLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAuLi5hY3Rpb24uZXh0cmFzXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFtcbiAgICBSb3V0ZXJSZXF1ZXN0LFxuICAgIFJvdXRlck5hdmlnYXRpb24sXG4gICAgUm91dGVyRXJyb3IsXG4gICAgUm91dGVyQ2FuY2VsLFxuICAgIFJvdXRlckRhdGFSZXNvbHZlZCxcbiAgICBSb3V0ZXJOYXZpZ2F0ZWRcbiAgXSlcbiAgYW5ndWxhclJvdXRlckFjdGlvbihcbiAgICBjdHg6IFN0YXRlQ29udGV4dDxSb3V0ZXJTdGF0ZU1vZGVsPixcbiAgICBhY3Rpb246IFJvdXRlckFjdGlvbjxSb3V0ZXJTdGF0ZU1vZGVsLCBSb3V0ZXJTdGF0ZVNuYXBzaG90PlxuICApOiB2b2lkIHtcbiAgICBjdHguc2V0U3RhdGUoe1xuICAgICAgdHJpZ2dlcjogYWN0aW9uLnRyaWdnZXIsXG4gICAgICBzdGF0ZTogYWN0aW9uLnJvdXRlclN0YXRlLFxuICAgICAgbmF2aWdhdGlvbklkOiBhY3Rpb24uZXZlbnQuaWRcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFVwU3RvcmVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLl9zdG9yZVxuICAgICAgLnNlbGVjdChSb3V0ZXJTdGF0ZSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlOiBSb3V0ZXJTdGF0ZU1vZGVsIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgIHRoaXMuX25hdmlnYXRlSWZOZWVkZWQoc3RhdGUpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF9uYXZpZ2F0ZUlmTmVlZGVkKHJvdXRlclN0YXRlOiBSb3V0ZXJTdGF0ZU1vZGVsIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHJvdXRlclN0YXRlICYmIHJvdXRlclN0YXRlLnRyaWdnZXIgPT09ICdkZXZ0b29scycpIHtcbiAgICAgIHRoaXMuX3N0b3JlU3RhdGUgPSB0aGlzLl9zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgY2FuU2tpcE5hdmlnYXRpb24gPVxuICAgICAgIXRoaXMuX3N0b3JlU3RhdGUgfHxcbiAgICAgICF0aGlzLl9zdG9yZVN0YXRlLnN0YXRlIHx8XG4gICAgICAhcm91dGVyU3RhdGUgfHxcbiAgICAgIHJvdXRlclN0YXRlLnRyaWdnZXIgPT09ICdyb3V0ZXInIHx8XG4gICAgICB0aGlzLl9yb3V0ZXIudXJsID09PSB0aGlzLl9zdG9yZVN0YXRlLnN0YXRlLnVybCB8fFxuICAgICAgdGhpcy5fbGFzdEV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0O1xuXG4gICAgaWYgKGNhblNraXBOYXZpZ2F0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RvcmVTdGF0ZSA9IHRoaXMuX3N0b3JlLnNlbGVjdFNuYXBzaG90KFJvdXRlclN0YXRlKTtcbiAgICB0aGlzLl90cmlnZ2VyID0gJ3N0b3JlJztcbiAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuX3N0b3JlU3RhdGUhLnN0YXRlIS51cmwpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFVwUm91dGVyRXZlbnRzTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgY29uc3QgZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uTGF0ZSA9XG4gICAgICB0aGlzLl9vcHRpb25zICE9IG51bGwgJiZcbiAgICAgIHRoaXMuX29wdGlvbnMubmF2aWdhdGlvbkFjdGlvblRpbWluZyA9PT0gTmF2aWdhdGlvbkFjdGlvblRpbWluZy5Qb3N0QWN0aXZhdGlvbjtcblxuICAgIGxldCBsYXN0Um91dGVzUmVjb2duaXplZDogUm91dGVzUmVjb2duaXplZDtcblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX3JvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIHRoaXMuX2xhc3RFdmVudCA9IGV2ZW50O1xuXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvblN0YXJ0KGV2ZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZXNSZWNvZ25pemVkKSB7XG4gICAgICAgIGxhc3RSb3V0ZXNSZWNvZ25pemVkID0gZXZlbnQ7XG4gICAgICAgIGlmICghZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uTGF0ZSAmJiB0aGlzLl90cmlnZ2VyICE9PSAnc3RvcmUnKSB7XG4gICAgICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uKGxhc3RSb3V0ZXNSZWNvZ25pemVkKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFJlc29sdmVFbmQpIHtcbiAgICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJEYXRhUmVzb2x2ZWQoZXZlbnQpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJDYW5jZWwoZXZlbnQpO1xuICAgICAgICB0aGlzLl9yZXNldCgpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcikge1xuICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckVycm9yKGV2ZW50KTtcbiAgICAgICAgdGhpcy5fcmVzZXQoKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIGlmICh0aGlzLl90cmlnZ2VyICE9PSAnc3RvcmUnKSB7XG4gICAgICAgICAgaWYgKGRpc3BhdGNoUm91dGVyTmF2aWdhdGlvbkxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyTmF2aWdhdGlvbihsYXN0Um91dGVzUmVjb2duaXplZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyTmF2aWdhdGVkKGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZXNldCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWJzY3JpcHRpb24pO1xuICB9XG5cbiAgLyoqIFJlYWN0cyB0byBgTmF2aWdhdGlvblN0YXJ0YC4gKi9cbiAgcHJpdmF0ZSBfbmF2aWdhdGlvblN0YXJ0KGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLl9yb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKHRoaXMuX3JvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCk7XG5cbiAgICBpZiAodGhpcy5fdHJpZ2dlciAhPT0gJ25vbmUnKSB7XG4gICAgICB0aGlzLl9zdG9yZVN0YXRlID0gdGhpcy5fc3RvcmUuc2VsZWN0U25hcHNob3QoUm91dGVyU3RhdGUpO1xuICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24obmV3IFJvdXRlclJlcXVlc3QodGhpcy5fcm91dGVyU3RhdGUsIGV2ZW50LCB0aGlzLl90cmlnZ2VyKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJlYWN0cyB0byBgUmVzb2x2ZUVuZGAuICovXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyRGF0YVJlc29sdmVkKGV2ZW50OiBSZXNvbHZlRW5kKTogdm9pZCB7XG4gICAgY29uc3Qgcm91dGVyU3RhdGUgPSB0aGlzLl9zZXJpYWxpemVyLnNlcmlhbGl6ZShldmVudC5zdGF0ZSk7XG4gICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24obmV3IFJvdXRlckRhdGFSZXNvbHZlZChyb3V0ZXJTdGF0ZSwgZXZlbnQsIHRoaXMuX3RyaWdnZXIpKTtcbiAgfVxuXG4gIC8qKiBSZWFjdHMgdG8gYFJvdXRlc1JlY29nbml6ZWRgIG9yIGBOYXZpZ2F0aW9uRW5kYCwgZGVwZW5kcyBvbiB0aGUgYG5hdmlnYXRpb25BY3Rpb25UaW1pbmdgLiAqL1xuICBwcml2YXRlIF9kaXNwYXRjaFJvdXRlck5hdmlnYXRpb24obGFzdFJvdXRlc1JlY29nbml6ZWQ6IFJvdXRlc1JlY29nbml6ZWQpOiB2b2lkIHtcbiAgICBjb25zdCBuZXh0Um91dGVyU3RhdGUgPSB0aGlzLl9zZXJpYWxpemVyLnNlcmlhbGl6ZShsYXN0Um91dGVzUmVjb2duaXplZC5zdGF0ZSk7XG5cbiAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihcbiAgICAgIG5ldyBSb3V0ZXJOYXZpZ2F0aW9uKFxuICAgICAgICBuZXh0Um91dGVyU3RhdGUsXG4gICAgICAgIG5ldyBSb3V0ZXNSZWNvZ25pemVkKFxuICAgICAgICAgIGxhc3RSb3V0ZXNSZWNvZ25pemVkLmlkLFxuICAgICAgICAgIGxhc3RSb3V0ZXNSZWNvZ25pemVkLnVybCxcbiAgICAgICAgICBsYXN0Um91dGVzUmVjb2duaXplZC51cmxBZnRlclJlZGlyZWN0cyxcbiAgICAgICAgICBuZXh0Um91dGVyU3RhdGVcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5fdHJpZ2dlclxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBOYXZpZ2F0aW9uQ2FuY2VsYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJDYW5jZWwoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihcbiAgICAgIG5ldyBSb3V0ZXJDYW5jZWwodGhpcy5fcm91dGVyU3RhdGUhLCB0aGlzLl9zdG9yZVN0YXRlLCBldmVudCwgdGhpcy5fdHJpZ2dlcilcbiAgICApO1xuICB9XG5cbiAgLyoqIFJlYWN0cyB0byBgTmF2aWdhdGlvbkVuZGAuICovXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyRXJyb3IoZXZlbnQ6IE5hdmlnYXRpb25FcnJvcik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKFxuICAgICAgbmV3IFJvdXRlckVycm9yKFxuICAgICAgICB0aGlzLl9yb3V0ZXJTdGF0ZSEsXG4gICAgICAgIHRoaXMuX3N0b3JlU3RhdGUsXG4gICAgICAgIG5ldyBOYXZpZ2F0aW9uRXJyb3IoZXZlbnQuaWQsIGV2ZW50LnVybCwgYCR7ZXZlbnR9YCksXG4gICAgICAgIHRoaXMuX3RyaWdnZXJcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqIFJlYWN0cyB0byBgTmF2aWdhdGlvbkVuZGAuICovXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyTmF2aWdhdGVkKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgY29uc3Qgcm91dGVyU3RhdGUgPSB0aGlzLl9zZXJpYWxpemVyLnNlcmlhbGl6ZSh0aGlzLl9yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QpO1xuICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKG5ldyBSb3V0ZXJOYXZpZ2F0ZWQocm91dGVyU3RhdGUsIGV2ZW50LCB0aGlzLl90cmlnZ2VyKSk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNwYXRjaFJvdXRlckFjdGlvbjxUPihhY3Rpb246IFJvdXRlckFjdGlvbjxUPik6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXIgPSAncm91dGVyJztcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLl90cmlnZ2VyID0gJ25vbmUnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXIgPSAnbm9uZSc7XG4gICAgdGhpcy5fc3RvcmVTdGF0ZSA9IG51bGw7XG4gICAgdGhpcy5fcm91dGVyU3RhdGUgPSBudWxsO1xuICB9XG59XG4iXX0=
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyLXBsdWdpbi9zcmMvcm91dGVyLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLE1BQU0sRUFFTixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGVBQWUsRUFDZixhQUFhLEVBRWQsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWdCLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBR0wsMkJBQTJCLEVBQzVCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUNMLFFBQVEsRUFFUixZQUFZLEVBQ1osV0FBVyxFQUNYLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGVBQWUsRUFDaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBd0I5QyxJQUFNLFdBQVcsbUJBQWpCLE1BQU0sV0FBVztJQWlDdEIsWUFDVSxNQUFhLEVBQ2IsT0FBZSxFQUNmLFdBQXVELEVBQ3ZELE9BQWUsRUFDdkIsUUFBa0I7UUFKVixXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUE0QztRQUN2RCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBcEN6Qjs7O1dBR0c7UUFDSyxhQUFRLEdB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Q3pCLE1BQU07UUFDYixRQUFRO0dBdENULFdBQVcsQ0E2TnZCO1NBN05ZLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVTtpTUFxRFQsUUFBUSxNQWlCUixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1pvbmUsIEluamVjdGFibGUsIE9uRGVzdHJveSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE5hdmlnYXRpb25DYW5jZWwsXG4gIE5hdmlnYXRpb25FcnJvcixcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBSb3V0ZXNSZWNvZ25pemVkLFxuICBSZXNvbHZlRW5kLFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIE5hdmlnYXRpb25FbmQsXG4gIEV2ZW50XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb24sIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7XG4gIE5hdmlnYXRpb25BY3Rpb25UaW1pbmcsXG4gIE5neHNSb3V0ZXJQbHVnaW5PcHRpb25zLFxuICDJtU5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TXG59IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4vaW50ZXJuYWxzJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgTmF2aWdhdGUsXG4gIFJvdXRlckFjdGlvbixcbiAgUm91dGVyQ2FuY2VsLFxuICBSb3V0ZXJFcnJvcixcbiAgUm91dGVyTmF2aWdhdGlvbixcbiAgUm91dGVyRGF0YVJlc29sdmVkLFxuICBSb3V0ZXJSZXF1ZXN0LFxuICBSb3V0ZXJOYXZpZ2F0ZWRcbn0gZnJvbSAnLi9yb3V0ZXIuYWN0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXIgfSBmcm9tICcuL3NlcmlhbGl6ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlclN0YXRlTW9kZWw8VCA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGU/OiBUO1xuICBuYXZpZ2F0aW9uSWQ/OiBudW1iZXI7XG4gIHRyaWdnZXI6IFJvdXRlclRyaWdnZXI7XG59XG5cbmV4cG9ydCB0eXBlIFJvdXRlclRyaWdnZXIgPVxuICB8ICdub25lJ1xuICB8ICdyb3V0ZXInXG4gIHwgJ3N0b3JlJ1xuICAvLyBUaGUgYGRldnRvb2xzYCB0cmlnZ2VyIG1lYW5zIHRoYXQgdGhlIHN0YXRlIGNoYW5nZSBoYXMgYmVlbiB0cmlnZ2VyZWQgYnkgUmVkdXggRGV2VG9vbHMgKGUuZy4gd2hlbiB0aGUgdGltZS10cmF2ZWxpbmcgaXMgdXNlZCkuXG4gIHwgJ2RldnRvb2xzJztcblxuQFN0YXRlPFJvdXRlclN0YXRlTW9kZWw+KHtcbiAgbmFtZTogJ3JvdXRlcicsXG4gIGRlZmF1bHRzOiB7XG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcbiAgICBuYXZpZ2F0aW9uSWQ6IHVuZGVmaW5lZCxcbiAgICB0cmlnZ2VyOiAnbm9uZSdcbiAgfVxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTdGF0ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGhvdyBuYXZpZ2F0aW9uIHdhcyBwZXJmb3JtZWQgYnkgdGhlIGBSb3V0ZXJTdGF0ZWAgaXRzZWxmXG4gICAqIG9yIG91dHNpZGUgdmlhIGBuZXcgTmF2aWdhdGUoLi4uKWBcbiAgICovXG4gIHByaXZhdGUgX3RyaWdnZXI6IFJvdXRlclRyaWdnZXIgPSAnbm9uZSc7XG5cbiAgLyoqXG4gICAqIFRoYXQncyB0aGUgc2VyaWFsaXplZCBzdGF0ZSBmcm9tIHRoZSBgUm91dGVyYCBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSBfcm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhhdCdzIHRoZSB2YWx1ZSBvZiB0aGUgYFJvdXRlclN0YXRlYCBzdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfc3RvcmVTdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2xhc3RFdmVudDogRXZlbnQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9vcHRpb25zOiBOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucyB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFJlcGxheVN1YmplY3Q8dm9pZD4oMSk7XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIHN0YXRlPFQgPSBSb3V0ZXJTdGF0ZVNuYXBzaG90PihzdGF0ZTogUm91dGVyU3RhdGVNb2RlbDxUPikge1xuICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5zdGF0ZTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyB1cmwoc3RhdGU6IFJvdXRlclN0YXRlTW9kZWwpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5zdGF0ZSAmJiBzdGF0ZS5zdGF0ZS51cmw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBfc2VyaWFsaXplcjogUm91dGVyU3RhdGVTZXJpYWxpemVyPFJvdXRlclN0YXRlU25hcHNob3Q+LFxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICAvLyBOb3RlOiBkbyBub3QgdXNlIGBASW5qZWN0YCBzaW5jZSBpdCBmYWlscyBvbiBsb3dlciB2ZXJzaW9ucyBvZiBBbmd1bGFyIHdpdGggSmVzdFxuICAgIC8vIGludGVncmF0aW9uLCBpdCBjYW5ub3QgcmVzb2x2ZSB0aGUgdG9rZW4gcHJvdmlkZXIuXG4gICAgdGhpcy5fb3B0aW9ucyA9IGluamVjdG9yLmdldCjJtU5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TLCBudWxsKTtcbiAgICB0aGlzLl9zZXRVcFN0b3JlTGlzdGVuZXIoKTtcbiAgICB0aGlzLl9zZXRVcFJvdXRlckV2ZW50c0xpc3RlbmVyKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBAQWN0aW9uKE5hdmlnYXRlKVxuICBuYXZpZ2F0ZShfOiBTdGF0ZUNvbnRleHQ8Um91dGVyU3RhdGVNb2RlbD4sIGFjdGlvbjogTmF2aWdhdGUpIHtcbiAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bigoKSA9PlxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKGFjdGlvbi5wYXRoLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiBhY3Rpb24ucXVlcnlQYXJhbXMsXG4gICAgICAgIC4uLmFjdGlvbi5leHRyYXNcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oW1xuICAgIFJvdXRlclJlcXVlc3QsXG4gICAgUm91dGVyTmF2aWdhdGlvbixcbiAgICBSb3V0ZXJFcnJvcixcbiAgICBSb3V0ZXJDYW5jZWwsXG4gICAgUm91dGVyRGF0YVJlc29sdmVkLFxuICAgIFJvdXRlck5hdmlnYXRlZFxuICBdKVxuICBhbmd1bGFyUm91dGVyQWN0aW9uKFxuICAgIGN0eDogU3RhdGVDb250ZXh0PFJvdXRlclN0YXRlTW9kZWw+LFxuICAgIGFjdGlvbjogUm91dGVyQWN0aW9uPFJvdXRlclN0YXRlTW9kZWwsIFJvdXRlclN0YXRlU25hcHNob3Q+XG4gICk6IHZvaWQge1xuICAgIGN0eC5zZXRTdGF0ZSh7XG4gICAgICB0cmlnZ2VyOiBhY3Rpb24udHJpZ2dlcixcbiAgICAgIHN0YXRlOiBhY3Rpb24ucm91dGVyU3RhdGUsXG4gICAgICBuYXZpZ2F0aW9uSWQ6IGFjdGlvbi5ldmVudC5pZFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VXBTdG9yZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlclN0YXRlJCA9IHRoaXMuX3N0b3JlLnNlbGVjdChSb3V0ZXJTdGF0ZSkucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKTtcbiAgICByb3V0ZXJTdGF0ZSQuc3Vic2NyaWJlKChzdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgdGhpcy5fbmF2aWdhdGVJZk5lZWRlZChzdGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9uYXZpZ2F0ZUlmTmVlZGVkKHJvdXRlclN0YXRlOiBSb3V0ZXJTdGF0ZU1vZGVsIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHJvdXRlclN0YXRlICYmIHJvdXRlclN0YXRlLnRyaWdnZXIgPT09ICdkZXZ0b29scycpIHtcbiAgICAgIHRoaXMuX3N0b3JlU3RhdGUgPSB0aGlzLl9zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgY2FuU2tpcE5hdmlnYXRpb24gPVxuICAgICAgIXRoaXMuX3N0b3JlU3RhdGUgfHxcbiAgICAgICF0aGlzLl9zdG9yZVN0YXRlLnN0YXRlIHx8XG4gICAgICAhcm91dGVyU3RhdGUgfHxcbiAgICAgIHJvdXRlclN0YXRlLnRyaWdnZXIgPT09ICdyb3V0ZXInIHx8XG4gICAgICB0aGlzLl9yb3V0ZXIudXJsID09PSB0aGlzLl9zdG9yZVN0YXRlLnN0YXRlLnVybCB8fFxuICAgICAgdGhpcy5fbGFzdEV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0O1xuXG4gICAgaWYgKGNhblNraXBOYXZpZ2F0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RvcmVTdGF0ZSA9IHRoaXMuX3N0b3JlLnNlbGVjdFNuYXBzaG90KFJvdXRlclN0YXRlKTtcbiAgICB0aGlzLl90cmlnZ2VyID0gJ3N0b3JlJztcbiAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuX3N0b3JlU3RhdGUhLnN0YXRlIS51cmwpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFVwUm91dGVyRXZlbnRzTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgY29uc3QgZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uTGF0ZSA9XG4gICAgICB0aGlzLl9vcHRpb25zICE9IG51bGwgJiZcbiAgICAgIHRoaXMuX29wdGlvbnMubmF2aWdhdGlvbkFjdGlvblRpbWluZyA9PT0gTmF2aWdhdGlvbkFjdGlvblRpbWluZy5Qb3N0QWN0aXZhdGlvbjtcblxuICAgIGxldCBsYXN0Um91dGVzUmVjb2duaXplZDogUm91dGVzUmVjb2duaXplZDtcblxuICAgIGNvbnN0IGV2ZW50cyQgPSB0aGlzLl9yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSk7XG4gICAgZXZlbnRzJC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgdGhpcy5fbGFzdEV2ZW50ID0gZXZlbnQ7XG5cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU3RhcnQoZXZlbnQpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFJvdXRlc1JlY29nbml6ZWQpIHtcbiAgICAgICAgbGFzdFJvdXRlc1JlY29nbml6ZWQgPSBldmVudDtcbiAgICAgICAgaWYgKCFkaXNwYXRjaFJvdXRlck5hdmlnYXRpb25MYXRlICYmIHRoaXMuX3RyaWdnZXIgIT09ICdzdG9yZScpIHtcbiAgICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlck5hdmlnYXRpb24obGFzdFJvdXRlc1JlY29nbml6ZWQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgUmVzb2x2ZUVuZCkge1xuICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckRhdGFSZXNvbHZlZChldmVudCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCkge1xuICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckNhbmNlbChldmVudCk7XG4gICAgICAgIHRoaXMuX3Jlc2V0KCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyRXJyb3IoZXZlbnQpO1xuICAgICAgICB0aGlzLl9yZXNldCgpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3RyaWdnZXIgIT09ICdzdG9yZScpIHtcbiAgICAgICAgICBpZiAoZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uTGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uKGxhc3RSb3V0ZXNSZWNvZ25pemVkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0ZWQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3Jlc2V0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBOYXZpZ2F0aW9uU3RhcnRgLiAqL1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uU3RhcnQoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCk6IHZvaWQge1xuICAgIHRoaXMuX3JvdXRlclN0YXRlID0gdGhpcy5fc2VyaWFsaXplci5zZXJpYWxpemUodGhpcy5fcm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90KTtcblxuICAgIGlmICh0aGlzLl90cmlnZ2VyICE9PSAnbm9uZScpIHtcbiAgICAgIHRoaXMuX3N0b3JlU3RhdGUgPSB0aGlzLl9zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSk7XG4gICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihuZXcgUm91dGVyUmVxdWVzdCh0aGlzLl9yb3V0ZXJTdGF0ZSwgZXZlbnQsIHRoaXMuX3RyaWdnZXIpKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBSZXNvbHZlRW5kYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJEYXRhUmVzb2x2ZWQoZXZlbnQ6IFJlc29sdmVFbmQpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKGV2ZW50LnN0YXRlKTtcbiAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihuZXcgUm91dGVyRGF0YVJlc29sdmVkKHJvdXRlclN0YXRlLCBldmVudCwgdGhpcy5fdHJpZ2dlcikpO1xuICB9XG5cbiAgLyoqIFJlYWN0cyB0byBgUm91dGVzUmVjb2duaXplZGAgb3IgYE5hdmlnYXRpb25FbmRgLCBkZXBlbmRzIG9uIHRoZSBgbmF2aWdhdGlvbkFjdGlvblRpbWluZ2AuICovXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyTmF2aWdhdGlvbihsYXN0Um91dGVzUmVjb2duaXplZDogUm91dGVzUmVjb2duaXplZCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRSb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKGxhc3RSb3V0ZXNSZWNvZ25pemVkLnN0YXRlKTtcblxuICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKFxuICAgICAgbmV3IFJvdXRlck5hdmlnYXRpb24oXG4gICAgICAgIG5leHRSb3V0ZXJTdGF0ZSxcbiAgICAgICAgbmV3IFJvdXRlc1JlY29nbml6ZWQoXG4gICAgICAgICAgbGFzdFJvdXRlc1JlY29nbml6ZWQuaWQsXG4gICAgICAgICAgbGFzdFJvdXRlc1JlY29nbml6ZWQudXJsLFxuICAgICAgICAgIGxhc3RSb3V0ZXNSZWNvZ25pemVkLnVybEFmdGVyUmVkaXJlY3RzLFxuICAgICAgICAgIG5leHRSb3V0ZXJTdGF0ZVxuICAgICAgICApLFxuICAgICAgICB0aGlzLl90cmlnZ2VyXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBSZWFjdHMgdG8gYE5hdmlnYXRpb25DYW5jZWxgLiAqL1xuICBwcml2YXRlIF9kaXNwYXRjaFJvdXRlckNhbmNlbChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKFxuICAgICAgbmV3IFJvdXRlckNhbmNlbCh0aGlzLl9yb3V0ZXJTdGF0ZSEsIHRoaXMuX3N0b3JlU3RhdGUsIGV2ZW50LCB0aGlzLl90cmlnZ2VyKVxuICAgICk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBOYXZpZ2F0aW9uRW5kYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJFcnJvcihldmVudDogTmF2aWdhdGlvbkVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24oXG4gICAgICBuZXcgUm91dGVyRXJyb3IoXG4gICAgICAgIHRoaXMuX3JvdXRlclN0YXRlISxcbiAgICAgICAgdGhpcy5fc3RvcmVTdGF0ZSxcbiAgICAgICAgbmV3IE5hdmlnYXRpb25FcnJvcihldmVudC5pZCwgZXZlbnQudXJsLCBgJHtldmVudH1gKSxcbiAgICAgICAgdGhpcy5fdHJpZ2dlclxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBOYXZpZ2F0aW9uRW5kYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0ZWQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKHRoaXMuX3JvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCk7XG4gICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24obmV3IFJvdXRlck5hdmlnYXRlZChyb3V0ZXJTdGF0ZSwgZXZlbnQsIHRoaXMuX3RyaWdnZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyQWN0aW9uPFQ+KGFjdGlvbjogUm91dGVyQWN0aW9uPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlciA9ICdyb3V0ZXInO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX3RyaWdnZXIgPSAnbm9uZSc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlciA9ICdub25lJztcbiAgICB0aGlzLl9zdG9yZVN0YXRlID0gbnVsbDtcbiAgICB0aGlzLl9yb3V0ZXJTdGF0ZSA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,7 +6,8 @@ import { ɵNGXS_ROUTER_PLUGIN_OPTIONS, ɵUSER_OPTIONS, ɵcreateRouterPluginOptio
|
|
|
6
6
|
import { __decorate, __metadata } from 'tslib';
|
|
7
7
|
import * as i2 from '@angular/router';
|
|
8
8
|
import { NavigationStart, RoutesRecognized, ResolveEnd, NavigationCancel, NavigationError, NavigationEnd, Router } from '@angular/router';
|
|
9
|
-
import {
|
|
9
|
+
import { ReplaySubject } from 'rxjs';
|
|
10
|
+
import { takeUntil } from 'rxjs/operators';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Public event api of the router
|
|
@@ -147,8 +148,8 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
147
148
|
*/
|
|
148
149
|
this._storeState = null;
|
|
149
150
|
this._lastEvent = null;
|
|
150
|
-
this._subscription = new Subscription();
|
|
151
151
|
this._options = null;
|
|
152
|
+
this._destroy$ = new ReplaySubject(1);
|
|
152
153
|
// Note: do not use `@Inject` since it fails on lower versions of Angular with Jest
|
|
153
154
|
// integration, it cannot resolve the token provider.
|
|
154
155
|
this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);
|
|
@@ -162,7 +163,7 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
162
163
|
return state && state.state && state.state.url;
|
|
163
164
|
}
|
|
164
165
|
ngOnDestroy() {
|
|
165
|
-
this.
|
|
166
|
+
this._destroy$.next();
|
|
166
167
|
}
|
|
167
168
|
navigate(_, action) {
|
|
168
169
|
return this._ngZone.run(() => this._router.navigate(action.path, Object.assign({ queryParams: action.queryParams }, action.extras)));
|
|
@@ -175,12 +176,10 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
175
176
|
});
|
|
176
177
|
}
|
|
177
178
|
_setUpStoreListener() {
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
.subscribe((state) => {
|
|
179
|
+
const routerState$ = this._store.select(RouterState_1).pipe(takeUntil(this._destroy$));
|
|
180
|
+
routerState$.subscribe((state) => {
|
|
181
181
|
this._navigateIfNeeded(state);
|
|
182
182
|
});
|
|
183
|
-
this._subscription.add(subscription);
|
|
184
183
|
}
|
|
185
184
|
_navigateIfNeeded(routerState) {
|
|
186
185
|
if (routerState && routerState.trigger === 'devtools') {
|
|
@@ -203,7 +202,8 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
203
202
|
const dispatchRouterNavigationLate = this._options != null &&
|
|
204
203
|
this._options.navigationActionTiming === 2 /* NavigationActionTiming.PostActivation */;
|
|
205
204
|
let lastRoutesRecognized;
|
|
206
|
-
const
|
|
205
|
+
const events$ = this._router.events.pipe(takeUntil(this._destroy$));
|
|
206
|
+
events$.subscribe(event => {
|
|
207
207
|
this._lastEvent = event;
|
|
208
208
|
if (event instanceof NavigationStart) {
|
|
209
209
|
this._navigationStart(event);
|
|
@@ -235,7 +235,6 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
235
235
|
this._reset();
|
|
236
236
|
}
|
|
237
237
|
});
|
|
238
|
-
this._subscription.add(subscription);
|
|
239
238
|
}
|
|
240
239
|
/** Reacts to `NavigationStart`. */
|
|
241
240
|
_navigationStart(event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxs-router-plugin.mjs","sources":["../../../packages/router-plugin/src/router.actions.ts","../../../packages/router-plugin/src/serializer.ts","../../../packages/router-plugin/src/router.state.ts","../../../packages/router-plugin/src/router.module.ts","../../../packages/router-plugin/index.ts","../../../packages/router-plugin/ngxs-router-plugin.ts"],"sourcesContent":["import {\n NavigationCancel,\n NavigationError,\n NavigationExtras,\n Params,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd\n} from '@angular/router';\n\nimport { RouterTrigger } from './router.state';\n\n/**\n * Public event api of the router\n */\nexport class Navigate {\n static readonly type = '[Router] Navigate';\n\n constructor(\n public path: any[],\n public queryParams?: Params,\n public extras?: NavigationExtras\n ) {}\n}\n\n/**\n *\n * Angular Routers internal state events\n *\n */\n\n/**\n * An action dispatched when the router starts the navigation.\n */\nexport class RouterRequest<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterRequest';\n\n constructor(\n public routerState: T,\n public event: NavigationStart,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigates.\n */\nexport class RouterNavigation<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigation';\n\n constructor(\n public routerState: T,\n public event: RoutesRecognized,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router cancel navigation.\n */\nexport class RouterCancel<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterCancel';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationCancel,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router errors.\n */\nexport class RouterError<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterError';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationError,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the `ResolveEnd` event is triggered.\n */\nexport class RouterDataResolved<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterDataResolved';\n\n constructor(\n public routerState: T,\n public event: ResolveEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigation has been finished successfully.\n */\nexport class RouterNavigated<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigated';\n\n constructor(\n public routerState: T,\n public event: NavigationEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An union type of router actions.\n */\nexport type RouterAction<T, V = RouterStateSnapshot> =\n | RouterRequest<V>\n | RouterNavigation<V>\n | RouterCancel<T, V>\n | RouterError<T, V>\n | RouterDataResolved<V>\n | RouterNavigated<V>;\n","import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nexport abstract class RouterStateSerializer<T> {\n abstract serialize(routerState: RouterStateSnapshot): T;\n}\n\nexport interface SerializedRouterStateSnapshot {\n root: ActivatedRouteSnapshot;\n url: string;\n}\n\nexport class DefaultRouterStateSerializer\n implements RouterStateSerializer<SerializedRouterStateSnapshot>\n{\n serialize(routerState: RouterStateSnapshot): SerializedRouterStateSnapshot {\n return {\n root: this.serializeRoute(routerState.root),\n url: routerState.url\n };\n }\n\n private serializeRoute(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\n const children = route.children.map(c => this.serializeRoute(c));\n return {\n url: route.url,\n title: route.title,\n params: route.params,\n queryParams: route.queryParams,\n fragment: route.fragment!,\n data: route.data,\n outlet: route.outlet,\n component: null,\n routeConfig: null,\n root: null as any,\n parent: null,\n firstChild: children[0],\n children: children,\n pathFromRoot: null as any,\n paramMap: route.paramMap,\n queryParamMap: route.queryParamMap,\n toString: route.toString\n };\n }\n}\n","import { NgZone, Injectable, OnDestroy, Injector } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationError,\n Router,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd,\n Event\n} from '@angular/router';\nimport { Action, Selector, State, StateContext, Store } from '@ngxs/store';\nimport {\n NavigationActionTiming,\n NgxsRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS\n} from '@ngxs/router-plugin/internals';\nimport { Subscription } from 'rxjs';\n\nimport {\n Navigate,\n RouterAction,\n RouterCancel,\n RouterError,\n RouterNavigation,\n RouterDataResolved,\n RouterRequest,\n RouterNavigated\n} from './router.actions';\nimport { RouterStateSerializer } from './serializer';\n\nexport interface RouterStateModel<T = RouterStateSnapshot> {\n state?: T;\n navigationId?: number;\n trigger: RouterTrigger;\n}\n\nexport type RouterTrigger =\n | 'none'\n | 'router'\n | 'store'\n // The `devtools` trigger means that the state change has been triggered by Redux DevTools (e.g. when the time-traveling is used).\n | 'devtools';\n\n@State<RouterStateModel>({\n name: 'router',\n defaults: {\n state: undefined,\n navigationId: undefined,\n trigger: 'none'\n }\n})\n@Injectable()\nexport class RouterState implements OnDestroy {\n /**\n * Determines how navigation was performed by the `RouterState` itself\n * or outside via `new Navigate(...)`\n */\n private _trigger: RouterTrigger = 'none';\n\n /**\n * That's the serialized state from the `Router` class\n */\n private _routerState: RouterStateSnapshot | null = null;\n\n /**\n * That's the value of the `RouterState` state\n */\n private _storeState: RouterStateModel | null = null;\n\n private _lastEvent: Event | null = null;\n\n private _subscription = new Subscription();\n\n private _options: NgxsRouterPluginOptions | null = null;\n\n @Selector()\n static state<T = RouterStateSnapshot>(state: RouterStateModel<T>) {\n return state && state.state;\n }\n\n @Selector()\n static url(state: RouterStateModel): string | undefined {\n return state && state.state && state.state.url;\n }\n\n constructor(\n private _store: Store,\n private _router: Router,\n private _serializer: RouterStateSerializer<RouterStateSnapshot>,\n private _ngZone: NgZone,\n injector: Injector\n ) {\n // Note: do not use `@Inject` since it fails on lower versions of Angular with Jest\n // integration, it cannot resolve the token provider.\n this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);\n this._setUpStoreListener();\n this._setUpRouterEventsListener();\n }\n\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n @Action(Navigate)\n navigate(_: StateContext<RouterStateModel>, action: Navigate) {\n return this._ngZone.run(() =>\n this._router.navigate(action.path, {\n queryParams: action.queryParams,\n ...action.extras\n })\n );\n }\n\n @Action([\n RouterRequest,\n RouterNavigation,\n RouterError,\n RouterCancel,\n RouterDataResolved,\n RouterNavigated\n ])\n angularRouterAction(\n ctx: StateContext<RouterStateModel>,\n action: RouterAction<RouterStateModel, RouterStateSnapshot>\n ): void {\n ctx.setState({\n trigger: action.trigger,\n state: action.routerState,\n navigationId: action.event.id\n });\n }\n\n private _setUpStoreListener(): void {\n const subscription = this._store\n .select(RouterState)\n .subscribe((state: RouterStateModel | undefined) => {\n this._navigateIfNeeded(state);\n });\n\n this._subscription.add(subscription);\n }\n\n private _navigateIfNeeded(routerState: RouterStateModel | undefined): void {\n if (routerState && routerState.trigger === 'devtools') {\n this._storeState = this._store.selectSnapshot(RouterState);\n }\n\n const canSkipNavigation =\n !this._storeState ||\n !this._storeState.state ||\n !routerState ||\n routerState.trigger === 'router' ||\n this._router.url === this._storeState.state.url ||\n this._lastEvent instanceof NavigationStart;\n\n if (canSkipNavigation) {\n return;\n }\n\n this._storeState = this._store.selectSnapshot(RouterState);\n this._trigger = 'store';\n this._ngZone.run(() => this._router.navigateByUrl(this._storeState!.state!.url));\n }\n\n private _setUpRouterEventsListener(): void {\n const dispatchRouterNavigationLate =\n this._options != null &&\n this._options.navigationActionTiming === NavigationActionTiming.PostActivation;\n\n let lastRoutesRecognized: RoutesRecognized;\n\n const subscription = this._router.events.subscribe(event => {\n this._lastEvent = event;\n\n if (event instanceof NavigationStart) {\n this._navigationStart(event);\n } else if (event instanceof RoutesRecognized) {\n lastRoutesRecognized = event;\n if (!dispatchRouterNavigationLate && this._trigger !== 'store') {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n } else if (event instanceof ResolveEnd) {\n this._dispatchRouterDataResolved(event);\n } else if (event instanceof NavigationCancel) {\n this._dispatchRouterCancel(event);\n this._reset();\n } else if (event instanceof NavigationError) {\n this._dispatchRouterError(event);\n this._reset();\n } else if (event instanceof NavigationEnd) {\n if (this._trigger !== 'store') {\n if (dispatchRouterNavigationLate) {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n this._dispatchRouterNavigated(event);\n }\n this._reset();\n }\n });\n\n this._subscription.add(subscription);\n }\n\n /** Reacts to `NavigationStart`. */\n private _navigationStart(event: NavigationStart): void {\n this._routerState = this._serializer.serialize(this._router.routerState.snapshot);\n\n if (this._trigger !== 'none') {\n this._storeState = this._store.selectSnapshot(RouterState);\n this._dispatchRouterAction(new RouterRequest(this._routerState, event, this._trigger));\n }\n }\n\n /** Reacts to `ResolveEnd`. */\n private _dispatchRouterDataResolved(event: ResolveEnd): void {\n const routerState = this._serializer.serialize(event.state);\n this._dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));\n }\n\n /** Reacts to `RoutesRecognized` or `NavigationEnd`, depends on the `navigationActionTiming`. */\n private _dispatchRouterNavigation(lastRoutesRecognized: RoutesRecognized): void {\n const nextRouterState = this._serializer.serialize(lastRoutesRecognized.state);\n\n this._dispatchRouterAction(\n new RouterNavigation(\n nextRouterState,\n new RoutesRecognized(\n lastRoutesRecognized.id,\n lastRoutesRecognized.url,\n lastRoutesRecognized.urlAfterRedirects,\n nextRouterState\n ),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationCancel`. */\n private _dispatchRouterCancel(event: NavigationCancel): void {\n this._dispatchRouterAction(\n new RouterCancel(this._routerState!, this._storeState, event, this._trigger)\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterError(event: NavigationError): void {\n this._dispatchRouterAction(\n new RouterError(\n this._routerState!,\n this._storeState,\n new NavigationError(event.id, event.url, `${event}`),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterNavigated(event: NavigationEnd): void {\n const routerState = this._serializer.serialize(this._router.routerState.snapshot);\n this._dispatchRouterAction(new RouterNavigated(routerState, event, this._trigger));\n }\n\n private _dispatchRouterAction<T>(action: RouterAction<T>): void {\n this._trigger = 'router';\n\n try {\n this._store.dispatch(action);\n } finally {\n this._trigger = 'none';\n }\n }\n\n private _reset(): void {\n this._trigger = 'none';\n this._storeState = null;\n this._routerState = null;\n }\n}\n","import {\n EnvironmentProviders,\n ModuleWithProviders,\n NgModule,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { NgxsModule, provideStates } from '@ngxs/store';\nimport {\n NgxsRouterPluginOptions,\n ɵcreateRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n ɵUSER_OPTIONS\n} from '@ngxs/router-plugin/internals';\n\nimport { RouterState } from './router.state';\nimport { DefaultRouterStateSerializer, RouterStateSerializer } from './serializer';\n\n@NgModule({\n imports: [NgxsModule.forFeature([RouterState])]\n})\nexport class NgxsRouterPluginModule {\n static forRoot(\n options?: NgxsRouterPluginOptions\n ): ModuleWithProviders<NgxsRouterPluginModule> {\n return {\n ngModule: NgxsRouterPluginModule,\n providers: [\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]\n };\n }\n}\n\nexport function withNgxsRouterPlugin(options?: NgxsRouterPluginOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideStates([RouterState]),\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]);\n}\n","/**\n * The public api for consumers of @ngxs/router-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.RouterStateSerializer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngxs-router-plugin.mjs","sources":["../../../packages/router-plugin/src/router.actions.ts","../../../packages/router-plugin/src/serializer.ts","../../../packages/router-plugin/src/router.state.ts","../../../packages/router-plugin/src/router.module.ts","../../../packages/router-plugin/index.ts","../../../packages/router-plugin/ngxs-router-plugin.ts"],"sourcesContent":["import {\n NavigationCancel,\n NavigationError,\n NavigationExtras,\n Params,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd\n} from '@angular/router';\n\nimport { RouterTrigger } from './router.state';\n\n/**\n * Public event api of the router\n */\nexport class Navigate {\n static readonly type = '[Router] Navigate';\n\n constructor(\n public path: any[],\n public queryParams?: Params,\n public extras?: NavigationExtras\n ) {}\n}\n\n/**\n *\n * Angular Routers internal state events\n *\n */\n\n/**\n * An action dispatched when the router starts the navigation.\n */\nexport class RouterRequest<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterRequest';\n\n constructor(\n public routerState: T,\n public event: NavigationStart,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigates.\n */\nexport class RouterNavigation<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigation';\n\n constructor(\n public routerState: T,\n public event: RoutesRecognized,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router cancel navigation.\n */\nexport class RouterCancel<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterCancel';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationCancel,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router errors.\n */\nexport class RouterError<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterError';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationError,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the `ResolveEnd` event is triggered.\n */\nexport class RouterDataResolved<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterDataResolved';\n\n constructor(\n public routerState: T,\n public event: ResolveEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigation has been finished successfully.\n */\nexport class RouterNavigated<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigated';\n\n constructor(\n public routerState: T,\n public event: NavigationEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An union type of router actions.\n */\nexport type RouterAction<T, V = RouterStateSnapshot> =\n | RouterRequest<V>\n | RouterNavigation<V>\n | RouterCancel<T, V>\n | RouterError<T, V>\n | RouterDataResolved<V>\n | RouterNavigated<V>;\n","import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nexport abstract class RouterStateSerializer<T> {\n abstract serialize(routerState: RouterStateSnapshot): T;\n}\n\nexport interface SerializedRouterStateSnapshot {\n root: ActivatedRouteSnapshot;\n url: string;\n}\n\nexport class DefaultRouterStateSerializer\n implements RouterStateSerializer<SerializedRouterStateSnapshot>\n{\n serialize(routerState: RouterStateSnapshot): SerializedRouterStateSnapshot {\n return {\n root: this.serializeRoute(routerState.root),\n url: routerState.url\n };\n }\n\n private serializeRoute(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\n const children = route.children.map(c => this.serializeRoute(c));\n return {\n url: route.url,\n title: route.title,\n params: route.params,\n queryParams: route.queryParams,\n fragment: route.fragment!,\n data: route.data,\n outlet: route.outlet,\n component: null,\n routeConfig: null,\n root: null as any,\n parent: null,\n firstChild: children[0],\n children: children,\n pathFromRoot: null as any,\n paramMap: route.paramMap,\n queryParamMap: route.queryParamMap,\n toString: route.toString\n };\n }\n}\n","import { NgZone, Injectable, OnDestroy, Injector } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationError,\n Router,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd,\n Event\n} from '@angular/router';\nimport { Action, Selector, State, StateContext, Store } from '@ngxs/store';\nimport {\n NavigationActionTiming,\n NgxsRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS\n} from '@ngxs/router-plugin/internals';\nimport { ReplaySubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n Navigate,\n RouterAction,\n RouterCancel,\n RouterError,\n RouterNavigation,\n RouterDataResolved,\n RouterRequest,\n RouterNavigated\n} from './router.actions';\nimport { RouterStateSerializer } from './serializer';\n\nexport interface RouterStateModel<T = RouterStateSnapshot> {\n state?: T;\n navigationId?: number;\n trigger: RouterTrigger;\n}\n\nexport type RouterTrigger =\n | 'none'\n | 'router'\n | 'store'\n // The `devtools` trigger means that the state change has been triggered by Redux DevTools (e.g. when the time-traveling is used).\n | 'devtools';\n\n@State<RouterStateModel>({\n name: 'router',\n defaults: {\n state: undefined,\n navigationId: undefined,\n trigger: 'none'\n }\n})\n@Injectable()\nexport class RouterState implements OnDestroy {\n /**\n * Determines how navigation was performed by the `RouterState` itself\n * or outside via `new Navigate(...)`\n */\n private _trigger: RouterTrigger = 'none';\n\n /**\n * That's the serialized state from the `Router` class\n */\n private _routerState: RouterStateSnapshot | null = null;\n\n /**\n * That's the value of the `RouterState` state\n */\n private _storeState: RouterStateModel | null = null;\n\n private _lastEvent: Event | null = null;\n\n private _options: NgxsRouterPluginOptions | null = null;\n\n private _destroy$ = new ReplaySubject<void>(1);\n\n @Selector()\n static state<T = RouterStateSnapshot>(state: RouterStateModel<T>) {\n return state && state.state;\n }\n\n @Selector()\n static url(state: RouterStateModel): string | undefined {\n return state && state.state && state.state.url;\n }\n\n constructor(\n private _store: Store,\n private _router: Router,\n private _serializer: RouterStateSerializer<RouterStateSnapshot>,\n private _ngZone: NgZone,\n injector: Injector\n ) {\n // Note: do not use `@Inject` since it fails on lower versions of Angular with Jest\n // integration, it cannot resolve the token provider.\n this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);\n this._setUpStoreListener();\n this._setUpRouterEventsListener();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n @Action(Navigate)\n navigate(_: StateContext<RouterStateModel>, action: Navigate) {\n return this._ngZone.run(() =>\n this._router.navigate(action.path, {\n queryParams: action.queryParams,\n ...action.extras\n })\n );\n }\n\n @Action([\n RouterRequest,\n RouterNavigation,\n RouterError,\n RouterCancel,\n RouterDataResolved,\n RouterNavigated\n ])\n angularRouterAction(\n ctx: StateContext<RouterStateModel>,\n action: RouterAction<RouterStateModel, RouterStateSnapshot>\n ): void {\n ctx.setState({\n trigger: action.trigger,\n state: action.routerState,\n navigationId: action.event.id\n });\n }\n\n private _setUpStoreListener(): void {\n const routerState$ = this._store.select(RouterState).pipe(takeUntil(this._destroy$));\n routerState$.subscribe((state: RouterStateModel | undefined) => {\n this._navigateIfNeeded(state);\n });\n }\n\n private _navigateIfNeeded(routerState: RouterStateModel | undefined): void {\n if (routerState && routerState.trigger === 'devtools') {\n this._storeState = this._store.selectSnapshot(RouterState);\n }\n\n const canSkipNavigation =\n !this._storeState ||\n !this._storeState.state ||\n !routerState ||\n routerState.trigger === 'router' ||\n this._router.url === this._storeState.state.url ||\n this._lastEvent instanceof NavigationStart;\n\n if (canSkipNavigation) {\n return;\n }\n\n this._storeState = this._store.selectSnapshot(RouterState);\n this._trigger = 'store';\n this._ngZone.run(() => this._router.navigateByUrl(this._storeState!.state!.url));\n }\n\n private _setUpRouterEventsListener(): void {\n const dispatchRouterNavigationLate =\n this._options != null &&\n this._options.navigationActionTiming === NavigationActionTiming.PostActivation;\n\n let lastRoutesRecognized: RoutesRecognized;\n\n const events$ = this._router.events.pipe(takeUntil(this._destroy$));\n events$.subscribe(event => {\n this._lastEvent = event;\n\n if (event instanceof NavigationStart) {\n this._navigationStart(event);\n } else if (event instanceof RoutesRecognized) {\n lastRoutesRecognized = event;\n if (!dispatchRouterNavigationLate && this._trigger !== 'store') {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n } else if (event instanceof ResolveEnd) {\n this._dispatchRouterDataResolved(event);\n } else if (event instanceof NavigationCancel) {\n this._dispatchRouterCancel(event);\n this._reset();\n } else if (event instanceof NavigationError) {\n this._dispatchRouterError(event);\n this._reset();\n } else if (event instanceof NavigationEnd) {\n if (this._trigger !== 'store') {\n if (dispatchRouterNavigationLate) {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n this._dispatchRouterNavigated(event);\n }\n this._reset();\n }\n });\n }\n\n /** Reacts to `NavigationStart`. */\n private _navigationStart(event: NavigationStart): void {\n this._routerState = this._serializer.serialize(this._router.routerState.snapshot);\n\n if (this._trigger !== 'none') {\n this._storeState = this._store.selectSnapshot(RouterState);\n this._dispatchRouterAction(new RouterRequest(this._routerState, event, this._trigger));\n }\n }\n\n /** Reacts to `ResolveEnd`. */\n private _dispatchRouterDataResolved(event: ResolveEnd): void {\n const routerState = this._serializer.serialize(event.state);\n this._dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));\n }\n\n /** Reacts to `RoutesRecognized` or `NavigationEnd`, depends on the `navigationActionTiming`. */\n private _dispatchRouterNavigation(lastRoutesRecognized: RoutesRecognized): void {\n const nextRouterState = this._serializer.serialize(lastRoutesRecognized.state);\n\n this._dispatchRouterAction(\n new RouterNavigation(\n nextRouterState,\n new RoutesRecognized(\n lastRoutesRecognized.id,\n lastRoutesRecognized.url,\n lastRoutesRecognized.urlAfterRedirects,\n nextRouterState\n ),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationCancel`. */\n private _dispatchRouterCancel(event: NavigationCancel): void {\n this._dispatchRouterAction(\n new RouterCancel(this._routerState!, this._storeState, event, this._trigger)\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterError(event: NavigationError): void {\n this._dispatchRouterAction(\n new RouterError(\n this._routerState!,\n this._storeState,\n new NavigationError(event.id, event.url, `${event}`),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterNavigated(event: NavigationEnd): void {\n const routerState = this._serializer.serialize(this._router.routerState.snapshot);\n this._dispatchRouterAction(new RouterNavigated(routerState, event, this._trigger));\n }\n\n private _dispatchRouterAction<T>(action: RouterAction<T>): void {\n this._trigger = 'router';\n\n try {\n this._store.dispatch(action);\n } finally {\n this._trigger = 'none';\n }\n }\n\n private _reset(): void {\n this._trigger = 'none';\n this._storeState = null;\n this._routerState = null;\n }\n}\n","import {\n EnvironmentProviders,\n ModuleWithProviders,\n NgModule,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { NgxsModule, provideStates } from '@ngxs/store';\nimport {\n NgxsRouterPluginOptions,\n ɵcreateRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n ɵUSER_OPTIONS\n} from '@ngxs/router-plugin/internals';\n\nimport { RouterState } from './router.state';\nimport { DefaultRouterStateSerializer, RouterStateSerializer } from './serializer';\n\n@NgModule({\n imports: [NgxsModule.forFeature([RouterState])]\n})\nexport class NgxsRouterPluginModule {\n static forRoot(\n options?: NgxsRouterPluginOptions\n ): ModuleWithProviders<NgxsRouterPluginModule> {\n return {\n ngModule: NgxsRouterPluginModule,\n providers: [\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]\n };\n }\n}\n\nexport function withNgxsRouterPlugin(options?: NgxsRouterPluginOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideStates([RouterState]),\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]);\n}\n","/**\n * The public api for consumers of @ngxs/router-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.RouterStateSerializer"],"mappings":"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"}
|
|
@@ -6,7 +6,8 @@ import { ɵNGXS_ROUTER_PLUGIN_OPTIONS, ɵUSER_OPTIONS, ɵcreateRouterPluginOptio
|
|
|
6
6
|
import { __decorate, __metadata } from 'tslib';
|
|
7
7
|
import * as i2 from '@angular/router';
|
|
8
8
|
import { NavigationStart, RoutesRecognized, ResolveEnd, NavigationCancel, NavigationError, NavigationEnd, Router } from '@angular/router';
|
|
9
|
-
import {
|
|
9
|
+
import { ReplaySubject } from 'rxjs';
|
|
10
|
+
import { takeUntil } from 'rxjs/operators';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Public event api of the router
|
|
@@ -147,8 +148,8 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
147
148
|
*/
|
|
148
149
|
this._storeState = null;
|
|
149
150
|
this._lastEvent = null;
|
|
150
|
-
this._subscription = new Subscription();
|
|
151
151
|
this._options = null;
|
|
152
|
+
this._destroy$ = new ReplaySubject(1);
|
|
152
153
|
// Note: do not use `@Inject` since it fails on lower versions of Angular with Jest
|
|
153
154
|
// integration, it cannot resolve the token provider.
|
|
154
155
|
this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);
|
|
@@ -162,7 +163,7 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
162
163
|
return state && state.state && state.state.url;
|
|
163
164
|
}
|
|
164
165
|
ngOnDestroy() {
|
|
165
|
-
this.
|
|
166
|
+
this._destroy$.next();
|
|
166
167
|
}
|
|
167
168
|
navigate(_, action) {
|
|
168
169
|
return this._ngZone.run(() => this._router.navigate(action.path, {
|
|
@@ -178,12 +179,10 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
178
179
|
});
|
|
179
180
|
}
|
|
180
181
|
_setUpStoreListener() {
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
.subscribe((state) => {
|
|
182
|
+
const routerState$ = this._store.select(RouterState_1).pipe(takeUntil(this._destroy$));
|
|
183
|
+
routerState$.subscribe((state) => {
|
|
184
184
|
this._navigateIfNeeded(state);
|
|
185
185
|
});
|
|
186
|
-
this._subscription.add(subscription);
|
|
187
186
|
}
|
|
188
187
|
_navigateIfNeeded(routerState) {
|
|
189
188
|
if (routerState && routerState.trigger === 'devtools') {
|
|
@@ -206,7 +205,8 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
206
205
|
const dispatchRouterNavigationLate = this._options != null &&
|
|
207
206
|
this._options.navigationActionTiming === 2 /* NavigationActionTiming.PostActivation */;
|
|
208
207
|
let lastRoutesRecognized;
|
|
209
|
-
const
|
|
208
|
+
const events$ = this._router.events.pipe(takeUntil(this._destroy$));
|
|
209
|
+
events$.subscribe(event => {
|
|
210
210
|
this._lastEvent = event;
|
|
211
211
|
if (event instanceof NavigationStart) {
|
|
212
212
|
this._navigationStart(event);
|
|
@@ -238,7 +238,6 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
238
238
|
this._reset();
|
|
239
239
|
}
|
|
240
240
|
});
|
|
241
|
-
this._subscription.add(subscription);
|
|
242
241
|
}
|
|
243
242
|
/** Reacts to `NavigationStart`. */
|
|
244
243
|
_navigationStart(event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxs-router-plugin.mjs","sources":["../../../packages/router-plugin/src/router.actions.ts","../../../packages/router-plugin/src/serializer.ts","../../../packages/router-plugin/src/router.state.ts","../../../packages/router-plugin/src/router.module.ts","../../../packages/router-plugin/index.ts","../../../packages/router-plugin/ngxs-router-plugin.ts"],"sourcesContent":["import {\n NavigationCancel,\n NavigationError,\n NavigationExtras,\n Params,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd\n} from '@angular/router';\n\nimport { RouterTrigger } from './router.state';\n\n/**\n * Public event api of the router\n */\nexport class Navigate {\n static readonly type = '[Router] Navigate';\n\n constructor(\n public path: any[],\n public queryParams?: Params,\n public extras?: NavigationExtras\n ) {}\n}\n\n/**\n *\n * Angular Routers internal state events\n *\n */\n\n/**\n * An action dispatched when the router starts the navigation.\n */\nexport class RouterRequest<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterRequest';\n\n constructor(\n public routerState: T,\n public event: NavigationStart,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigates.\n */\nexport class RouterNavigation<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigation';\n\n constructor(\n public routerState: T,\n public event: RoutesRecognized,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router cancel navigation.\n */\nexport class RouterCancel<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterCancel';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationCancel,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router errors.\n */\nexport class RouterError<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterError';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationError,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the `ResolveEnd` event is triggered.\n */\nexport class RouterDataResolved<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterDataResolved';\n\n constructor(\n public routerState: T,\n public event: ResolveEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigation has been finished successfully.\n */\nexport class RouterNavigated<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigated';\n\n constructor(\n public routerState: T,\n public event: NavigationEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An union type of router actions.\n */\nexport type RouterAction<T, V = RouterStateSnapshot> =\n | RouterRequest<V>\n | RouterNavigation<V>\n | RouterCancel<T, V>\n | RouterError<T, V>\n | RouterDataResolved<V>\n | RouterNavigated<V>;\n","import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nexport abstract class RouterStateSerializer<T> {\n abstract serialize(routerState: RouterStateSnapshot): T;\n}\n\nexport interface SerializedRouterStateSnapshot {\n root: ActivatedRouteSnapshot;\n url: string;\n}\n\nexport class DefaultRouterStateSerializer\n implements RouterStateSerializer<SerializedRouterStateSnapshot>\n{\n serialize(routerState: RouterStateSnapshot): SerializedRouterStateSnapshot {\n return {\n root: this.serializeRoute(routerState.root),\n url: routerState.url\n };\n }\n\n private serializeRoute(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\n const children = route.children.map(c => this.serializeRoute(c));\n return {\n url: route.url,\n title: route.title,\n params: route.params,\n queryParams: route.queryParams,\n fragment: route.fragment!,\n data: route.data,\n outlet: route.outlet,\n component: null,\n routeConfig: null,\n root: null as any,\n parent: null,\n firstChild: children[0],\n children: children,\n pathFromRoot: null as any,\n paramMap: route.paramMap,\n queryParamMap: route.queryParamMap,\n toString: route.toString\n };\n }\n}\n","import { NgZone, Injectable, OnDestroy, Injector } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationError,\n Router,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd,\n Event\n} from '@angular/router';\nimport { Action, Selector, State, StateContext, Store } from '@ngxs/store';\nimport {\n NavigationActionTiming,\n NgxsRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS\n} from '@ngxs/router-plugin/internals';\nimport { Subscription } from 'rxjs';\n\nimport {\n Navigate,\n RouterAction,\n RouterCancel,\n RouterError,\n RouterNavigation,\n RouterDataResolved,\n RouterRequest,\n RouterNavigated\n} from './router.actions';\nimport { RouterStateSerializer } from './serializer';\n\nexport interface RouterStateModel<T = RouterStateSnapshot> {\n state?: T;\n navigationId?: number;\n trigger: RouterTrigger;\n}\n\nexport type RouterTrigger =\n | 'none'\n | 'router'\n | 'store'\n // The `devtools` trigger means that the state change has been triggered by Redux DevTools (e.g. when the time-traveling is used).\n | 'devtools';\n\n@State<RouterStateModel>({\n name: 'router',\n defaults: {\n state: undefined,\n navigationId: undefined,\n trigger: 'none'\n }\n})\n@Injectable()\nexport class RouterState implements OnDestroy {\n /**\n * Determines how navigation was performed by the `RouterState` itself\n * or outside via `new Navigate(...)`\n */\n private _trigger: RouterTrigger = 'none';\n\n /**\n * That's the serialized state from the `Router` class\n */\n private _routerState: RouterStateSnapshot | null = null;\n\n /**\n * That's the value of the `RouterState` state\n */\n private _storeState: RouterStateModel | null = null;\n\n private _lastEvent: Event | null = null;\n\n private _subscription = new Subscription();\n\n private _options: NgxsRouterPluginOptions | null = null;\n\n @Selector()\n static state<T = RouterStateSnapshot>(state: RouterStateModel<T>) {\n return state && state.state;\n }\n\n @Selector()\n static url(state: RouterStateModel): string | undefined {\n return state && state.state && state.state.url;\n }\n\n constructor(\n private _store: Store,\n private _router: Router,\n private _serializer: RouterStateSerializer<RouterStateSnapshot>,\n private _ngZone: NgZone,\n injector: Injector\n ) {\n // Note: do not use `@Inject` since it fails on lower versions of Angular with Jest\n // integration, it cannot resolve the token provider.\n this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);\n this._setUpStoreListener();\n this._setUpRouterEventsListener();\n }\n\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n @Action(Navigate)\n navigate(_: StateContext<RouterStateModel>, action: Navigate) {\n return this._ngZone.run(() =>\n this._router.navigate(action.path, {\n queryParams: action.queryParams,\n ...action.extras\n })\n );\n }\n\n @Action([\n RouterRequest,\n RouterNavigation,\n RouterError,\n RouterCancel,\n RouterDataResolved,\n RouterNavigated\n ])\n angularRouterAction(\n ctx: StateContext<RouterStateModel>,\n action: RouterAction<RouterStateModel, RouterStateSnapshot>\n ): void {\n ctx.setState({\n trigger: action.trigger,\n state: action.routerState,\n navigationId: action.event.id\n });\n }\n\n private _setUpStoreListener(): void {\n const subscription = this._store\n .select(RouterState)\n .subscribe((state: RouterStateModel | undefined) => {\n this._navigateIfNeeded(state);\n });\n\n this._subscription.add(subscription);\n }\n\n private _navigateIfNeeded(routerState: RouterStateModel | undefined): void {\n if (routerState && routerState.trigger === 'devtools') {\n this._storeState = this._store.selectSnapshot(RouterState);\n }\n\n const canSkipNavigation =\n !this._storeState ||\n !this._storeState.state ||\n !routerState ||\n routerState.trigger === 'router' ||\n this._router.url === this._storeState.state.url ||\n this._lastEvent instanceof NavigationStart;\n\n if (canSkipNavigation) {\n return;\n }\n\n this._storeState = this._store.selectSnapshot(RouterState);\n this._trigger = 'store';\n this._ngZone.run(() => this._router.navigateByUrl(this._storeState!.state!.url));\n }\n\n private _setUpRouterEventsListener(): void {\n const dispatchRouterNavigationLate =\n this._options != null &&\n this._options.navigationActionTiming === NavigationActionTiming.PostActivation;\n\n let lastRoutesRecognized: RoutesRecognized;\n\n const subscription = this._router.events.subscribe(event => {\n this._lastEvent = event;\n\n if (event instanceof NavigationStart) {\n this._navigationStart(event);\n } else if (event instanceof RoutesRecognized) {\n lastRoutesRecognized = event;\n if (!dispatchRouterNavigationLate && this._trigger !== 'store') {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n } else if (event instanceof ResolveEnd) {\n this._dispatchRouterDataResolved(event);\n } else if (event instanceof NavigationCancel) {\n this._dispatchRouterCancel(event);\n this._reset();\n } else if (event instanceof NavigationError) {\n this._dispatchRouterError(event);\n this._reset();\n } else if (event instanceof NavigationEnd) {\n if (this._trigger !== 'store') {\n if (dispatchRouterNavigationLate) {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n this._dispatchRouterNavigated(event);\n }\n this._reset();\n }\n });\n\n this._subscription.add(subscription);\n }\n\n /** Reacts to `NavigationStart`. */\n private _navigationStart(event: NavigationStart): void {\n this._routerState = this._serializer.serialize(this._router.routerState.snapshot);\n\n if (this._trigger !== 'none') {\n this._storeState = this._store.selectSnapshot(RouterState);\n this._dispatchRouterAction(new RouterRequest(this._routerState, event, this._trigger));\n }\n }\n\n /** Reacts to `ResolveEnd`. */\n private _dispatchRouterDataResolved(event: ResolveEnd): void {\n const routerState = this._serializer.serialize(event.state);\n this._dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));\n }\n\n /** Reacts to `RoutesRecognized` or `NavigationEnd`, depends on the `navigationActionTiming`. */\n private _dispatchRouterNavigation(lastRoutesRecognized: RoutesRecognized): void {\n const nextRouterState = this._serializer.serialize(lastRoutesRecognized.state);\n\n this._dispatchRouterAction(\n new RouterNavigation(\n nextRouterState,\n new RoutesRecognized(\n lastRoutesRecognized.id,\n lastRoutesRecognized.url,\n lastRoutesRecognized.urlAfterRedirects,\n nextRouterState\n ),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationCancel`. */\n private _dispatchRouterCancel(event: NavigationCancel): void {\n this._dispatchRouterAction(\n new RouterCancel(this._routerState!, this._storeState, event, this._trigger)\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterError(event: NavigationError): void {\n this._dispatchRouterAction(\n new RouterError(\n this._routerState!,\n this._storeState,\n new NavigationError(event.id, event.url, `${event}`),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterNavigated(event: NavigationEnd): void {\n const routerState = this._serializer.serialize(this._router.routerState.snapshot);\n this._dispatchRouterAction(new RouterNavigated(routerState, event, this._trigger));\n }\n\n private _dispatchRouterAction<T>(action: RouterAction<T>): void {\n this._trigger = 'router';\n\n try {\n this._store.dispatch(action);\n } finally {\n this._trigger = 'none';\n }\n }\n\n private _reset(): void {\n this._trigger = 'none';\n this._storeState = null;\n this._routerState = null;\n }\n}\n","import {\n EnvironmentProviders,\n ModuleWithProviders,\n NgModule,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { NgxsModule, provideStates } from '@ngxs/store';\nimport {\n NgxsRouterPluginOptions,\n ɵcreateRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n ɵUSER_OPTIONS\n} from '@ngxs/router-plugin/internals';\n\nimport { RouterState } from './router.state';\nimport { DefaultRouterStateSerializer, RouterStateSerializer } from './serializer';\n\n@NgModule({\n imports: [NgxsModule.forFeature([RouterState])]\n})\nexport class NgxsRouterPluginModule {\n static forRoot(\n options?: NgxsRouterPluginOptions\n ): ModuleWithProviders<NgxsRouterPluginModule> {\n return {\n ngModule: NgxsRouterPluginModule,\n providers: [\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]\n };\n }\n}\n\nexport function withNgxsRouterPlugin(options?: NgxsRouterPluginOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideStates([RouterState]),\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]);\n}\n","/**\n * The public api for consumers of @ngxs/router-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.RouterStateSerializer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngxs-router-plugin.mjs","sources":["../../../packages/router-plugin/src/router.actions.ts","../../../packages/router-plugin/src/serializer.ts","../../../packages/router-plugin/src/router.state.ts","../../../packages/router-plugin/src/router.module.ts","../../../packages/router-plugin/index.ts","../../../packages/router-plugin/ngxs-router-plugin.ts"],"sourcesContent":["import {\n NavigationCancel,\n NavigationError,\n NavigationExtras,\n Params,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd\n} from '@angular/router';\n\nimport { RouterTrigger } from './router.state';\n\n/**\n * Public event api of the router\n */\nexport class Navigate {\n static readonly type = '[Router] Navigate';\n\n constructor(\n public path: any[],\n public queryParams?: Params,\n public extras?: NavigationExtras\n ) {}\n}\n\n/**\n *\n * Angular Routers internal state events\n *\n */\n\n/**\n * An action dispatched when the router starts the navigation.\n */\nexport class RouterRequest<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterRequest';\n\n constructor(\n public routerState: T,\n public event: NavigationStart,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigates.\n */\nexport class RouterNavigation<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigation';\n\n constructor(\n public routerState: T,\n public event: RoutesRecognized,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router cancel navigation.\n */\nexport class RouterCancel<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterCancel';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationCancel,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router errors.\n */\nexport class RouterError<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterError';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationError,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the `ResolveEnd` event is triggered.\n */\nexport class RouterDataResolved<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterDataResolved';\n\n constructor(\n public routerState: T,\n public event: ResolveEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigation has been finished successfully.\n */\nexport class RouterNavigated<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigated';\n\n constructor(\n public routerState: T,\n public event: NavigationEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An union type of router actions.\n */\nexport type RouterAction<T, V = RouterStateSnapshot> =\n | RouterRequest<V>\n | RouterNavigation<V>\n | RouterCancel<T, V>\n | RouterError<T, V>\n | RouterDataResolved<V>\n | RouterNavigated<V>;\n","import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nexport abstract class RouterStateSerializer<T> {\n abstract serialize(routerState: RouterStateSnapshot): T;\n}\n\nexport interface SerializedRouterStateSnapshot {\n root: ActivatedRouteSnapshot;\n url: string;\n}\n\nexport class DefaultRouterStateSerializer\n implements RouterStateSerializer<SerializedRouterStateSnapshot>\n{\n serialize(routerState: RouterStateSnapshot): SerializedRouterStateSnapshot {\n return {\n root: this.serializeRoute(routerState.root),\n url: routerState.url\n };\n }\n\n private serializeRoute(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\n const children = route.children.map(c => this.serializeRoute(c));\n return {\n url: route.url,\n title: route.title,\n params: route.params,\n queryParams: route.queryParams,\n fragment: route.fragment!,\n data: route.data,\n outlet: route.outlet,\n component: null,\n routeConfig: null,\n root: null as any,\n parent: null,\n firstChild: children[0],\n children: children,\n pathFromRoot: null as any,\n paramMap: route.paramMap,\n queryParamMap: route.queryParamMap,\n toString: route.toString\n };\n }\n}\n","import { NgZone, Injectable, OnDestroy, Injector } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationError,\n Router,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd,\n Event\n} from '@angular/router';\nimport { Action, Selector, State, StateContext, Store } from '@ngxs/store';\nimport {\n NavigationActionTiming,\n NgxsRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS\n} from '@ngxs/router-plugin/internals';\nimport { ReplaySubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n Navigate,\n RouterAction,\n RouterCancel,\n RouterError,\n RouterNavigation,\n RouterDataResolved,\n RouterRequest,\n RouterNavigated\n} from './router.actions';\nimport { RouterStateSerializer } from './serializer';\n\nexport interface RouterStateModel<T = RouterStateSnapshot> {\n state?: T;\n navigationId?: number;\n trigger: RouterTrigger;\n}\n\nexport type RouterTrigger =\n | 'none'\n | 'router'\n | 'store'\n // The `devtools` trigger means that the state change has been triggered by Redux DevTools (e.g. when the time-traveling is used).\n | 'devtools';\n\n@State<RouterStateModel>({\n name: 'router',\n defaults: {\n state: undefined,\n navigationId: undefined,\n trigger: 'none'\n }\n})\n@Injectable()\nexport class RouterState implements OnDestroy {\n /**\n * Determines how navigation was performed by the `RouterState` itself\n * or outside via `new Navigate(...)`\n */\n private _trigger: RouterTrigger = 'none';\n\n /**\n * That's the serialized state from the `Router` class\n */\n private _routerState: RouterStateSnapshot | null = null;\n\n /**\n * That's the value of the `RouterState` state\n */\n private _storeState: RouterStateModel | null = null;\n\n private _lastEvent: Event | null = null;\n\n private _options: NgxsRouterPluginOptions | null = null;\n\n private _destroy$ = new ReplaySubject<void>(1);\n\n @Selector()\n static state<T = RouterStateSnapshot>(state: RouterStateModel<T>) {\n return state && state.state;\n }\n\n @Selector()\n static url(state: RouterStateModel): string | undefined {\n return state && state.state && state.state.url;\n }\n\n constructor(\n private _store: Store,\n private _router: Router,\n private _serializer: RouterStateSerializer<RouterStateSnapshot>,\n private _ngZone: NgZone,\n injector: Injector\n ) {\n // Note: do not use `@Inject` since it fails on lower versions of Angular with Jest\n // integration, it cannot resolve the token provider.\n this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);\n this._setUpStoreListener();\n this._setUpRouterEventsListener();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n @Action(Navigate)\n navigate(_: StateContext<RouterStateModel>, action: Navigate) {\n return this._ngZone.run(() =>\n this._router.navigate(action.path, {\n queryParams: action.queryParams,\n ...action.extras\n })\n );\n }\n\n @Action([\n RouterRequest,\n RouterNavigation,\n RouterError,\n RouterCancel,\n RouterDataResolved,\n RouterNavigated\n ])\n angularRouterAction(\n ctx: StateContext<RouterStateModel>,\n action: RouterAction<RouterStateModel, RouterStateSnapshot>\n ): void {\n ctx.setState({\n trigger: action.trigger,\n state: action.routerState,\n navigationId: action.event.id\n });\n }\n\n private _setUpStoreListener(): void {\n const routerState$ = this._store.select(RouterState).pipe(takeUntil(this._destroy$));\n routerState$.subscribe((state: RouterStateModel | undefined) => {\n this._navigateIfNeeded(state);\n });\n }\n\n private _navigateIfNeeded(routerState: RouterStateModel | undefined): void {\n if (routerState && routerState.trigger === 'devtools') {\n this._storeState = this._store.selectSnapshot(RouterState);\n }\n\n const canSkipNavigation =\n !this._storeState ||\n !this._storeState.state ||\n !routerState ||\n routerState.trigger === 'router' ||\n this._router.url === this._storeState.state.url ||\n this._lastEvent instanceof NavigationStart;\n\n if (canSkipNavigation) {\n return;\n }\n\n this._storeState = this._store.selectSnapshot(RouterState);\n this._trigger = 'store';\n this._ngZone.run(() => this._router.navigateByUrl(this._storeState!.state!.url));\n }\n\n private _setUpRouterEventsListener(): void {\n const dispatchRouterNavigationLate =\n this._options != null &&\n this._options.navigationActionTiming === NavigationActionTiming.PostActivation;\n\n let lastRoutesRecognized: RoutesRecognized;\n\n const events$ = this._router.events.pipe(takeUntil(this._destroy$));\n events$.subscribe(event => {\n this._lastEvent = event;\n\n if (event instanceof NavigationStart) {\n this._navigationStart(event);\n } else if (event instanceof RoutesRecognized) {\n lastRoutesRecognized = event;\n if (!dispatchRouterNavigationLate && this._trigger !== 'store') {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n } else if (event instanceof ResolveEnd) {\n this._dispatchRouterDataResolved(event);\n } else if (event instanceof NavigationCancel) {\n this._dispatchRouterCancel(event);\n this._reset();\n } else if (event instanceof NavigationError) {\n this._dispatchRouterError(event);\n this._reset();\n } else if (event instanceof NavigationEnd) {\n if (this._trigger !== 'store') {\n if (dispatchRouterNavigationLate) {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n this._dispatchRouterNavigated(event);\n }\n this._reset();\n }\n });\n }\n\n /** Reacts to `NavigationStart`. */\n private _navigationStart(event: NavigationStart): void {\n this._routerState = this._serializer.serialize(this._router.routerState.snapshot);\n\n if (this._trigger !== 'none') {\n this._storeState = this._store.selectSnapshot(RouterState);\n this._dispatchRouterAction(new RouterRequest(this._routerState, event, this._trigger));\n }\n }\n\n /** Reacts to `ResolveEnd`. */\n private _dispatchRouterDataResolved(event: ResolveEnd): void {\n const routerState = this._serializer.serialize(event.state);\n this._dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));\n }\n\n /** Reacts to `RoutesRecognized` or `NavigationEnd`, depends on the `navigationActionTiming`. */\n private _dispatchRouterNavigation(lastRoutesRecognized: RoutesRecognized): void {\n const nextRouterState = this._serializer.serialize(lastRoutesRecognized.state);\n\n this._dispatchRouterAction(\n new RouterNavigation(\n nextRouterState,\n new RoutesRecognized(\n lastRoutesRecognized.id,\n lastRoutesRecognized.url,\n lastRoutesRecognized.urlAfterRedirects,\n nextRouterState\n ),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationCancel`. */\n private _dispatchRouterCancel(event: NavigationCancel): void {\n this._dispatchRouterAction(\n new RouterCancel(this._routerState!, this._storeState, event, this._trigger)\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterError(event: NavigationError): void {\n this._dispatchRouterAction(\n new RouterError(\n this._routerState!,\n this._storeState,\n new NavigationError(event.id, event.url, `${event}`),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterNavigated(event: NavigationEnd): void {\n const routerState = this._serializer.serialize(this._router.routerState.snapshot);\n this._dispatchRouterAction(new RouterNavigated(routerState, event, this._trigger));\n }\n\n private _dispatchRouterAction<T>(action: RouterAction<T>): void {\n this._trigger = 'router';\n\n try {\n this._store.dispatch(action);\n } finally {\n this._trigger = 'none';\n }\n }\n\n private _reset(): void {\n this._trigger = 'none';\n this._storeState = null;\n this._routerState = null;\n }\n}\n","import {\n EnvironmentProviders,\n ModuleWithProviders,\n NgModule,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { NgxsModule, provideStates } from '@ngxs/store';\nimport {\n NgxsRouterPluginOptions,\n ɵcreateRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n ɵUSER_OPTIONS\n} from '@ngxs/router-plugin/internals';\n\nimport { RouterState } from './router.state';\nimport { DefaultRouterStateSerializer, RouterStateSerializer } from './serializer';\n\n@NgModule({\n imports: [NgxsModule.forFeature([RouterState])]\n})\nexport class NgxsRouterPluginModule {\n static forRoot(\n options?: NgxsRouterPluginOptions\n ): ModuleWithProviders<NgxsRouterPluginModule> {\n return {\n ngModule: NgxsRouterPluginModule,\n providers: [\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]\n };\n }\n}\n\nexport function withNgxsRouterPlugin(options?: NgxsRouterPluginOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideStates([RouterState]),\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]);\n}\n","/**\n * The public api for consumers of @ngxs/router-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.RouterStateSerializer"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/router.state.d.ts
CHANGED
|
@@ -29,8 +29,8 @@ export declare class RouterState implements OnDestroy {
|
|
|
29
29
|
*/
|
|
30
30
|
private _storeState;
|
|
31
31
|
private _lastEvent;
|
|
32
|
-
private _subscription;
|
|
33
32
|
private _options;
|
|
33
|
+
private _destroy$;
|
|
34
34
|
static state<T = RouterStateSnapshot>(state: RouterStateModel<T>): T | undefined;
|
|
35
35
|
static url(state: RouterStateModel): string | undefined;
|
|
36
36
|
constructor(_store: Store, _router: Router, _serializer: RouterStateSerializer<RouterStateSnapshot>, _ngZone: NgZone, injector: Injector);
|