@coolon/angular-ui-powerups 0.0.95 → 0.0.97
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 +3108 -2277
- 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 +17 -20
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +17 -20
- package/esm2015/index.js +2 -2
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +15 -51
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +15 -47
- package/esm2015/lib/interaction/index.js +4 -2
- package/esm2015/lib/interaction/interaction-context-base.js +158 -0
- package/esm2015/lib/interaction/interaction-context.js +58 -78
- package/esm2015/lib/interaction/interaction.module.js +1 -1
- package/esm2015/lib/interaction/services/dialog-interaction-context.js +163 -0
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +68 -181
- package/esm2015/lib/interaction/services/modal-interaction.service.js +109 -0
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +9 -43
- package/esm2015/lib/place/guards/abstract-place.guard.js +165 -0
- package/esm2015/lib/place/guards/consolidated-param-map.js +133 -0
- package/esm2015/lib/place/guards/interaction.guard.js +113 -0
- package/esm2015/lib/place/guards/navigation-session.js +590 -0
- package/esm2015/lib/place/guards/place-component-deactivation-handler.js +110 -0
- package/esm2015/lib/place/index.js +7 -5
- package/esm2015/lib/place/place-component.js +1 -1
- package/esm2015/lib/place/place-router.js +205 -236
- package/esm2015/lib/place/place.module.js +2 -4
- package/esm2015/lib/place/route/visit-sanitiser.js +2 -2
- package/esm2015/lib/place/url-snapshot.js +96 -0
- package/esm2015/public_api.js +3 -3
- package/esm5/coolon-angular-ui-powerups.js +17 -20
- package/esm5/index.js +2 -2
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +22 -73
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +25 -76
- package/esm5/lib/interaction/index.js +4 -2
- package/esm5/lib/interaction/interaction-context-base.js +211 -0
- package/esm5/lib/interaction/interaction-context.js +72 -94
- package/esm5/lib/interaction/interaction.module.js +1 -1
- package/esm5/lib/interaction/services/dialog-interaction-context.js +188 -0
- package/esm5/lib/interaction/services/dialog-interaction.service.js +83 -232
- package/esm5/lib/interaction/services/modal-interaction.service.js +153 -0
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +9 -43
- package/esm5/lib/place/guards/abstract-place.guard.js +212 -0
- package/esm5/lib/place/guards/consolidated-param-map.js +161 -0
- package/esm5/lib/place/guards/interaction.guard.js +125 -0
- package/esm5/lib/place/guards/navigation-session.js +741 -0
- package/esm5/lib/place/guards/place-component-deactivation-handler.js +138 -0
- package/esm5/lib/place/index.js +7 -5
- package/esm5/lib/place/place-component.js +1 -1
- package/esm5/lib/place/place-router.js +324 -295
- package/esm5/lib/place/place.module.js +2 -4
- package/esm5/lib/place/route/visit-sanitiser.js +2 -2
- package/esm5/lib/place/url-snapshot.js +120 -0
- package/esm5/public_api.js +3 -3
- package/fesm2015/coolon-angular-ui-powerups.js +2250 -1642
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +3228 -2398
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +5 -10
- package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +4 -9
- package/lib/interaction/index.d.ts +3 -1
- package/lib/interaction/interaction-context-base.d.ts +27 -0
- package/lib/interaction/interaction-context.d.ts +18 -15
- package/lib/interaction/services/dialog-interaction-context.d.ts +18 -0
- package/lib/interaction/services/dialog-interaction.service.d.ts +14 -23
- package/lib/interaction/services/modal-interaction.service.d.ts +15 -0
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +1 -4
- package/lib/place/guards/abstract-place.guard.d.ts +19 -0
- package/lib/place/guards/consolidated-param-map.d.ts +14 -0
- package/lib/{interaction/guards/interaction-guard.service.d.ts → place/guards/interaction.guard.d.ts} +8 -4
- package/lib/place/guards/navigation-session.d.ts +96 -0
- package/lib/place/guards/place-component-deactivation-handler.d.ts +14 -0
- package/lib/place/index.d.ts +6 -4
- package/lib/place/place-component.d.ts +1 -1
- package/lib/place/place-router.d.ts +23 -31
- package/lib/place/url-snapshot.d.ts +16 -0
- package/package.json +1 -1
- package/schematics/place-routes/place-def.js +2 -2
- package/schematics/place-routes/templates/place-routes.ts.template +9 -16
- package/esm2015/lib/interaction/guards/interaction-guard.service.js +0 -85
- package/esm2015/lib/place/guards/abstract-enter-place.guard.js +0 -296
- package/esm2015/lib/place/guards/leave-place.guard.js +0 -47
- package/esm2015/lib/place/navigation-session.js +0 -279
- package/esm2015/lib/place/places/noop-gateway-place.component.js +0 -58
- package/esm5/lib/interaction/guards/interaction-guard.service.js +0 -94
- package/esm5/lib/place/guards/abstract-enter-place.guard.js +0 -372
- package/esm5/lib/place/guards/leave-place.guard.js +0 -55
- package/esm5/lib/place/navigation-session.js +0 -353
- package/esm5/lib/place/places/noop-gateway-place.component.js +0 -61
- package/lib/place/guards/abstract-enter-place.guard.d.ts +0 -33
- package/lib/place/guards/leave-place.guard.d.ts +0 -8
- package/lib/place/navigation-session.d.ts +0 -43
- package/lib/place/places/noop-gateway-place.component.d.ts +0 -10
|
@@ -0,0 +1,110 @@
|
|
|
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
|
+
export class PlaceComponentDeactivationHandler {
|
|
7
|
+
/**
|
|
8
|
+
* @param {?} component
|
|
9
|
+
* @param {?} navigationSession
|
|
10
|
+
*/
|
|
11
|
+
constructor(component, navigationSession) {
|
|
12
|
+
this.component = component;
|
|
13
|
+
this.navigationSession = navigationSession;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @param {?} nextState
|
|
17
|
+
* @return {?}
|
|
18
|
+
*/
|
|
19
|
+
canDeactivate(nextState) {
|
|
20
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
// We'll get called multiple times if there's any parameter sanitisation so
|
|
22
|
+
// we always return true if we accepted promise from a previous cycle of the current
|
|
23
|
+
// navigation session.
|
|
24
|
+
if (!this.canDeactivatePromise) {
|
|
25
|
+
this.canDeactivatePromise = this.canDeactivateComponent(nextState);
|
|
26
|
+
}
|
|
27
|
+
return this.canDeactivatePromise;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @protected
|
|
32
|
+
* @param {?} nextState
|
|
33
|
+
* @return {?}
|
|
34
|
+
*/
|
|
35
|
+
canDeactivateComponent(nextState) {
|
|
36
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
// Automatically cancel any active activities if the navigation session was triggered
|
|
38
|
+
// by the back button.
|
|
39
|
+
if (this.navigationSession.isPopState && this.component.interactionContext && this.component.interactionContext.isActive()) {
|
|
40
|
+
// Note: any modal interactions run in a different router outlet so we should never get place deactivated while
|
|
41
|
+
// one is active. This is because:
|
|
42
|
+
// 1. the user can't click anything to navigate away
|
|
43
|
+
// 2. clicking the back button will only change the outlet route and will leave the component route alone. This
|
|
44
|
+
// is all handled by the InteractionGuard and so the component guards will never run.
|
|
45
|
+
// TODO: how will I handle this now??
|
|
46
|
+
// BUT: activities could call navigate while they're still active.. but we'll barf and tell them
|
|
47
|
+
// to call activity.done(newVisitToNavigateTo) and let the caller do the navigate after the
|
|
48
|
+
// dialog has closed.
|
|
49
|
+
// Can I capture this in placeRouter.navigate(..) ? i.e. navigationSession && navigationSession.interactionContext.isActive()
|
|
50
|
+
// Or can I just ignore it altogether?
|
|
51
|
+
// 1. I no longer have a singleton dialog interaction that can be returned from any component in the deactivation cycle.
|
|
52
|
+
// 2. We only ever check the component once per nav cycle
|
|
53
|
+
// 3. The navigation session interaction context will barf if multiple components try and use it at once.
|
|
54
|
+
// if (this.component.interactionContext instanceof DialogInteractionContext) {
|
|
55
|
+
// // BUT: activities could call navigate while they're still active.. but we'll barf and tell them
|
|
56
|
+
// // to call activity.done(newVisitToNavigateTo) and let the caller do the navigate after the
|
|
57
|
+
// // dialog has closed.
|
|
58
|
+
// lang.illegalState('Navigation started from an activity in a modal dialog. Have your activity return a Visit instead and navigate after the activity has finished');
|
|
59
|
+
// }
|
|
60
|
+
// Now we just cancel the current activity and stay where we are
|
|
61
|
+
this.cancelCurrentActivityOf(this.component.interactionContext);
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
// Ok, so now we're really leaving, so we ask the component if we should.;
|
|
65
|
+
if (this.isNotJustAChangeInRouteId(nextState) && this.component.canDeactivate) {
|
|
66
|
+
// No interaction in progress, so ask the component .
|
|
67
|
+
// This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and
|
|
68
|
+
// the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.
|
|
69
|
+
return this.component.canDeactivate(this.navigationSession.interactionContext);
|
|
70
|
+
}
|
|
71
|
+
return true;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* @protected
|
|
76
|
+
* @param {?} interactionContext
|
|
77
|
+
* @return {?}
|
|
78
|
+
*/
|
|
79
|
+
cancelCurrentActivityOf(interactionContext) {
|
|
80
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
/** @type {?} */
|
|
82
|
+
const activity = yield interactionContext.getCurrentActivity();
|
|
83
|
+
console.log('cancelling', { activity });
|
|
84
|
+
activity.cancel(null);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @protected
|
|
89
|
+
* @param {?} nextState
|
|
90
|
+
* @return {?}
|
|
91
|
+
*/
|
|
92
|
+
isNotJustAChangeInRouteId(nextState) {
|
|
93
|
+
// Because places with a route-id cover two route segments we get asked to deactivate
|
|
94
|
+
// if the route id is added or removed. So if our path is still present the url
|
|
95
|
+
// then we shouldn't deactivate the place.
|
|
96
|
+
return !nextState.includesPathOf(this.component.placeDefinition);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (false) {
|
|
100
|
+
/**
|
|
101
|
+
* @type {?}
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
PlaceComponentDeactivationHandler.prototype.canDeactivatePromise;
|
|
105
|
+
/** @type {?} */
|
|
106
|
+
PlaceComponentDeactivationHandler.prototype.component;
|
|
107
|
+
/** @type {?} */
|
|
108
|
+
PlaceComponentDeactivationHandler.prototype.navigationSession;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LWRlYWN0aXZhdGlvbi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2d1YXJkcy9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxNQUFNLE9BQU8saUNBQWlDOzs7OztJQUk1QyxZQUFxQixTQUF5QixFQUFXLGlCQUFvQztRQUF4RSxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUFXLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDN0YsQ0FBQzs7Ozs7SUFFSyxhQUFhLENBQUMsU0FBc0I7O1lBQ3hDLDJFQUEyRTtZQUMzRSxvRkFBb0Y7WUFDcEYsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEU7WUFDRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUNuQyxDQUFDO0tBQUE7Ozs7OztJQUVlLHNCQUFzQixDQUFDLFNBQXNCOztZQUMzRCxxRkFBcUY7WUFDckYsc0JBQXNCO1lBQ3RCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQzFILCtHQUErRztnQkFDL0csa0NBQWtDO2dCQUNsQyxvREFBb0Q7Z0JBQ3BELCtHQUErRztnQkFDL0csd0ZBQXdGO2dCQUV4RixxQ0FBcUM7Z0JBQ3JDLGdHQUFnRztnQkFDaEcsZ0dBQWdHO2dCQUNoRywwQkFBMEI7Z0JBQzFCLDZIQUE2SDtnQkFDN0gsc0NBQXNDO2dCQUN0Qyx3SEFBd0g7Z0JBQ3hILHlEQUF5RDtnQkFDekQseUdBQXlHO2dCQUV6RywrRUFBK0U7Z0JBQy9FLHFHQUFxRztnQkFDckcscUdBQXFHO2dCQUNyRywrQkFBK0I7Z0JBQy9CLHdLQUF3SztnQkFDeEssSUFBSTtnQkFFSixnRUFBZ0U7Z0JBQ2hFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ2hFLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFFRCwwRUFBMEU7WUFDMUUsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUU7Z0JBQzdFLHFEQUFxRDtnQkFDckQsOEhBQThIO2dCQUM5SCwrR0FBK0c7Z0JBQy9HLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLENBQUM7YUFDaEY7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTs7Ozs7O0lBRWUsdUJBQXVCLENBQUMsa0JBQXNDOzs7a0JBQ3RFLFFBQVEsR0FBRyxNQUFNLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFO1lBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN4QyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7S0FBQTs7Ozs7O0lBRVMseUJBQXlCLENBQUMsU0FBc0I7UUFDeEQscUZBQXFGO1FBQ3JGLGdGQUFnRjtRQUNoRiwwQ0FBMEM7UUFDMUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7Ozs7OztJQXJFQyxpRUFBK0M7O0lBRW5DLHNEQUFrQzs7SUFBRSw4REFBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVXJsU25hcHNob3QgfSBmcm9tICcuLi91cmwtc25hcHNob3QnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlc3Npb24gfSBmcm9tICcuL25hdmlnYXRpb24tc2Vzc2lvbic7XG5cbmV4cG9ydCBjbGFzcyBQbGFjZUNvbXBvbmVudERlYWN0aXZhdGlvbkhhbmRsZXIge1xuXG4gIHByaXZhdGUgY2FuRGVhY3RpdmF0ZVByb21pc2U6IFByb21pc2U8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCwgcmVhZG9ubHkgbmF2aWdhdGlvblNlc3Npb246IE5hdmlnYXRpb25TZXNzaW9uKSB7XG4gIH1cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKG5leHRTdGF0ZTogVXJsU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBXZSdsbCBnZXQgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGlmIHRoZXJlJ3MgYW55IHBhcmFtZXRlciBzYW5pdGlzYXRpb24gc29cbiAgICAvLyB3ZSBhbHdheXMgcmV0dXJuIHRydWUgaWYgd2UgYWNjZXB0ZWQgcHJvbWlzZSBmcm9tIGEgcHJldmlvdXMgY3ljbGUgb2YgdGhlIGN1cnJlbnRcbiAgICAvLyBuYXZpZ2F0aW9uIHNlc3Npb24uXG4gICAgaWYgKCF0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlKSB7XG4gICAgICB0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlID0gdGhpcy5jYW5EZWFjdGl2YXRlQ29tcG9uZW50KG5leHRTdGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNhbkRlYWN0aXZhdGVDb21wb25lbnQobmV4dFN0YXRlOiBVcmxTbmFwc2hvdCkge1xuICAgIC8vIEF1dG9tYXRpY2FsbHkgY2FuY2VsIGFueSBhY3RpdmUgYWN0aXZpdGllcyBpZiB0aGUgbmF2aWdhdGlvbiBzZXNzaW9uIHdhcyB0cmlnZ2VyZWRcbiAgICAvLyBieSB0aGUgYmFjayBidXR0b24uXG4gICAgaWYgKHRoaXMubmF2aWdhdGlvblNlc3Npb24uaXNQb3BTdGF0ZSAmJiB0aGlzLmNvbXBvbmVudC5pbnRlcmFjdGlvbkNvbnRleHQgJiYgdGhpcy5jb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKCkpIHtcbiAgICAgIC8vIE5vdGU6IGFueSBtb2RhbCBpbnRlcmFjdGlvbnMgcnVuIGluIGEgZGlmZmVyZW50IHJvdXRlciBvdXRsZXQgc28gd2Ugc2hvdWxkIG5ldmVyIGdldCBwbGFjZSBkZWFjdGl2YXRlZCB3aGlsZVxuICAgICAgLy8gb25lIGlzIGFjdGl2ZS4gVGhpcyBpcyBiZWNhdXNlOlxuICAgICAgLy8gMS4gdGhlIHVzZXIgY2FuJ3QgY2xpY2sgYW55dGhpbmcgdG8gbmF2aWdhdGUgYXdheVxuICAgICAgLy8gMi4gY2xpY2tpbmcgdGhlIGJhY2sgYnV0dG9uIHdpbGwgb25seSBjaGFuZ2UgdGhlIG91dGxldCByb3V0ZSBhbmQgd2lsbCBsZWF2ZSB0aGUgY29tcG9uZW50IHJvdXRlIGFsb25lLiBUaGlzXG4gICAgICAvLyAgICBpcyBhbGwgaGFuZGxlZCBieSB0aGUgSW50ZXJhY3Rpb25HdWFyZCBhbmQgc28gdGhlIGNvbXBvbmVudCBndWFyZHMgd2lsbCBuZXZlciBydW4uXG5cbiAgICAgIC8vIFRPRE86IGhvdyB3aWxsIEkgaGFuZGxlIHRoaXMgbm93Pz9cbiAgICAgIC8vIEJVVDogYWN0aXZpdGllcyBjb3VsZCBjYWxsIG5hdmlnYXRlIHdoaWxlIHRoZXkncmUgc3RpbGwgYWN0aXZlLi4gYnV0IHdlJ2xsIGJhcmYgYW5kIHRlbGwgdGhlbVxuICAgICAgLy8gICAgICB0byBjYWxsIGFjdGl2aXR5LmRvbmUobmV3VmlzaXRUb05hdmlnYXRlVG8pIGFuZCBsZXQgdGhlIGNhbGxlciBkbyB0aGUgbmF2aWdhdGUgYWZ0ZXIgdGhlXG4gICAgICAvLyAgICAgIGRpYWxvZyBoYXMgY2xvc2VkLlxuICAgICAgLy8gQ2FuIEkgY2FwdHVyZSB0aGlzIGluIHBsYWNlUm91dGVyLm5hdmlnYXRlKC4uKSA/IGkuZS4gbmF2aWdhdGlvblNlc3Npb24gJiYgbmF2aWdhdGlvblNlc3Npb24uaW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKClcbiAgICAgIC8vIE9yIGNhbiBJIGp1c3QgaWdub3JlIGl0IGFsdG9nZXRoZXI/XG4gICAgICAvLyAxLiBJIG5vIGxvbmdlciBoYXZlIGEgc2luZ2xldG9uIGRpYWxvZyBpbnRlcmFjdGlvbiB0aGF0IGNhbiBiZSByZXR1cm5lZCBmcm9tIGFueSBjb21wb25lbnQgaW4gdGhlIGRlYWN0aXZhdGlvbiBjeWNsZS5cbiAgICAgIC8vIDIuIFdlIG9ubHkgZXZlciBjaGVjayB0aGUgY29tcG9uZW50IG9uY2UgcGVyIG5hdiBjeWNsZVxuICAgICAgLy8gMy4gVGhlIG5hdmlnYXRpb24gc2Vzc2lvbiBpbnRlcmFjdGlvbiBjb250ZXh0IHdpbGwgYmFyZiBpZiBtdWx0aXBsZSBjb21wb25lbnRzIHRyeSBhbmQgdXNlIGl0IGF0IG9uY2UuXG5cbiAgICAgIC8vIGlmICh0aGlzLmNvbXBvbmVudC5pbnRlcmFjdGlvbkNvbnRleHQgaW5zdGFuY2VvZiBEaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICAgIC8vICAgLy8gQlVUOiBhY3Rpdml0aWVzIGNvdWxkIGNhbGwgbmF2aWdhdGUgd2hpbGUgdGhleSdyZSBzdGlsbCBhY3RpdmUuLiBidXQgd2UnbGwgYmFyZiBhbmQgdGVsbCB0aGVtXG4gICAgICAvLyAgIC8vICAgICAgdG8gY2FsbCBhY3Rpdml0eS5kb25lKG5ld1Zpc2l0VG9OYXZpZ2F0ZVRvKSBhbmQgbGV0IHRoZSBjYWxsZXIgZG8gdGhlIG5hdmlnYXRlIGFmdGVyIHRoZVxuICAgICAgLy8gICAvLyAgICAgIGRpYWxvZyBoYXMgY2xvc2VkLlxuICAgICAgLy8gICBsYW5nLmlsbGVnYWxTdGF0ZSgnTmF2aWdhdGlvbiBzdGFydGVkIGZyb20gYW4gYWN0aXZpdHkgaW4gYSBtb2RhbCBkaWFsb2cuIEhhdmUgeW91ciBhY3Rpdml0eSByZXR1cm4gYSBWaXNpdCBpbnN0ZWFkIGFuZCBuYXZpZ2F0ZSBhZnRlciB0aGUgYWN0aXZpdHkgaGFzIGZpbmlzaGVkJyk7XG4gICAgICAvLyB9XG5cbiAgICAgIC8vIE5vdyB3ZSBqdXN0IGNhbmNlbCB0aGUgY3VycmVudCBhY3Rpdml0eSBhbmQgc3RheSB3aGVyZSB3ZSBhcmVcbiAgICAgIHRoaXMuY2FuY2VsQ3VycmVudEFjdGl2aXR5T2YodGhpcy5jb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBPaywgc28gbm93IHdlJ3JlIHJlYWxseSBsZWF2aW5nLCBzbyB3ZSBhc2sgdGhlIGNvbXBvbmVudCBpZiB3ZSBzaG91bGQuO1xuICAgIGlmICh0aGlzLmlzTm90SnVzdEFDaGFuZ2VJblJvdXRlSWQobmV4dFN0YXRlKSAmJiB0aGlzLmNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKSB7XG4gICAgICAvLyBObyBpbnRlcmFjdGlvbiBpbiBwcm9ncmVzcywgc28gYXNrIHRoZSBjb21wb25lbnQgLlxuICAgICAgLy8gVGhpcyBtYXkgc3RhcnQgYW4gaW50ZXJhY3Rpb24sIGhlbmNlIGNoZWNraW5nIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0IGJlZm9yZSBub3cuIEkuZS4gaWYgdGhlIHBsYWNlIHBvcHMgdXAgdGhlIGRpYWxvZywgYW5kXG4gICAgICAvLyB0aGUgdXNlciBjbGlja3MgYmFjayBhZ2Fpbiwgd2UnbGwgcmUtZW50ZXIgaGVyZSBhbmQgZ28gYmFuZyB3aGVuIHRoZSBjb21wb25lbnQgdHJpZXMgdG8gb3BlbiBhbm90aGVyIGRpYWxvZy5cbiAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKHRoaXMubmF2aWdhdGlvblNlc3Npb24uaW50ZXJhY3Rpb25Db250ZXh0KTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY2FuY2VsQ3VycmVudEFjdGl2aXR5T2YoaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICBjb25zdCBhY3Rpdml0eSA9IGF3YWl0IGludGVyYWN0aW9uQ29udGV4dC5nZXRDdXJyZW50QWN0aXZpdHkoKTtcbiAgICBjb25zb2xlLmxvZygnY2FuY2VsbGluZycsIHsgYWN0aXZpdHkgfSk7XG4gICAgYWN0aXZpdHkuY2FuY2VsKG51bGwpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzTm90SnVzdEFDaGFuZ2VJblJvdXRlSWQobmV4dFN0YXRlOiBVcmxTbmFwc2hvdCkge1xuICAgIC8vIEJlY2F1c2UgcGxhY2VzIHdpdGggYSByb3V0ZS1pZCBjb3ZlciB0d28gcm91dGUgc2VnbWVudHMgd2UgZ2V0IGFza2VkIHRvIGRlYWN0aXZhdGVcbiAgICAvLyBpZiB0aGUgcm91dGUgaWQgaXMgYWRkZWQgb3IgcmVtb3ZlZC4gIFNvIGlmIG91ciBwYXRoIGlzIHN0aWxsIHByZXNlbnQgdGhlIHVybFxuICAgIC8vIHRoZW4gd2Ugc2hvdWxkbid0IGRlYWN0aXZhdGUgdGhlIHBsYWNlLlxuICAgIHJldHVybiAhbmV4dFN0YXRlLmluY2x1ZGVzUGF0aE9mKHRoaXMuY29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* @file Automatically generated by barrelsby.
|
|
7
7
|
*/
|
|
8
8
|
export {} from "./nav-item";
|
|
9
|
-
export { NavigationSession } from "./navigation-session";
|
|
10
9
|
export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent } from "./place-component";
|
|
11
10
|
export { AUP_PLACE_CONFIG } from "./place-config";
|
|
12
11
|
export { PlaceDefinition } from "./place-definition";
|
|
@@ -14,6 +13,7 @@ export { PlaceHistory } from "./place-history";
|
|
|
14
13
|
export { PlaceRouter } from "./place-router";
|
|
15
14
|
export { Place } from "./place.decorator";
|
|
16
15
|
export { PlaceModule } from "./place.module";
|
|
16
|
+
export { UrlSnapshot } from "./url-snapshot";
|
|
17
17
|
export { Visit } from "./visit";
|
|
18
18
|
export { AbstractPlaceNavigationComponent } from "./components/abstract-place-navigation.component";
|
|
19
19
|
export { BusyOverlayComponent } from "./components/busy-overlay/busy-overlay.component";
|
|
@@ -22,10 +22,12 @@ 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 {
|
|
26
|
-
export {
|
|
25
|
+
export { AbstractPlaceGuard } from "./guards/abstract-place.guard";
|
|
26
|
+
export { ConsolidatedParameterMap } from "./guards/consolidated-param-map";
|
|
27
|
+
export { InteractionGuard } from "./guards/interaction.guard";
|
|
28
|
+
export { NavigationSession } from "./guards/navigation-session";
|
|
27
29
|
export { NoopAuthGuard } from "./guards/noop-auth-guard.service";
|
|
28
|
-
export {
|
|
30
|
+
export { PlaceComponentDeactivationHandler } from "./guards/place-component-deactivation-handler";
|
|
29
31
|
export { Formatter } from "./route/formatter";
|
|
30
32
|
export {} from "./route/json-types";
|
|
31
33
|
export { RouteId, VisitParameter, VisitParameterList } from "./route/parameter-decorators";
|
|
@@ -33,4 +35,4 @@ export { ParameterDefinition } from "./route/parameter-definition.class";
|
|
|
33
35
|
export {} from "./route/parameter-sanitiser";
|
|
34
36
|
export {} from "./route/parameter-snapshot";
|
|
35
37
|
export { VisitSanitiser } from "./route/visit-sanitiser";
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGVBQWMsWUFBWSxDQUFDO0FBQzNCLG1GQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGlDQUFjLGdCQUFnQixDQUFDO0FBQy9CLGdDQUFjLG9CQUFvQixDQUFDO0FBQ25DLDZCQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLFNBQVMsQ0FBQztBQUN4QixpREFBYyxrREFBa0QsQ0FBQztBQUNqRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvQ0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxzQ0FBYyxzREFBc0QsQ0FBQztBQUNyRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvRUFBYyw0Q0FBNEMsQ0FBQztBQUMzRCwrQ0FBYyx3RUFBd0UsQ0FBQztBQUN2RixtQ0FBYywrQkFBK0IsQ0FBQztBQUM5Qyx5Q0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxpQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxrQ0FBYyw2QkFBNkIsQ0FBQztBQUM1Qyw4QkFBYyxrQ0FBa0MsQ0FBQztBQUNqRCxrREFBYywrQ0FBK0MsQ0FBQztBQUM5RCwwQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLDREQUFjLDhCQUE4QixDQUFDO0FBQzdDLG9DQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsZUFBYyw0QkFBNEIsQ0FBQztBQUMzQywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL25hdi1pdGVtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtaGlzdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2Utcm91dGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5kZWNvcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXJsLXNuYXBzaG90XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92aXNpdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2Fic3RyYWN0LXBsYWNlLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvY29uc29saWRhdGVkLXBhcmFtLW1hcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2ludGVyYWN0aW9uLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbmF2aWdhdGlvbi1zZXNzaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbm9vcC1hdXRoLWd1YXJkLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL2Zvcm1hdHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvanNvbi10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3Zpc2l0LXNhbml0aXNlclwiO1xuIl19
|
|
@@ -137,4 +137,4 @@ if (false) {
|
|
|
137
137
|
}
|
|
138
138
|
PlaceComponent.injectDefinition = injectDefinition;
|
|
139
139
|
})(PlaceComponent || (PlaceComponent = {}));
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFtQyxJQUFJLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xFLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLHdCQUF3QixHQUFHLDBCQUEwQjs7O0FBRWxFLE1BQU0sT0FBTyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7QUFFeEUsTUFBTSxPQUFPLGNBQWUsU0FBUSxtQkFBbUI7SUFTckQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7Ozs7O0lBRU0sa0JBQWtCLENBQUMsS0FBd0I7UUFDaEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU87Ozs7UUFBQyxZQUFZLENBQUMsRUFBRTtZQUNsRSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7OztJQUVPLGNBQWMsQ0FBTyxZQUF1Qzs7Y0FDNUQsS0FBSyxHQUFHLG1CQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQXVCO1FBQ3BFLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7Ozs7O1lBQ3JELE9BQU8sQ0FBQyxLQUFZOztzQkFDWixLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNuRCw0RUFBNEU7Z0JBQzVFLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQzs7Ozs7O1lBQ0QsTUFBTSxDQUFDLEtBQVEsRUFBRSxZQUFvQjtnQkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztnQkFDL0UsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOzs7O0lBR0QsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sY0FBYyxDQUFDLGFBQWEsQ0FBQyxtQkFBQSxtQkFBQSxJQUFJLENBQUMsV0FBVyxFQUFPLEVBQWlDLENBQUMsQ0FBQztJQUNoRyxDQUFDOzs7O0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUM7SUFDN0QsQ0FBQzs7OztJQUVELFlBQVk7SUFDWixDQUFDO0NBRUY7QUFYQztJQURDLE9BQU8sRUFBRTtzQ0FDYSxlQUFlOztxREFFckM7Ozs7OztJQXRDRCwrQkFBaUM7O0lBR2pDLDRDQUF3Qzs7QUE4QzFDLFdBQWlCLGNBQWM7Ozs7O0lBRTdCLFNBQWdCLDJCQUEyQixDQUFDLE1BQVc7UUFDckQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQUEsTUFBTSxFQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFGZSwwQ0FBMkIsOEJBRTFDLENBQUE7Ozs7O0lBRUQsU0FBZ0Isa0JBQWtCLENBQUMsS0FBb0M7UUFDckUsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFGZSxpQ0FBa0IscUJBRWpDLENBQUE7Ozs7O0lBRUQsU0FBZ0IsYUFBYSxDQUFDLEtBQW9DO1FBQ2hFLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRmUsNEJBQWEsZ0JBRTVCLENBQUE7Ozs7OztJQUVELFNBQWdCLGdCQUFnQixDQUFDLEtBQW9DLEVBQUUsVUFBMkI7UUFDaEcsT0FBTyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUZlLCtCQUFnQixtQkFFL0IsQ0FBQTtBQUVILENBQUMsRUFsQmdCLGNBQWMsS0FBZCxjQUFjLFFBa0I5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydCwgQmluZGluZywgQ29uc3RydWN0YWJsZSwgSU11dGFibGVIYXNWYWx1ZSwgbGFuZywgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEtsYXNzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yJztcbmltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4vdmlzaXQnO1xuXG4vLyBSQUtFOiBtYWtpbmcgdGhpcyBTeW1ib2woLi4uKSBicm9rZSB0aGluZ3MuXG5leHBvcnQgY29uc3QgREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZID0gJ1BMQUNFX0RFRklOSVRJT05fT1BUSU9OUyc7XG4vLyB0aGlzIG9uZSBzZWVtcyBvay5cbmV4cG9ydCBjb25zdCBST1VURV9QQVJBTUVURVJfTElTVF9LRVkgPSBTeW1ib2woJ3BsYWNlOnJvdXRlOnBhcmFtZXRlcnMnKTtcblxuZXhwb3J0IGNsYXNzIFBsYWNlQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSB2aXNpdDogVmFsdWVNb2RlbDxWaXNpdD47XG4gIC8vIHByaXZhdGUgX2luRGVhY3RpdmF0aW9uR3VhcmQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGludGVyYWN0aW9uQ29udGV4dD86IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBjYW5EZWFjdGl2YXRlPyhpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGlzZUJpbmRpbmdzKHZpc2l0OiBWYWx1ZU1vZGVsPFZpc2l0Pikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLnZpc2l0KTtcbiAgICB0aGlzLnZpc2l0ID0gdmlzaXQ7XG4gICAgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0VmlzaXRQYXJhbWV0ZXJEZWZzKCkuZm9yRWFjaChwYXJhbWV0ZXJEZWYgPT4ge1xuICAgICAgdGhpcy5pbnN0YWxsQmluZGluZyhwYXJhbWV0ZXJEZWYpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YWxsQmluZGluZzxULCBTPihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4pIHtcbiAgICBjb25zdCBtb2RlbCA9IHRoaXNbcGFyYW1ldGVyRGVmLnByb3BlcnR5TmFtZV0gYXMgSU11dGFibGVIYXNWYWx1ZTxTPjtcbiAgICAvLyB0aGlzLnR4by5vYnNlcnZlKHBhcmFtZXRlckRlZi5wcm9wZXJ0eU5hbWUsIG1vZGVsKTtcbiAgICB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgQmluZGluZyh0aGlzLnZpc2l0LCBtb2RlbCwge1xuICAgICAgdG9SaWdodCh2aXNpdDogVmlzaXQpOiBTIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB2aXNpdC5nZXRQYXJhbWV0ZXIocGFyYW1ldGVyRGVmLm5hbWUpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZygncHVzaCB0byBjb21wb25lbnQnLCB7bmFtZTpwYXJhbWV0ZXJEZWYubmFtZSwgdmFsdWUsIHZpc2l0fSk7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0sXG4gICAgICB0b0xlZnQodmFsdWU6IFMsIGN1cnJlbnRWaXNpdD86IFZpc2l0KTogVmlzaXQge1xuICAgICAgICBjb25zb2xlLmxvZygncHVzaCB0byByb3V0ZScsIHsgbmFtZTogcGFyYW1ldGVyRGVmLm5hbWUsIHZhbHVlLCBjdXJyZW50VmlzaXQgfSk7XG4gICAgICAgIHJldHVybiBjdXJyZW50VmlzaXQucmVwbGFjZShwYXJhbWV0ZXJEZWYsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldCBwbGFjZURlZmluaXRpb24oKTogUGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbih0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSBhcyBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik7XG4gIH1cblxuICBnZXQgY2hpbGRQbGFjZXMoKTogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD5bXSB7XG4gICAgcmV0dXJuIHRoaXMucGxhY2VEZWZpbml0aW9uLmNoaWxkcmVuLm1hcChkID0+IGQuY29tcG9uZW50KTtcbiAgfVxuXG4gIG9uUGxhY2VSZWFkeSgpIHtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGxhY2VDb21wb25lbnQge1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc1BsYWNlQ29tcG9uZW50Q29uc3RydWN0b3IodGFyZ2V0OiBhbnkpOiB0YXJnZXQgaXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4ge1xuICAgIHJldHVybiBsYW5nLmNvbnN0cnVjdG9yQ2hhaW4odGFyZ2V0IGFzIENvbnN0cnVjdGFibGU8YW55PikuaW5jbHVkZXMoUGxhY2VDb21wb25lbnQpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlUGFyYW1ldGVycyhrbGFzczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT5bXSB7XG4gICAgcmV0dXJuIEtsYXNzLmdldChrbGFzcykuZ2V0TWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0RGVmaW5pdGlvbihrbGFzczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiBQbGFjZURlZmluaXRpb24ge1xuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwga2xhc3MpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGluamVjdERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBkZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwgZGVmaW5pdGlvbiwga2xhc3MpO1xuICB9XG5cbn1cbiJdfQ==
|