@coolon/angular-ui-powerups 0.0.101 → 0.0.103

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.
Files changed (64) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +885 -632
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +1 -2
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +3 -4
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +2 -1
  10. package/esm2015/lib/interaction/index.js +1 -2
  11. package/esm2015/lib/interaction/interaction-context-base.js +21 -8
  12. package/esm2015/lib/interaction/interaction-context.js +56 -3
  13. package/esm2015/lib/interaction/interaction.module.js +1 -4
  14. package/esm2015/lib/interaction/services/interaction.service.js +11 -7
  15. package/esm2015/lib/place/guards/navigation-state.js +216 -135
  16. package/esm2015/lib/place/guards/place-component-deactivation-handler.js +63 -28
  17. package/esm2015/lib/place/guards/place.guard.js +215 -0
  18. package/esm2015/lib/place/index.js +2 -3
  19. package/esm2015/lib/place/place-router.js +34 -36
  20. package/esm2015/lib/place/place.decorator.js +2 -2
  21. package/esm2015/lib/place/url-snapshot.js +69 -53
  22. package/esm2015/public_api.js +3 -3
  23. package/esm5/coolon-angular-ui-powerups.js +3 -4
  24. package/esm5/index.js +2 -2
  25. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +2 -1
  26. package/esm5/lib/interaction/index.js +1 -2
  27. package/esm5/lib/interaction/interaction-context-base.js +25 -8
  28. package/esm5/lib/interaction/interaction-context.js +88 -10
  29. package/esm5/lib/interaction/interaction.module.js +1 -4
  30. package/esm5/lib/interaction/services/interaction.service.js +17 -8
  31. package/esm5/lib/place/guards/navigation-state.js +280 -162
  32. package/esm5/lib/place/guards/place-component-deactivation-handler.js +73 -27
  33. package/esm5/lib/place/guards/place.guard.js +300 -0
  34. package/esm5/lib/place/index.js +2 -3
  35. package/esm5/lib/place/place-router.js +52 -39
  36. package/esm5/lib/place/place.decorator.js +2 -2
  37. package/esm5/lib/place/url-snapshot.js +85 -58
  38. package/esm5/public_api.js +3 -3
  39. package/fesm2015/coolon-angular-ui-powerups.js +661 -539
  40. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  41. package/fesm5/coolon-angular-ui-powerups.js +884 -628
  42. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  43. package/lib/interaction/index.d.ts +0 -1
  44. package/lib/interaction/interaction-context-base.d.ts +3 -1
  45. package/lib/interaction/interaction-context.d.ts +9 -2
  46. package/lib/interaction/services/interaction.service.d.ts +2 -2
  47. package/lib/place/guards/navigation-state.d.ts +44 -38
  48. package/lib/place/guards/place-component-deactivation-handler.d.ts +7 -4
  49. package/lib/place/guards/{abstract-place.guard.d.ts → place.guard.d.ts} +8 -3
  50. package/lib/place/index.d.ts +1 -2
  51. package/lib/place/place-router.d.ts +2 -0
  52. package/lib/place/url-snapshot.d.ts +14 -9
  53. package/package.json +1 -1
  54. package/schematics/place-routes/place-def.js +1 -0
  55. package/schematics/place-routes/place-def.js.map +1 -1
  56. package/schematics/place-routes/templates/place-routes.ts.template +10 -11
  57. package/esm2015/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +0 -19
  58. package/esm2015/lib/place/guards/abstract-place.guard.js +0 -166
  59. package/esm2015/lib/place/guards/interaction.guard.js +0 -121
  60. package/esm5/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +0 -21
  61. package/esm5/lib/place/guards/abstract-place.guard.js +0 -213
  62. package/esm5/lib/place/guards/interaction.guard.js +0 -133
  63. package/lib/interaction/components/interaction-outlet/interaction-outlet.component.d.ts +0 -3
  64. package/lib/place/guards/interaction.guard.d.ts +0 -17
@@ -1,121 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { Location } from '@angular/common';
7
- import { Injectable, Injector } from '@angular/core';
8
- import { Router } from '@angular/router';
9
- import { InteractionService } from '../../interaction/services/interaction.service';
10
- import { PlaceRouter } from '../place-router';
11
- import * as _ from 'lodash';
12
- import { UrlSnapshot } from '../url-snapshot';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/router";
15
- import * as i2 from "../place-router";
16
- import * as i3 from "@angular/common";
17
- import * as i4 from "../../interaction/services/interaction.service";
18
- export class InteractionGuard {
19
- /**
20
- * @param {?} router
21
- * @param {?} injector
22
- * @param {?} placeRouter
23
- * @param {?} angularLocation
24
- * @param {?} interactionService
25
- */
26
- constructor(router, injector, placeRouter, angularLocation, interactionService) {
27
- this.router = router;
28
- this.injector = injector;
29
- this.placeRouter = placeRouter;
30
- this.angularLocation = angularLocation;
31
- this.interactionService = interactionService;
32
- }
33
- /**
34
- * @param {?} route
35
- * @param {?} state
36
- * @return {?}
37
- */
38
- canActivate(route, state) {
39
- /** @type {?} */
40
- const url = this.router.parseUrl(state.url);
41
- if (!this.interactionService.isActive() && url.root.children[UrlSnapshot.INTERACTION_ROUTER_OUTLET]) {
42
- // This happens if we reload the page or the url was pasted as the route should only be activated
43
- // after the interaction context has become active.
44
- delete url.root.children[UrlSnapshot.INTERACTION_ROUTER_OUTLET];
45
- return url;
46
- }
47
- else {
48
- return true;
49
- }
50
- }
51
- /**
52
- * @param {?} component
53
- * @param {?} currentRoute
54
- * @param {?} currentState
55
- * @param {?=} nextState
56
- * @return {?}
57
- */
58
- canDeactivate(component, currentRoute, currentState, nextState) {
59
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
60
- if (this.interactionService.isActive()) {
61
- /** @type {?} */
62
- const currentIds = this.interactionService.activeInteractionContextIds.value;
63
- /** @type {?} */
64
- const routeIds = this.placeRouter.getActiveInteractionIdsFromUrl(nextState.url);
65
- if (!_.isEqual(currentIds, routeIds)) {
66
- // The activity is still active so the route change was triggered by the back button.
67
- /** @type {?} */
68
- const activity = yield this.interactionService.getCurrentActivity();
69
- activity.cancel();
70
- }
71
- }
72
- // IMPORTANT:
73
- // We always return true, the router state engine will redirect as required. Return false
74
- // during the guard causes all kinds of grief. It might be worth trying a redirect here
75
- // again now that our state engine is more thorough.
76
- return true;
77
- });
78
- }
79
- }
80
- InteractionGuard.decorators = [
81
- { type: Injectable, args: [{
82
- providedIn: 'root'
83
- },] }
84
- ];
85
- /** @nocollapse */
86
- InteractionGuard.ctorParameters = () => [
87
- { type: Router },
88
- { type: Injector },
89
- { type: PlaceRouter },
90
- { type: Location },
91
- { type: InteractionService }
92
- ];
93
- /** @nocollapse */ InteractionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function InteractionGuard_Factory() { return new InteractionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.PlaceRouter), i0.ɵɵinject(i3.Location), i0.ɵɵinject(i4.InteractionService)); }, token: InteractionGuard, providedIn: "root" });
94
- if (false) {
95
- /**
96
- * @type {?}
97
- * @private
98
- */
99
- InteractionGuard.prototype.router;
100
- /**
101
- * @type {?}
102
- * @private
103
- */
104
- InteractionGuard.prototype.injector;
105
- /**
106
- * @type {?}
107
- * @private
108
- */
109
- InteractionGuard.prototype.placeRouter;
110
- /**
111
- * @type {?}
112
- * @private
113
- */
114
- InteractionGuard.prototype.angularLocation;
115
- /**
116
- * @type {?}
117
- * @private
118
- */
119
- InteractionGuard.prototype.interactionService;
120
- }
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2ludGVyYWN0aW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFJTCxNQUFNLEVBR1AsTUFBTSxpQkFBaUIsQ0FBQztBQUl6QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFLOUMsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7Ozs7SUFFM0IsWUFBb0IsTUFBYyxFQUNkLFFBQWtCLEVBQ2xCLFdBQXdCLEVBQ2YsZUFBeUIsRUFDekIsa0JBQXNDO1FBSi9DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2Ysb0JBQWUsR0FBZixlQUFlLENBQVU7UUFDekIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUNuRSxDQUFDOzs7Ozs7SUFFRCxXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjs7Y0FDN0QsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsRUFBRTtZQUNuRyxpR0FBaUc7WUFDakcsbURBQW1EO1lBQ25ELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDaEUsT0FBTyxHQUFHLENBQUM7U0FDWjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7Ozs7Ozs7O0lBRUssYUFBYSxDQUFDLFNBQXdCLEVBQUUsWUFBb0MsRUFBRSxZQUFpQyxFQUFFLFNBQStCOztZQUVwSixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsRUFBRTs7c0JBQ2hDLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsS0FBSzs7c0JBQ3RFLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7Z0JBQy9FLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRTs7OzBCQUU5QixRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLEVBQUU7b0JBQ25FLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDbkI7YUFDRjtZQUNELGFBQWE7WUFDYiwwRkFBMEY7WUFDMUYsd0ZBQXdGO1lBQ3hGLG9EQUFvRDtZQUNwRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTs7O1lBeENGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQWRDLE1BQU07WUFMYSxRQUFRO1lBYXBCLFdBQVc7WUFkWCxRQUFRO1lBYVIsa0JBQWtCOzs7Ozs7OztJQVViLGtDQUFzQjs7Ozs7SUFDdEIsb0NBQTBCOzs7OztJQUMxQix1Q0FBZ0M7Ozs7O0lBQ2hDLDJDQUEwQzs7Ozs7SUFDMUMsOENBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIENhbkFjdGl2YXRlLFxuICBDYW5EZWFjdGl2YXRlLFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG4gIFVybFRyZWVcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm9vcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbm9vcC9ub29wLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vdXJsLXNuYXBzaG90JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJhY3Rpb25HdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8Tm9vcENvbXBvbmVudD4sIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYW5ndWxhckxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcmFjdGlvblNlcnZpY2U6IEludGVyYWN0aW9uU2VydmljZSkge1xuICB9XG5cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlci5wYXJzZVVybChzdGF0ZS51cmwpO1xuICAgIGlmICghdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNBY3RpdmUoKSAmJiB1cmwucm9vdC5jaGlsZHJlbltVcmxTbmFwc2hvdC5JTlRFUkFDVElPTl9ST1VURVJfT1VUTEVUXSkge1xuICAgICAgLy8gVGhpcyBoYXBwZW5zIGlmIHdlIHJlbG9hZCB0aGUgcGFnZSBvciB0aGUgdXJsIHdhcyBwYXN0ZWQgYXMgdGhlIHJvdXRlIHNob3VsZCBvbmx5IGJlIGFjdGl2YXRlZFxuICAgICAgLy8gYWZ0ZXIgdGhlIGludGVyYWN0aW9uIGNvbnRleHQgaGFzIGJlY29tZSBhY3RpdmUuXG4gICAgICBkZWxldGUgdXJsLnJvb3QuY2hpbGRyZW5bVXJsU25hcHNob3QuSU5URVJBQ1RJT05fUk9VVEVSX09VVExFVF07XG4gICAgICByZXR1cm4gdXJsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogTm9vcENvbXBvbmVudCwgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyZW50U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIG5leHRTdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG5cbiAgICBpZiAodGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNBY3RpdmUoKSkge1xuICAgICAgY29uc3QgY3VycmVudElkcyA9IHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcy52YWx1ZTtcbiAgICAgIGNvbnN0IHJvdXRlSWRzID0gdGhpcy5wbGFjZVJvdXRlci5nZXRBY3RpdmVJbnRlcmFjdGlvbklkc0Zyb21VcmwobmV4dFN0YXRlLnVybCk7XG4gICAgICBpZiAoIV8uaXNFcXVhbChjdXJyZW50SWRzLCByb3V0ZUlkcykpIHtcbiAgICAgICAgLy8gVGhlIGFjdGl2aXR5IGlzIHN0aWxsIGFjdGl2ZSBzbyB0aGUgcm91dGUgY2hhbmdlIHdhcyB0cmlnZ2VyZWQgYnkgdGhlIGJhY2sgYnV0dG9uLlxuICAgICAgICBjb25zdCBhY3Rpdml0eSA9IGF3YWl0IHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmdldEN1cnJlbnRBY3Rpdml0eSgpO1xuICAgICAgICBhY3Rpdml0eS5jYW5jZWwoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gSU1QT1JUQU5UOlxuICAgIC8vIFdlIGFsd2F5cyByZXR1cm4gdHJ1ZSwgdGhlIHJvdXRlciBzdGF0ZSBlbmdpbmUgd2lsbCByZWRpcmVjdCBhcyByZXF1aXJlZC4gIFJldHVybiBmYWxzZVxuICAgIC8vIGR1cmluZyB0aGUgZ3VhcmQgY2F1c2VzIGFsbCBraW5kcyBvZiBncmllZi4gIEl0IG1pZ2h0IGJlIHdvcnRoIHRyeWluZyBhIHJlZGlyZWN0IGhlcmVcbiAgICAvLyBhZ2FpbiBub3cgdGhhdCBvdXIgc3RhdGUgZW5naW5lIGlzIG1vcmUgdGhvcm91Z2guXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxufVxuIl19
@@ -1,21 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component } from '@angular/core';
6
- var InteractionOutletComponent = /** @class */ (function () {
7
- function InteractionOutletComponent() {
8
- }
9
- InteractionOutletComponent.decorators = [
10
- { type: Component, args: [{
11
- selector: 'aup-interaction-outlet',
12
- template: "<router-outlet name=\"interaction-context\"></router-outlet>\n",
13
- styles: [":host{display:block}"]
14
- }] }
15
- ];
16
- /** @nocollapse */
17
- InteractionOutletComponent.ctorParameters = function () { return []; };
18
- return InteractionOutletComponent;
19
- }());
20
- export { InteractionOutletComponent };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2ludGVyYWN0aW9uLW91dGxldC9pbnRlcmFjdGlvbi1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDO0lBTUU7SUFDQSxDQUFDOztnQkFQRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsMEVBQWtEOztpQkFFbkQ7Ozs7SUFJRCxpQ0FBQztDQUFBLEFBUkQsSUFRQztTQUhZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtaW50ZXJhY3Rpb24tb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVyYWN0aW9uLW91dGxldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ludGVyYWN0aW9uLW91dGxldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uT3V0bGV0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbn1cbiJdfQ==
@@ -1,213 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
7
- import { lang, Trace } from '@coolon/pectin';
8
- import { Observable } from 'rxjs';
9
- import { PlaceComponent } from '../place-component';
10
- import { VisitSanitiser } from '../route/visit-sanitiser';
11
- import { Visit } from '../visit';
12
- import { ConsolidatedParameterMap } from './consolidated-param-map';
13
- /**
14
- * @abstract
15
- */
16
- var AbstractPlaceGuard = /** @class */ (function () {
17
- function AbstractPlaceGuard(router, urlSerializer, placeRouter, placeHistory, injector) {
18
- this.router = router;
19
- this.urlSerializer = urlSerializer;
20
- this.placeRouter = placeRouter;
21
- this.placeHistory = placeHistory;
22
- this.injector = injector;
23
- }
24
- // @Trace()
25
- // @Trace()
26
- /**
27
- * @param {?} activatedRoute
28
- * @param {?} state
29
- * @return {?}
30
- */
31
- AbstractPlaceGuard.prototype.canActivate =
32
- // @Trace()
33
- /**
34
- * @param {?} activatedRoute
35
- * @param {?} state
36
- * @return {?}
37
- */
38
- function (activatedRoute, state) {
39
- return tslib_1.__awaiter(this, void 0, void 0, function () {
40
- var _this = this;
41
- return tslib_1.__generator(this, function (_a) {
42
- return [2 /*return*/, this.authorisePlaceThen(activatedRoute, state, (/**
43
- * @param {?} placeDefinition
44
- * @return {?}
45
- */
46
- function (placeDefinition) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
47
- var params, parsedParams, initialVisit, sanitiser, sanitisedVisit, commands;
48
- return tslib_1.__generator(this, function (_a) {
49
- switch (_a.label) {
50
- case 0:
51
- // Parse our route params.
52
- params = new ConsolidatedParameterMap(activatedRoute.paramMap, activatedRoute.url);
53
- parsedParams = placeDefinition.parseRouteParams(params);
54
- initialVisit = this.placeRouter.navigationState.getVisitFor(placeDefinition) || new Visit(placeDefinition, parsedParams);
55
- sanitiser = new VisitSanitiser(activatedRoute, this.router, this.placeHistory, this.injector);
56
- return [4 /*yield*/, sanitiser.sanitise(initialVisit.mergeRouteParameters(parsedParams))];
57
- case 1:
58
- sanitisedVisit = _a.sent();
59
- // Save the visit with any updated parameters. We need to save it so we remember any non route parameters
60
- this.placeRouter.navigationState.storeVisit(sanitisedVisit);
61
- if (initialVisit.hasRoutingChangedFrom(sanitisedVisit)) {
62
- // Regenerate the url
63
- commands = this.placeRouter.parseUrl(state.url).createRedirectCommandsFor(sanitisedVisit);
64
- console.log('##### Place Guard Redirect', commands);
65
- return [2 /*return*/, this.router.createUrlTree(commands, {
66
- replaceUrl: true,
67
- skipLocationChange: false
68
- })];
69
- }
70
- else {
71
- return [2 /*return*/, true];
72
- }
73
- return [2 /*return*/];
74
- }
75
- });
76
- }); }))];
77
- });
78
- });
79
- };
80
- /**
81
- * @param {?} component
82
- * @param {?} currentRoute
83
- * @param {?} currentState
84
- * @param {?=} nextState
85
- * @return {?}
86
- */
87
- AbstractPlaceGuard.prototype.canDeactivate = /**
88
- * @param {?} component
89
- * @param {?} currentRoute
90
- * @param {?} currentState
91
- * @param {?=} nextState
92
- * @return {?}
93
- */
94
- function (component, currentRoute, currentState, nextState) {
95
- return tslib_1.__awaiter(this, void 0, void 0, function () {
96
- return tslib_1.__generator(this, function (_a) {
97
- return [2 /*return*/, this.placeRouter.navigationState.canDeactivatePlace(component, this.placeRouter.parseUrl(nextState.url))];
98
- });
99
- });
100
- };
101
- // @Trace()
102
- // @Trace()
103
- /**
104
- * @protected
105
- * @param {?} activatedRoute
106
- * @param {?} state
107
- * @param {?} runPlaceGuards
108
- * @return {?}
109
- */
110
- AbstractPlaceGuard.prototype.authorisePlaceThen =
111
- // @Trace()
112
- /**
113
- * @protected
114
- * @param {?} activatedRoute
115
- * @param {?} state
116
- * @param {?} runPlaceGuards
117
- * @return {?}
118
- */
119
- function (activatedRoute, state, runPlaceGuards) {
120
- return tslib_1.__awaiter(this, void 0, void 0, function () {
121
- var placeDefinition, authoriseResult, _a;
122
- return tslib_1.__generator(this, function (_b) {
123
- switch (_b.label) {
124
- case 0:
125
- if (!PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) return [3 /*break*/, 4];
126
- placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);
127
- if (!placeDefinition.authenticate) return [3 /*break*/, 2];
128
- return [4 /*yield*/, this.isAuthorised(activatedRoute, state)];
129
- case 1:
130
- _a = _b.sent();
131
- return [3 /*break*/, 3];
132
- case 2:
133
- _a = true;
134
- _b.label = 3;
135
- case 3:
136
- authoriseResult = _a;
137
- if (authoriseResult === true) {
138
- // we're authorised, now run the place guards.
139
- return [2 /*return*/, runPlaceGuards(placeDefinition)];
140
- }
141
- else {
142
- console.log('not authorised result', authoriseResult);
143
- return [2 /*return*/, authoriseResult];
144
- }
145
- return [3 /*break*/, 5];
146
- case 4: return [2 /*return*/, lang.illegalState("expected component to be an instance of PlaceComponent, got " + activatedRoute.component)];
147
- case 5: return [2 /*return*/];
148
- }
149
- });
150
- });
151
- };
152
- /**
153
- * @param {?} activatedRoute
154
- * @param {?} state
155
- * @return {?}
156
- */
157
- AbstractPlaceGuard.prototype.isAuthorised = /**
158
- * @param {?} activatedRoute
159
- * @param {?} state
160
- * @return {?}
161
- */
162
- function (activatedRoute, state) {
163
- return tslib_1.__awaiter(this, void 0, void 0, function () {
164
- var authorised;
165
- return tslib_1.__generator(this, function (_a) {
166
- authorised = this.getAuthGuard(this.injector).canActivate(activatedRoute, state);
167
- return [2 /*return*/, (authorised instanceof Observable) ? authorised.toPromise() : authorised];
168
- });
169
- });
170
- };
171
- tslib_1.__decorate([
172
- Trace(),
173
- tslib_1.__metadata("design:type", Function),
174
- tslib_1.__metadata("design:paramtypes", [ActivatedRouteSnapshot, RouterStateSnapshot]),
175
- tslib_1.__metadata("design:returntype", Promise)
176
- ], AbstractPlaceGuard.prototype, "isAuthorised", null);
177
- return AbstractPlaceGuard;
178
- }());
179
- export { AbstractPlaceGuard };
180
- if (false) {
181
- /**
182
- * @type {?}
183
- * @private
184
- */
185
- AbstractPlaceGuard.prototype.router;
186
- /**
187
- * @type {?}
188
- * @private
189
- */
190
- AbstractPlaceGuard.prototype.urlSerializer;
191
- /**
192
- * @type {?}
193
- * @private
194
- */
195
- AbstractPlaceGuard.prototype.placeRouter;
196
- /**
197
- * @type {?}
198
- * @private
199
- */
200
- AbstractPlaceGuard.prototype.placeHistory;
201
- /**
202
- * @type {?}
203
- * @private
204
- */
205
- AbstractPlaceGuard.prototype.injector;
206
- /**
207
- * @abstract
208
- * @param {?} injector
209
- * @return {?}
210
- */
211
- AbstractPlaceGuard.prototype.getAuthGuard = function (injector) { };
212
- }
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2Fic3RyYWN0LXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUNMLHNCQUFzQixFQUd0QixtQkFBbUIsRUFHcEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBR3BFO0lBR0UsNEJBQTZCLE1BQWMsRUFDdkIsYUFBNEIsRUFDbkIsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsUUFBa0I7UUFKbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQy9DLENBQUM7SUFFRCxXQUFXOzs7Ozs7O0lBQ0wsd0NBQVc7Ozs7Ozs7SUFBakIsVUFBa0IsY0FBc0MsRUFBRSxLQUEwQjs7OztnQkFDbEYsc0JBQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxLQUFLOzs7O29CQUFFLFVBQU0sZUFBZTs7Ozs7O29DQUduRSxNQUFNLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxjQUFjLENB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LEVBQUUsS0FBSyxDQUFDO2dCQUN0RixzQkFBTyxDQUFDLFVBQVUsWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUM7OztLQUNqRjtJQUhEO1FBREMsS0FBSyxFQUFFOztpREFDMkIsc0JBQXNCLEVBQVMsbUJBQW1COzswREFHcEY7SUFHSCx5QkFBQztDQUFBLEFBbEVELElBa0VDO1NBbEVxQixrQkFBa0I7Ozs7OztJQUcxQixvQ0FBK0I7Ozs7O0lBQy9CLDJDQUFvQzs7Ozs7SUFDcEMseUNBQXlDOzs7OztJQUN6QywwQ0FBMkM7Ozs7O0lBQzNDLHNDQUFtQzs7Ozs7O0lBMEQvQyxvRUFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgQ2FuQWN0aXZhdGUsIENhbkRlYWN0aXZhdGUsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgVXJsU2VyaWFsaXplcixcbiAgVXJsVHJlZVxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgbGFuZywgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGxhY2VIaXN0b3J5IH0gZnJvbSAnLi4vcGxhY2UtaGlzdG9yeSc7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uL3BsYWNlLXJvdXRlcic7XG5pbXBvcnQgeyBWaXNpdFNhbml0aXNlciB9IGZyb20gJy4uL3JvdXRlL3Zpc2l0LXNhbml0aXNlcic7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uL3Zpc2l0JztcbmltcG9ydCB7IENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcCB9IGZyb20gJy4vY29uc29saWRhdGVkLXBhcmFtLW1hcCc7XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UGxhY2VHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5EZWFjdGl2YXRlPFBsYWNlQ29tcG9uZW50PiB7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHVybFNlcmlhbGl6ZXI6IFVybFNlcmlhbGl6ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuQWN0aXZhdGUoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuICAgIHJldHVybiB0aGlzLmF1dGhvcmlzZVBsYWNlVGhlbihhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUsIGFzeW5jIHBsYWNlRGVmaW5pdGlvbiA9PiB7XG5cbiAgICAgIC8vIFBhcnNlIG91ciByb3V0ZSBwYXJhbXMuXG4gICAgICBjb25zdCBwYXJhbXMgPSBuZXcgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwKGFjdGl2YXRlZFJvdXRlLnBhcmFtTWFwLCBhY3RpdmF0ZWRSb3V0ZS51cmwpO1xuICAgICAgY29uc3QgcGFyc2VkUGFyYW1zID0gcGxhY2VEZWZpbml0aW9uLnBhcnNlUm91dGVQYXJhbXMocGFyYW1zKTtcblxuICAgICAgY29uc3QgaW5pdGlhbFZpc2l0ID0gdGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU3RhdGUuZ2V0VmlzaXRGb3IocGxhY2VEZWZpbml0aW9uKSB8fCBuZXcgVmlzaXQocGxhY2VEZWZpbml0aW9uLCBwYXJzZWRQYXJhbXMpO1xuICAgICAgY29uc3Qgc2FuaXRpc2VyID0gbmV3IFZpc2l0U2FuaXRpc2VyKGFjdGl2YXRlZFJvdXRlLCB0aGlzLnJvdXRlciwgdGhpcy5wbGFjZUhpc3RvcnksIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgY29uc3Qgc2FuaXRpc2VkVmlzaXQgPSBhd2FpdCBzYW5pdGlzZXIuc2FuaXRpc2UoaW5pdGlhbFZpc2l0Lm1lcmdlUm91dGVQYXJhbWV0ZXJzKHBhcnNlZFBhcmFtcykpO1xuXG4gICAgICAvLyBTYXZlIHRoZSB2aXNpdCB3aXRoIGFueSB1cGRhdGVkIHBhcmFtZXRlcnMuICBXZSBuZWVkIHRvIHNhdmUgaXQgc28gd2UgcmVtZW1iZXIgYW55IG5vbiByb3V0ZSBwYXJhbWV0ZXJzXG4gICAgICB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TdGF0ZS5zdG9yZVZpc2l0KHNhbml0aXNlZFZpc2l0KTtcbiAgICAgIGlmIChpbml0aWFsVmlzaXQuaGFzUm91dGluZ0NoYW5nZWRGcm9tKHNhbml0aXNlZFZpc2l0KSkge1xuICAgICAgICAvLyBSZWdlbmVyYXRlIHRoZSB1cmxcbiAgICAgICAgY29uc3QgY29tbWFuZHMgPSB0aGlzLnBsYWNlUm91dGVyLnBhcnNlVXJsKHN0YXRlLnVybCkuY3JlYXRlUmVkaXJlY3RDb21tYW5kc0ZvcihzYW5pdGlzZWRWaXNpdCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCcjIyMjIyBQbGFjZSBHdWFyZCBSZWRpcmVjdCcsIGNvbW1hbmRzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoY29tbWFuZHMsIHtcbiAgICAgICAgICByZXBsYWNlVXJsOiB0cnVlLFxuICAgICAgICAgIHNraXBMb2NhdGlvbkNoYW5nZTogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCwgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyZW50U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIG5leHRTdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU3RhdGUuY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudCwgdGhpcy5wbGFjZVJvdXRlci5wYXJzZVVybChuZXh0U3RhdGUudXJsKSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgYXN5bmMgYXV0aG9yaXNlUGxhY2VUaGVuKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgcnVuUGxhY2VHdWFyZHM6IChwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbikgPT4gUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4pIHtcbiAgICBpZiAoUGxhY2VDb21wb25lbnQuaXNQbGFjZUNvbXBvbmVudENvbnN0cnVjdG9yKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCkpIHtcbiAgICAgIGNvbnN0IHBsYWNlRGVmaW5pdGlvbiA9IFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24oYWN0aXZhdGVkUm91dGUuY29tcG9uZW50KTtcbiAgICAgIGNvbnN0IGF1dGhvcmlzZVJlc3VsdCA9IHBsYWNlRGVmaW5pdGlvbi5hdXRoZW50aWNhdGUgPyBhd2FpdCB0aGlzLmlzQXV0aG9yaXNlZChhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUpIDogdHJ1ZTtcbiAgICAgIGlmIChhdXRob3Jpc2VSZXN1bHQgPT09IHRydWUpIHtcbiAgICAgICAgLy8gd2UncmUgYXV0aG9yaXNlZCwgbm93IHJ1biB0aGUgcGxhY2UgZ3VhcmRzLlxuICAgICAgICByZXR1cm4gcnVuUGxhY2VHdWFyZHMocGxhY2VEZWZpbml0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdub3QgYXV0aG9yaXNlZCByZXN1bHQnLCBhdXRob3Jpc2VSZXN1bHQpO1xuICAgICAgICByZXR1cm4gYXV0aG9yaXNlUmVzdWx0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgcmV0dXJuIGxhbmcuaWxsZWdhbFN0YXRlKGBleHBlY3RlZCBjb21wb25lbnQgdG8gYmUgYW4gaW5zdGFuY2Ugb2YgUGxhY2VDb21wb25lbnQsIGdvdCAke2FjdGl2YXRlZFJvdXRlLmNvbXBvbmVudH1gKTtcbiAgICB9XG4gIH1cblxuICBAVHJhY2UoKVxuICBhc3luYyBpc0F1dGhvcmlzZWQoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuICAgIGNvbnN0IGF1dGhvcmlzZWQgPSB0aGlzLmdldEF1dGhHdWFyZCh0aGlzLmluamVjdG9yKS5jYW5BY3RpdmF0ZShhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUpO1xuICAgIHJldHVybiAoYXV0aG9yaXNlZCBpbnN0YW5jZW9mIE9ic2VydmFibGUpID8gYXV0aG9yaXNlZC50b1Byb21pc2UoKSA6IGF1dGhvcmlzZWQ7XG4gIH1cblxuICBhYnN0cmFjdCBnZXRBdXRoR3VhcmQoaW5qZWN0b3I6IEluamVjdG9yKTogQ2FuQWN0aXZhdGU7XG59XG4iXX0=
@@ -1,133 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { Location } from '@angular/common';
7
- import { Injectable, Injector } from '@angular/core';
8
- import { Router } from '@angular/router';
9
- import { InteractionService } from '../../interaction/services/interaction.service';
10
- import { PlaceRouter } from '../place-router';
11
- import * as _ from 'lodash';
12
- import { UrlSnapshot } from '../url-snapshot';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/router";
15
- import * as i2 from "../place-router";
16
- import * as i3 from "@angular/common";
17
- import * as i4 from "../../interaction/services/interaction.service";
18
- var InteractionGuard = /** @class */ (function () {
19
- function InteractionGuard(router, injector, placeRouter, angularLocation, interactionService) {
20
- this.router = router;
21
- this.injector = injector;
22
- this.placeRouter = placeRouter;
23
- this.angularLocation = angularLocation;
24
- this.interactionService = interactionService;
25
- }
26
- /**
27
- * @param {?} route
28
- * @param {?} state
29
- * @return {?}
30
- */
31
- InteractionGuard.prototype.canActivate = /**
32
- * @param {?} route
33
- * @param {?} state
34
- * @return {?}
35
- */
36
- function (route, state) {
37
- /** @type {?} */
38
- var url = this.router.parseUrl(state.url);
39
- if (!this.interactionService.isActive() && url.root.children[UrlSnapshot.INTERACTION_ROUTER_OUTLET]) {
40
- // This happens if we reload the page or the url was pasted as the route should only be activated
41
- // after the interaction context has become active.
42
- delete url.root.children[UrlSnapshot.INTERACTION_ROUTER_OUTLET];
43
- return url;
44
- }
45
- else {
46
- return true;
47
- }
48
- };
49
- /**
50
- * @param {?} component
51
- * @param {?} currentRoute
52
- * @param {?} currentState
53
- * @param {?=} nextState
54
- * @return {?}
55
- */
56
- InteractionGuard.prototype.canDeactivate = /**
57
- * @param {?} component
58
- * @param {?} currentRoute
59
- * @param {?} currentState
60
- * @param {?=} nextState
61
- * @return {?}
62
- */
63
- function (component, currentRoute, currentState, nextState) {
64
- return tslib_1.__awaiter(this, void 0, void 0, function () {
65
- var currentIds, routeIds, activity;
66
- return tslib_1.__generator(this, function (_a) {
67
- switch (_a.label) {
68
- case 0:
69
- if (!this.interactionService.isActive()) return [3 /*break*/, 2];
70
- currentIds = this.interactionService.activeInteractionContextIds.value;
71
- routeIds = this.placeRouter.getActiveInteractionIdsFromUrl(nextState.url);
72
- if (!!_.isEqual(currentIds, routeIds)) return [3 /*break*/, 2];
73
- // The activity is still active so the route change was triggered by the back button.
74
- return [4 /*yield*/, this.interactionService.getCurrentActivity()];
75
- case 1:
76
- activity = _a.sent();
77
- activity.cancel();
78
- _a.label = 2;
79
- case 2:
80
- // IMPORTANT:
81
- // We always return true, the router state engine will redirect as required. Return false
82
- // during the guard causes all kinds of grief. It might be worth trying a redirect here
83
- // again now that our state engine is more thorough.
84
- return [2 /*return*/, true];
85
- }
86
- });
87
- });
88
- };
89
- InteractionGuard.decorators = [
90
- { type: Injectable, args: [{
91
- providedIn: 'root'
92
- },] }
93
- ];
94
- /** @nocollapse */
95
- InteractionGuard.ctorParameters = function () { return [
96
- { type: Router },
97
- { type: Injector },
98
- { type: PlaceRouter },
99
- { type: Location },
100
- { type: InteractionService }
101
- ]; };
102
- /** @nocollapse */ InteractionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function InteractionGuard_Factory() { return new InteractionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.PlaceRouter), i0.ɵɵinject(i3.Location), i0.ɵɵinject(i4.InteractionService)); }, token: InteractionGuard, providedIn: "root" });
103
- return InteractionGuard;
104
- }());
105
- export { InteractionGuard };
106
- if (false) {
107
- /**
108
- * @type {?}
109
- * @private
110
- */
111
- InteractionGuard.prototype.router;
112
- /**
113
- * @type {?}
114
- * @private
115
- */
116
- InteractionGuard.prototype.injector;
117
- /**
118
- * @type {?}
119
- * @private
120
- */
121
- InteractionGuard.prototype.placeRouter;
122
- /**
123
- * @type {?}
124
- * @private
125
- */
126
- InteractionGuard.prototype.angularLocation;
127
- /**
128
- * @type {?}
129
- * @private
130
- */
131
- InteractionGuard.prototype.interactionService;
132
- }
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2ludGVyYWN0aW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFJTCxNQUFNLEVBR1AsTUFBTSxpQkFBaUIsQ0FBQztBQUl6QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFOUM7SUFLRSwwQkFBb0IsTUFBYyxFQUNkLFFBQWtCLEVBQ2xCLFdBQXdCLEVBQ2YsZUFBeUIsRUFDekIsa0JBQXNDO1FBSi9DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2Ysb0JBQWUsR0FBZixlQUFlLENBQVU7UUFDekIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUNuRSxDQUFDOzs7Ozs7SUFFRCxzQ0FBVzs7Ozs7SUFBWCxVQUFZLEtBQTZCLEVBQUUsS0FBMEI7O1lBQzdELEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLEVBQUU7WUFDbkcsaUdBQWlHO1lBQ2pHLG1EQUFtRDtZQUNuRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sR0FBRyxDQUFDO1NBQ1o7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs7Ozs7OztJQUVLLHdDQUFhOzs7Ozs7O0lBQW5CLFVBQW9CLFNBQXdCLEVBQUUsWUFBb0MsRUFBRSxZQUFpQyxFQUFFLFNBQStCOzs7Ozs7NkJBRWhKLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsRUFBbEMsd0JBQWtDO3dCQUM5QixVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDLEtBQUs7d0JBQ3RFLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7NkJBQzNFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQWhDLHdCQUFnQzs7d0JBRWpCLHFCQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsRUFBRSxFQUFBOzt3QkFBN0QsUUFBUSxHQUFHLFNBQWtEO3dCQUNuRSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7OztvQkFHdEIsYUFBYTtvQkFDYiwwRkFBMEY7b0JBQzFGLHdGQUF3RjtvQkFDeEYsb0RBQW9EO29CQUNwRCxzQkFBTyxJQUFJLEVBQUM7Ozs7S0FDYjs7Z0JBeENGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBZEMsTUFBTTtnQkFMYSxRQUFRO2dCQWFwQixXQUFXO2dCQWRYLFFBQVE7Z0JBYVIsa0JBQWtCOzs7MkJBYjNCO0NBNERDLEFBMUNELElBMENDO1NBdkNZLGdCQUFnQjs7Ozs7O0lBRWYsa0NBQXNCOzs7OztJQUN0QixvQ0FBMEI7Ozs7O0lBQzFCLHVDQUFnQzs7Ozs7SUFDaEMsMkNBQTBDOzs7OztJQUMxQyw4Q0FBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgQ2FuQWN0aXZhdGUsXG4gIENhbkRlYWN0aXZhdGUsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgVXJsVHJlZVxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOb29wQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9ub29wL25vb3AuY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgVXJsU25hcHNob3QgfSBmcm9tICcuLi91cmwtc25hcHNob3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvbkd1YXJkIGltcGxlbWVudHMgQ2FuRGVhY3RpdmF0ZTxOb29wQ29tcG9uZW50PiwgQ2FuQWN0aXZhdGUge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIHBsYWNlUm91dGVyOiBQbGFjZVJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhbmd1bGFyTG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGludGVyYWN0aW9uU2VydmljZTogSW50ZXJhY3Rpb25TZXJ2aWNlKSB7XG4gIH1cblxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIGNvbnN0IHVybCA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHN0YXRlLnVybCk7XG4gICAgaWYgKCF0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpICYmIHVybC5yb290LmNoaWxkcmVuW1VybFNuYXBzaG90LklOVEVSQUNUSU9OX1JPVVRFUl9PVVRMRVRdKSB7XG4gICAgICAvLyBUaGlzIGhhcHBlbnMgaWYgd2UgcmVsb2FkIHRoZSBwYWdlIG9yIHRoZSB1cmwgd2FzIHBhc3RlZCBhcyB0aGUgcm91dGUgc2hvdWxkIG9ubHkgYmUgYWN0aXZhdGVkXG4gICAgICAvLyBhZnRlciB0aGUgaW50ZXJhY3Rpb24gY29udGV4dCBoYXMgYmVjb21lIGFjdGl2ZS5cbiAgICAgIGRlbGV0ZSB1cmwucm9vdC5jaGlsZHJlbltVcmxTbmFwc2hvdC5JTlRFUkFDVElPTl9ST1VURVJfT1VUTEVUXTtcbiAgICAgIHJldHVybiB1cmw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBOb29wQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcblxuICAgIGlmICh0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpKSB7XG4gICAgICBjb25zdCBjdXJyZW50SWRzID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzLnZhbHVlO1xuICAgICAgY29uc3Qgcm91dGVJZHMgPSB0aGlzLnBsYWNlUm91dGVyLmdldEFjdGl2ZUludGVyYWN0aW9uSWRzRnJvbVVybChuZXh0U3RhdGUudXJsKTtcbiAgICAgIGlmICghXy5pc0VxdWFsKGN1cnJlbnRJZHMsIHJvdXRlSWRzKSkge1xuICAgICAgICAvLyBUaGUgYWN0aXZpdHkgaXMgc3RpbGwgYWN0aXZlIHNvIHRoZSByb3V0ZSBjaGFuZ2Ugd2FzIHRyaWdnZXJlZCBieSB0aGUgYmFjayBidXR0b24uXG4gICAgICAgIGNvbnN0IGFjdGl2aXR5ID0gYXdhaXQgdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuZ2V0Q3VycmVudEFjdGl2aXR5KCk7XG4gICAgICAgIGFjdGl2aXR5LmNhbmNlbCgpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBJTVBPUlRBTlQ6XG4gICAgLy8gV2UgYWx3YXlzIHJldHVybiB0cnVlLCB0aGUgcm91dGVyIHN0YXRlIGVuZ2luZSB3aWxsIHJlZGlyZWN0IGFzIHJlcXVpcmVkLiAgUmV0dXJuIGZhbHNlXG4gICAgLy8gZHVyaW5nIHRoZSBndWFyZCBjYXVzZXMgYWxsIGtpbmRzIG9mIGdyaWVmLiAgSXQgbWlnaHQgYmUgd29ydGggdHJ5aW5nIGEgcmVkaXJlY3QgaGVyZVxuICAgIC8vIGFnYWluIG5vdyB0aGF0IG91ciBzdGF0ZSBlbmdpbmUgaXMgbW9yZSB0aG9yb3VnaC5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export declare class InteractionOutletComponent {
2
- constructor();
3
- }
@@ -1,17 +0,0 @@
1
- import { Location } from '@angular/common';
2
- import { Injector } from '@angular/core';
3
- import { ActivatedRouteSnapshot, CanActivate, CanDeactivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';
4
- import { Observable } from 'rxjs';
5
- import { NoopComponent } from '../../components/noop/noop.component';
6
- import { InteractionService } from '../../interaction/services/interaction.service';
7
- import { PlaceRouter } from '../place-router';
8
- export declare class InteractionGuard implements CanDeactivate<NoopComponent>, CanActivate {
9
- private router;
10
- private injector;
11
- private placeRouter;
12
- private readonly angularLocation;
13
- private readonly interactionService;
14
- constructor(router: Router, injector: Injector, placeRouter: PlaceRouter, angularLocation: Location, interactionService: InteractionService);
15
- canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree;
16
- canDeactivate(component: NoopComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Promise<boolean | UrlTree>;
17
- }