@coolon/angular-ui-powerups 0.0.89 → 0.0.91
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 +641 -488
- 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 -18
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +18 -17
- package/esm2015/lib/directives/command.directive.js +28 -5
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +3 -8
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +4 -9
- package/esm2015/lib/interaction/interaction-context.js +78 -6
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +12 -20
- package/esm2015/lib/place/navigation-session.js +182 -39
- package/esm2015/lib/place/place-component.js +4 -19
- package/esm2015/lib/place/place-definition.js +16 -19
- package/esm2015/lib/place/place-router.js +177 -39
- package/esm2015/lib/place/route/guards/enter-place-guard.service.js +3 -38
- package/esm2015/lib/place/route/guards/leave-place.guard.js +7 -177
- package/esm2015/lib/place/visit.js +4 -11
- package/esm5/coolon-angular-ui-powerups.js +18 -17
- package/esm5/lib/directives/command.directive.js +32 -5
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +3 -12
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +4 -13
- package/esm5/lib/interaction/interaction-context.js +100 -11
- package/esm5/lib/interaction/services/dialog-interaction.service.js +12 -23
- package/esm5/lib/place/navigation-session.js +225 -54
- package/esm5/lib/place/place-component.js +4 -35
- package/esm5/lib/place/place-definition.js +17 -39
- package/esm5/lib/place/place-router.js +202 -37
- package/esm5/lib/place/route/guards/enter-place-guard.service.js +3 -44
- package/esm5/lib/place/route/guards/leave-place.guard.js +7 -176
- package/esm5/lib/place/visit.js +4 -14
- package/fesm2015/coolon-angular-ui-powerups.js +494 -365
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +592 -439
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/directives/command.directive.d.ts +2 -0
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +2 -3
- package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +4 -5
- package/lib/interaction/interaction-context.d.ts +7 -3
- package/lib/interaction/services/dialog-interaction.service.d.ts +4 -6
- package/lib/place/navigation-session.d.ts +26 -9
- package/lib/place/place-component.d.ts +4 -9
- package/lib/place/place-definition.d.ts +0 -4
- package/lib/place/place-router.d.ts +21 -2
- package/lib/place/route/guards/enter-place-guard.service.d.ts +0 -1
- package/lib/place/route/guards/leave-place.guard.d.ts +2 -10
- package/lib/place/visit.d.ts +0 -2
- package/package.json +1 -1
|
@@ -3,98 +3,16 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
import {
|
|
7
|
-
import { Injectable, Injector } from '@angular/core';
|
|
8
|
-
import { Router } from '@angular/router';
|
|
9
|
-
import { InteractionContext } from '../../../interaction/interaction-context';
|
|
6
|
+
import { Injectable } from '@angular/core';
|
|
10
7
|
import { PlaceRouter } from '../../place-router';
|
|
11
8
|
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "
|
|
13
|
-
import * as i2 from "../../place-router";
|
|
14
|
-
import * as i3 from "../../../interaction/interaction-context";
|
|
15
|
-
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i1 from "../../place-router";
|
|
16
10
|
export class LeavePlaceGuard {
|
|
17
11
|
/**
|
|
18
|
-
* @param {?} router
|
|
19
|
-
* @param {?} injector
|
|
20
12
|
* @param {?} placeRouter
|
|
21
|
-
* @param {?} dialogInteractionContext
|
|
22
|
-
* @param {?} angularLocation
|
|
23
13
|
*/
|
|
24
|
-
constructor(
|
|
25
|
-
this.router = router;
|
|
26
|
-
this.injector = injector;
|
|
14
|
+
constructor(placeRouter) {
|
|
27
15
|
this.placeRouter = placeRouter;
|
|
28
|
-
this.dialogInteractionContext = dialogInteractionContext;
|
|
29
|
-
this.angularLocation = angularLocation;
|
|
30
|
-
}
|
|
31
|
-
// @Trace()
|
|
32
|
-
/**
|
|
33
|
-
* @private
|
|
34
|
-
* @param {?} nextState
|
|
35
|
-
* @param {?} placeDefinition
|
|
36
|
-
* @return {?}
|
|
37
|
-
*/
|
|
38
|
-
isLeavingTheCurrentPlace(nextState, placeDefinition) {
|
|
39
|
-
// TODO: this will break with child routes... need to examine the router states properly.
|
|
40
|
-
// console.log('canDeactivate', {
|
|
41
|
-
// staticPath: placeDefinitionPath,
|
|
42
|
-
// currentStateUrl: currentState.url,
|
|
43
|
-
// nextStateUrl: nextState.url
|
|
44
|
-
// // alreadyDeclined: this._alreadyAccepted
|
|
45
|
-
// });
|
|
46
|
-
// Example of the above when navigating to a different child route.
|
|
47
|
-
// canDeactivate {staticPath: "/hero-details",
|
|
48
|
-
// currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-details",
|
|
49
|
-
// nextStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats"
|
|
50
|
-
// }
|
|
51
|
-
// TODO: this will break with child routes... need to examine the router states properly.
|
|
52
|
-
// console.log('canDeactivate', {
|
|
53
|
-
// staticPath: placeDefinitionPath,
|
|
54
|
-
// currentStateUrl: currentState.url,
|
|
55
|
-
// nextStateUrl: nextState.url
|
|
56
|
-
// // alreadyDeclined: this._alreadyAccepted
|
|
57
|
-
// });
|
|
58
|
-
// Example of the above when navigating to a different child route.
|
|
59
|
-
// canDeactivate {staticPath: "/hero-details",
|
|
60
|
-
// currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-details",
|
|
61
|
-
// nextStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats"
|
|
62
|
-
// }
|
|
63
|
-
// Example clicking on router tab of the parent component (de-activates the parent due to route param changes)
|
|
64
|
-
// canDeactivate {
|
|
65
|
-
// staticPath: "/hero-stats",
|
|
66
|
-
// currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
|
|
67
|
-
// nextStateUrl: "/route-parameters/"
|
|
68
|
-
// }
|
|
69
|
-
// canDeactivate {
|
|
70
|
-
// staticPath: "/route-parameters",
|
|
71
|
-
// currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
|
|
72
|
-
// nextStateUrl: "/route-parameters/"
|
|
73
|
-
// }
|
|
74
|
-
// logger.class.js:54 ParameterSnapshot.sanitise -> {idModel: -1, pv: undefined, pl: Array(0), dv: undefined, dl: Array(0), …}
|
|
75
|
-
// parameter-snapshot.ts:20 {name: "idModel", mine: -1, theirs: null}
|
|
76
|
-
// place-router.ts:28 redirect path (3) ["route-parameters", "-1", {…}]
|
|
77
|
-
// canDeactivate {
|
|
78
|
-
// staticPath: "/hero-stats",
|
|
79
|
-
// currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
|
|
80
|
-
// nextStateUrl: "/route-parameters/-1"
|
|
81
|
-
// }
|
|
82
|
-
// canDeactivate {
|
|
83
|
-
// staticPath: "/route-parameters",
|
|
84
|
-
// currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
|
|
85
|
-
// nextStateUrl: "/route-parameters/-1"
|
|
86
|
-
// }
|
|
87
|
-
// logger.class.js:54 ParameterSnapshot.sanitise -> {idModel: -1, pv: undefined, pl: Array(0), dv: "A", dl: Array(3), …}
|
|
88
|
-
// parameter-snapshot.ts:20 {name: "dv", mine: "A", theirs: undefined}
|
|
89
|
-
// place-router.ts:28 redirect path (3) ["route-parameters", "-1", {…}]
|
|
90
|
-
// canDeactivate {
|
|
91
|
-
// staticPath: "/hero-stats",
|
|
92
|
-
// currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
|
|
93
|
-
// nextStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c"
|
|
94
|
-
// }
|
|
95
|
-
/** @type {?} */
|
|
96
|
-
const placeDefinitionPath = `/${placeDefinition.path}`;
|
|
97
|
-
return !nextState.url.startsWith(placeDefinitionPath);
|
|
98
16
|
}
|
|
99
17
|
/**
|
|
100
18
|
* @param {?} component
|
|
@@ -105,77 +23,7 @@ export class LeavePlaceGuard {
|
|
|
105
23
|
*/
|
|
106
24
|
canDeactivate(component, currentRoute, currentState, nextState) {
|
|
107
25
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
|
|
109
|
-
// We'll get called multiple times if there's any parameter sanitisation so
|
|
110
|
-
// we always return true if we accepted on a previous cycle of the current
|
|
111
|
-
// navigation session.
|
|
112
|
-
return true;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
/** @type {?} */
|
|
116
|
-
const self = this;
|
|
117
|
-
/** @type {?} */
|
|
118
|
-
let canLeave = true;
|
|
119
|
-
if (this.isLeavingTheCurrentPlace(nextState, component.placeDefinition)) {
|
|
120
|
-
// we check the dialog interaction first, so that components that don't need to check if they're in an
|
|
121
|
-
// interaction during the canDeactivate cycle.
|
|
122
|
-
// TODO: Add tests: show dialog -> hit back -> same route
|
|
123
|
-
if (this.dialogInteractionContext.isActive()) {
|
|
124
|
-
console.log('cancelling', { activity: this.dialogInteractionContext.currentActivity });
|
|
125
|
-
this.dialogInteractionContext.currentActivity.cancel(null);
|
|
126
|
-
canLeave = false;
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
canLeave = true;
|
|
130
|
-
}
|
|
131
|
-
if (canLeave) {
|
|
132
|
-
// now check if the component has an active interaction. This will handle
|
|
133
|
-
// an inplace interaction contexts
|
|
134
|
-
if (component.interactionContext && component.interactionContext.isActive()) {
|
|
135
|
-
canLeave = false;
|
|
136
|
-
console.log('cancelling', { activity: component.interactionContext.currentActivity });
|
|
137
|
-
component.interactionContext.currentActivity.cancel(null);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
// No interaction in progress, so ask the component .
|
|
141
|
-
// This may start an interaction, hence checking the interaction context above. I.e. if the place pops up the dialog, and
|
|
142
|
-
// the user clicks back again, we'll re-enter here and go bang when the component tries to open another
|
|
143
|
-
// dialog.
|
|
144
|
-
if (canLeave) {
|
|
145
|
-
// TODO: Add tests: hit back -> confirm leave dialog -> hit back -> close dialog -> hit back -> confirm leave dialog.
|
|
146
|
-
canLeave = yield component.canDeactivate();
|
|
147
|
-
}
|
|
148
|
-
// We also block back button parameter changes while the dialog is open.
|
|
149
|
-
// NOTE: Now that I'm catching parameter changes I could possibly retry using a fragment or
|
|
150
|
-
// query parameter to track the dialog being open. Previously I was just checking this on
|
|
151
|
-
// path changes... if that worked it'd fix the case where the back button breaks with an activity
|
|
152
|
-
// open on the first page: https://coolon.atlassian.net/browse/AUP-33
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
if (this.dialogInteractionContext.isActive()) {
|
|
156
|
-
console.log('cancelling', { activity: this.dialogInteractionContext.currentActivity });
|
|
157
|
-
this.dialogInteractionContext.currentActivity.cancel(null);
|
|
158
|
-
canLeave = false;
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
canLeave = true;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
if (canLeave) {
|
|
165
|
-
// We'll get called multiple times if there's any parameter sanitisation so
|
|
166
|
-
// we remember the acceptance for the duration of the current navigation session.
|
|
167
|
-
self.placeRouter.navigationSession.rememberAcceptanceOf(component);
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
// Angular doesn't preserve the url when a guard cancels the back button.
|
|
171
|
-
// See https://github.com/angular/angular/issues/13586#issuecomment-432795720
|
|
172
|
-
if (this.placeRouter.navigationSession.isPopState) {
|
|
173
|
-
console.log('cancelled during popstate');
|
|
174
|
-
this.angularLocation.go(this.placeRouter.navigationSession.popStateReturnUrl);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
return canLeave;
|
|
178
|
-
}
|
|
26
|
+
return this.placeRouter.navigationSession.canDeactivate(component, this.placeRouter.parseUrl(nextState));
|
|
179
27
|
});
|
|
180
28
|
}
|
|
181
29
|
}
|
|
@@ -186,32 +34,14 @@ LeavePlaceGuard.decorators = [
|
|
|
186
34
|
];
|
|
187
35
|
/** @nocollapse */
|
|
188
36
|
LeavePlaceGuard.ctorParameters = () => [
|
|
189
|
-
{ type:
|
|
190
|
-
{ type: Injector },
|
|
191
|
-
{ type: PlaceRouter },
|
|
192
|
-
{ type: InteractionContext },
|
|
193
|
-
{ type: Location }
|
|
37
|
+
{ type: PlaceRouter }
|
|
194
38
|
];
|
|
195
|
-
/** @nocollapse */ LeavePlaceGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LeavePlaceGuard_Factory() { return new LeavePlaceGuard(i0.ɵɵinject(i1.
|
|
39
|
+
/** @nocollapse */ LeavePlaceGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LeavePlaceGuard_Factory() { return new LeavePlaceGuard(i0.ɵɵinject(i1.PlaceRouter)); }, token: LeavePlaceGuard, providedIn: "root" });
|
|
196
40
|
if (false) {
|
|
197
|
-
/**
|
|
198
|
-
* @type {?}
|
|
199
|
-
* @private
|
|
200
|
-
*/
|
|
201
|
-
LeavePlaceGuard.prototype.router;
|
|
202
|
-
/**
|
|
203
|
-
* @type {?}
|
|
204
|
-
* @private
|
|
205
|
-
*/
|
|
206
|
-
LeavePlaceGuard.prototype.injector;
|
|
207
41
|
/**
|
|
208
42
|
* @type {?}
|
|
209
43
|
* @private
|
|
210
44
|
*/
|
|
211
45
|
LeavePlaceGuard.prototype.placeRouter;
|
|
212
|
-
/** @type {?} */
|
|
213
|
-
LeavePlaceGuard.prototype.dialogInteractionContext;
|
|
214
|
-
/** @type {?} */
|
|
215
|
-
LeavePlaceGuard.prototype.angularLocation;
|
|
216
46
|
}
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBeUMsTUFBTSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBRXJHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBS2pELE1BQU0sT0FBTyxlQUFlOzs7Ozs7OztJQUUxQixZQUFvQixNQUFjLEVBQ2QsUUFBa0IsRUFDbEIsV0FBd0IsRUFDdkIsd0JBQTRDLEVBQzVDLGVBQXlCO1FBSjFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBb0I7UUFDNUMsb0JBQWUsR0FBZixlQUFlLENBQVU7SUFDOUMsQ0FBQzs7Ozs7Ozs7SUFHTyx3QkFBd0IsQ0FBQyxTQUE4QixFQUFFLGVBQWdDO1FBQy9GLHlGQUF5RjtRQUN6RixpQ0FBaUM7UUFDakMscUNBQXFDO1FBQ3JDLHVDQUF1QztRQUN2QyxnQ0FBZ0M7UUFDaEMsOENBQThDO1FBQzlDLE1BQU07UUFDTixtRUFBbUU7UUFDbkUsOENBQThDO1FBQzlDLHlGQUF5RjtRQUN6RixtRkFBbUY7UUFDbkYsSUFBSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQWtDRSxtQkFBbUIs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QUFDLDJCQUEyQixDQUFDLENBQUM7d0JBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztxQkFDL0U7aUJBQ0Y7Z0JBRUQsT0FBTyxRQUFRLENBQUM7YUFDakI7UUFDSCxDQUFDO0tBQUE7OztZQXZJRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFUK0MsTUFBTTtZQURqQyxRQUFRO1lBTXBCLFdBQVc7WUFIWCxrQkFBa0I7WUFKbEIsUUFBUTs7Ozs7Ozs7SUFjSCxpQ0FBc0I7Ozs7O0lBQ3RCLG1DQUEwQjs7Ozs7SUFDMUIsc0NBQWdDOztJQUNoQyxtREFBcUQ7O0lBQ3JELDBDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5EZWFjdGl2YXRlLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi8uLi9wbGFjZS1yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMZWF2ZVBsYWNlR3VhcmQgaW1wbGVtZW50cyBDYW5EZWFjdGl2YXRlPFBsYWNlQ29tcG9uZW50PiB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLFxuICAgICAgICAgICAgICByZWFkb25seSBkaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYW5ndWxhckxvY2F0aW9uOiBMb2NhdGlvbikge1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBpc0xlYXZpbmdUaGVDdXJyZW50UGxhY2UobmV4dFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbikge1xuICAgIC8vIFRPRE86IHRoaXMgd2lsbCBicmVhayB3aXRoIGNoaWxkIHJvdXRlcy4uLiBuZWVkIHRvIGV4YW1pbmUgdGhlIHJvdXRlciBzdGF0ZXMgcHJvcGVybHkuXG4gICAgLy8gY29uc29sZS5sb2coJ2NhbkRlYWN0aXZhdGUnLCB7XG4gICAgLy8gICBzdGF0aWNQYXRoOiBwbGFjZURlZmluaXRpb25QYXRoLFxuICAgIC8vICAgY3VycmVudFN0YXRlVXJsOiBjdXJyZW50U3RhdGUudXJsLFxuICAgIC8vICAgbmV4dFN0YXRlVXJsOiBuZXh0U3RhdGUudXJsXG4gICAgLy8gICAvLyBhbHJlYWR5RGVjbGluZWQ6IHRoaXMuX2FscmVhZHlBY2NlcHRlZFxuICAgIC8vIH0pO1xuICAgIC8vIEV4YW1wbGUgb2YgdGhlIGFib3ZlIHdoZW4gbmF2aWdhdGluZyB0byBhIGRpZmZlcmVudCBjaGlsZCByb3V0ZS5cbiAgICAvLyBjYW5EZWFjdGl2YXRlIHtzdGF0aWNQYXRoOiBcIi9oZXJvLWRldGFpbHNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1kZXRhaWxzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xO2R2PUE7ZGw9YSxiLGM7cmR2PUE7cmRsPWEsYixjL2hlcm8tc3RhdHNcIlxuICAgIC8vIH1cblxuICAgIC8vIEV4YW1wbGUgY2xpY2tpbmcgb24gcm91dGVyIHRhYiBvZiB0aGUgcGFyZW50IGNvbXBvbmVudCAoZGUtYWN0aXZhdGVzIHRoZSBwYXJlbnQgZHVlIHRvIHJvdXRlIHBhcmFtIGNoYW5nZXMpXG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzL1wiXG4gICAgLy8gfVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL3JvdXRlLXBhcmFtZXRlcnNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy9cIlxuICAgIC8vIH1cbiAgICAvLyBsb2dnZXIuY2xhc3MuanM6NTQgUGFyYW1ldGVyU25hcHNob3Quc2FuaXRpc2UgLT4ge2lkTW9kZWw6IC0xLCBwdjogdW5kZWZpbmVkLCBwbDogQXJyYXkoMCksIGR2OiB1bmRlZmluZWQsIGRsOiBBcnJheSgwKSzCoOKApn1cbiAgICAvLyBwYXJhbWV0ZXItc25hcHNob3QudHM6MjAge25hbWU6IFwiaWRNb2RlbFwiLCBtaW5lOiAtMSwgdGhlaXJzOiBudWxsfVxuICAgIC8vIHBsYWNlLXJvdXRlci50czoyOCByZWRpcmVjdCBwYXRoICgzKcKgW1wicm91dGUtcGFyYW1ldGVyc1wiLCBcIi0xXCIsIHvigKZ9XVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMVwiXG4gICAgLy8gfVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL3JvdXRlLXBhcmFtZXRlcnNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMVwiXG4gICAgLy8gfVxuICAgIC8vIGxvZ2dlci5jbGFzcy5qczo1NCBQYXJhbWV0ZXJTbmFwc2hvdC5zYW5pdGlzZSAtPiB7aWRNb2RlbDogLTEsIHB2OiB1bmRlZmluZWQsIHBsOiBBcnJheSgwKSwgZHY6IFwiQVwiLCBkbDogQXJyYXkoMykswqDigKZ9XG4gICAgLy8gcGFyYW1ldGVyLXNuYXBzaG90LnRzOjIwIHtuYW1lOiBcImR2XCIsIG1pbmU6IFwiQVwiLCB0aGVpcnM6IHVuZGVmaW5lZH1cbiAgICAvLyBwbGFjZS1yb3V0ZXIudHM6MjggcmVkaXJlY3QgcGF0aCAoMynCoFtcInJvdXRlLXBhcmFtZXRlcnNcIiwgXCItMVwiLCB74oCmfV1cbiAgICAvLyBjYW5EZWFjdGl2YXRlIHtcbiAgICAvLyAgICBzdGF0aWNQYXRoOiBcIi9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgY3VycmVudFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xO2R2PUE7ZGw9YSxiLGM7cmR2PUE7cmRsPWEsYixjL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBuZXh0U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGNcIlxuICAgIC8vIH1cbiAgICBjb25zdCBwbGFjZURlZmluaXRpb25QYXRoID0gYC8ke3BsYWNlRGVmaW5pdGlvbi5wYXRofWA7XG4gICAgcmV0dXJuICFuZXh0U3RhdGUudXJsLnN0YXJ0c1dpdGgocGxhY2VEZWZpbml0aW9uUGF0aCk7XG4gIH1cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG5cbiAgICBpZiAodGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbi5hbHJlYWR5QWNjZXB0ZWQoY29tcG9uZW50KSkge1xuICAgICAgLy8gV2UnbGwgZ2V0IGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGVyZSdzIGFueSBwYXJhbWV0ZXIgc2FuaXRpc2F0aW9uIHNvXG4gICAgICAvLyB3ZSBhbHdheXMgcmV0dXJuIHRydWUgaWYgd2UgYWNjZXB0ZWQgb24gYSBwcmV2aW91cyBjeWNsZSBvZiB0aGUgY3VycmVudFxuICAgICAgLy8gbmF2aWdhdGlvbiBzZXNzaW9uLlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgICAgbGV0IGNhbkxlYXZlID0gdHJ1ZTtcblxuICAgICAgaWYgKHRoaXMuaXNMZWF2aW5nVGhlQ3VycmVudFBsYWNlKG5leHRTdGF0ZSwgY29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbikpIHtcbiAgICAgICAgLy8gd2UgY2hlY2sgdGhlIGRpYWxvZyBpbnRlcmFjdGlvbiBmaXJzdCwgc28gdGhhdCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgbmVlZCB0byBjaGVjayBpZiB0aGV5J3JlIGluIGFuXG4gICAgICAgIC8vIGludGVyYWN0aW9uIGR1cmluZyB0aGUgY2FuRGVhY3RpdmF0ZSBjeWNsZS5cbiAgICAgICAgLy8gVE9ETzogQWRkIHRlc3RzOiBzaG93IGRpYWxvZyAtPiBoaXQgYmFjayAtPiBzYW1lIHJvdXRlXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ0ludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ2NhbmNlbGxpbmcnLCB7IGFjdGl2aXR5OiB0aGlzLmRpYWxvZ0ludGVyYWN0aW9uQ29udGV4dC5jdXJyZW50QWN0aXZpdHkgfSk7XG4gICAgICAgICAgdGhpcy5kaWFsb2dJbnRlcmFjdGlvbkNvbnRleHQuY3VycmVudEFjdGl2aXR5LmNhbmNlbChudWxsKTtcbiAgICAgICAgICBjYW5MZWF2ZSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNhbkxlYXZlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYW5MZWF2ZSkge1xuICAgICAgICAgIC8vIG5vdyBjaGVjayBpZiB0aGUgY29tcG9uZW50IGhhcyBhbiBhY3RpdmUgaW50ZXJhY3Rpb24uICBUaGlzIHdpbGwgaGFuZGxlXG4gICAgICAgICAgLy8gYW4gaW5wbGFjZSBpbnRlcmFjdGlvbiBjb250ZXh0c1xuICAgICAgICAgIGlmIChjb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0ICYmIGNvbXBvbmVudC5pbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKSkge1xuICAgICAgICAgICAgY2FuTGVhdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjYW5jZWxsaW5nJywgeyBhY3Rpdml0eTogY29tcG9uZW50LmludGVyYWN0aW9uQ29udGV4dC5jdXJyZW50QWN0aXZpdHkgfSk7XG4gICAgICAgICAgICBjb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0LmN1cnJlbnRBY3Rpdml0eS5jYW5jZWwobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm8gaW50ZXJhY3Rpb24gaW4gcHJvZ3Jlc3MsIHNvIGFzayB0aGUgY29tcG9uZW50IC5cbiAgICAgICAgLy8gVGhpcyBtYXkgc3RhcnQgYW4gaW50ZXJhY3Rpb24sIGhlbmNlIGNoZWNraW5nIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0IGFib3ZlLiBJLmUuIGlmIHRoZSBwbGFjZSBwb3BzIHVwIHRoZSBkaWFsb2csIGFuZFxuICAgICAgICAvLyB0aGUgdXNlciBjbGlja3MgYmFjayBhZ2Fpbiwgd2UnbGwgcmUtZW50ZXIgaGVyZSBhbmQgZ28gYmFuZyB3aGVuIHRoZSBjb21wb25lbnQgdHJpZXMgdG8gb3BlbiBhbm90aGVyXG4gICAgICAgIC8vIGRpYWxvZy5cbiAgICAgICAgaWYgKGNhbkxlYXZlKSB7XG4gICAgICAgICAgLy8gVE9ETzogQWRkIHRlc3RzOiBoaXQgYmFjayAtPiBjb25maXJtIGxlYXZlIGRpYWxvZyAtPiBoaXQgYmFjayAtPiBjbG9zZSBkaWFsb2cgLT4gIGhpdCBiYWNrIC0+IGNvbmZpcm0gbGVhdmUgZGlhbG9nLlxuICAgICAgICAgIGNhbkxlYXZlID0gYXdhaXQgY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIGFsc28gYmxvY2sgYmFjayBidXR0b24gcGFyYW1ldGVyIGNoYW5nZXMgd2hpbGUgdGhlIGRpYWxvZyBpcyBvcGVuLlxuICAgICAgICAvLyBOT1RFOiBOb3cgdGhhdCBJJ20gY2F0Y2hpbmcgcGFyYW1ldGVyIGNoYW5nZXMgSSBjb3VsZCBwb3NzaWJseSByZXRyeSB1c2luZyBhIGZyYWdtZW50IG9yXG4gICAgICAgIC8vIHF1ZXJ5IHBhcmFtZXRlciB0byB0cmFjayB0aGUgZGlhbG9nIGJlaW5nIG9wZW4uICBQcmV2aW91c2x5IEkgd2FzIGp1c3QgY2hlY2tpbmcgdGhpcyBvblxuICAgICAgICAvLyBwYXRoIGNoYW5nZXMuLi4gaWYgdGhhdCB3b3JrZWQgaXQnZCBmaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJhY2sgYnV0dG9uIGJyZWFrcyB3aXRoIGFuIGFjdGl2aXR5XG4gICAgICAgIC8vIG9wZW4gb24gdGhlIGZpcnN0IHBhZ2U6IGh0dHBzOi8vY29vbG9uLmF0bGFzc2lhbi5uZXQvYnJvd3NlL0FVUC0zM1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKCkpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnY2FuY2VsbGluZycsIHsgYWN0aXZpdHk6IHRoaXMuZGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0LmN1cnJlbnRBY3Rpdml0eSB9KTtcbiAgICAgICAgICB0aGlzLmRpYWxvZ0ludGVyYWN0aW9uQ29udGV4dC5jdXJyZW50QWN0aXZpdHkuY2FuY2VsKG51bGwpO1xuICAgICAgICAgIGNhbkxlYXZlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2FuTGVhdmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjYW5MZWF2ZSkge1xuICAgICAgICAvLyBXZSdsbCBnZXQgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGlmIHRoZXJlJ3MgYW55IHBhcmFtZXRlciBzYW5pdGlzYXRpb24gc29cbiAgICAgICAgLy8gd2UgcmVtZW1iZXIgdGhlIGFjY2VwdGFuY2UgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgY3VycmVudCBuYXZpZ2F0aW9uIHNlc3Npb24uXG4gICAgICAgIHNlbGYucGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb24ucmVtZW1iZXJBY2NlcHRhbmNlT2YoY29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFuZ3VsYXIgZG9lc24ndCBwcmVzZXJ2ZSB0aGUgdXJsIHdoZW4gYSBndWFyZCBjYW5jZWxzIHRoZSBiYWNrIGJ1dHRvbi5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzEzNTg2I2lzc3VlY29tbWVudC00MzI3OTU3MjBcbiAgICAgICAgaWYgKHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb24uaXNQb3BTdGF0ZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdjYW5jZWxsZWQgZHVyaW5nIHBvcHN0YXRlJyk7XG4gICAgICAgICAgdGhpcy5hbmd1bGFyTG9jYXRpb24uZ28odGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbi5wb3BTdGF0ZVJldHVyblVybCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNhbkxlYXZlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUtqRCxNQUFNLE9BQU8sZUFBZTs7OztJQUUxQixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUM1QyxDQUFDOzs7Ozs7OztJQUVLLGFBQWEsQ0FBQyxTQUF5QixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjs7WUFDckosT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMzRyxDQUFDO0tBQUE7OztZQVZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQUpRLFdBQVc7Ozs7Ozs7O0lBT04sc0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uLy4uL3BsYWNlLXJvdXRlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExlYXZlUGxhY2VHdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBsYWNlUm91dGVyOiBQbGFjZVJvdXRlcikge1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uLmNhbkRlYWN0aXZhdGUoY29tcG9uZW50LCB0aGlzLnBsYWNlUm91dGVyLnBhcnNlVXJsKG5leHRTdGF0ZSkpO1xuICB9XG59XG4vLyBhc3luYyBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG4vLyAgIGNvbnN0IHBsYWNlRGVmaW5pdGlvblBhdGggPSBgLyR7Y29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbi5wYXRofWA7XG4vL1xuLy8gLy8gVE9ETzogQWRkIHRlc3RzXG4vLyBpZiAodGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbi5hbHJlYWR5QWNjZXB0ZWQoY29tcG9uZW50KSkge1xuLy8gICAvLyBXZSdsbCBnZXQgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGlmIHRoZXJlJ3MgYW55IHBhcmFtZXRlciBzYW5pdGlzYXRpb24gc29cbi8vICAgLy8gd2UgYWx3YXlzIHJldHVybiB0cnVlIGlmIHdlIGFjY2VwdGVkIG9uIGEgcHJldmlvdXMgY3ljbGUgb2YgdGhlIGN1cnJlbnRcbi8vICAgLy8gbmF2aWdhdGlvbiBzZXNzaW9uLlxuLy8gICByZXR1cm4gdHJ1ZTtcbi8vIH0gZWxzZSB7XG4vLyAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuLy8gICBsZXQgY2FuTGVhdmUgPSB0cnVlO1xuLy9cbi8vICAgaWYgKHRoaXMuaXNMZWF2aW5nVGhlQ3VycmVudFBsYWNlKG5leHRTdGF0ZSwgY29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbikpIHtcbi8vICAgICAvLyB3ZSBjaGVjayB0aGUgaW50ZXJhY3Rpb24gZmlyc3QsIHNvIHRoYXQgY29tcG9uZW50cyB0aGF0IGRvbid0IG5lZWQgdG8gY2hlY2sgaWYgdGhleSdyZSBpbiBhblxuLy8gICAgIC8vIGludGVyYWN0aW9uIGR1cmluZyB0aGUgY2FuRGVhY3RpdmF0ZSBjeWNsZS5cbi8vICAgICAvLyBUT0RPOiBBZGQgdGVzdHM6IHNob3cgZGlhbG9nIC0+IGhpdCBiYWNrIC0+IHNhbWUgcm91dGVcbi8vICAgICBpZiAodGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKSkge1xuLy8gICAgICAgY2FuTGVhdmUgPSBmYWxzZTtcbi8vICAgICAgIGNvbnNvbGUubG9nKCdjYW5jZWxsaW5nJywgeyBhY3Rpdml0eTogdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuY3VycmVudEFjdGl2aXR5IH0pO1xuLy8gICAgICAgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuY3VycmVudEFjdGl2aXR5LmNhbmNlbChudWxsKTtcbi8vICAgICB9XG4vLyAgICAgLy8gTm8gaW50ZXJhY3Rpb24gaW4gcHJvZ3Jlc3MsIHNvIGFzayB0aGUgY29tcG9uZW50IC5cbi8vICAgICAvLyBUaGlzIG1heSBzdGFydCBhbiBpbnRlcmFjdGlvbiwgaGVuY2UgY2hlY2tpbmcgdGhlIGludGVyYWN0aW9uIGNvbnRleHQgYWJvdmUuIEkuZS4gaWYgdGhlIHBsYWNlIHBvcHMgdXAgdGhlIGRpYWxvZywgYW5kXG4vLyAgICAgLy8gdGhlIHVzZXIgY2xpY2tzIGJhY2sgYWdhaW4sIHdlJ2xsIHJlLWVudGVyIGhlcmUgYW5kIGdvIGJhbmcgd2hlbiB0aGUgY29tcG9uZW50IHRyaWVzIHRvIG9wZW4gYW5vdGhlclxuLy8gICAgIC8vIGRpYWxvZy5cbi8vICAgICBpZiAoY2FuTGVhdmUpIHtcbi8vICAgICAgIC8vIFRPRE86IEFkZCB0ZXN0czogaGl0IGJhY2sgLT4gY29uZmlybSBsZWF2ZSBkaWFsb2cgLT4gaGl0IGJhY2sgLT4gY2xvc2UgZGlhbG9nIC0+ICBoaXQgYmFjayAtPiBjb25maXJtIGxlYXZlIGRpYWxvZy5cbi8vICAgICAgIGNhbkxlYXZlID0gYXdhaXQgY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKTtcbi8vICAgICB9XG4vL1xuLy9cbi8vICAgICAvLyBXZSBhbHNvIGJsb2NrIGJhY2sgYnV0dG9uIHBhcmFtZXRlciBjaGFuZ2VzIHdoaWxlIHRoZSBkaWFsb2cgaXMgb3Blbi5cbi8vICAgICAvLyBOT1RFOiBOb3cgdGhhdCBJJ20gY2F0Y2hpbmcgcGFyYW1ldGVyIGNoYW5nZXMgSSBjb3VsZCBwb3NzaWJseSByZXRyeSB1c2luZyBhIGZyYWdtZW50IG9yXG4vLyAgICAgLy8gcXVlcnkgcGFyYW1ldGVyIHRvIHRyYWNrIHRoZSBkaWFsb2cgYmVpbmcgb3Blbi4gIFByZXZpb3VzbHkgSSB3YXMganVzdCBjaGVja2luZyB0aGlzIG9uXG4vLyAgICAgLy8gcGF0aCBjaGFuZ2VzLi4uIGlmIHRoYXQgd29ya2VkIGl0J2QgZml4IHRoZSBjYXNlIHdoZXJlIHRoZSBiYWNrIGJ1dHRvbiBicmVha3Mgd2l0aCBhbiBhY3Rpdml0eVxuLy8gICAgIC8vIG9wZW4gb24gdGhlIGZpcnN0IHBhZ2U6IGh0dHBzOi8vY29vbG9uLmF0bGFzc2lhbi5uZXQvYnJvd3NlL0FVUC0zM1xuLy8gICB9IGVsc2Uge1xuLy8gICAgIGlmICh0aGlzLmludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpKSB7XG4vLyAgICAgICBjb25zb2xlLmxvZygnY2FuY2VsbGluZycsIHsgYWN0aXZpdHk6IHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmN1cnJlbnRBY3Rpdml0eSB9KTtcbi8vICAgICAgIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmN1cnJlbnRBY3Rpdml0eS5jYW5jZWwobnVsbCk7XG4vLyAgICAgICBjYW5MZWF2ZSA9IGZhbHNlO1xuLy8gICAgIH0gZWxzZSB7XG4vLyAgICAgICBjYW5MZWF2ZSA9IHRydWU7XG4vLyAgICAgfVxuLy8gICB9XG4vL1xuLy8gICBpZiAoY2FuTGVhdmUpIHtcbi8vICAgICAvLyBXZSdsbCBnZXQgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGlmIHRoZXJlJ3MgYW55IHBhcmFtZXRlciBzYW5pdGlzYXRpb24gc29cbi8vICAgICAvLyB3ZSByZW1lbWJlciB0aGUgYWNjZXB0YW5jZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBjdXJyZW50IG5hdmlnYXRpb24gc2Vzc2lvbi5cbi8vICAgICBzZWxmLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uLnJlbWVtYmVyQWNjZXB0YW5jZU9mKGNvbXBvbmVudCk7XG4vLyAgIH0gZWxzZSB7XG4vLyAgICAgLy8gQW5ndWxhciBkb2Vzbid0IHByZXNlcnZlIHRoZSB1cmwgd2hlbiBhIGd1YXJkIGNhbmNlbHMgdGhlIGJhY2sgYnV0dG9uLlxuLy8gICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzU4NiNpc3N1ZWNvbW1lbnQtNDMyNzk1NzIwXG4vLyAgICAgaWYgKHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb24uaXNQb3BTdGF0ZSkge1xuLy8gICAgICAgY29uc29sZS5sb2coJ2NhbmNlbGxlZCBkdXJpbmcgcG9wc3RhdGUnKTtcbi8vICAgICAgIHRoaXMuYW5ndWxhckxvY2F0aW9uLmdvKHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb24ucG9wU3RhdGVSZXR1cm5VcmwpO1xuLy8gICAgIH1cbi8vICAgfVxuLy9cbi8vICAgcmV0dXJuIGNhbkxlYXZlO1xuLy8gfVxuIl19
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import { UrlSegment } from '@angular/router';
|
|
6
5
|
import * as _ from 'lodash';
|
|
7
6
|
/**
|
|
8
7
|
* @record
|
|
@@ -82,8 +81,10 @@ export class Visit {
|
|
|
82
81
|
else {
|
|
83
82
|
// copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
|
|
84
83
|
// defaults and remember sanitisation process.
|
|
84
|
+
/** @type {?} */
|
|
85
|
+
const value = this.getParameter(def.name);
|
|
85
86
|
if (this.hasParameter(def.name)) {
|
|
86
|
-
params[def.name] =
|
|
87
|
+
params[def.name] = value;
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
}));
|
|
@@ -109,14 +110,6 @@ export class Visit {
|
|
|
109
110
|
const sameNonRouteParameters = _.isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
|
|
110
111
|
return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
|
|
111
112
|
}
|
|
112
|
-
/**
|
|
113
|
-
* @return {?}
|
|
114
|
-
*/
|
|
115
|
-
getUrlSegments() {
|
|
116
|
-
return this.placeDefinition.hasRouteId() ?
|
|
117
|
-
[new UrlSegment(this.placeDefinition.path, {}), new UrlSegment(this.placeDefinition.getFormattedRouteId(this), this.placeDefinition.getFormattedRouteParameters(this))] :
|
|
118
|
-
[new UrlSegment(this.placeDefinition.path, this.placeDefinition.getFormattedRouteParameters(this))];
|
|
119
|
-
}
|
|
120
113
|
}
|
|
121
114
|
if (false) {
|
|
122
115
|
/** @type {?} */
|
|
@@ -127,4 +120,4 @@ if (false) {
|
|
|
127
120
|
*/
|
|
128
121
|
Visit.prototype.visitParameters;
|
|
129
122
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvdmlzaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7O0FBSTVCLHFCQUVDO0FBR0QsTUFBTSxPQUFPLEtBQUs7Ozs7O0lBRWhCLFlBQXFCLGVBQWdDLEVBQW1CLGtCQUEwQixFQUFFO1FBQS9FLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFtQixvQkFBZSxHQUFmLGVBQWUsQ0FBYTtJQUNwRyxDQUFDOzs7OztJQUdELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7Ozs7O0lBR0QsVUFBVTtRQUNSLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Ozs7Ozs7O0lBUUQsWUFBWSxDQUFDLGFBQXFCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3QyxDQUFDOzs7Ozs7SUFHRCxZQUFZLENBQUMsYUFBcUI7UUFDaEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7Ozs7OztJQUVELE9BQU8sQ0FBSSxTQUFzQyxFQUFFLEtBQVE7UUFDekQsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxvQkFBTyxJQUFJLENBQUMsZUFBZSxJQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBRyxDQUFDO0lBQy9GLENBQUM7Ozs7OztJQUVELG9CQUFvQixDQUFJLFdBQWlDOzs7Y0FFakQsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7O2NBQzdDLE1BQU0sR0FBRyxFQUFFO1FBQ2pCLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxPQUFPOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekQsSUFBSSxHQUFHLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekMsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN6QyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzFDO2FBQ0Y7aUJBQU07Ozs7c0JBR0MsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDekMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDL0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7aUJBQzFCO2FBQ0Y7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7OztJQUVELHFCQUFxQixDQUFDLEtBQVk7O2NBQzFCLFNBQVMsR0FBRyxLQUFLLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxlQUFlOztjQUMxRCxtQkFBbUIsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLDJCQUEyQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFDNUQsSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzlEO1FBQ0QsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQzVDLENBQUM7Ozs7O0lBRUQsY0FBYyxDQUFDLEtBQVk7O2NBQ25CLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxPQUFPLENBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQ2xEO1FBQ0QsT0FBTyxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBRUY7OztJQXRFYSxnQ0FBeUM7Ozs7O0lBQUUsZ0NBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuXG5pbnRlcmZhY2UgUGFyYW1zIHtcbiAgW3A6IHN0cmluZ106IGFueVxufVxuXG5cbmV4cG9ydCBjbGFzcyBWaXNpdCB7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24sIHByaXZhdGUgcmVhZG9ubHkgdmlzaXRQYXJhbWV0ZXJzOiBQYXJhbXMgPSB7fSkge1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZ2V0Um91dGVJZCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRSb3V0ZUlkRnJvbSh0aGlzKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc1JvdXRlSWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFfLmlzTmlsKHRoaXMuZ2V0Um91dGVJZCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgcGxhY2UgcGFyYW1ldGVyIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLiAgVGhlIHBhcmFtZXRlclxuICAgKiBuYW1lIGlzIHRha2VuIGZyb20gdGhlIGBhc2Agb3B0aW9uLCBlLmcuIHthczogJ2FDdXN0b21OYW1lJ30gb3RoZXJ3aXNlIGl0IGlzIHRoZVxuICAgKiBzYW1lIGFzIHRoZSB0aGUgVmFsdWVNb2RlbCBwcm9wZXJ0eSBuYW1lLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVyTmFtZSB0aGUgZmllbGQgbmFtZSBvZiB0aGUgcHJvcGVydHkgbW9kZWwgb3IgdGhlIGBhc2Agb3B0aW9uIGlmIHNwZWNpZmllZC5cbiAgICovXG4gIGdldFBhcmFtZXRlcihwYXJhbWV0ZXJOYW1lOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnZpc2l0UGFyYW1ldGVyc1twYXJhbWV0ZXJOYW1lXTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc1BhcmFtZXRlcihwYXJhbWV0ZXJOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy52aXNpdFBhcmFtZXRlcnMpLmluY2x1ZGVzKHBhcmFtZXRlck5hbWUpO1xuICB9XG5cbiAgcmVwbGFjZTxTPihwYXJhbWV0ZXI6IFBhcmFtZXRlckRlZmluaXRpb248YW55LCBTPiwgdmFsdWU6IFMpOiBWaXNpdCB7XG4gICAgcmV0dXJuIG5ldyBWaXNpdCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgeyAuLi50aGlzLnZpc2l0UGFyYW1ldGVycywgW3BhcmFtZXRlci5uYW1lXTogdmFsdWUgfSk7XG4gIH1cblxuICBtZXJnZVJvdXRlUGFyYW1ldGVyczxTPihyb3V0ZVBhcmFtczogeyBbcDogc3RyaW5nXTogYW55IH0pOiBWaXNpdCB7XG4gICAgLy8gdG9kbzogd2hpdGVsaXN0IHBhcmFtZXRlcnMuXG4gICAgY29uc3Qgcm91dGVQYXJhbWV0ZXJLZXlzID0gT2JqZWN0LmtleXMocm91dGVQYXJhbXMpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFZpc2l0UGFyYW1ldGVyRGVmcygpLmZvckVhY2goZGVmID0+IHtcbiAgICAgIGlmIChkZWYuaXNSb3V0ZUlkIHx8IGRlZi5pc1JvdXRlUGFyYW1ldGVyKSB7XG4gICAgICAgIGlmIChyb3V0ZVBhcmFtZXRlcktleXMuaW5jbHVkZXMoZGVmLm5hbWUpKSB7XG4gICAgICAgICAgcGFyYW1zW2RlZi5uYW1lXSA9IHJvdXRlUGFyYW1zW2RlZi5uYW1lXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gY29weSBub24gcm91dGUgcGFyYW1zIGFzIGlzLCBidXQgb25seSBpZiB0aGV5IGFscmVhZHkgZXhpc3Qgb3RoZXJ3aXNlIHdlJ2xsIGluamVjdCBuaWwgdmFsdWVzIGFuZCBicmVhayB0aGVcbiAgICAgICAgLy8gZGVmYXVsdHMgYW5kIHJlbWVtYmVyIHNhbml0aXNhdGlvbiBwcm9jZXNzLlxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0UGFyYW1ldGVyKGRlZi5uYW1lKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzUGFyYW1ldGVyKGRlZi5uYW1lKSkge1xuICAgICAgICAgIHBhcmFtc1tkZWYubmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgVmlzaXQodGhpcy5wbGFjZURlZmluaXRpb24sIHBhcmFtcyk7XG4gIH1cblxuICBoYXNSb3V0aW5nQ2hhbmdlZEZyb20ob3RoZXI6IFZpc2l0KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2FtZVBsYWNlID0gb3RoZXIucGxhY2VEZWZpbml0aW9uID09PSB0aGlzLnBsYWNlRGVmaW5pdGlvbjtcbiAgICBjb25zdCBzYW1lUm91dGVQYXJhbWV0ZXJzID0gXy5pc0VxdWFsKFxuICAgICAgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMsIHRydWUpLFxuICAgICAgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKG90aGVyLCB0cnVlKVxuICAgICk7XG4gICAgcmV0dXJuICFzYW1lUGxhY2UgfHwgIXNhbWVSb3V0ZVBhcmFtZXRlcnM7XG4gIH1cblxuICBoYXNDaGFuZ2VkRnJvbShvdGhlcjogVmlzaXQpIHtcbiAgICBjb25zdCBzYW1lTm9uUm91dGVQYXJhbWV0ZXJzID0gXy5pc0VxdWFsKFxuICAgICAgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Tm9uUm91dGVQYXJhbWV0ZXJzKHRoaXMpLFxuICAgICAgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Tm9uUm91dGVQYXJhbWV0ZXJzKG90aGVyKVxuICAgICk7XG4gICAgcmV0dXJuICFzYW1lTm9uUm91dGVQYXJhbWV0ZXJzIHx8IHRoaXMuaGFzUm91dGluZ0NoYW5nZWRGcm9tKG90aGVyKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -17,27 +17,28 @@ export { NoopComponent as ɵk } from './lib/components/noop/noop.component';
|
|
|
17
17
|
export { CommandDirective as ɵb } from './lib/directives/command.directive';
|
|
18
18
|
export { DirectivesModule as ɵa } from './lib/directives/directives.module';
|
|
19
19
|
export { FocusBindingDirective as ɵc } from './lib/directives/focus-binding.directive';
|
|
20
|
-
export { AbstractActivity as
|
|
21
|
-
export { ACTIVITY_DATA as
|
|
22
|
-
export { ActivityContainerComponent as
|
|
23
|
-
export { ActivityOutletComponent as
|
|
24
|
-
export { AlertDialogComponent as
|
|
25
|
-
export { ConfirmThenDialogComponent as
|
|
26
|
-
export { ConfirmationDialogComponent as
|
|
27
|
-
export { InplaceInteractionContextComponent as
|
|
28
|
-
export { InteractionOutletComponent as
|
|
29
|
-
export { InteractionContext as
|
|
30
|
-
export { InteractionModule as
|
|
31
|
-
export { DIALOG_INTERACTION_SERVICE_DEFAULTS as
|
|
32
|
-
export { AbstractPlaceNavigationComponent as
|
|
20
|
+
export { AbstractActivity as ɵbe } from './lib/interaction/abstract-activity';
|
|
21
|
+
export { ACTIVITY_DATA as ɵbf, Activity as ɵbg } from './lib/interaction/activity';
|
|
22
|
+
export { ActivityContainerComponent as ɵbb } from './lib/interaction/components/activity-container/activity-container.component';
|
|
23
|
+
export { ActivityOutletComponent as ɵbc } from './lib/interaction/components/activity-outlet/activity-outlet.component';
|
|
24
|
+
export { AlertDialogComponent as ɵbj } from './lib/interaction/components/alert-dialog/alert-dialog.component';
|
|
25
|
+
export { ConfirmThenDialogComponent as ɵbi } from './lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component';
|
|
26
|
+
export { ConfirmationDialogComponent as ɵbd } from './lib/interaction/components/confirmation-dialog/confirmation-dialog.component';
|
|
27
|
+
export { InplaceInteractionContextComponent as ɵbm } from './lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component';
|
|
28
|
+
export { InteractionOutletComponent as ɵbl } from './lib/interaction/components/interaction-outlet/interaction-outlet.component';
|
|
29
|
+
export { InteractionContext as ɵv } from './lib/interaction/interaction-context';
|
|
30
|
+
export { InteractionModule as ɵba } from './lib/interaction/interaction.module';
|
|
31
|
+
export { DIALOG_INTERACTION_SERVICE_DEFAULTS as ɵbn, DialogInteractionService as ɵbo } from './lib/interaction/services/dialog-interaction.service';
|
|
32
|
+
export { AbstractPlaceNavigationComponent as ɵy } from './lib/place/components/abstract-place-navigation.component';
|
|
33
33
|
export { BusyOverlayComponent as ɵn } from './lib/place/components/busy-overlay/busy-overlay.component';
|
|
34
34
|
export { EmptyStateComponent as ɵm } from './lib/place/components/empty-state/empty-state.component';
|
|
35
|
-
export { ListPlaceNavComponent as
|
|
35
|
+
export { ListPlaceNavComponent as ɵz } from './lib/place/components/list-place-nav/list-place-nav.component';
|
|
36
36
|
export { PlaceOutletComponent as ɵo } from './lib/place/components/place-outlet/place-outlet.component';
|
|
37
37
|
export { LEFT_RIGHT_PLACE_ANIMATION as ɵq, leftRightPlaceAnimation as ɵp } from './lib/place/components/place-outlet/route-animations';
|
|
38
|
-
export { TabbedPlaceNavigationComponent as
|
|
38
|
+
export { TabbedPlaceNavigationComponent as ɵx } from './lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component';
|
|
39
|
+
export { NavigationSession as ɵu } from './lib/place/navigation-session';
|
|
39
40
|
export { AUP_PLACE_CONFIG as ɵr } from './lib/place/place-config';
|
|
40
|
-
export { PlaceHistory as
|
|
41
|
+
export { PlaceHistory as ɵw } from './lib/place/place-history';
|
|
41
42
|
export { PlaceRouter as ɵt } from './lib/place/place-router';
|
|
42
43
|
export { PlaceModule as ɵl } from './lib/place/place.module';
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vbG9uLWFuZ3VsYXItdWktcG93ZXJ1cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJjb29sb24tYW5ndWxhci11aS1wb3dlcnVwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEseXJDQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsZ0JBQWdCLElBQUksR0FBRyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGFBQWEsSUFBSSxHQUFHLEVBQUMsUUFBUSxJQUFJLEdBQUcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRWhGLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUMvSCxPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEdBQUcsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNqSSxPQUFPLEVBQUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sZ0ZBQWdGLENBQUM7QUFDbEksT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEdBQUcsRUFBQyxNQUFNLGdHQUFnRyxDQUFDO0FBQ3pKLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUUvSCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxtQ0FBbUMsSUFBSSxHQUFHLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDakosT0FBTyxFQUFDLGdDQUFnQyxJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ2xILE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ3BJLE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRkFBa0YsQ0FBQztBQUN0SSxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBbUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7Q29tcG9uZW50c01vZHVsZSBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUnO1xuZXhwb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5leHBvcnQge0Fic3RyYWN0SW5wdXRDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm1zL2Fic3RyYWN0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQge051bWJlcklucHV0Q29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3Jtcy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQge1Bhc3N3b3JkSW5wdXRDb21wb25lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm1zL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQge1NlbGVjdElucHV0Q29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQge1N0cmluZ0lucHV0Q29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3Jtcy9zdHJpbmctaW5wdXQvc3RyaW5nLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQge05vb3BDb21wb25lbnQgYXMgybVrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL25vb3Avbm9vcC5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21tYW5kRGlyZWN0aXZlIGFzIMm1Yn0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jb21tYW5kLmRpcmVjdGl2ZSc7XG5leHBvcnQge0RpcmVjdGl2ZXNNb2R1bGUgYXMgybVhfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmV4cG9ydCB7Rm9jdXNCaW5kaW5nRGlyZWN0aXZlIGFzIMm1Y30gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9mb2N1cy1iaW5kaW5nLmRpcmVjdGl2ZSc7XG5leHBvcnQge0Fic3RyYWN0QWN0aXZpdHkgYXMgybViZX0gZnJvbSAnLi9saWIvaW50ZXJhY3Rpb24vYWJzdHJhY3QtYWN0aXZpdHknO1xuZXhwb3J0IHtBQ1RJVklUWV9EQVRBIGFzIMm1YmYsQWN0aXZpdHkgYXMgybViZ30gZnJvbSAnLi9saWIvaW50ZXJhY3Rpb24vYWN0aXZpdHknO1xuZXhwb3J0IHtBbGVydCBhcyDJtWJrfSBmcm9tICcuL2xpYi9pbnRlcmFjdGlvbi9hbGVydCc7XG5leHBvcnQge0FjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0IHtBY3Rpdml0eU91dGxldENvbXBvbmVudCBhcyDJtWJjfSBmcm9tICcuL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7QWxlcnREaWFsb2dDb21wb25lbnQgYXMgybVian0gZnJvbSAnLi9saWIvaW50ZXJhY3Rpb24vY29tcG9uZW50cy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge0NvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IGFzIMm1Yml9IGZyb20gJy4vbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge0NvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCBhcyDJtWJkfSBmcm9tICcuL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0IHtJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0L2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC5jb21wb25lbnQnO1xuZXhwb3J0IHtJbnRlcmFjdGlvbk91dGxldENvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2ludGVyYWN0aW9uLW91dGxldC9pbnRlcmFjdGlvbi1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7Q29uZmlybSBhcyDJtWJofSBmcm9tICcuL2xpYi9pbnRlcmFjdGlvbi9jb25maXJtJztcbmV4cG9ydCB7SW50ZXJhY3Rpb25Db250ZXh0IGFzIMm1dn0gZnJvbSAnLi9saWIvaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5leHBvcnQge0ludGVyYWN0aW9uTW9kdWxlIGFzIMm1YmF9IGZyb20gJy4vbGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLm1vZHVsZSc7XG5leHBvcnQge0RJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTIGFzIMm1Ym4sRGlhbG9nSW50ZXJhY3Rpb25TZXJ2aWNlIGFzIMm1Ym99IGZyb20gJy4vbGliL2ludGVyYWN0aW9uL3NlcnZpY2VzL2RpYWxvZy1pbnRlcmFjdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCB7QWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgYXMgybV5fSBmcm9tICcuL2xpYi9wbGFjZS9jb21wb25lbnRzL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7QnVzeU92ZXJsYXlDb21wb25lbnQgYXMgybVufSBmcm9tICcuL2xpYi9wbGFjZS9jb21wb25lbnRzL2J1c3ktb3ZlcmxheS9idXN5LW92ZXJsYXkuY29tcG9uZW50JztcbmV4cG9ydCB7RW1wdHlTdGF0ZUNvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL3BsYWNlL2NvbXBvbmVudHMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdFBsYWNlTmF2Q29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9saWIvcGxhY2UvY29tcG9uZW50cy9saXN0LXBsYWNlLW5hdi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQnO1xuZXhwb3J0IHtQbGFjZU91dGxldENvbXBvbmVudCBhcyDJtW99IGZyb20gJy4vbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQnO1xuZXhwb3J0IHtMRUZUX1JJR0hUX1BMQUNFX0FOSU1BVElPTiBhcyDJtXEsbGVmdFJpZ2h0UGxhY2VBbmltYXRpb24gYXMgybVwfSBmcm9tICcuL2xpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zJztcbmV4cG9ydCB7VGFiYmVkUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvcGxhY2UvY29tcG9uZW50cy90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtOYXZpZ2F0aW9uU2Vzc2lvbiBhcyDJtXV9IGZyb20gJy4vbGliL3BsYWNlL25hdmlnYXRpb24tc2Vzc2lvbic7XG5leHBvcnQge0FVUF9QTEFDRV9DT05GSUcgYXMgybVyLFBsYWNlQ29uZmlnIGFzIMm1c30gZnJvbSAnLi9saWIvcGxhY2UvcGxhY2UtY29uZmlnJztcbmV4cG9ydCB7UGxhY2VIaXN0b3J5IGFzIMm1d30gZnJvbSAnLi9saWIvcGxhY2UvcGxhY2UtaGlzdG9yeSc7XG5leHBvcnQge1BsYWNlUm91dGVyIGFzIMm1dH0gZnJvbSAnLi9saWIvcGxhY2UvcGxhY2Utcm91dGVyJztcbmV4cG9ydCB7UGxhY2VNb2R1bGUgYXMgybVsfSBmcm9tICcuL2xpYi9wbGFjZS9wbGFjZS5tb2R1bGUnOyJdfQ==
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Directive, ElementRef, HostListener, Inject, Input } from '@angular/core';
|
|
7
|
-
import { assert, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';
|
|
7
|
+
import { assert, DelegatingValueModel, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';
|
|
8
8
|
/**
|
|
9
9
|
* @template P
|
|
10
10
|
*/
|
|
@@ -13,9 +13,28 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
13
13
|
function CommandDirective(elementRef) {
|
|
14
14
|
var _this = _super.call(this) || this;
|
|
15
15
|
_this.elementRef = elementRef;
|
|
16
|
+
_this._commandEnabled = new DelegatingValueModel().withDefault(false);
|
|
16
17
|
_this._commandParameterProvided = false;
|
|
17
18
|
return _this;
|
|
18
19
|
}
|
|
20
|
+
Object.defineProperty(CommandDirective.prototype, "pectinCommand", {
|
|
21
|
+
get: /**
|
|
22
|
+
* @return {?}
|
|
23
|
+
*/
|
|
24
|
+
function () {
|
|
25
|
+
return this._command;
|
|
26
|
+
},
|
|
27
|
+
set: /**
|
|
28
|
+
* @param {?} command
|
|
29
|
+
* @return {?}
|
|
30
|
+
*/
|
|
31
|
+
function (command) {
|
|
32
|
+
this._command = command;
|
|
33
|
+
this._commandEnabled.setDelegate(command ? command.enabled : null);
|
|
34
|
+
},
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true
|
|
37
|
+
});
|
|
19
38
|
Object.defineProperty(CommandDirective.prototype, "commandParameter", {
|
|
20
39
|
get: /**
|
|
21
40
|
* @return {?}
|
|
@@ -64,7 +83,7 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
64
83
|
// for some reason mat-buttons kills the disabled host binding. It works on a regular button but for now
|
|
65
84
|
// we need to do this.
|
|
66
85
|
var chain = Dsl.disposeWith(this).chain;
|
|
67
|
-
chain(this.
|
|
86
|
+
chain(this._commandEnabled).subscribe((/**
|
|
68
87
|
* @param {?} enabled
|
|
69
88
|
* @return {?}
|
|
70
89
|
*/
|
|
@@ -134,8 +153,16 @@ var CommandDirective = /** @class */ (function (_super) {
|
|
|
134
153
|
}(GarbageCollector));
|
|
135
154
|
export { CommandDirective };
|
|
136
155
|
if (false) {
|
|
137
|
-
/**
|
|
138
|
-
|
|
156
|
+
/**
|
|
157
|
+
* @type {?}
|
|
158
|
+
* @private
|
|
159
|
+
*/
|
|
160
|
+
CommandDirective.prototype._command;
|
|
161
|
+
/**
|
|
162
|
+
* @type {?}
|
|
163
|
+
* @private
|
|
164
|
+
*/
|
|
165
|
+
CommandDirective.prototype._commandEnabled;
|
|
139
166
|
/**
|
|
140
167
|
* @type {?}
|
|
141
168
|
* @private
|
|
@@ -152,4 +179,4 @@ if (false) {
|
|
|
152
179
|
*/
|
|
153
180
|
CommandDirective.prototype.elementRef;
|
|
154
181
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9jb21tYW5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLE1BQU0sRUFBVyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRWxIO0lBSStDLDRDQUFnQjtJQTJCN0QsMEJBQXdDLFVBQXNCO1FBQTlELFlBQ0UsaUJBQU8sU0FDUjtRQUZ1QyxnQkFBVSxHQUFWLFVBQVUsQ0FBWTtRQXhCdEQscUJBQWUsR0FBRyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBWXpFLCtCQUF5QixHQUFHLEtBQUssQ0FBQzs7SUFjMUMsQ0FBQztJQXhCRCxzQkFDSSwyQ0FBYTs7OztRQUlqQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QixDQUFDOzs7OztRQVBELFVBQ2tCLE9BQXVDO1lBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsQ0FBQzs7O09BQUE7SUFRRCxzQkFDSSw4Q0FBZ0I7Ozs7UUFLcEI7WUFDRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNoQyxDQUFDOzs7OztRQVJELFVBQ3FCLEtBQVE7WUFDM0IsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztZQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLENBQUM7OztPQUFBOzs7O0lBVUQsbUNBQVE7OztJQUFSO1FBQ0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsYUFBYSxZQUFZLFlBQVksRUFBRTtZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO2dCQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLCtEQUErRCxDQUFDLENBQUM7YUFDcEY7U0FDRjthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsd0RBQXdELENBQUMsQ0FBQzthQUM3RTtTQUNGO0lBQ0gsQ0FBQzs7OztJQUVELDBDQUFlOzs7SUFBZjtRQUFBLGlCQWlCQzs7O1FBZFMsSUFBQSxtQ0FBSztRQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUzs7OztRQUFDLFVBQUEsT0FBTztZQUMzQyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxLQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFELElBQUksS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRTtvQkFDakQsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2lCQUN2RTthQUNGO2lCQUFNO2dCQUNMLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ25FLElBQUksS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRTtvQkFDakQsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN2RDthQUNGO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsc0NBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7Ozs7O0lBSUQsc0NBQVc7Ozs7SUFEWCxVQUNZLE1BQWE7UUFDdkIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNwQyxJQUFJLElBQUksQ0FBQyxhQUFhLFlBQVksWUFBWSxFQUFFO2dCQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUNsRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzdEO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7O2dCQXJGRixTQUFTLFNBQUM7O29CQUVULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzs7O2dCQU5rQyxVQUFVLHVCQWtDOUIsTUFBTSxTQUFDLFVBQVU7OztnQ0F0QjdCLEtBQUs7bUNBWUwsS0FBSzs4QkFtREwsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7SUFjbkMsdUJBQUM7Q0FBQSxBQXRGRCxDQUkrQyxnQkFBZ0IsR0FrRjlEO1NBbEZZLGdCQUFnQjs7Ozs7O0lBRTNCLG9DQUFpRDs7Ozs7SUFDakQsMkNBQWlGOzs7OztJQVdqRiw2Q0FBNkI7Ozs7O0lBQzdCLHFEQUEwQzs7Ozs7SUFZOUIsc0NBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnQsIENvbW1hbmQsIERlbGVnYXRpbmdWYWx1ZU1vZGVsLCBEc2wsIEdhcmJhZ2VDb2xsZWN0b3IsIGxhbmcsIFVuYXJ5Q29tbWFuZCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcGVjdGluQ29tbWFuZF0nXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmREaXJlY3RpdmU8UCA9IGFueT4gZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgX2NvbW1hbmQ6IENvbW1hbmQ8YW55PiB8IFVuYXJ5Q29tbWFuZDxQPjtcbiAgcHJpdmF0ZSBfY29tbWFuZEVuYWJsZWQgPSBuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdChmYWxzZSk7XG5cbiAgQElucHV0KClcbiAgc2V0IHBlY3RpbkNvbW1hbmQoY29tbWFuZDogQ29tbWFuZDxhbnk+IHwgVW5hcnlDb21tYW5kPFA+KSB7XG4gICAgdGhpcy5fY29tbWFuZCA9IGNvbW1hbmQ7XG4gICAgdGhpcy5fY29tbWFuZEVuYWJsZWQuc2V0RGVsZWdhdGUoY29tbWFuZCA/IGNvbW1hbmQuZW5hYmxlZCA6IG51bGwpO1xuICB9XG4gIGdldCBwZWN0aW5Db21tYW5kKCk6Q29tbWFuZDxhbnk+IHwgVW5hcnlDb21tYW5kPFA+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tbWFuZDtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbW1hbmRQYXJhbWV0ZXI6IFA7XG4gIHByaXZhdGUgX2NvbW1hbmRQYXJhbWV0ZXJQcm92aWRlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBjb21tYW5kUGFyYW1ldGVyKHZhbHVlOiBQKSB7XG4gICAgdGhpcy5fY29tbWFuZFBhcmFtZXRlclByb3ZpZGVkID0gdHJ1ZTtcbiAgICB0aGlzLl9jb21tYW5kUGFyYW1ldGVyID0gdmFsdWU7XG4gIH1cblxuICBnZXQgY29tbWFuZFBhcmFtZXRlcigpOiBQIHtcbiAgICByZXR1cm4gdGhpcy5fY29tbWFuZFBhcmFtZXRlcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGFzc2VydC5ub3ROaWwodGhpcy5wZWN0aW5Db21tYW5kKTtcbiAgICBpZiAodGhpcy5wZWN0aW5Db21tYW5kIGluc3RhbmNlb2YgVW5hcnlDb21tYW5kKSB7XG4gICAgICBpZiAoIXRoaXMuX2NvbW1hbmRQYXJhbWV0ZXJQcm92aWRlZCkge1xuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnVW5hcnlDb21tYW5kcyByZXF1aXJlZCB0aGUgY29tbWFuZCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkLicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fY29tbWFuZFBhcmFtZXRlclByb3ZpZGVkKSB7XG4gICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdjb21tYW5kIHBhcmFtZXRlcnMgYXJlIG9ubHkgc3VwcG9ydGVkIGJ5IFVuYXJ5Q29tbWFuZHMnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gZm9yIHNvbWUgcmVhc29uIG1hdC1idXR0b25zIGtpbGxzIHRoZSBkaXNhYmxlZCBob3N0IGJpbmRpbmcuICBJdCB3b3JrcyBvbiBhIHJlZ3VsYXIgYnV0dG9uIGJ1dCBmb3Igbm93XG4gICAgLy8gd2UgbmVlZCB0byBkbyB0aGlzLlxuICAgIGNvbnN0IHsgY2hhaW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBjaGFpbih0aGlzLl9jb21tYW5kRW5hYmxlZCkuc3Vic2NyaWJlKGVuYWJsZWQgPT4ge1xuICAgICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0EnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdocmVmJywgJ2phdmFzY3JpcHQ6dm9pZCcpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnQScpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG4gIH1cblxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgbm90aWZ5Q2xpY2soJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5wZWN0aW5Db21tYW5kLmVuYWJsZWQudmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLnBlY3RpbkNvbW1hbmQgaW5zdGFuY2VvZiBVbmFyeUNvbW1hbmQpIHtcbiAgICAgICAgdGhpcy5wZWN0aW5Db21tYW5kLndpdGhDb250ZXh0KHsgZXZlbnQ6ICRldmVudCB9KS5leGVjdXRlKHRoaXMuY29tbWFuZFBhcmFtZXRlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBlY3RpbkNvbW1hbmQud2l0aENvbnRleHQoeyBldmVudDogJGV2ZW50IH0pLmV4ZWN1dGUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdkaXNhYmxlZCBjb21tYW5kIGNsaWNrZWQsIGlnbm9yaW5nLicpO1xuICAgIH1cbiAgfVxufVxuIl19
|