@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,138 @@
|
|
|
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
|
+
var PlaceComponentDeactivationHandler = /** @class */ (function () {
|
|
7
|
+
function PlaceComponentDeactivationHandler(component, navigationSession) {
|
|
8
|
+
this.component = component;
|
|
9
|
+
this.navigationSession = navigationSession;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @param {?} nextState
|
|
13
|
+
* @return {?}
|
|
14
|
+
*/
|
|
15
|
+
PlaceComponentDeactivationHandler.prototype.canDeactivate = /**
|
|
16
|
+
* @param {?} nextState
|
|
17
|
+
* @return {?}
|
|
18
|
+
*/
|
|
19
|
+
function (nextState) {
|
|
20
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
21
|
+
return tslib_1.__generator(this, function (_a) {
|
|
22
|
+
// We'll get called multiple times if there's any parameter sanitisation so
|
|
23
|
+
// we always return true if we accepted promise from a previous cycle of the current
|
|
24
|
+
// navigation session.
|
|
25
|
+
if (!this.canDeactivatePromise) {
|
|
26
|
+
this.canDeactivatePromise = this.canDeactivateComponent(nextState);
|
|
27
|
+
}
|
|
28
|
+
return [2 /*return*/, this.canDeactivatePromise];
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* @protected
|
|
34
|
+
* @param {?} nextState
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
PlaceComponentDeactivationHandler.prototype.canDeactivateComponent = /**
|
|
38
|
+
* @protected
|
|
39
|
+
* @param {?} nextState
|
|
40
|
+
* @return {?}
|
|
41
|
+
*/
|
|
42
|
+
function (nextState) {
|
|
43
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
44
|
+
return tslib_1.__generator(this, function (_a) {
|
|
45
|
+
// Automatically cancel any active activities if the navigation session was triggered
|
|
46
|
+
// by the back button.
|
|
47
|
+
if (this.navigationSession.isPopState && this.component.interactionContext && this.component.interactionContext.isActive()) {
|
|
48
|
+
// Note: any modal interactions run in a different router outlet so we should never get place deactivated while
|
|
49
|
+
// one is active. This is because:
|
|
50
|
+
// 1. the user can't click anything to navigate away
|
|
51
|
+
// 2. clicking the back button will only change the outlet route and will leave the component route alone. This
|
|
52
|
+
// is all handled by the InteractionGuard and so the component guards will never run.
|
|
53
|
+
// TODO: how will I handle this now??
|
|
54
|
+
// BUT: activities could call navigate while they're still active.. but we'll barf and tell them
|
|
55
|
+
// to call activity.done(newVisitToNavigateTo) and let the caller do the navigate after the
|
|
56
|
+
// dialog has closed.
|
|
57
|
+
// Can I capture this in placeRouter.navigate(..) ? i.e. navigationSession && navigationSession.interactionContext.isActive()
|
|
58
|
+
// Or can I just ignore it altogether?
|
|
59
|
+
// 1. I no longer have a singleton dialog interaction that can be returned from any component in the deactivation cycle.
|
|
60
|
+
// 2. We only ever check the component once per nav cycle
|
|
61
|
+
// 3. The navigation session interaction context will barf if multiple components try and use it at once.
|
|
62
|
+
// if (this.component.interactionContext instanceof DialogInteractionContext) {
|
|
63
|
+
// // BUT: activities could call navigate while they're still active.. but we'll barf and tell them
|
|
64
|
+
// // to call activity.done(newVisitToNavigateTo) and let the caller do the navigate after the
|
|
65
|
+
// // dialog has closed.
|
|
66
|
+
// 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');
|
|
67
|
+
// }
|
|
68
|
+
// Now we just cancel the current activity and stay where we are
|
|
69
|
+
this.cancelCurrentActivityOf(this.component.interactionContext);
|
|
70
|
+
return [2 /*return*/, false];
|
|
71
|
+
}
|
|
72
|
+
// Ok, so now we're really leaving, so we ask the component if we should.;
|
|
73
|
+
if (this.isNotJustAChangeInRouteId(nextState) && this.component.canDeactivate) {
|
|
74
|
+
// No interaction in progress, so ask the component .
|
|
75
|
+
// This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and
|
|
76
|
+
// the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.
|
|
77
|
+
return [2 /*return*/, this.component.canDeactivate(this.navigationSession.interactionContext)];
|
|
78
|
+
}
|
|
79
|
+
return [2 /*return*/, true];
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* @protected
|
|
85
|
+
* @param {?} interactionContext
|
|
86
|
+
* @return {?}
|
|
87
|
+
*/
|
|
88
|
+
PlaceComponentDeactivationHandler.prototype.cancelCurrentActivityOf = /**
|
|
89
|
+
* @protected
|
|
90
|
+
* @param {?} interactionContext
|
|
91
|
+
* @return {?}
|
|
92
|
+
*/
|
|
93
|
+
function (interactionContext) {
|
|
94
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
95
|
+
var activity;
|
|
96
|
+
return tslib_1.__generator(this, function (_a) {
|
|
97
|
+
switch (_a.label) {
|
|
98
|
+
case 0: return [4 /*yield*/, interactionContext.getCurrentActivity()];
|
|
99
|
+
case 1:
|
|
100
|
+
activity = _a.sent();
|
|
101
|
+
console.log('cancelling', { activity: activity });
|
|
102
|
+
activity.cancel(null);
|
|
103
|
+
return [2 /*return*/];
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* @protected
|
|
110
|
+
* @param {?} nextState
|
|
111
|
+
* @return {?}
|
|
112
|
+
*/
|
|
113
|
+
PlaceComponentDeactivationHandler.prototype.isNotJustAChangeInRouteId = /**
|
|
114
|
+
* @protected
|
|
115
|
+
* @param {?} nextState
|
|
116
|
+
* @return {?}
|
|
117
|
+
*/
|
|
118
|
+
function (nextState) {
|
|
119
|
+
// Because places with a route-id cover two route segments we get asked to deactivate
|
|
120
|
+
// if the route id is added or removed. So if our path is still present the url
|
|
121
|
+
// then we shouldn't deactivate the place.
|
|
122
|
+
return !nextState.includesPathOf(this.component.placeDefinition);
|
|
123
|
+
};
|
|
124
|
+
return PlaceComponentDeactivationHandler;
|
|
125
|
+
}());
|
|
126
|
+
export { PlaceComponentDeactivationHandler };
|
|
127
|
+
if (false) {
|
|
128
|
+
/**
|
|
129
|
+
* @type {?}
|
|
130
|
+
* @private
|
|
131
|
+
*/
|
|
132
|
+
PlaceComponentDeactivationHandler.prototype.canDeactivatePromise;
|
|
133
|
+
/** @type {?} */
|
|
134
|
+
PlaceComponentDeactivationHandler.prototype.component;
|
|
135
|
+
/** @type {?} */
|
|
136
|
+
PlaceComponentDeactivationHandler.prototype.navigationSession;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LWRlYWN0aXZhdGlvbi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2d1YXJkcy9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQTtJQUlFLDJDQUFxQixTQUF5QixFQUFXLGlCQUFvQztRQUF4RSxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUFXLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDN0YsQ0FBQzs7Ozs7SUFFSyx5REFBYTs7OztJQUFuQixVQUFvQixTQUFzQjs7O2dCQUN4QywyRUFBMkU7Z0JBQzNFLG9GQUFvRjtnQkFDcEYsc0JBQXNCO2dCQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO29CQUM5QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUNwRTtnQkFDRCxzQkFBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUM7OztLQUNsQzs7Ozs7O0lBRWUsa0VBQXNCOzs7OztJQUF0QyxVQUF1QyxTQUFzQjs7O2dCQUMzRCxxRkFBcUY7Z0JBQ3JGLHNCQUFzQjtnQkFDdEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDMUgsK0dBQStHO29CQUMvRyxrQ0FBa0M7b0JBQ2xDLG9EQUFvRDtvQkFDcEQsK0dBQStHO29CQUMvRyx3RkFBd0Y7b0JBRXhGLHFDQUFxQztvQkFDckMsZ0dBQWdHO29CQUNoRyxnR0FBZ0c7b0JBQ2hHLDBCQUEwQjtvQkFDMUIsNkhBQTZIO29CQUM3SCxzQ0FBc0M7b0JBQ3RDLHdIQUF3SDtvQkFDeEgseURBQXlEO29CQUN6RCx5R0FBeUc7b0JBRXpHLCtFQUErRTtvQkFDL0UscUdBQXFHO29CQUNyRyxxR0FBcUc7b0JBQ3JHLCtCQUErQjtvQkFDL0Isd0tBQXdLO29CQUN4SyxJQUFJO29CQUVKLGdFQUFnRTtvQkFDaEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztvQkFDaEUsc0JBQU8sS0FBSyxFQUFDO2lCQUNkO2dCQUVELDBFQUEwRTtnQkFDMUUsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUU7b0JBQzdFLHFEQUFxRDtvQkFDckQsOEhBQThIO29CQUM5SCwrR0FBK0c7b0JBQy9HLHNCQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFDO2lCQUNoRjtnQkFDRCxzQkFBTyxJQUFJLEVBQUM7OztLQUNiOzs7Ozs7SUFFZSxtRUFBdUI7Ozs7O0lBQXZDLFVBQXdDLGtCQUFzQzs7Ozs7NEJBQzNELHFCQUFNLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLEVBQUE7O3dCQUF4RCxRQUFRLEdBQUcsU0FBNkM7d0JBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxVQUFBLEVBQUUsQ0FBQyxDQUFDO3dCQUN4QyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OztLQUN2Qjs7Ozs7O0lBRVMscUVBQXlCOzs7OztJQUFuQyxVQUFvQyxTQUFzQjtRQUN4RCxxRkFBcUY7UUFDckYsZ0ZBQWdGO1FBQ2hGLDBDQUEwQztRQUMxQyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDSCx3Q0FBQztBQUFELENBQUMsQUF2RUQsSUF1RUM7Ozs7Ozs7SUFyRUMsaUVBQStDOztJQUVuQyxzREFBa0M7O0lBQUUsOERBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXNlc3Npb24nO1xuXG5leHBvcnQgY2xhc3MgUGxhY2VDb21wb25lbnREZWFjdGl2YXRpb25IYW5kbGVyIHtcblxuICBwcml2YXRlIGNhbkRlYWN0aXZhdGVQcm9taXNlOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uOiBOYXZpZ2F0aW9uU2Vzc2lvbikge1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShuZXh0U3RhdGU6IFVybFNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gV2UnbGwgZ2V0IGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGVyZSdzIGFueSBwYXJhbWV0ZXIgc2FuaXRpc2F0aW9uIHNvXG4gICAgLy8gd2UgYWx3YXlzIHJldHVybiB0cnVlIGlmIHdlIGFjY2VwdGVkIHByb21pc2UgZnJvbSBhIHByZXZpb3VzIGN5Y2xlIG9mIHRoZSBjdXJyZW50XG4gICAgLy8gbmF2aWdhdGlvbiBzZXNzaW9uLlxuICAgIGlmICghdGhpcy5jYW5EZWFjdGl2YXRlUHJvbWlzZSkge1xuICAgICAgdGhpcy5jYW5EZWFjdGl2YXRlUHJvbWlzZSA9IHRoaXMuY2FuRGVhY3RpdmF0ZUNvbXBvbmVudChuZXh0U3RhdGUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYW5EZWFjdGl2YXRlUHJvbWlzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjYW5EZWFjdGl2YXRlQ29tcG9uZW50KG5leHRTdGF0ZTogVXJsU25hcHNob3QpIHtcbiAgICAvLyBBdXRvbWF0aWNhbGx5IGNhbmNlbCBhbnkgYWN0aXZlIGFjdGl2aXRpZXMgaWYgdGhlIG5hdmlnYXRpb24gc2Vzc2lvbiB3YXMgdHJpZ2dlcmVkXG4gICAgLy8gYnkgdGhlIGJhY2sgYnV0dG9uLlxuICAgIGlmICh0aGlzLm5hdmlnYXRpb25TZXNzaW9uLmlzUG9wU3RhdGUgJiYgdGhpcy5jb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0ICYmIHRoaXMuY29tcG9uZW50LmludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpKSB7XG4gICAgICAvLyBOb3RlOiBhbnkgbW9kYWwgaW50ZXJhY3Rpb25zIHJ1biBpbiBhIGRpZmZlcmVudCByb3V0ZXIgb3V0bGV0IHNvIHdlIHNob3VsZCBuZXZlciBnZXQgcGxhY2UgZGVhY3RpdmF0ZWQgd2hpbGVcbiAgICAgIC8vIG9uZSBpcyBhY3RpdmUuIFRoaXMgaXMgYmVjYXVzZTpcbiAgICAgIC8vIDEuIHRoZSB1c2VyIGNhbid0IGNsaWNrIGFueXRoaW5nIHRvIG5hdmlnYXRlIGF3YXlcbiAgICAgIC8vIDIuIGNsaWNraW5nIHRoZSBiYWNrIGJ1dHRvbiB3aWxsIG9ubHkgY2hhbmdlIHRoZSBvdXRsZXQgcm91dGUgYW5kIHdpbGwgbGVhdmUgdGhlIGNvbXBvbmVudCByb3V0ZSBhbG9uZS4gVGhpc1xuICAgICAgLy8gICAgaXMgYWxsIGhhbmRsZWQgYnkgdGhlIEludGVyYWN0aW9uR3VhcmQgYW5kIHNvIHRoZSBjb21wb25lbnQgZ3VhcmRzIHdpbGwgbmV2ZXIgcnVuLlxuXG4gICAgICAvLyBUT0RPOiBob3cgd2lsbCBJIGhhbmRsZSB0aGlzIG5vdz8/XG4gICAgICAvLyBCVVQ6IGFjdGl2aXRpZXMgY291bGQgY2FsbCBuYXZpZ2F0ZSB3aGlsZSB0aGV5J3JlIHN0aWxsIGFjdGl2ZS4uIGJ1dCB3ZSdsbCBiYXJmIGFuZCB0ZWxsIHRoZW1cbiAgICAgIC8vICAgICAgdG8gY2FsbCBhY3Rpdml0eS5kb25lKG5ld1Zpc2l0VG9OYXZpZ2F0ZVRvKSBhbmQgbGV0IHRoZSBjYWxsZXIgZG8gdGhlIG5hdmlnYXRlIGFmdGVyIHRoZVxuICAgICAgLy8gICAgICBkaWFsb2cgaGFzIGNsb3NlZC5cbiAgICAgIC8vIENhbiBJIGNhcHR1cmUgdGhpcyBpbiBwbGFjZVJvdXRlci5uYXZpZ2F0ZSguLikgPyBpLmUuIG5hdmlnYXRpb25TZXNzaW9uICYmIG5hdmlnYXRpb25TZXNzaW9uLmludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpXG4gICAgICAvLyBPciBjYW4gSSBqdXN0IGlnbm9yZSBpdCBhbHRvZ2V0aGVyP1xuICAgICAgLy8gMS4gSSBubyBsb25nZXIgaGF2ZSBhIHNpbmdsZXRvbiBkaWFsb2cgaW50ZXJhY3Rpb24gdGhhdCBjYW4gYmUgcmV0dXJuZWQgZnJvbSBhbnkgY29tcG9uZW50IGluIHRoZSBkZWFjdGl2YXRpb24gY3ljbGUuXG4gICAgICAvLyAyLiBXZSBvbmx5IGV2ZXIgY2hlY2sgdGhlIGNvbXBvbmVudCBvbmNlIHBlciBuYXYgY3ljbGVcbiAgICAgIC8vIDMuIFRoZSBuYXZpZ2F0aW9uIHNlc3Npb24gaW50ZXJhY3Rpb24gY29udGV4dCB3aWxsIGJhcmYgaWYgbXVsdGlwbGUgY29tcG9uZW50cyB0cnkgYW5kIHVzZSBpdCBhdCBvbmNlLlxuXG4gICAgICAvLyBpZiAodGhpcy5jb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0IGluc3RhbmNlb2YgRGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgICAvLyAgIC8vIEJVVDogYWN0aXZpdGllcyBjb3VsZCBjYWxsIG5hdmlnYXRlIHdoaWxlIHRoZXkncmUgc3RpbGwgYWN0aXZlLi4gYnV0IHdlJ2xsIGJhcmYgYW5kIHRlbGwgdGhlbVxuICAgICAgLy8gICAvLyAgICAgIHRvIGNhbGwgYWN0aXZpdHkuZG9uZShuZXdWaXNpdFRvTmF2aWdhdGVUbykgYW5kIGxldCB0aGUgY2FsbGVyIGRvIHRoZSBuYXZpZ2F0ZSBhZnRlciB0aGVcbiAgICAgIC8vICAgLy8gICAgICBkaWFsb2cgaGFzIGNsb3NlZC5cbiAgICAgIC8vICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ05hdmlnYXRpb24gc3RhcnRlZCBmcm9tIGFuIGFjdGl2aXR5IGluIGEgbW9kYWwgZGlhbG9nLiBIYXZlIHlvdXIgYWN0aXZpdHkgcmV0dXJuIGEgVmlzaXQgaW5zdGVhZCBhbmQgbmF2aWdhdGUgYWZ0ZXIgdGhlIGFjdGl2aXR5IGhhcyBmaW5pc2hlZCcpO1xuICAgICAgLy8gfVxuXG4gICAgICAvLyBOb3cgd2UganVzdCBjYW5jZWwgdGhlIGN1cnJlbnQgYWN0aXZpdHkgYW5kIHN0YXkgd2hlcmUgd2UgYXJlXG4gICAgICB0aGlzLmNhbmNlbEN1cnJlbnRBY3Rpdml0eU9mKHRoaXMuY29tcG9uZW50LmludGVyYWN0aW9uQ29udGV4dCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gT2ssIHNvIG5vdyB3ZSdyZSByZWFsbHkgbGVhdmluZywgc28gd2UgYXNrIHRoZSBjb21wb25lbnQgaWYgd2Ugc2hvdWxkLjtcbiAgICBpZiAodGhpcy5pc05vdEp1c3RBQ2hhbmdlSW5Sb3V0ZUlkKG5leHRTdGF0ZSkgJiYgdGhpcy5jb21wb25lbnQuY2FuRGVhY3RpdmF0ZSkge1xuICAgICAgLy8gTm8gaW50ZXJhY3Rpb24gaW4gcHJvZ3Jlc3MsIHNvIGFzayB0aGUgY29tcG9uZW50IC5cbiAgICAgIC8vIFRoaXMgbWF5IHN0YXJ0IGFuIGludGVyYWN0aW9uLCBoZW5jZSBjaGVja2luZyB0aGUgaW50ZXJhY3Rpb24gY29udGV4dCBiZWZvcmUgbm93LiBJLmUuIGlmIHRoZSBwbGFjZSBwb3BzIHVwIHRoZSBkaWFsb2csIGFuZFxuICAgICAgLy8gdGhlIHVzZXIgY2xpY2tzIGJhY2sgYWdhaW4sIHdlJ2xsIHJlLWVudGVyIGhlcmUgYW5kIGdvIGJhbmcgd2hlbiB0aGUgY29tcG9uZW50IHRyaWVzIHRvIG9wZW4gYW5vdGhlciBkaWFsb2cuXG4gICAgICByZXR1cm4gdGhpcy5jb21wb25lbnQuY2FuRGVhY3RpdmF0ZSh0aGlzLm5hdmlnYXRpb25TZXNzaW9uLmludGVyYWN0aW9uQ29udGV4dCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNhbmNlbEN1cnJlbnRBY3Rpdml0eU9mKGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgY29uc3QgYWN0aXZpdHkgPSBhd2FpdCBpbnRlcmFjdGlvbkNvbnRleHQuZ2V0Q3VycmVudEFjdGl2aXR5KCk7XG4gICAgY29uc29sZS5sb2coJ2NhbmNlbGxpbmcnLCB7IGFjdGl2aXR5IH0pO1xuICAgIGFjdGl2aXR5LmNhbmNlbChudWxsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc05vdEp1c3RBQ2hhbmdlSW5Sb3V0ZUlkKG5leHRTdGF0ZTogVXJsU25hcHNob3QpIHtcbiAgICAvLyBCZWNhdXNlIHBsYWNlcyB3aXRoIGEgcm91dGUtaWQgY292ZXIgdHdvIHJvdXRlIHNlZ21lbnRzIHdlIGdldCBhc2tlZCB0byBkZWFjdGl2YXRlXG4gICAgLy8gaWYgdGhlIHJvdXRlIGlkIGlzIGFkZGVkIG9yIHJlbW92ZWQuICBTbyBpZiBvdXIgcGF0aCBpcyBzdGlsbCBwcmVzZW50IHRoZSB1cmxcbiAgICAvLyB0aGVuIHdlIHNob3VsZG4ndCBkZWFjdGl2YXRlIHRoZSBwbGFjZS5cbiAgICByZXR1cm4gIW5leHRTdGF0ZS5pbmNsdWRlc1BhdGhPZih0aGlzLmNvbXBvbmVudC5wbGFjZURlZmluaXRpb24pO1xuICB9XG59XG4iXX0=
|
package/esm5/lib/place/index.js
CHANGED
|
@@ -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
|
|
@@ -162,4 +162,4 @@ if (false) {
|
|
|
162
162
|
}
|
|
163
163
|
PlaceComponent.injectDefinition = injectDefinition;
|
|
164
164
|
})(PlaceComponent || (PlaceComponent = {}));
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFtQyxJQUFJLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xFLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLckQsTUFBTSxLQUFPLHdCQUF3QixHQUFHLDBCQUEwQjs7O0FBRWxFLE1BQU0sS0FBTyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7QUFFeEU7SUFBb0MsMENBQW1CO0lBU3JEO2VBQ0UsaUJBQU87SUFDVCxDQUFDOzs7OztJQUVNLDJDQUFrQjs7OztJQUF6QixVQUEwQixLQUF3QjtRQUFsRCxpQkFNQztRQUxDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxZQUFZO1lBQy9ELEtBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7O0lBRU8sdUNBQWM7Ozs7OztJQUF0QixVQUE2QixZQUF1Qzs7WUFDNUQsS0FBSyxHQUFHLG1CQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQXVCO1FBQ3BFLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDckQsT0FBTzs7OztZQUFQLFVBQVEsS0FBWTs7b0JBQ1osS0FBSyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDbkQsNEVBQTRFO2dCQUM1RSxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxNQUFNOzs7OztZQUFOLFVBQU8sS0FBUSxFQUFFLFlBQW9CO2dCQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssT0FBQSxFQUFFLFlBQVksY0FBQSxFQUFFLENBQUMsQ0FBQztnQkFDL0UsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBR0Qsc0JBQUksMkNBQWU7Ozs7UUFBbkI7WUFDRSxPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsbUJBQUEsbUJBQUEsSUFBSSxDQUFDLFdBQVcsRUFBTyxFQUFpQyxDQUFDLENBQUM7UUFDaEcsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSx1Q0FBVzs7OztRQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsU0FBUyxFQUFYLENBQVcsRUFBQyxDQUFDO1FBQzdELENBQUM7OztPQUFBOzs7O0lBRUQscUNBQVk7OztJQUFaO0lBQ0EsQ0FBQztJQVREO1FBREMsT0FBTyxFQUFFOzBDQUNhLGVBQWU7O3lEQUVyQztJQVNILHFCQUFDO0NBQUEsQUFqREQsQ0FBb0MsbUJBQW1CLEdBaUR0RDtTQWpEWSxjQUFjOzs7Ozs7SUFFekIsK0JBQWlDOztJQUdqQyw0Q0FBd0M7O0FBOEMxQyxXQUFpQixjQUFjOzs7OztJQUU3QixTQUFnQiwyQkFBMkIsQ0FBQyxNQUFXO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRmUsMENBQTJCLDhCQUUxQyxDQUFBOzs7OztJQUVELFNBQWdCLGtCQUFrQixDQUFDLEtBQW9DO1FBQ3JFLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRmUsaUNBQWtCLHFCQUVqQyxDQUFBOzs7OztJQUVELFNBQWdCLGFBQWEsQ0FBQyxLQUFvQztRQUNoRSxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUZlLDRCQUFhLGdCQUU1QixDQUFBOzs7Ozs7SUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxLQUFvQyxFQUFFLFVBQTJCO1FBQ2hHLE9BQU8sQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFGZSwrQkFBZ0IsbUJBRS9CLENBQUE7QUFFSCxDQUFDLEVBbEJnQixjQUFjLEtBQWQsY0FBYyxRQWtCOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQsIEJpbmRpbmcsIENvbnN0cnVjdGFibGUsIElNdXRhYmxlSGFzVmFsdWUsIGxhbmcsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBLbGFzcyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5pbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuL3Zpc2l0JztcblxuLy8gUkFLRTogbWFraW5nIHRoaXMgU3ltYm9sKC4uLikgYnJva2UgdGhpbmdzLlxuZXhwb3J0IGNvbnN0IERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSA9ICdQTEFDRV9ERUZJTklUSU9OX09QVElPTlMnO1xuLy8gdGhpcyBvbmUgc2VlbXMgb2suXG5leHBvcnQgY29uc3QgUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZID0gU3ltYm9sKCdwbGFjZTpyb3V0ZTpwYXJhbWV0ZXJzJyk7XG5cbmV4cG9ydCBjbGFzcyBQbGFjZUNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIHByaXZhdGUgdmlzaXQ6IFZhbHVlTW9kZWw8VmlzaXQ+O1xuICAvLyBwcml2YXRlIF9pbkRlYWN0aXZhdGlvbkd1YXJkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBpbnRlcmFjdGlvbkNvbnRleHQ/OiBJbnRlcmFjdGlvbkNvbnRleHQ7XG5cbiAgY2FuRGVhY3RpdmF0ZT8oaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpc2VCaW5kaW5ncyh2aXNpdDogVmFsdWVNb2RlbDxWaXNpdD4pIHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy52aXNpdCk7XG4gICAgdGhpcy52aXNpdCA9IHZpc2l0O1xuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFZpc2l0UGFyYW1ldGVyRGVmcygpLmZvckVhY2gocGFyYW1ldGVyRGVmID0+IHtcbiAgICAgIHRoaXMuaW5zdGFsbEJpbmRpbmcocGFyYW1ldGVyRGVmKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbEJpbmRpbmc8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzW3BhcmFtZXRlckRlZi5wcm9wZXJ0eU5hbWVdIGFzIElNdXRhYmxlSGFzVmFsdWU8Uz47XG4gICAgLy8gdGhpcy50eG8ub2JzZXJ2ZShwYXJhbWV0ZXJEZWYucHJvcGVydHlOYW1lLCBtb2RlbCk7XG4gICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEJpbmRpbmcodGhpcy52aXNpdCwgbW9kZWwsIHtcbiAgICAgIHRvUmlnaHQodmlzaXQ6IFZpc2l0KTogUyB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmlzaXQuZ2V0UGFyYW1ldGVyKHBhcmFtZXRlckRlZi5uYW1lKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3B1c2ggdG8gY29tcG9uZW50Jywge25hbWU6cGFyYW1ldGVyRGVmLm5hbWUsIHZhbHVlLCB2aXNpdH0pO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9LFxuICAgICAgdG9MZWZ0KHZhbHVlOiBTLCBjdXJyZW50VmlzaXQ/OiBWaXNpdCk6IFZpc2l0IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3B1c2ggdG8gcm91dGUnLCB7IG5hbWU6IHBhcmFtZXRlckRlZi5uYW1lLCB2YWx1ZSwgY3VycmVudFZpc2l0IH0pO1xuICAgICAgICByZXR1cm4gY3VycmVudFZpc2l0LnJlcGxhY2UocGFyYW1ldGVyRGVmLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXQgcGxhY2VEZWZpbml0aW9uKCk6IFBsYWNlRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24odGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkgYXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pO1xuICB9XG5cbiAgZ2V0IGNoaWxkUGxhY2VzKCk6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W10ge1xuICAgIHJldHVybiB0aGlzLnBsYWNlRGVmaW5pdGlvbi5jaGlsZHJlbi5tYXAoZCA9PiBkLmNvbXBvbmVudCk7XG4gIH1cblxuICBvblBsYWNlUmVhZHkoKSB7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlQ29tcG9uZW50IHtcblxuICBleHBvcnQgZnVuY3Rpb24gaXNQbGFjZUNvbXBvbmVudENvbnN0cnVjdG9yKHRhcmdldDogYW55KTogdGFyZ2V0IGlzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gbGFuZy5jb25zdHJ1Y3RvckNoYWluKHRhcmdldCBhcyBDb25zdHJ1Y3RhYmxlPGFueT4pLmluY2x1ZGVzKFBsYWNlQ29tcG9uZW50KTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRSb3V0ZVBhcmFtZXRlcnMoa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10ge1xuICAgIHJldHVybiBLbGFzcy5nZXQoa2xhc3MpLmdldE1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVkpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGtsYXNzKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgZGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uKSB7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGRlZmluaXRpb24sIGtsYXNzKTtcbiAgfVxuXG59XG4iXX0=
|