@coolon/angular-ui-powerups 0.0.98 → 0.0.102
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.
- package/bundles/coolon-angular-ui-powerups.umd.js +2036 -1518
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.d.ts +19 -19
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +19 -19
- package/esm2015/index.js +2 -2
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +20 -5
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +13 -3
- package/esm2015/lib/interaction/index.js +5 -4
- package/esm2015/lib/interaction/interaction-context-base.js +21 -8
- package/esm2015/lib/interaction/interaction-context.js +53 -46
- package/esm2015/lib/interaction/interaction.module.js +3 -3
- package/esm2015/lib/interaction/services/interaction.service.js +232 -0
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +62 -0
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +145 -0
- package/esm2015/lib/interaction/services/modal-interaction-context.factory.js +17 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +3 -3
- package/esm2015/lib/place/guards/navigation-state.js +406 -262
- package/esm2015/lib/place/guards/place-component-deactivation-handler.js +63 -28
- package/esm2015/lib/place/guards/place.guard.js +215 -0
- package/esm2015/lib/place/index.js +2 -3
- package/esm2015/lib/place/place-router.js +161 -118
- package/esm2015/lib/place/url-snapshot.js +124 -36
- package/esm2015/public_api.js +3 -3
- package/esm5/coolon-angular-ui-powerups.js +19 -19
- package/esm5/index.js +2 -2
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +24 -14
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +10 -3
- package/esm5/lib/interaction/index.js +5 -4
- package/esm5/lib/interaction/interaction-context-base.js +25 -8
- package/esm5/lib/interaction/interaction-context.js +81 -56
- package/esm5/lib/interaction/interaction.module.js +3 -3
- package/esm5/lib/interaction/services/interaction.service.js +280 -0
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +65 -0
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +170 -0
- package/esm5/lib/interaction/services/modal-interaction-context.factory.js +27 -0
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +3 -3
- package/esm5/lib/place/guards/navigation-state.js +552 -304
- package/esm5/lib/place/guards/place-component-deactivation-handler.js +73 -27
- package/esm5/lib/place/guards/place.guard.js +300 -0
- package/esm5/lib/place/index.js +2 -3
- package/esm5/lib/place/place-router.js +199 -137
- package/esm5/lib/place/url-snapshot.js +153 -42
- package/esm5/public_api.js +3 -3
- package/fesm2015/coolon-angular-ui-powerups.js +1636 -1300
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +1985 -1466
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +1 -0
- package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +3 -1
- package/lib/interaction/index.d.ts +4 -3
- package/lib/interaction/interaction-context-base.d.ts +3 -1
- package/lib/interaction/interaction-context.d.ts +11 -13
- package/lib/interaction/services/interaction.service.d.ts +46 -0
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +15 -0
- package/lib/interaction/services/{dialog-interaction-context.d.ts → mat-dialog-interaction/dialog-interaction-context.d.ts} +2 -2
- package/lib/interaction/services/modal-interaction-context.factory.d.ts +4 -0
- package/lib/place/guards/navigation-state.d.ts +83 -49
- package/lib/place/guards/place-component-deactivation-handler.d.ts +7 -4
- package/lib/place/guards/{abstract-place.guard.d.ts → place.guard.d.ts} +9 -4
- package/lib/place/index.d.ts +1 -2
- package/lib/place/place-router.d.ts +17 -22
- package/lib/place/url-snapshot.d.ts +23 -6
- package/package.json +1 -1
- package/schematics/place-routes/place-def.js +1 -0
- package/schematics/place-routes/place-def.js.map +1 -1
- package/schematics/place-routes/templates/place-routes.ts.template +10 -11
- package/styles/styles.scss +1 -1
- package/esm2015/lib/interaction/services/dialog-interaction-context.js +0 -163
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +0 -151
- package/esm2015/lib/interaction/services/modal-interaction.service.js +0 -109
- package/esm2015/lib/place/guards/abstract-place.guard.js +0 -165
- package/esm2015/lib/place/guards/interaction.guard.js +0 -113
- package/esm5/lib/interaction/services/dialog-interaction-context.js +0 -188
- package/esm5/lib/interaction/services/dialog-interaction.service.js +0 -179
- package/esm5/lib/interaction/services/modal-interaction.service.js +0 -153
- package/esm5/lib/place/guards/abstract-place.guard.js +0 -212
- package/esm5/lib/place/guards/interaction.guard.js +0 -125
- package/lib/interaction/services/dialog-interaction.service.d.ts +0 -24
- package/lib/interaction/services/modal-interaction.service.d.ts +0 -15
- package/lib/place/guards/interaction.guard.d.ts +0 -17
|
@@ -3,60 +3,93 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
+
import * as _ from 'lodash';
|
|
6
7
|
export class PlaceComponentDeactivationHandler {
|
|
7
8
|
/**
|
|
8
9
|
* @param {?} component
|
|
9
|
-
* @param {?}
|
|
10
|
+
* @param {?} navigationState
|
|
11
|
+
* @param {?} isPrimaryComponent
|
|
10
12
|
*/
|
|
11
|
-
constructor(component,
|
|
13
|
+
constructor(component, navigationState, isPrimaryComponent) {
|
|
12
14
|
this.component = component;
|
|
13
|
-
this.
|
|
15
|
+
this.navigationState = navigationState;
|
|
16
|
+
this.isPrimaryComponent = isPrimaryComponent;
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
19
|
+
* @return {?}
|
|
20
|
+
*/
|
|
21
|
+
get interactionService() {
|
|
22
|
+
return this.navigationState.interactionService;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @return {?}
|
|
26
|
+
*/
|
|
27
|
+
get placeRouter() {
|
|
28
|
+
return this.navigationState.placeRouter;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @param {?} currentUrl
|
|
16
32
|
* @param {?} nextState
|
|
17
33
|
* @return {?}
|
|
18
34
|
*/
|
|
19
|
-
canDeactivate(nextState) {
|
|
35
|
+
canDeactivate(currentUrl, nextState) {
|
|
20
36
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
37
|
// We'll get called multiple times if there's any parameter sanitisation so
|
|
22
38
|
// we always return true if we accepted promise from a previous cycle of the current
|
|
23
39
|
// navigation session.
|
|
24
40
|
if (!this.canDeactivatePromise) {
|
|
25
|
-
|
|
41
|
+
console.log(`creating deactivate promise for -> ${this.component.constructor.name}`);
|
|
42
|
+
this.canDeactivatePromise = this.canDeactivateComponent(currentUrl, nextState);
|
|
26
43
|
}
|
|
27
44
|
return this.canDeactivatePromise;
|
|
28
45
|
});
|
|
29
46
|
}
|
|
47
|
+
// @Trace()
|
|
30
48
|
/**
|
|
31
49
|
* @protected
|
|
50
|
+
* @param {?} currentUrl
|
|
32
51
|
* @param {?} nextState
|
|
33
52
|
* @return {?}
|
|
34
53
|
*/
|
|
35
|
-
canDeactivateComponent(nextState) {
|
|
54
|
+
canDeactivateComponent(currentUrl, nextState) {
|
|
36
55
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
console.log(this.navigationState.toString());
|
|
37
57
|
// Automatically cancel any active activities if the navigation session was triggered by the back button.
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
58
|
+
// If we handled more than just the pop state then it leads to the UI ignoring clicks and just cancelling things which is deeply disconcerting.
|
|
59
|
+
if (this.navigationState.isPopState) {
|
|
60
|
+
if (this.isPrimaryComponent && this.interactionService.isModalActive()) {
|
|
61
|
+
/** @type {?} */
|
|
62
|
+
const routeIds = this.placeRouter.getActiveInteractionIdsFromUrl(nextState.url);
|
|
63
|
+
/** @type {?} */
|
|
64
|
+
const currentIds = this.interactionService.activeInteractionContextIds.value;
|
|
65
|
+
if (!_.isEqual(currentIds, routeIds)) {
|
|
66
|
+
yield this.interactionService.getActiveContext().cancelCurrentActivity();
|
|
67
|
+
return currentUrl.updateInteractionIds(this.interactionService.activeInteractionContextIds.value);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// check if the component has an in place interaction
|
|
72
|
+
if (this.component.interactionContext && this.component.interactionContext.isActive()) {
|
|
73
|
+
yield this.component.interactionContext.cancelCurrentActivity();
|
|
74
|
+
return currentUrl
|
|
75
|
+
.updateInteractionIds(this.interactionService.activeInteractionContextIds.value);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
53
78
|
}
|
|
54
79
|
// Ok, so now we're really leaving, so we ask the component if we should.;
|
|
55
|
-
if (this.isNotJustAChangeInRouteId(nextState)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
80
|
+
if (this.isNotJustAChangeInRouteId(nextState)) {
|
|
81
|
+
if (this.component.canDeactivate) {
|
|
82
|
+
// No interaction in progress, so ask the component .
|
|
83
|
+
// This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and
|
|
84
|
+
// the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.
|
|
85
|
+
return this.component.canDeactivate(this.navigationState.interactionContext);
|
|
86
|
+
}
|
|
87
|
+
// The component has an active interaction but no deactivation hook. Rather than guessing what to do
|
|
88
|
+
// we'll just cancel the navigation and print a warning.
|
|
89
|
+
if (this.component.interactionContext && this.component.interactionContext.isActive()) {
|
|
90
|
+
console.warn('Route changed while component has active interaction, cancelling navigation');
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
60
93
|
}
|
|
61
94
|
return true;
|
|
62
95
|
});
|
|
@@ -82,6 +115,8 @@ if (false) {
|
|
|
82
115
|
/** @type {?} */
|
|
83
116
|
PlaceComponentDeactivationHandler.prototype.component;
|
|
84
117
|
/** @type {?} */
|
|
85
|
-
PlaceComponentDeactivationHandler.prototype.
|
|
118
|
+
PlaceComponentDeactivationHandler.prototype.navigationState;
|
|
119
|
+
/** @type {?} */
|
|
120
|
+
PlaceComponentDeactivationHandler.prototype.isPrimaryComponent;
|
|
86
121
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LWRlYWN0aXZhdGlvbi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2d1YXJkcy9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUs1QixNQUFNLE9BQU8saUNBQWlDOzs7Ozs7SUFJNUMsWUFBcUIsU0FBeUIsRUFBVyxlQUFnQyxFQUFXLGtCQUEyQjtRQUExRyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUFXLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFXLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUztJQUMvSCxDQUFDOzs7O0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pELENBQUM7Ozs7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDO0lBQzFDLENBQUM7Ozs7OztJQUVLLGFBQWEsQ0FBQyxVQUF1QixFQUFFLFNBQXNCOztZQUNqRSwyRUFBMkU7WUFDM0Usb0ZBQW9GO1lBQ3BGLHNCQUFzQjtZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUNoRjtZQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ25DLENBQUM7S0FBQTs7Ozs7Ozs7SUFJZSxzQkFBc0IsQ0FBQyxVQUF1QixFQUFFLFNBQXNCOztZQUNwRixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM3Qyx5R0FBeUc7WUFDekcsK0lBQStJO1lBQy9JLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUU7Z0JBQ25DLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsRUFBRTs7MEJBQ2hFLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7OzBCQUN6RSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDLEtBQUs7b0JBRTVFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRTt3QkFDcEMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO3dCQUN6RSxPQUFPLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ25HO2lCQUNGO3FCQUFNO29CQUNMLHFEQUFxRDtvQkFDckQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLEVBQUU7d0JBQ3JGLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO3dCQUNoRSxPQUFPLFVBQVU7NkJBQ2Qsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFBO3FCQUNuRjtpQkFDRjthQUNGO1lBRUQsMEVBQTBFO1lBQzFFLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUU3QyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFO29CQUNoQyxxREFBcUQ7b0JBQ3JELDhIQUE4SDtvQkFDOUgsK0dBQStHO29CQUMvRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQztpQkFDOUU7Z0JBRUQscUdBQXFHO2dCQUNyRyx3REFBd0Q7Z0JBQ3hELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNyRixPQUFPLENBQUMsSUFBSSxDQUFDLDZFQUE2RSxDQUFDLENBQUM7b0JBQzVGLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBRUY7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTs7Ozs7O0lBRVMseUJBQXlCLENBQUMsU0FBc0I7UUFDeEQscUZBQXFGO1FBQ3JGLGdGQUFnRjtRQUNoRiwwQ0FBMEM7UUFDMUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7Ozs7OztJQTVFQyxpRUFBNkQ7O0lBRWpELHNEQUFrQzs7SUFBRSw0REFBeUM7O0lBQUUsK0RBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcmxTbmFwc2hvdCB9IGZyb20gJy4uL3VybC1zbmFwc2hvdCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhdGUgfSBmcm9tICcuL25hdmlnYXRpb24tc3RhdGUnO1xuXG5leHBvcnQgY2xhc3MgUGxhY2VDb21wb25lbnREZWFjdGl2YXRpb25IYW5kbGVyIHtcblxuICBwcml2YXRlIGNhbkRlYWN0aXZhdGVQcm9taXNlOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxTbmFwc2hvdD47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCwgcmVhZG9ubHkgbmF2aWdhdGlvblN0YXRlOiBOYXZpZ2F0aW9uU3RhdGUsIHJlYWRvbmx5IGlzUHJpbWFyeUNvbXBvbmVudDogYm9vbGVhbikge1xuICB9XG5cbiAgZ2V0IGludGVyYWN0aW9uU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU3RhdGUuaW50ZXJhY3Rpb25TZXJ2aWNlO1xuICB9XG5cbiAgZ2V0IHBsYWNlUm91dGVyKCkge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25TdGF0ZS5wbGFjZVJvdXRlcjtcbiAgfVxuXG4gIGFzeW5jIGNhbkRlYWN0aXZhdGUoY3VycmVudFVybDogVXJsU25hcHNob3QsIG5leHRTdGF0ZTogVXJsU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxTbmFwc2hvdD4ge1xuICAgIC8vIFdlJ2xsIGdldCBjYWxsZWQgbXVsdGlwbGUgdGltZXMgaWYgdGhlcmUncyBhbnkgcGFyYW1ldGVyIHNhbml0aXNhdGlvbiBzb1xuICAgIC8vIHdlIGFsd2F5cyByZXR1cm4gdHJ1ZSBpZiB3ZSBhY2NlcHRlZCBwcm9taXNlIGZyb20gYSBwcmV2aW91cyBjeWNsZSBvZiB0aGUgY3VycmVudFxuICAgIC8vIG5hdmlnYXRpb24gc2Vzc2lvbi5cbiAgICBpZiAoIXRoaXMuY2FuRGVhY3RpdmF0ZVByb21pc2UpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBjcmVhdGluZyBkZWFjdGl2YXRlIHByb21pc2UgZm9yIC0+ICR7dGhpcy5jb21wb25lbnQuY29uc3RydWN0b3IubmFtZX1gKTtcbiAgICAgIHRoaXMuY2FuRGVhY3RpdmF0ZVByb21pc2UgPSB0aGlzLmNhbkRlYWN0aXZhdGVDb21wb25lbnQoY3VycmVudFVybCwgbmV4dFN0YXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FuRGVhY3RpdmF0ZVByb21pc2U7XG4gIH1cblxuXG4gIC8vIEBUcmFjZSgpXG4gIHByb3RlY3RlZCBhc3luYyBjYW5EZWFjdGl2YXRlQ29tcG9uZW50KGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0U3RhdGU6IFVybFNuYXBzaG90KTogUHJvbWlzZTxVcmxTbmFwc2hvdCB8IGJvb2xlYW4+IHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLm5hdmlnYXRpb25TdGF0ZS50b1N0cmluZygpKTtcbiAgICAvLyBBdXRvbWF0aWNhbGx5IGNhbmNlbCBhbnkgYWN0aXZlIGFjdGl2aXRpZXMgaWYgdGhlIG5hdmlnYXRpb24gc2Vzc2lvbiB3YXMgdHJpZ2dlcmVkIGJ5IHRoZSBiYWNrIGJ1dHRvbi5cbiAgICAvLyBJZiB3ZSBoYW5kbGVkIG1vcmUgdGhhbiBqdXN0IHRoZSBwb3Agc3RhdGUgdGhlbiBpdCBsZWFkcyB0byB0aGUgVUkgaWdub3JpbmcgY2xpY2tzIGFuZCBqdXN0IGNhbmNlbGxpbmcgdGhpbmdzIHdoaWNoIGlzIGRlZXBseSBkaXNjb25jZXJ0aW5nLlxuICAgIGlmICh0aGlzLm5hdmlnYXRpb25TdGF0ZS5pc1BvcFN0YXRlKSB7XG4gICAgICBpZiAodGhpcy5pc1ByaW1hcnlDb21wb25lbnQgJiYgdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNNb2RhbEFjdGl2ZSgpKSB7XG4gICAgICAgIGNvbnN0IHJvdXRlSWRzID0gdGhpcy5wbGFjZVJvdXRlci5nZXRBY3RpdmVJbnRlcmFjdGlvbklkc0Zyb21VcmwobmV4dFN0YXRlLnVybCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJZHMgPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHMudmFsdWU7XG5cbiAgICAgICAgaWYgKCFfLmlzRXF1YWwoY3VycmVudElkcywgcm91dGVJZHMpKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuZ2V0QWN0aXZlQ29udGV4dCgpLmNhbmNlbEN1cnJlbnRBY3Rpdml0eSgpO1xuICAgICAgICAgIHJldHVybiBjdXJyZW50VXJsLnVwZGF0ZUludGVyYWN0aW9uSWRzKHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNoZWNrIGlmIHRoZSBjb21wb25lbnQgaGFzIGFuIGluIHBsYWNlIGludGVyYWN0aW9uXG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudC5pbnRlcmFjdGlvbkNvbnRleHQgJiYgdGhpcy5jb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKCkpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNvbXBvbmVudC5pbnRlcmFjdGlvbkNvbnRleHQuY2FuY2VsQ3VycmVudEFjdGl2aXR5KCk7XG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnRVcmxcbiAgICAgICAgICAgIC51cGRhdGVJbnRlcmFjdGlvbklkcyh0aGlzLmludGVyYWN0aW9uU2VydmljZS5hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHMudmFsdWUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPaywgc28gbm93IHdlJ3JlIHJlYWxseSBsZWF2aW5nLCBzbyB3ZSBhc2sgdGhlIGNvbXBvbmVudCBpZiB3ZSBzaG91bGQuO1xuICAgIGlmICh0aGlzLmlzTm90SnVzdEFDaGFuZ2VJblJvdXRlSWQobmV4dFN0YXRlKSkge1xuXG4gICAgICBpZiAodGhpcy5jb21wb25lbnQuY2FuRGVhY3RpdmF0ZSkge1xuICAgICAgICAvLyBObyBpbnRlcmFjdGlvbiBpbiBwcm9ncmVzcywgc28gYXNrIHRoZSBjb21wb25lbnQgLlxuICAgICAgICAvLyBUaGlzIG1heSBzdGFydCBhbiBpbnRlcmFjdGlvbiwgaGVuY2UgY2hlY2tpbmcgdGhlIGludGVyYWN0aW9uIGNvbnRleHQgYmVmb3JlIG5vdy4gSS5lLiBpZiB0aGUgcGxhY2UgcG9wcyB1cCB0aGUgZGlhbG9nLCBhbmRcbiAgICAgICAgLy8gdGhlIHVzZXIgY2xpY2tzIGJhY2sgYWdhaW4sIHdlJ2xsIHJlLWVudGVyIGhlcmUgYW5kIGdvIGJhbmcgd2hlbiB0aGUgY29tcG9uZW50IHRyaWVzIHRvIG9wZW4gYW5vdGhlciBkaWFsb2cuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKHRoaXMubmF2aWdhdGlvblN0YXRlLmludGVyYWN0aW9uQ29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFRoZSBjb21wb25lbnQgaGFzIGFuIGFjdGl2ZSBpbnRlcmFjdGlvbiBidXQgbm8gZGVhY3RpdmF0aW9uIGhvb2suICBSYXRoZXIgdGhhbiBndWVzc2luZyB3aGF0IHRvIGRvXG4gICAgICAvLyB3ZSdsbCBqdXN0IGNhbmNlbCB0aGUgbmF2aWdhdGlvbiBhbmQgcHJpbnQgYSB3YXJuaW5nLlxuICAgICAgaWYgKHRoaXMuY29tcG9uZW50LmludGVyYWN0aW9uQ29udGV4dCAmJiB0aGlzLmNvbXBvbmVudC5pbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1JvdXRlIGNoYW5nZWQgd2hpbGUgY29tcG9uZW50IGhhcyBhY3RpdmUgaW50ZXJhY3Rpb24sIGNhbmNlbGxpbmcgbmF2aWdhdGlvbicpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNOb3RKdXN0QUNoYW5nZUluUm91dGVJZChuZXh0U3RhdGU6IFVybFNuYXBzaG90KSB7XG4gICAgLy8gQmVjYXVzZSBwbGFjZXMgd2l0aCBhIHJvdXRlLWlkIGNvdmVyIHR3byByb3V0ZSBzZWdtZW50cyB3ZSBnZXQgYXNrZWQgdG8gZGVhY3RpdmF0ZVxuICAgIC8vIGlmIHRoZSByb3V0ZSBpZCBpcyBhZGRlZCBvciByZW1vdmVkLiAgU28gaWYgb3VyIHBhdGggaXMgc3RpbGwgcHJlc2VudCB0aGUgdXJsXG4gICAgLy8gdGhlbiB3ZSBzaG91bGRuJ3QgZGVhY3RpdmF0ZSB0aGUgcGxhY2UuXG4gICAgcmV0dXJuICFuZXh0U3RhdGUuaW5jbHVkZXNQYXRoT2YodGhpcy5jb21wb25lbnQucGxhY2VEZWZpbml0aW9uKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,215 @@
|
|
|
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 { lang } from '@coolon/pectin';
|
|
7
|
+
import { Observable } from 'rxjs';
|
|
8
|
+
import { PlaceComponent } from '../place-component';
|
|
9
|
+
import { VisitSanitiser } from '../route/visit-sanitiser';
|
|
10
|
+
import { UrlSnapshot } from '../url-snapshot';
|
|
11
|
+
import { Visit } from '../visit';
|
|
12
|
+
import { ConsolidatedParameterMap } from './consolidated-param-map';
|
|
13
|
+
/**
|
|
14
|
+
* @abstract
|
|
15
|
+
*/
|
|
16
|
+
export class PlaceGuard {
|
|
17
|
+
/**
|
|
18
|
+
* @param {?} router
|
|
19
|
+
* @param {?} urlSerializer
|
|
20
|
+
* @param {?} placeRouter
|
|
21
|
+
* @param {?} placeHistory
|
|
22
|
+
* @param {?} interactionService
|
|
23
|
+
* @param {?} injector
|
|
24
|
+
*/
|
|
25
|
+
constructor(router, urlSerializer, placeRouter, placeHistory, interactionService, injector) {
|
|
26
|
+
this.router = router;
|
|
27
|
+
this.urlSerializer = urlSerializer;
|
|
28
|
+
this.placeRouter = placeRouter;
|
|
29
|
+
this.placeHistory = placeHistory;
|
|
30
|
+
this.interactionService = interactionService;
|
|
31
|
+
this.injector = injector;
|
|
32
|
+
}
|
|
33
|
+
// @Trace()
|
|
34
|
+
/**
|
|
35
|
+
* @param {?} activatedRoute
|
|
36
|
+
* @param {?} state
|
|
37
|
+
* @return {?}
|
|
38
|
+
*/
|
|
39
|
+
canActivate(activatedRoute, state) {
|
|
40
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
// TODO: this is ugly now that I'm return UrlSnapshots and not UrlTrees. It'd be better if the functions
|
|
42
|
+
// weren't nested or if I implemented a handler chain.
|
|
43
|
+
return this.authorisePlaceThen(activatedRoute, state, (/**
|
|
44
|
+
* @param {?} placeDefinition
|
|
45
|
+
* @return {?}
|
|
46
|
+
*/
|
|
47
|
+
(placeDefinition) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
/** @type {?} */
|
|
49
|
+
const result = yield this.cleanInteractionState(activatedRoute, state, (/**
|
|
50
|
+
* @return {?}
|
|
51
|
+
*/
|
|
52
|
+
() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
// Parse our route params.
|
|
54
|
+
/** @type {?} */
|
|
55
|
+
const params = new ConsolidatedParameterMap(activatedRoute.paramMap, activatedRoute.url);
|
|
56
|
+
/** @type {?} */
|
|
57
|
+
const parsedParams = placeDefinition.parseRouteParams(params);
|
|
58
|
+
/** @type {?} */
|
|
59
|
+
const initialVisit = this.placeRouter.navigationState.getVisitFor(placeDefinition) || new Visit(placeDefinition, parsedParams);
|
|
60
|
+
/** @type {?} */
|
|
61
|
+
const sanitiser = new VisitSanitiser(activatedRoute, this.router, this.placeHistory, this.injector);
|
|
62
|
+
/** @type {?} */
|
|
63
|
+
const sanitisedVisit = yield sanitiser.sanitise(initialVisit.mergeRouteParameters(parsedParams));
|
|
64
|
+
// Save the visit with any updated parameters. We need to save it so we remember any non route parameters
|
|
65
|
+
this.placeRouter.navigationState.storeVisit(sanitisedVisit);
|
|
66
|
+
if (initialVisit.hasRoutingChangedFrom(sanitisedVisit)) {
|
|
67
|
+
// Regenerate the url
|
|
68
|
+
/** @type {?} */
|
|
69
|
+
const urlSnapshot = this.placeRouter.parseUrl(state.url).updateVisitSegments(sanitisedVisit);
|
|
70
|
+
console.log('##### Place Guard Redirect', urlSnapshot);
|
|
71
|
+
return urlSnapshot;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
})));
|
|
77
|
+
return this.handleGuardResult(result);
|
|
78
|
+
})));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
// @Trace()
|
|
82
|
+
/**
|
|
83
|
+
* @param {?} component
|
|
84
|
+
* @param {?} currentRoute
|
|
85
|
+
* @param {?} currentState
|
|
86
|
+
* @param {?=} nextState
|
|
87
|
+
* @return {?}
|
|
88
|
+
*/
|
|
89
|
+
canDeactivate(component, currentRoute, currentState, nextState) {
|
|
90
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
/** @type {?} */
|
|
92
|
+
const currentUrl = this.placeRouter.parseUrl(currentState.url);
|
|
93
|
+
/** @type {?} */
|
|
94
|
+
const nextUrl = this.placeRouter.parseUrl(nextState.url);
|
|
95
|
+
/** @type {?} */
|
|
96
|
+
const result = yield this.placeRouter.navigationState.canDeactivatePlace(component, currentUrl, nextUrl);
|
|
97
|
+
return this.handleGuardResult(result);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @private
|
|
102
|
+
* @param {?} result
|
|
103
|
+
* @return {?}
|
|
104
|
+
*/
|
|
105
|
+
handleGuardResult(result) {
|
|
106
|
+
if (result instanceof UrlSnapshot) {
|
|
107
|
+
return result.urlTree;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// @Trace()
|
|
114
|
+
/**
|
|
115
|
+
* @protected
|
|
116
|
+
* @param {?} activatedRoute
|
|
117
|
+
* @param {?} state
|
|
118
|
+
* @param {?} runPlaceGuards
|
|
119
|
+
* @return {?}
|
|
120
|
+
*/
|
|
121
|
+
authorisePlaceThen(activatedRoute, state, runPlaceGuards) {
|
|
122
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {
|
|
124
|
+
/** @type {?} */
|
|
125
|
+
const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);
|
|
126
|
+
/** @type {?} */
|
|
127
|
+
const authoriseResult = placeDefinition.authenticate ? yield this.isAuthorised(activatedRoute, state) : true;
|
|
128
|
+
if (authoriseResult === true) {
|
|
129
|
+
// we're authorised, now run the place guards.
|
|
130
|
+
return runPlaceGuards(placeDefinition);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
console.log('not authorised result', authoriseResult);
|
|
134
|
+
return authoriseResult;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// @Trace()
|
|
143
|
+
/**
|
|
144
|
+
* @param {?} activatedRoute
|
|
145
|
+
* @param {?} state
|
|
146
|
+
* @return {?}
|
|
147
|
+
*/
|
|
148
|
+
isAuthorised(activatedRoute, state) {
|
|
149
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
150
|
+
/** @type {?} */
|
|
151
|
+
const authorised = this.getAuthGuard(this.injector).canActivate(activatedRoute, state);
|
|
152
|
+
return (authorised instanceof Observable) ? authorised.toPromise() : authorised;
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
// @Trace()
|
|
156
|
+
/**
|
|
157
|
+
* @param {?} route
|
|
158
|
+
* @param {?} state
|
|
159
|
+
* @param {?} then
|
|
160
|
+
* @return {?}
|
|
161
|
+
*/
|
|
162
|
+
cleanInteractionState(route, state, then) {
|
|
163
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
/** @type {?} */
|
|
165
|
+
const url = this.placeRouter.parseUrl(state.url);
|
|
166
|
+
if (!this.interactionService.isActive() && url.hasInteractionIds()) {
|
|
167
|
+
// This happens if we reload the page or the url was pasted as the route should only be activated
|
|
168
|
+
// after the interaction context has become active.
|
|
169
|
+
return url.removeInteractionIds();
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
return then();
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (false) {
|
|
178
|
+
/**
|
|
179
|
+
* @type {?}
|
|
180
|
+
* @private
|
|
181
|
+
*/
|
|
182
|
+
PlaceGuard.prototype.router;
|
|
183
|
+
/**
|
|
184
|
+
* @type {?}
|
|
185
|
+
* @private
|
|
186
|
+
*/
|
|
187
|
+
PlaceGuard.prototype.urlSerializer;
|
|
188
|
+
/**
|
|
189
|
+
* @type {?}
|
|
190
|
+
* @private
|
|
191
|
+
*/
|
|
192
|
+
PlaceGuard.prototype.placeRouter;
|
|
193
|
+
/**
|
|
194
|
+
* @type {?}
|
|
195
|
+
* @private
|
|
196
|
+
*/
|
|
197
|
+
PlaceGuard.prototype.placeHistory;
|
|
198
|
+
/**
|
|
199
|
+
* @type {?}
|
|
200
|
+
* @private
|
|
201
|
+
*/
|
|
202
|
+
PlaceGuard.prototype.interactionService;
|
|
203
|
+
/**
|
|
204
|
+
* @type {?}
|
|
205
|
+
* @private
|
|
206
|
+
*/
|
|
207
|
+
PlaceGuard.prototype.injector;
|
|
208
|
+
/**
|
|
209
|
+
* @abstract
|
|
210
|
+
* @param {?} injector
|
|
211
|
+
* @return {?}
|
|
212
|
+
*/
|
|
213
|
+
PlaceGuard.prototype.getAuthGuard = function (injector) { };
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsT0FBTyxFQUFFLElBQUksRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUdwRSxNQUFNLE9BQWdCLFVBQVU7Ozs7Ozs7OztJQUc5QixZQUE2QixNQUFjLEVBQ3ZCLGFBQTRCLEVBQ25CLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLGtCQUFzQyxFQUN0QyxRQUFrQjtRQUxsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMvQyxDQUFDOzs7Ozs7O0lBR0ssV0FBVyxDQUFDLGNBQXNDLEVBQUUsS0FBMEI7O1lBRWpGLHlHQUF5RztZQUMxRyw2REFBNkQ7WUFDN0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLEtBQUs7Ozs7WUFBRSxDQUFPLGVBQWUsRUFBRSxFQUFFOztzQkFFeEUsTUFBTSxH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bXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgQ2FuQWN0aXZhdGUsXG4gIENhbkRlYWN0aXZhdGUsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgVXJsU2VyaWFsaXplcixcbiAgVXJsVHJlZVxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgbGFuZywgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGxhY2VIaXN0b3J5IH0gZnJvbSAnLi4vcGxhY2UtaGlzdG9yeSc7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uL3BsYWNlLXJvdXRlcic7XG5pbXBvcnQgeyBWaXNpdFNhbml0aXNlciB9IGZyb20gJy4uL3JvdXRlL3Zpc2l0LXNhbml0aXNlcic7XG5pbXBvcnQgeyBVcmxTbmFwc2hvdCB9IGZyb20gJy4uL3VybC1zbmFwc2hvdCc7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uL3Zpc2l0JztcbmltcG9ydCB7IENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcCB9IGZyb20gJy4vY29uc29saWRhdGVkLXBhcmFtLW1hcCc7XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYWNlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSwgQ2FuRGVhY3RpdmF0ZTxQbGFjZUNvbXBvbmVudD4ge1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1cmxTZXJpYWxpemVyOiBVcmxTZXJpYWxpemVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlUm91dGVyOiBQbGFjZVJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZUhpc3Rvcnk6IFBsYWNlSGlzdG9yeSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcmFjdGlvblNlcnZpY2U6IEludGVyYWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGFzeW5jIGNhbkFjdGl2YXRlKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcblxuICAgICAvLyBUT0RPOiB0aGlzIGlzIHVnbHkgbm93IHRoYXQgSSdtIHJldHVybiBVcmxTbmFwc2hvdHMgYW5kIG5vdCBVcmxUcmVlcy4gIEl0J2QgYmUgYmV0dGVyIGlmIHRoZSBmdW5jdGlvbnNcbiAgICAvLyAgICAgICAgd2VyZW4ndCBuZXN0ZWQgb3IgaWYgSSBpbXBsZW1lbnRlZCBhIGhhbmRsZXIgY2hhaW4uXG4gICAgcmV0dXJuIHRoaXMuYXV0aG9yaXNlUGxhY2VUaGVuKGFjdGl2YXRlZFJvdXRlLCBzdGF0ZSwgYXN5bmMgKHBsYWNlRGVmaW5pdGlvbikgPT4ge1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsZWFuSW50ZXJhY3Rpb25TdGF0ZShhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUsIGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gUGFyc2Ugb3VyIHJvdXRlIHBhcmFtcy5cbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcChhY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcCwgYWN0aXZhdGVkUm91dGUudXJsKTtcbiAgICAgICAgY29uc3QgcGFyc2VkUGFyYW1zID0gcGxhY2VEZWZpbml0aW9uLnBhcnNlUm91dGVQYXJhbXMocGFyYW1zKTtcblxuICAgICAgICBjb25zdCBpbml0aWFsVmlzaXQgPSB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TdGF0ZS5nZXRWaXNpdEZvcihwbGFjZURlZmluaXRpb24pIHx8IG5ldyBWaXNpdChwbGFjZURlZmluaXRpb24sIHBhcnNlZFBhcmFtcyk7XG4gICAgICAgIGNvbnN0IHNhbml0aXNlciA9IG5ldyBWaXNpdFNhbml0aXNlcihhY3RpdmF0ZWRSb3V0ZSwgdGhpcy5yb3V0ZXIsIHRoaXMucGxhY2VIaXN0b3J5LCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgY29uc3Qgc2FuaXRpc2VkVmlzaXQgPSBhd2FpdCBzYW5pdGlzZXIuc2FuaXRpc2UoaW5pdGlhbFZpc2l0Lm1lcmdlUm91dGVQYXJhbWV0ZXJzKHBhcnNlZFBhcmFtcykpO1xuXG4gICAgICAgIC8vIFNhdmUgdGhlIHZpc2l0IHdpdGggYW55IHVwZGF0ZWQgcGFyYW1ldGVycy4gIFdlIG5lZWQgdG8gc2F2ZSBpdCBzbyB3ZSByZW1lbWJlciBhbnkgbm9uIHJvdXRlIHBhcmFtZXRlcnNcbiAgICAgICAgdGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU3RhdGUuc3RvcmVWaXNpdChzYW5pdGlzZWRWaXNpdCk7XG4gICAgICAgIGlmIChpbml0aWFsVmlzaXQuaGFzUm91dGluZ0NoYW5nZWRGcm9tKHNhbml0aXNlZFZpc2l0KSkge1xuICAgICAgICAgIC8vIFJlZ2VuZXJhdGUgdGhlIHVybFxuICAgICAgICAgIGNvbnN0IHVybFNuYXBzaG90ID0gdGhpcy5wbGFjZVJvdXRlci5wYXJzZVVybChzdGF0ZS51cmwpLnVwZGF0ZVZpc2l0U2VnbWVudHMoc2FuaXRpc2VkVmlzaXQpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCcjIyMjIyBQbGFjZSBHdWFyZCBSZWRpcmVjdCcsIHVybFNuYXBzaG90KTtcbiAgICAgICAgICByZXR1cm4gdXJsU25hcHNob3Q7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlR3VhcmRSZXN1bHQocmVzdWx0KTtcblxuICAgIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5wbGFjZVJvdXRlci5wYXJzZVVybChjdXJyZW50U3RhdGUudXJsKTtcbiAgICBjb25zdCBuZXh0VXJsID0gdGhpcy5wbGFjZVJvdXRlci5wYXJzZVVybChuZXh0U3RhdGUudXJsKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TdGF0ZS5jYW5EZWFjdGl2YXRlUGxhY2UoY29tcG9uZW50LCBjdXJyZW50VXJsLCBuZXh0VXJsKTtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVHdWFyZFJlc3VsdChyZXN1bHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVHdWFyZFJlc3VsdChyZXN1bHQpIHtcbiAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgVXJsU25hcHNob3QpIHtcbiAgICAgIHJldHVybiByZXN1bHQudXJsVHJlZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgcHJvdGVjdGVkIGFzeW5jIGF1dGhvcmlzZVBsYWNlVGhlbihhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIHJ1blBsYWNlR3VhcmRzOiAocGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24pID0+IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+KSB7XG4gICAgaWYgKFBsYWNlQ29tcG9uZW50LmlzUGxhY2VDb21wb25lbnRDb25zdHJ1Y3RvcihhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQpKSB7XG4gICAgICBjb25zdCBwbGFjZURlZmluaXRpb24gPSBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCk7XG4gICAgICBjb25zdCBhdXRob3Jpc2VSZXN1bHQgPSBwbGFjZURlZmluaXRpb24uYXV0aGVudGljYXRlID8gYXdhaXQgdGhpcy5pc0F1dGhvcmlzZWQoYWN0aXZhdGVkUm91dGUsIHN0YXRlKSA6IHRydWU7XG4gICAgICBpZiAoYXV0aG9yaXNlUmVzdWx0ID09PSB0cnVlKSB7XG4gICAgICAgIC8vIHdlJ3JlIGF1dGhvcmlzZWQsIG5vdyBydW4gdGhlIHBsYWNlIGd1YXJkcy5cbiAgICAgICAgcmV0dXJuIHJ1blBsYWNlR3VhcmRzKHBsYWNlRGVmaW5pdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZygnbm90IGF1dGhvcmlzZWQgcmVzdWx0JywgYXV0aG9yaXNlUmVzdWx0KTtcbiAgICAgICAgcmV0dXJuIGF1dGhvcmlzZVJlc3VsdDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGxhbmcuaWxsZWdhbFN0YXRlKGBleHBlY3RlZCBjb21wb25lbnQgdG8gYmUgYW4gaW5zdGFuY2Ugb2YgUGxhY2VDb21wb25lbnQsIGdvdCAke2FjdGl2YXRlZFJvdXRlLmNvbXBvbmVudH1gKTtcbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBpc0F1dGhvcmlzZWQoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuICAgIGNvbnN0IGF1dGhvcmlzZWQgPSB0aGlzLmdldEF1dGhHdWFyZCh0aGlzLmluamVjdG9yKS5jYW5BY3RpdmF0ZShhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUpO1xuICAgIHJldHVybiAoYXV0aG9yaXNlZCBpbnN0YW5jZW9mIE9ic2VydmFibGUpID8gYXV0aG9yaXNlZC50b1Byb21pc2UoKSA6IGF1dGhvcmlzZWQ7XG4gIH1cblxuICBhYnN0cmFjdCBnZXRBdXRoR3VhcmQoaW5qZWN0b3I6IEluamVjdG9yKTogQ2FuQWN0aXZhdGU7XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2xlYW5JbnRlcmFjdGlvblN0YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgdGhlbjogKCkgPT4gUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+KTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnBsYWNlUm91dGVyLnBhcnNlVXJsKHN0YXRlLnVybCk7XG4gICAgaWYgKCF0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpICYmIHVybC5oYXNJbnRlcmFjdGlvbklkcygpKSB7XG4gICAgICAvLyBUaGlzIGhhcHBlbnMgaWYgd2UgcmVsb2FkIHRoZSBwYWdlIG9yIHRoZSB1cmwgd2FzIHBhc3RlZCBhcyB0aGUgcm91dGUgc2hvdWxkIG9ubHkgYmUgYWN0aXZhdGVkXG4gICAgICAvLyBhZnRlciB0aGUgaW50ZXJhY3Rpb24gY29udGV4dCBoYXMgYmVjb21lIGFjdGl2ZS5cbiAgICAgIHJldHVybiB1cmwucmVtb3ZlSW50ZXJhY3Rpb25JZHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoZW4oKTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -22,12 +22,11 @@ export { ListPlaceNavComponent } from "./components/list-place-nav/list-place-na
|
|
|
22
22
|
export { PlaceOutletComponent } from "./components/place-outlet/place-outlet.component";
|
|
23
23
|
export { leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION } from "./components/place-outlet/route-animations";
|
|
24
24
|
export { TabbedPlaceNavigationComponent } from "./components/tabbed-place-navigation/tabbed-place-navigation.component";
|
|
25
|
-
export { AbstractPlaceGuard } from "./guards/abstract-place.guard";
|
|
26
25
|
export { ConsolidatedParameterMap } from "./guards/consolidated-param-map";
|
|
27
|
-
export { InteractionGuard } from "./guards/interaction.guard";
|
|
28
26
|
export { NavigationState } from "./guards/navigation-state";
|
|
29
27
|
export { NoopAuthGuard } from "./guards/noop-auth-guard.service";
|
|
30
28
|
export { PlaceComponentDeactivationHandler } from "./guards/place-component-deactivation-handler";
|
|
29
|
+
export { PlaceGuard } from "./guards/place.guard";
|
|
31
30
|
export { Formatter } from "./route/formatter";
|
|
32
31
|
export {} from "./route/json-types";
|
|
33
32
|
export { RouteId, VisitParameter, VisitParameterList } from "./route/parameter-decorators";
|
|
@@ -35,4 +34,4 @@ export { ParameterDefinition } from "./route/parameter-definition.class";
|
|
|
35
34
|
export {} from "./route/parameter-sanitiser";
|
|
36
35
|
export {} from "./route/parameter-snapshot";
|
|
37
36
|
export { VisitSanitiser } from "./route/visit-sanitiser";
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGVBQWMsWUFBWSxDQUFDO0FBQzNCLG1GQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGlDQUFjLGdCQUFnQixDQUFDO0FBQy9CLGdDQUFjLG9CQUFvQixDQUFDO0FBQ25DLDZCQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLFNBQVMsQ0FBQztBQUN4QixpREFBYyxrREFBa0QsQ0FBQztBQUNqRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvQ0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxzQ0FBYyxzREFBc0QsQ0FBQztBQUNyRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvRUFBYyw0Q0FBNEMsQ0FBQztBQUMzRCwrQ0FBYyx3RUFBd0UsQ0FBQztBQUN2Rix5Q0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxnQ0FBYywyQkFBMkIsQ0FBQztBQUMxQyw4QkFBYyxrQ0FBa0MsQ0FBQztBQUNqRCxrREFBYywrQ0FBK0MsQ0FBQztBQUM5RCwyQkFBYyxzQkFBc0IsQ0FBQztBQUNyQywwQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLDREQUFjLDhCQUE4QixDQUFDO0FBQzdDLG9DQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsZUFBYyw0QkFBNEIsQ0FBQztBQUMzQywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL25hdi1pdGVtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtaGlzdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2Utcm91dGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5kZWNvcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXJsLXNuYXBzaG90XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92aXNpdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2NvbnNvbGlkYXRlZC1wYXJhbS1tYXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9uYXZpZ2F0aW9uLXN0YXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbm9vcC1hdXRoLWd1YXJkLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS5ndWFyZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvZm9ybWF0dGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9qc29uLXR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1zYW5pdGlzZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvdmlzaXQtc2FuaXRpc2VyXCI7XG4iXX0=
|