@coolon/angular-ui-powerups 0.0.66 → 0.0.68
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 +2207 -1737
- 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 +24 -22
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +24 -22
- package/esm2015/index.js +2 -2
- package/esm2015/lib/angular-ui-powerups.module.js +6 -3
- package/esm2015/lib/components/index.js +2 -1
- package/esm2015/lib/components/noop/noop.component.js +19 -0
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
- package/esm2015/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +19 -0
- package/esm2015/lib/interaction/guards/interaction-guard.service.js +85 -0
- package/esm2015/lib/interaction/index.js +3 -2
- package/esm2015/lib/interaction/interaction.module.js +8 -3
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +30 -5
- package/esm2015/lib/place/components/abstract-place-navigation.component.js +5 -5
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +60 -66
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
- package/esm2015/lib/place/index.js +9 -8
- package/esm2015/lib/place/navigation-session.js +147 -0
- package/esm2015/lib/place/place-component.js +18 -14
- package/esm2015/lib/place/place-definition.js +197 -5
- package/esm2015/lib/place/place-history.js +3 -2
- package/esm2015/lib/place/place-router.js +186 -89
- package/esm2015/lib/place/route/formatter.js +63 -0
- package/esm2015/lib/place/route/guards/leave-place.guard.js +193 -0
- package/esm2015/lib/place/route/guards/place-route.guard.js +243 -0
- package/esm2015/lib/place/route/parameter-decorators.js +35 -18
- package/esm2015/lib/place/route/parameter-definition.class.js +123 -67
- package/esm2015/lib/place/route/parameter-sanitiser.js +4 -3
- package/esm2015/lib/place/route/parameter-snapshot.js +11 -388
- package/esm2015/lib/place/route/visit-sanitiser.js +88 -0
- package/esm2015/lib/place/visit.js +107 -8
- package/esm2015/public_api.js +4 -4
- package/esm5/coolon-angular-ui-powerups.js +24 -22
- package/esm5/index.js +2 -2
- package/esm5/lib/angular-ui-powerups.module.js +6 -3
- package/esm5/lib/components/index.js +2 -1
- package/esm5/lib/components/noop/noop.component.js +21 -0
- package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
- package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
- package/esm5/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +21 -0
- package/esm5/lib/interaction/guards/interaction-guard.service.js +94 -0
- package/esm5/lib/interaction/index.js +3 -2
- package/esm5/lib/interaction/interaction.module.js +8 -3
- package/esm5/lib/interaction/services/dialog-interaction.service.js +28 -5
- package/esm5/lib/place/components/abstract-place-navigation.component.js +5 -5
- package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +70 -82
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
- package/esm5/lib/place/index.js +9 -8
- package/esm5/lib/place/navigation-session.js +193 -0
- package/esm5/lib/place/place-component.js +19 -15
- package/esm5/lib/place/place-definition.js +253 -5
- package/esm5/lib/place/place-history.js +7 -3
- package/esm5/lib/place/place-router.js +242 -107
- package/esm5/lib/place/route/formatter.js +96 -0
- package/esm5/lib/place/route/guards/leave-place.guard.js +152 -0
- package/esm5/lib/place/route/guards/place-route.guard.js +273 -0
- package/esm5/lib/place/route/parameter-decorators.js +35 -18
- package/esm5/lib/place/route/parameter-definition.class.js +179 -76
- package/esm5/lib/place/route/parameter-sanitiser.js +4 -3
- package/esm5/lib/place/route/parameter-snapshot.js +11 -480
- package/esm5/lib/place/route/visit-sanitiser.js +99 -0
- package/esm5/lib/place/visit.js +160 -8
- package/esm5/public_api.js +4 -4
- package/fesm2015/coolon-angular-ui-powerups.js +1493 -1124
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +2166 -1700
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/noop/noop.component.d.ts +3 -0
- package/lib/interaction/components/interaction-outlet/interaction-outlet.component.d.ts +3 -0
- package/lib/interaction/guards/interaction-guard.service.d.ts +13 -0
- package/lib/interaction/index.d.ts +2 -1
- package/lib/interaction/services/dialog-interaction.service.d.ts +5 -1
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +12 -12
- package/lib/place/index.d.ts +5 -4
- package/lib/place/navigation-session.d.ts +26 -0
- package/lib/place/place-component.d.ts +3 -3
- package/lib/place/place-definition.d.ts +30 -3
- package/lib/place/place-history.d.ts +3 -3
- package/lib/place/place-router.d.ts +26 -19
- package/lib/place/route/{parameter-type.d.ts → formatter.d.ts} +5 -5
- package/lib/place/{guards → route/guards}/leave-place.guard.d.ts +4 -3
- package/lib/place/route/guards/place-route.guard.d.ts +27 -0
- package/lib/place/route/parameter-decorators.d.ts +14 -6
- package/lib/place/route/parameter-definition.class.d.ts +21 -17
- package/lib/place/route/parameter-sanitiser.d.ts +3 -2
- package/lib/place/route/parameter-snapshot.d.ts +4 -26
- package/lib/place/route/visit-sanitiser.d.ts +12 -0
- package/lib/place/visit.d.ts +24 -3
- package/package.json +1 -1
- package/schematics/place-routes/place-class-scanner.d.ts +2 -2
- package/schematics/place-routes/place-class-scanner.js +7 -7
- package/schematics/place-routes/place-class-scanner.js.map +1 -1
- package/schematics/place-routes/place-def.d.ts +3 -2
- package/schematics/place-routes/place-def.js +21 -12
- package/schematics/place-routes/place-def.js.map +1 -1
- package/schematics/place-routes/templates/place-destinations.ts.template +5 -3
- package/schematics/place-routes/templates/place-routes.ts.template +10 -1
- package/schematics/place-routes/templates/place-visits.ts.template +21 -0
- package/esm2015/lib/interaction/guards/close-interaction.guard.js +0 -62
- package/esm2015/lib/place/guards/leave-place.guard.js +0 -159
- package/esm2015/lib/place/guards/place-route.guard.js +0 -74
- package/esm2015/lib/place/route/parameter-type.js +0 -61
- package/esm2015/lib/place/route/route-parameter-value.js +0 -230
- package/esm5/lib/interaction/guards/close-interaction.guard.js +0 -66
- package/esm5/lib/place/guards/leave-place.guard.js +0 -117
- package/esm5/lib/place/guards/place-route.guard.js +0 -78
- package/esm5/lib/place/route/parameter-type.js +0 -94
- package/esm5/lib/place/route/route-parameter-value.js +0 -316
- package/lib/interaction/guards/close-interaction.guard.d.ts +0 -12
- package/lib/place/guards/place-route.guard.d.ts +0 -10
- package/lib/place/route/route-parameter-value.d.ts +0 -42
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
|
|
7
|
-
import _ from 'lodash';
|
|
8
|
-
/**
|
|
9
|
-
* @abstract
|
|
10
|
-
* @template S, T, R
|
|
11
|
-
*/
|
|
12
|
-
export class RouteParameterValue {
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} definition
|
|
15
|
-
* @param {?} rawValue
|
|
16
|
-
*/
|
|
17
|
-
constructor(definition, rawValue) {
|
|
18
|
-
this.definition = definition;
|
|
19
|
-
this.rawValue = rawValue;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
isRouteId() {
|
|
25
|
-
return this.definition.isRouteId;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @param {?} otherValue
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
hasChanged(otherValue) {
|
|
32
|
-
return this.isEmpty() ?
|
|
33
|
-
!this.isEmptyValue(otherValue) :
|
|
34
|
-
this.isEmptyValue(otherValue) || !this.isSameValue(otherValue);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Return's true if the current value is empty.
|
|
38
|
-
* @return {?}
|
|
39
|
-
*/
|
|
40
|
-
isEmpty() {
|
|
41
|
-
return this.isEmptyValue(this.value);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Returns true if the rawValue is undefined. This
|
|
45
|
-
* @return {?}
|
|
46
|
-
*/
|
|
47
|
-
isMissing() {
|
|
48
|
-
return _.isUndefined(this.rawValue);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* @param {?} visit
|
|
52
|
-
* @param {?} injector
|
|
53
|
-
* @return {?}
|
|
54
|
-
*/
|
|
55
|
-
sanitise(visit, injector) {
|
|
56
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
/** @type {?} */
|
|
58
|
-
const sanitiser = this.definition.getSanitiser(injector);
|
|
59
|
-
if (sanitiser) {
|
|
60
|
-
return sanitiser.sanitise(this, visit);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
return this.value;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (false) {
|
|
69
|
-
/** @type {?} */
|
|
70
|
-
RouteParameterValue.prototype.value;
|
|
71
|
-
/** @type {?} */
|
|
72
|
-
RouteParameterValue.prototype.definition;
|
|
73
|
-
/**
|
|
74
|
-
* @type {?}
|
|
75
|
-
* @protected
|
|
76
|
-
*/
|
|
77
|
-
RouteParameterValue.prototype.rawValue;
|
|
78
|
-
/**
|
|
79
|
-
* @abstract
|
|
80
|
-
* @param {?} otherValue
|
|
81
|
-
* @return {?}
|
|
82
|
-
*/
|
|
83
|
-
RouteParameterValue.prototype.isSameValue = function (otherValue) { };
|
|
84
|
-
/**
|
|
85
|
-
* @abstract
|
|
86
|
-
* @return {?}
|
|
87
|
-
*/
|
|
88
|
-
RouteParameterValue.prototype.formattedValue = function () { };
|
|
89
|
-
/**
|
|
90
|
-
* @abstract
|
|
91
|
-
* @param {?} value
|
|
92
|
-
* @return {?}
|
|
93
|
-
*/
|
|
94
|
-
RouteParameterValue.prototype.replace = function (value) { };
|
|
95
|
-
/**
|
|
96
|
-
* @abstract
|
|
97
|
-
* @param {?} value
|
|
98
|
-
* @return {?}
|
|
99
|
-
*/
|
|
100
|
-
RouteParameterValue.prototype.isEmptyValue = function (value) { };
|
|
101
|
-
}
|
|
102
|
-
(function (RouteParameterValue) {
|
|
103
|
-
/**
|
|
104
|
-
* @template T
|
|
105
|
-
* @param {?} def
|
|
106
|
-
* @param {?} paramMap
|
|
107
|
-
* @return {?}
|
|
108
|
-
*/
|
|
109
|
-
function create(def, paramMap) {
|
|
110
|
-
// NOTE: Using undefined is important as it triggers the isMissing flag which is used by defaultValue and remember flags
|
|
111
|
-
if (def.isArray) {
|
|
112
|
-
return new RouteParameterValue.Array(def, paramMap.has(def.name) ? paramMap.getAll(def.name) : undefined);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
/** @type {?} */
|
|
116
|
-
let rawValue = paramMap.has(def.name) ? paramMap.get(def.name) : undefined;
|
|
117
|
-
// route ids are always present so we have to check if it's empty to flag it as missing..
|
|
118
|
-
rawValue = def.isRouteId && _.isEmpty(rawValue) ? undefined : rawValue;
|
|
119
|
-
return new RouteParameterValue.Scalar(def, rawValue);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
RouteParameterValue.create = create;
|
|
123
|
-
/**
|
|
124
|
-
* @template T
|
|
125
|
-
*/
|
|
126
|
-
class Scalar extends RouteParameterValue {
|
|
127
|
-
/**
|
|
128
|
-
* @return {?}
|
|
129
|
-
*/
|
|
130
|
-
get value() {
|
|
131
|
-
return this.definition.type.parse(this.rawValue);
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* @param {?} otherValue
|
|
135
|
-
* @return {?}
|
|
136
|
-
*/
|
|
137
|
-
isSameValue(otherValue) {
|
|
138
|
-
return this.value === otherValue;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* @param {?} value
|
|
142
|
-
* @return {?}
|
|
143
|
-
*/
|
|
144
|
-
replace(value) {
|
|
145
|
-
return new RouteParameterValue.Scalar(this.definition, this.isEmptyValue(value) ? undefined : this.definition.type.format(value));
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* @return {?}
|
|
149
|
-
*/
|
|
150
|
-
formattedValue() {
|
|
151
|
-
return this.isEmpty() ? undefined : this.definition.type.format(this.value);
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* @param {?} value
|
|
155
|
-
* @return {?}
|
|
156
|
-
*/
|
|
157
|
-
isEmptyValue(value) {
|
|
158
|
-
return _.isNil(value);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
tslib_1.__decorate([
|
|
162
|
-
Memoize(),
|
|
163
|
-
tslib_1.__metadata("design:type", Object),
|
|
164
|
-
tslib_1.__metadata("design:paramtypes", [])
|
|
165
|
-
], Scalar.prototype, "value", null);
|
|
166
|
-
RouteParameterValue.Scalar = Scalar;
|
|
167
|
-
/**
|
|
168
|
-
* @template T
|
|
169
|
-
*/
|
|
170
|
-
class Array extends RouteParameterValue {
|
|
171
|
-
/**
|
|
172
|
-
* @return {?}
|
|
173
|
-
*/
|
|
174
|
-
get value() {
|
|
175
|
-
return (this.rawValue || [])
|
|
176
|
-
.filter((/**
|
|
177
|
-
* @param {?} s
|
|
178
|
-
* @return {?}
|
|
179
|
-
*/
|
|
180
|
-
s => !_.isEmpty(s)))
|
|
181
|
-
.map((/**
|
|
182
|
-
* @param {?} raw
|
|
183
|
-
* @return {?}
|
|
184
|
-
*/
|
|
185
|
-
raw => this.definition.type.parse(raw)));
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* @param {?} otherValue
|
|
189
|
-
* @return {?}
|
|
190
|
-
*/
|
|
191
|
-
isSameValue(otherValue) {
|
|
192
|
-
return _.isEqual(this.value, otherValue);
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* @param {?} value
|
|
196
|
-
* @return {?}
|
|
197
|
-
*/
|
|
198
|
-
replace(value) {
|
|
199
|
-
return new RouteParameterValue.Array(this.definition, this.isEmptyValue(value) ? undefined : value.map((/**
|
|
200
|
-
* @param {?} v
|
|
201
|
-
* @return {?}
|
|
202
|
-
*/
|
|
203
|
-
v => this.definition.type.format(v))));
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* @return {?}
|
|
207
|
-
*/
|
|
208
|
-
formattedValue() {
|
|
209
|
-
return this.isEmpty() ? [] : this.value.map((/**
|
|
210
|
-
* @param {?} v
|
|
211
|
-
* @return {?}
|
|
212
|
-
*/
|
|
213
|
-
v => this.definition.type.format(v)));
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* @param {?} value
|
|
217
|
-
* @return {?}
|
|
218
|
-
*/
|
|
219
|
-
isEmptyValue(value) {
|
|
220
|
-
return _.isNil(value) || value.length < 1;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
tslib_1.__decorate([
|
|
224
|
-
Memoize(),
|
|
225
|
-
tslib_1.__metadata("design:type", Array),
|
|
226
|
-
tslib_1.__metadata("design:paramtypes", [])
|
|
227
|
-
], Array.prototype, "value", null);
|
|
228
|
-
RouteParameterValue.Array = Array;
|
|
229
|
-
})(RouteParameterValue || (RouteParameterValue = {}));
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGFyYW1ldGVyLXZhbHVlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3JvdXRlLXBhcmFtZXRlci12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7O0FBSXZCLE1BQU0sT0FBZ0IsbUJBQW1COzs7OztJQUN2QyxZQUFxQixVQUFxQyxFQUFxQixRQUFXO1FBQXJFLGVBQVUsR0FBVixVQUFVLENBQTJCO1FBQXFCLGFBQVEsR0FBUixRQUFRLENBQUc7SUFDMUYsQ0FBQzs7OztJQUlELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLFVBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNyQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDOzs7OztJQUtELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Ozs7O0lBS0QsU0FBUztRQUNQLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7Ozs7O0lBVUssUUFBUSxDQUFDLEtBQVksRUFBRSxRQUFrQjs7O2tCQUN2QyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ3hELElBQUksU0FBUyxFQUFFO2dCQUNiLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDeEM7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ25CO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7OztJQTFDQyxvQ0FBMkI7O0lBSGYseUNBQThDOzs7OztJQUFFLHVDQUE4Qjs7Ozs7O0lBNkIxRixzRUFBNkM7Ozs7O0lBRTdDLCtEQUE2Qzs7Ozs7O0lBRTdDLDZEQUEyRDs7Ozs7O0lBRTNELGtFQUF5Qzs7QUFhM0MsV0FBaUIsbUJBQW1COzs7Ozs7O0lBRWxDLFNBQWdCLE1BQU0sQ0FBSSxHQUFnQyxFQUFFLFFBQWtCO1FBQzVFLHdIQUF3SDtRQUN4SCxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7WUFDZixPQUFPLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFJLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlHO2FBQU07O2dCQUNELFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDMUUseUZBQXlGO1lBQ3pGLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ3ZFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUksR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQVZlLDBCQUFNLFNBVXJCLENBQUE7Ozs7SUFFRCxNQUFhLE1BQVUsU0FBUSxtQkFBaUM7Ozs7UUFHOUQsSUFBSSxLQUFLO1lBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELENBQUM7Ozs7O1FBRUQsV0FBVyxDQUFDLFVBQWE7WUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQztRQUNuQyxDQUFDOzs7OztRQUVELE9BQU8sQ0FBQyxLQUFRO1lBQ2QsT0FBTyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sQ0FBSSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdkksQ0FBQzs7OztRQUVELGNBQWM7WUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlFLENBQUM7Ozs7O1FBRUQsWUFBWSxDQUFDLEtBQVE7WUFDbkIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLENBQUM7S0FDRjtJQW5CQztRQURDLE9BQU8sRUFBRTs7O3VDQUdUO0lBTFUsMEJBQU0sU0FzQmxCLENBQUE7Ozs7SUFFRCxNQUFhLEtBQVMsU0FBUSxtQkFBcUM7Ozs7UUFHakUsSUFBSSxLQUFLO1lBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO2lCQUN6QixNQUFNOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUM7aUJBQzFCLEdBQUc7Ozs7WUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDO1FBQ2pELENBQUM7Ozs7O1FBRUQsV0FBVyxDQUFDLFVBQWU7WUFDekIsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0MsQ0FBQzs7Ozs7UUFFRCxPQUFPLENBQUMsS0FBVTtZQUNoQixPQUFPLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRzs7OztZQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUNsSixDQUFDOzs7O1FBRUQsY0FBYztZQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRzs7OztZQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7UUFDbkYsQ0FBQzs7Ozs7UUFFRCxZQUFZLENBQUMsS0FBVTtZQUNyQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDNUMsQ0FBQztLQUVGO0lBdEJDO1FBREMsT0FBTyxFQUFFOzs7c0NBS1Q7SUFQVSx5QkFBSyxRQXlCakIsQ0FBQTtBQUNILENBQUMsRUFoRWdCLG1CQUFtQixLQUFuQixtQkFBbUIsUUFnRW5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhcmFtTWFwIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3IvZGlzdC9zcmMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUm91dGVQYXJhbWV0ZXJWYWx1ZTxTLCBULCBSIGV4dGVuZHMgc3RyaW5nIHwgc3RyaW5nW10+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGVmaW5pdGlvbjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiwgcHJvdGVjdGVkIHJlYWRvbmx5IHJhd1ZhbHVlOiBSKSB7XG4gIH1cblxuICBhYnN0cmFjdCByZWFkb25seSB2YWx1ZTogUztcblxuICBpc1JvdXRlSWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbi5pc1JvdXRlSWQ7XG4gIH1cblxuICBoYXNDaGFuZ2VkKG90aGVyVmFsdWU6IFMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0VtcHR5KCkgP1xuICAgICAgIXRoaXMuaXNFbXB0eVZhbHVlKG90aGVyVmFsdWUpIDpcbiAgICAgIHRoaXMuaXNFbXB0eVZhbHVlKG90aGVyVmFsdWUpIHx8ICF0aGlzLmlzU2FtZVZhbHVlKG90aGVyVmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybidzIHRydWUgaWYgdGhlIGN1cnJlbnQgdmFsdWUgaXMgZW1wdHkuXG4gICAqL1xuICBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRW1wdHlWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHJhd1ZhbHVlIGlzIHVuZGVmaW5lZC4gIFRoaXNcbiAgICovXG4gIGlzTWlzc2luZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gXy5pc1VuZGVmaW5lZCh0aGlzLnJhd1ZhbHVlKTtcbiAgfVxuXG4gIGFic3RyYWN0IGlzU2FtZVZhbHVlKG90aGVyVmFsdWU6IFMpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIGFic3RyYWN0IHJlcGxhY2UodmFsdWU6IFMpOiBSb3V0ZVBhcmFtZXRlclZhbHVlPFMsIFQsIGFueT47XG5cbiAgYWJzdHJhY3QgaXNFbXB0eVZhbHVlKHZhbHVlOiBTKTogYm9vbGVhbjtcblxuICBhc3luYyBzYW5pdGlzZSh2aXNpdDogVmlzaXQsIGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8Uz4ge1xuICAgIGNvbnN0IHNhbml0aXNlciA9IHRoaXMuZGVmaW5pdGlvbi5nZXRTYW5pdGlzZXIoaW5qZWN0b3IpO1xuICAgIGlmIChzYW5pdGlzZXIpIHtcbiAgICAgIHJldHVybiBzYW5pdGlzZXIuc2FuaXRpc2UodGhpcywgdmlzaXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuXG5leHBvcnQgbmFtZXNwYWNlIFJvdXRlUGFyYW1ldGVyVmFsdWUge1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGU8VD4oZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIGFueT4sIHBhcmFtTWFwOiBQYXJhbU1hcCk6IFJvdXRlUGFyYW1ldGVyVmFsdWU8YW55LCBhbnksIGFueT4ge1xuICAgIC8vIE5PVEU6IFVzaW5nIHVuZGVmaW5lZCBpcyBpbXBvcnRhbnQgYXMgaXQgdHJpZ2dlcnMgdGhlIGlzTWlzc2luZyBmbGFnIHdoaWNoIGlzIHVzZWQgYnkgZGVmYXVsdFZhbHVlIGFuZCByZW1lbWJlciBmbGFnc1xuICAgIGlmIChkZWYuaXNBcnJheSkge1xuICAgICAgcmV0dXJuIG5ldyBSb3V0ZVBhcmFtZXRlclZhbHVlLkFycmF5PFQ+KGRlZiwgcGFyYW1NYXAuaGFzKGRlZi5uYW1lKSA/IHBhcmFtTWFwLmdldEFsbChkZWYubmFtZSkgOiB1bmRlZmluZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgcmF3VmFsdWUgPSBwYXJhbU1hcC5oYXMoZGVmLm5hbWUpID8gcGFyYW1NYXAuZ2V0KGRlZi5uYW1lKSA6IHVuZGVmaW5lZDtcbiAgICAgIC8vIHJvdXRlIGlkcyBhcmUgYWx3YXlzIHByZXNlbnQgc28gd2UgaGF2ZSB0byBjaGVjayBpZiBpdCdzIGVtcHR5IHRvIGZsYWcgaXQgYXMgbWlzc2luZy4uXG4gICAgICByYXdWYWx1ZSA9IGRlZi5pc1JvdXRlSWQgJiYgXy5pc0VtcHR5KHJhd1ZhbHVlKSA/IHVuZGVmaW5lZCA6IHJhd1ZhbHVlO1xuICAgICAgcmV0dXJuIG5ldyBSb3V0ZVBhcmFtZXRlclZhbHVlLlNjYWxhcjxUPihkZWYsIHJhd1ZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgU2NhbGFyPFQ+IGV4dGVuZHMgUm91dGVQYXJhbWV0ZXJWYWx1ZTxULCBULCBzdHJpbmc+IHtcblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgdmFsdWUoKTogVCB7XG4gICAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9uLnR5cGUucGFyc2UodGhpcy5yYXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgaXNTYW1lVmFsdWUob3RoZXJWYWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG90aGVyVmFsdWU7XG4gICAgfVxuXG4gICAgcmVwbGFjZSh2YWx1ZTogVCk6IFJvdXRlUGFyYW1ldGVyVmFsdWU8VCwgVCwgc3RyaW5nPiB7XG4gICAgICByZXR1cm4gbmV3IFJvdXRlUGFyYW1ldGVyVmFsdWUuU2NhbGFyPFQ+KHRoaXMuZGVmaW5pdGlvbiwgdGhpcy5pc0VtcHR5VmFsdWUodmFsdWUpID8gdW5kZWZpbmVkIDogdGhpcy5kZWZpbml0aW9uLnR5cGUuZm9ybWF0KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmlzRW1wdHkoKSA/IHVuZGVmaW5lZCA6IHRoaXMuZGVmaW5pdGlvbi50eXBlLmZvcm1hdCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBpc0VtcHR5VmFsdWUodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBfLmlzTmlsKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXJyYXk8VD4gZXh0ZW5kcyBSb3V0ZVBhcmFtZXRlclZhbHVlPFRbXSwgVCwgc3RyaW5nW10+IHtcblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgdmFsdWUoKTogVFtdIHtcbiAgICAgIHJldHVybiAodGhpcy5yYXdWYWx1ZSB8fCBbXSlcbiAgICAgICAgLmZpbHRlcihzID0+ICFfLmlzRW1wdHkocykpXG4gICAgICAgIC5tYXAocmF3ID0+IHRoaXMuZGVmaW5pdGlvbi50eXBlLnBhcnNlKHJhdykpO1xuICAgIH1cblxuICAgIGlzU2FtZVZhbHVlKG90aGVyVmFsdWU6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIF8uaXNFcXVhbCh0aGlzLnZhbHVlLCBvdGhlclZhbHVlKTtcbiAgICB9XG5cbiAgICByZXBsYWNlKHZhbHVlOiBUW10pOiBSb3V0ZVBhcmFtZXRlclZhbHVlPFRbXSwgVCwgc3RyaW5nW10+IHtcbiAgICAgIHJldHVybiBuZXcgUm91dGVQYXJhbWV0ZXJWYWx1ZS5BcnJheTxUPih0aGlzLmRlZmluaXRpb24sIHRoaXMuaXNFbXB0eVZhbHVlKHZhbHVlKSA/IHVuZGVmaW5lZCA6IHZhbHVlLm1hcCh2ID0+IHRoaXMuZGVmaW5pdGlvbi50eXBlLmZvcm1hdCh2KSkpO1xuICAgIH1cblxuICAgIGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZ1tdIHtcbiAgICAgIHJldHVybiB0aGlzLmlzRW1wdHkoKSA/IFtdIDogdGhpcy52YWx1ZS5tYXAodiA9PiB0aGlzLmRlZmluaXRpb24udHlwZS5mb3JtYXQodikpO1xuICAgIH1cblxuICAgIGlzRW1wdHlWYWx1ZSh2YWx1ZTogVFtdKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gXy5pc05pbCh2YWx1ZSkgfHwgdmFsdWUubGVuZ3RoIDwgMTtcbiAgICB9XG5cbiAgfVxufVxuIl19
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Injectable, Injector } from '@angular/core';
|
|
6
|
-
import { Router } from '@angular/router';
|
|
7
|
-
import { InteractionContext } from '../interaction-context';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/router";
|
|
10
|
-
import * as i2 from "../interaction-context";
|
|
11
|
-
var CloseInteractionGuard = /** @class */ (function () {
|
|
12
|
-
function CloseInteractionGuard(router, injector, interactionContext) {
|
|
13
|
-
this.router = router;
|
|
14
|
-
this.injector = injector;
|
|
15
|
-
this.interactionContext = interactionContext;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* @param {?} component
|
|
19
|
-
* @param {?} currentRoute
|
|
20
|
-
* @param {?} currentState
|
|
21
|
-
* @param {?=} nextState
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
CloseInteractionGuard.prototype.canDeactivate = /**
|
|
25
|
-
* @param {?} component
|
|
26
|
-
* @param {?} currentRoute
|
|
27
|
-
* @param {?} currentState
|
|
28
|
-
* @param {?=} nextState
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
function (component, currentRoute, currentState, nextState) {
|
|
32
|
-
return !this.interactionContext.isActive();
|
|
33
|
-
};
|
|
34
|
-
CloseInteractionGuard.decorators = [
|
|
35
|
-
{ type: Injectable, args: [{
|
|
36
|
-
providedIn: 'root'
|
|
37
|
-
},] }
|
|
38
|
-
];
|
|
39
|
-
/** @nocollapse */
|
|
40
|
-
CloseInteractionGuard.ctorParameters = function () { return [
|
|
41
|
-
{ type: Router },
|
|
42
|
-
{ type: Injector },
|
|
43
|
-
{ type: InteractionContext }
|
|
44
|
-
]; };
|
|
45
|
-
/** @nocollapse */ CloseInteractionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function CloseInteractionGuard_Factory() { return new CloseInteractionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.InteractionContext)); }, token: CloseInteractionGuard, providedIn: "root" });
|
|
46
|
-
return CloseInteractionGuard;
|
|
47
|
-
}());
|
|
48
|
-
export { CloseInteractionGuard };
|
|
49
|
-
if (false) {
|
|
50
|
-
/**
|
|
51
|
-
* @type {?}
|
|
52
|
-
* @private
|
|
53
|
-
*/
|
|
54
|
-
CloseInteractionGuard.prototype.router;
|
|
55
|
-
/**
|
|
56
|
-
* @type {?}
|
|
57
|
-
* @private
|
|
58
|
-
*/
|
|
59
|
-
CloseInteractionGuard.prototype.injector;
|
|
60
|
-
/**
|
|
61
|
-
* @type {?}
|
|
62
|
-
* @private
|
|
63
|
-
*/
|
|
64
|
-
CloseInteractionGuard.prototype.interactionContext;
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtaW50ZXJhY3Rpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vZ3VhcmRzL2Nsb3NlLWludGVyYWN0aW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQXlDLE1BQU0sRUFBZ0MsTUFBTSxpQkFBaUIsQ0FBQztBQUc5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUc1RDtJQUtFLCtCQUFvQixNQUFjLEVBQVUsUUFBa0IsRUFBbUIsa0JBQXNDO1FBQW5HLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQW1CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFDdkgsQ0FBQzs7Ozs7Ozs7SUFFRCw2Q0FBYTs7Ozs7OztJQUFiLFVBQWMsU0FBeUIsRUFBRSxZQUFvQyxFQUFFLFlBQWlDLEVBQUUsU0FBK0I7UUFDL0ksT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUM1QyxDQUFDOztnQkFWRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVIrQyxNQUFNO2dCQURqQyxRQUFRO2dCQUlwQixrQkFBa0I7OztnQ0FKM0I7Q0FtQkMsQUFaRCxJQVlDO1NBVFkscUJBQXFCOzs7Ozs7SUFFcEIsdUNBQXNCOzs7OztJQUFFLHlDQUEwQjs7Ozs7SUFBRSxtREFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UvcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENsb3NlSW50ZXJhY3Rpb25HdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSByZWFkb25seSBpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCkge1xuICB9XG5cbiAgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgcmV0dXJuICF0aGlzLmludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpXG4gIH1cblxufVxuIl19
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Location } from '@angular/common';
|
|
7
|
-
import { Injectable, Injector } from '@angular/core';
|
|
8
|
-
import { Router } from '@angular/router';
|
|
9
|
-
import { InteractionContext } from '../../interaction/interaction-context';
|
|
10
|
-
import { PlaceRouter } from '../place-router';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/router";
|
|
13
|
-
import * as i2 from "../place-router";
|
|
14
|
-
import * as i3 from "../../interaction/interaction-context";
|
|
15
|
-
import * as i4 from "@angular/common";
|
|
16
|
-
var LeavePlaceGuard = /** @class */ (function () {
|
|
17
|
-
function LeavePlaceGuard(router, injector, placeRouter, interactionContext, angularLocation) {
|
|
18
|
-
this.router = router;
|
|
19
|
-
this.injector = injector;
|
|
20
|
-
this.placeRouter = placeRouter;
|
|
21
|
-
this.interactionContext = interactionContext;
|
|
22
|
-
this.angularLocation = angularLocation;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* @param {?} component
|
|
26
|
-
* @param {?} currentRoute
|
|
27
|
-
* @param {?} currentState
|
|
28
|
-
* @param {?=} nextState
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
LeavePlaceGuard.prototype.canDeactivate = /**
|
|
32
|
-
* @param {?} component
|
|
33
|
-
* @param {?} currentRoute
|
|
34
|
-
* @param {?} currentState
|
|
35
|
-
* @param {?=} nextState
|
|
36
|
-
* @return {?}
|
|
37
|
-
*/
|
|
38
|
-
function (component, currentRoute, currentState, nextState) {
|
|
39
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
40
|
-
var placeDefinitionPath, self_1, canLeave;
|
|
41
|
-
return tslib_1.__generator(this, function (_a) {
|
|
42
|
-
switch (_a.label) {
|
|
43
|
-
case 0:
|
|
44
|
-
placeDefinitionPath = "/" + component.placeDefinition.path;
|
|
45
|
-
if (!this.placeRouter.navigationSession.alreadyAccepted(component)) return [3 /*break*/, 1];
|
|
46
|
-
return [2 /*return*/, true];
|
|
47
|
-
case 1:
|
|
48
|
-
if (!!nextState.url.startsWith(placeDefinitionPath)) return [3 /*break*/, 3];
|
|
49
|
-
self_1 = this;
|
|
50
|
-
return [4 /*yield*/, component.canDeactivate()];
|
|
51
|
-
case 2:
|
|
52
|
-
canLeave = _a.sent();
|
|
53
|
-
// component is happy to leave but we need to check if it's left an interaction
|
|
54
|
-
// open. If so we close and stay where we are.
|
|
55
|
-
if (canLeave && this.interactionContext.isActive()) {
|
|
56
|
-
canLeave = false;
|
|
57
|
-
console.log("cancelling", { activity: this.interactionContext.currentActivity });
|
|
58
|
-
this.interactionContext.currentActivity.cancel(null);
|
|
59
|
-
}
|
|
60
|
-
// If we're still leaving then remember it since angular will call this method multiple
|
|
61
|
-
// times if any route parameters are changed along the way.
|
|
62
|
-
if (canLeave) {
|
|
63
|
-
self_1.placeRouter.navigationSession.rememberAcceptanceOf(component);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
// Angular doesn't preserve the url when a guard cancels the back button.
|
|
67
|
-
// See https://github.com/angular/angular/issues/13586#issuecomment-432795720
|
|
68
|
-
if (this.placeRouter.navigationSession.isPopState) {
|
|
69
|
-
console.log('cancelled during popstate');
|
|
70
|
-
this.angularLocation.go(this.placeRouter.navigationSession.initialUrl);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return [2 /*return*/, canLeave];
|
|
74
|
-
case 3: return [2 /*return*/, true];
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
LeavePlaceGuard.decorators = [
|
|
80
|
-
{ type: Injectable, args: [{
|
|
81
|
-
providedIn: 'root'
|
|
82
|
-
},] }
|
|
83
|
-
];
|
|
84
|
-
/** @nocollapse */
|
|
85
|
-
LeavePlaceGuard.ctorParameters = function () { return [
|
|
86
|
-
{ type: Router },
|
|
87
|
-
{ type: Injector },
|
|
88
|
-
{ type: PlaceRouter },
|
|
89
|
-
{ type: InteractionContext },
|
|
90
|
-
{ type: Location }
|
|
91
|
-
]; };
|
|
92
|
-
/** @nocollapse */ LeavePlaceGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LeavePlaceGuard_Factory() { return new LeavePlaceGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.PlaceRouter), i0.ɵɵinject(i3.InteractionContext), i0.ɵɵinject(i4.Location)); }, token: LeavePlaceGuard, providedIn: "root" });
|
|
93
|
-
return LeavePlaceGuard;
|
|
94
|
-
}());
|
|
95
|
-
export { LeavePlaceGuard };
|
|
96
|
-
if (false) {
|
|
97
|
-
/**
|
|
98
|
-
* @type {?}
|
|
99
|
-
* @private
|
|
100
|
-
*/
|
|
101
|
-
LeavePlaceGuard.prototype.router;
|
|
102
|
-
/**
|
|
103
|
-
* @type {?}
|
|
104
|
-
* @private
|
|
105
|
-
*/
|
|
106
|
-
LeavePlaceGuard.prototype.injector;
|
|
107
|
-
/**
|
|
108
|
-
* @type {?}
|
|
109
|
-
* @private
|
|
110
|
-
*/
|
|
111
|
-
LeavePlaceGuard.prototype.placeRouter;
|
|
112
|
-
/** @type {?} */
|
|
113
|
-
LeavePlaceGuard.prototype.interactionContext;
|
|
114
|
-
/** @type {?} */
|
|
115
|
-
LeavePlaceGuard.prototype.angularLocation;
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBeUMsTUFBTSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBRTlDO0lBS0UseUJBQW9CLE1BQWMsRUFDZCxRQUFrQixFQUNsQixXQUF3QixFQUN2QixrQkFBc0MsRUFBVyxlQUF5QjtRQUgzRSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN2Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQVcsb0JBQWUsR0FBZixlQUFlLENBQVU7SUFDL0YsQ0FBQzs7Ozs7Ozs7SUFFSyx1Q0FBYTs7Ozs7OztJQUFuQixVQUFvQixTQUF5QixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjs7Ozs7O3dCQUMvSSxtQkFBbUIsR0FBRyxNQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBTTs2QkErQzVELElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUE3RCx3QkFBNkQ7d0JBQy9ELHNCQUFPLElBQUksRUFBQzs7NkJBR1IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUE5Qyx3QkFBOEM7d0JBQzFDLFNBQU8sSUFBSTt3QkFDRixxQkFBTSxTQUFTLENBQUMsYUFBYSxFQUFFLEVBQUE7O3dCQUExQyxRQUFRLEdBQUcsU0FBK0I7d0JBQzlDLCtFQUErRTt3QkFDL0UsK0NBQStDO3dCQUMvQyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLEVBQUU7NEJBQ2xELFFBQVEsR0FBRyxLQUFLLENBQUM7NEJBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFDOzRCQUMvRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDdEQ7d0JBQ0QsdUZBQXVGO3dCQUN2RiwyREFBMkQ7d0JBQzNELElBQUksUUFBUSxFQUFFOzRCQUNaLE1BQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7eUJBQ3BFOzZCQUFNOzRCQUNMLHlFQUF5RTs0QkFDekUsNkVBQTZFOzRCQUM3RSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFO2dDQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7Z0NBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7NkJBQ3hFO3lCQUNGO3dCQUNELHNCQUFPLFFBQVEsRUFBQzs0QkFFaEIsc0JBQU8sSUFBSSxFQUFDOzs7O0tBR2pCOztnQkExRkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFQK0MsTUFBTTtnQkFEakMsUUFBUTtnQkFJcEIsV0FBVztnQkFGWCxrQkFBa0I7Z0JBSGxCLFFBQVE7OzswQkFBakI7Q0FtR0MsQUE1RkQsSUE0RkM7U0F6RlksZUFBZTs7Ozs7O0lBRWQsaUNBQXNCOzs7OztJQUN0QixtQ0FBMEI7Ozs7O0lBQzFCLHNDQUFnQzs7SUFDaEMsNkNBQStDOztJQUFFLDBDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5EZWFjdGl2YXRlLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uL3BsYWNlLXJvdXRlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExlYXZlUGxhY2VHdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LCByZWFkb25seSBhbmd1bGFyTG9jYXRpb246IExvY2F0aW9uKSB7XG4gIH1cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGxhY2VEZWZpbml0aW9uUGF0aCA9IGAvJHtjb21wb25lbnQucGxhY2VEZWZpbml0aW9uLnBhdGh9YDtcbiAgICAvLyBjb25zb2xlLmxvZygnY2FuRGVhY3RpdmF0ZScsIHtcbiAgICAvLyAgIHN0YXRpY1BhdGg6IHBsYWNlRGVmaW5pdGlvblBhdGgsXG4gICAgLy8gICBjdXJyZW50U3RhdGVVcmw6IGN1cnJlbnRTdGF0ZS51cmwsXG4gICAgLy8gICBuZXh0U3RhdGVVcmw6IG5leHRTdGF0ZS51cmxcbiAgICAvLyAgIC8vIGFscmVhZHlEZWNsaW5lZDogdGhpcy5fYWxyZWFkeUFjY2VwdGVkXG4gICAgLy8gfSk7XG4gICAgLy8gRXhhbXBsZSBvZiB0aGUgYWJvdmUgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgZGlmZmVyZW50IGNoaWxkIHJvdXRlLlxuICAgIC8vIGNhbkRlYWN0aXZhdGUge3N0YXRpY1BhdGg6IFwiL2hlcm8tZGV0YWlsc1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLWRldGFpbHNcIixcbiAgICAvLyAgICBuZXh0U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiXG4gICAgLy8gfVxuXG4gICAgLy8gRXhhbXBsZSBjbGlja2luZyBvbiByb3V0ZXIgdGFiIG9mIHRoZSBwYXJlbnQgY29tcG9uZW50IChkZS1hY3RpdmF0ZXMgdGhlIHBhcmVudCBkdWUgdG8gcm91dGUgcGFyYW0gY2hhbmdlcylcbiAgICAvLyBjYW5EZWFjdGl2YXRlIHtcbiAgICAvLyAgICBzdGF0aWNQYXRoOiBcIi9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgY3VycmVudFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xO2R2PUE7ZGw9YSxiLGM7cmR2PUE7cmRsPWEsYixjL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBuZXh0U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvXCJcbiAgICAvLyB9XG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvcm91dGUtcGFyYW1ldGVyc1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzL1wiXG4gICAgLy8gfVxuICAgIC8vIGxvZ2dlci5jbGFzcy5qczo1NCBQYXJhbWV0ZXJTbmFwc2hvdC5zYW5pdGlzZSAtPiB7aWRNb2RlbDogLTEsIHB2OiB1bmRlZmluZWQsIHBsOiBBcnJheSgwKSwgZHY6IHVuZGVmaW5lZCwgZGw6IEFycmF5KDApLMKg4oCmfVxuICAgIC8vIHBhcmFtZXRlci1zbmFwc2hvdC50czoyMCB7bmFtZTogXCJpZE1vZGVsXCIsIG1pbmU6IC0xLCB0aGVpcnM6IG51bGx9XG4gICAgLy8gcGxhY2Utcm91dGVyLnRzOjI4IHJlZGlyZWN0IHBhdGggKDMpwqBbXCJyb3V0ZS1wYXJhbWV0ZXJzXCIsIFwiLTFcIiwge+KApn1dXG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xXCJcbiAgICAvLyB9XG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvcm91dGUtcGFyYW1ldGVyc1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xXCJcbiAgICAvLyB9XG4gICAgLy8gbG9nZ2VyLmNsYXNzLmpzOjU0IFBhcmFtZXRlclNuYXBzaG90LnNhbml0aXNlIC0+IHtpZE1vZGVsOiAtMSwgcHY6IHVuZGVmaW5lZCwgcGw6IEFycmF5KDApLCBkdjogXCJBXCIsIGRsOiBBcnJheSgzKSzCoOKApn1cbiAgICAvLyBwYXJhbWV0ZXItc25hcHNob3QudHM6MjAge25hbWU6IFwiZHZcIiwgbWluZTogXCJBXCIsIHRoZWlyczogdW5kZWZpbmVkfVxuICAgIC8vIHBsYWNlLXJvdXRlci50czoyOCByZWRpcmVjdCBwYXRoICgzKcKgW1wicm91dGUtcGFyYW1ldGVyc1wiLCBcIi0xXCIsIHvigKZ9XVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsY1wiXG4gICAgLy8gfVxuXG5cbiAgICBpZiAodGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbi5hbHJlYWR5QWNjZXB0ZWQoY29tcG9uZW50KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRPRE86IHRoaXMgd2lsbCBicmVhayB3aXRoIGNoaWxkIHJvdXRlcy4uLiBuZWVkIHRvIGV4YW1pbmUgdGhlIHJvdXRlciBzdGF0ZXMgcHJvcGVybHkuXG4gICAgICBpZiAoIW5leHRTdGF0ZS51cmwuc3RhcnRzV2l0aChwbGFjZURlZmluaXRpb25QYXRoKSkge1xuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgICAgbGV0IGNhbkxlYXZlID0gYXdhaXQgY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKTtcbiAgICAgICAgLy8gY29tcG9uZW50IGlzIGhhcHB5IHRvIGxlYXZlIGJ1dCB3ZSBuZWVkIHRvIGNoZWNrIGlmIGl0J3MgbGVmdCBhbiBpbnRlcmFjdGlvblxuICAgICAgICAvLyBvcGVuLiAgSWYgc28gd2UgY2xvc2UgYW5kIHN0YXkgd2hlcmUgd2UgYXJlLlxuICAgICAgICBpZiAoY2FuTGVhdmUgJiYgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKSkge1xuICAgICAgICAgIGNhbkxlYXZlID0gZmFsc2U7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJjYW5jZWxsaW5nXCIsIHthY3Rpdml0eTogdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuY3VycmVudEFjdGl2aXR5fSk7XG4gICAgICAgICAgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuY3VycmVudEFjdGl2aXR5LmNhbmNlbChudWxsKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB3ZSdyZSBzdGlsbCBsZWF2aW5nIHRoZW4gcmVtZW1iZXIgaXQgc2luY2UgYW5ndWxhciB3aWxsIGNhbGwgdGhpcyBtZXRob2QgbXVsdGlwbGVcbiAgICAgICAgLy8gdGltZXMgaWYgYW55IHJvdXRlIHBhcmFtZXRlcnMgYXJlIGNoYW5nZWQgYWxvbmcgdGhlIHdheS5cbiAgICAgICAgaWYgKGNhbkxlYXZlKSB7XG4gICAgICAgICAgc2VsZi5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbi5yZW1lbWJlckFjY2VwdGFuY2VPZihjb21wb25lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEFuZ3VsYXIgZG9lc24ndCBwcmVzZXJ2ZSB0aGUgdXJsIHdoZW4gYSBndWFyZCBjYW5jZWxzIHRoZSBiYWNrIGJ1dHRvbi5cbiAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTM1ODYjaXNzdWVjb21tZW50LTQzMjc5NTcyMFxuICAgICAgICAgIGlmICh0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uLmlzUG9wU3RhdGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjYW5jZWxsZWQgZHVyaW5nIHBvcHN0YXRlJyk7XG4gICAgICAgICAgICB0aGlzLmFuZ3VsYXJMb2NhdGlvbi5nbyh0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uLmluaXRpYWxVcmwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2FuTGVhdmU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Injectable, Injector } from '@angular/core';
|
|
6
|
-
import { lang, Logger } from '@coolon/pectin';
|
|
7
|
-
import { PlaceComponent } from '../place-component';
|
|
8
|
-
import { PlaceRouter } from '../place-router';
|
|
9
|
-
import { ParameterSnapshot } from '../route/parameter-snapshot';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../place-router";
|
|
12
|
-
var PlaceRouteGuard = /** @class */ (function () {
|
|
13
|
-
function PlaceRouteGuard(placeRouter, injector) {
|
|
14
|
-
this.placeRouter = placeRouter;
|
|
15
|
-
this.injector = injector;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* @param {?} activatedRoute
|
|
19
|
-
* @param {?} state
|
|
20
|
-
* @return {?}
|
|
21
|
-
*/
|
|
22
|
-
PlaceRouteGuard.prototype.canActivate = /**
|
|
23
|
-
* @param {?} activatedRoute
|
|
24
|
-
* @param {?} state
|
|
25
|
-
* @return {?}
|
|
26
|
-
*/
|
|
27
|
-
function (activatedRoute, state) {
|
|
28
|
-
var _this = this;
|
|
29
|
-
if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {
|
|
30
|
-
/** @type {?} */
|
|
31
|
-
var placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);
|
|
32
|
-
/** @type {?} */
|
|
33
|
-
var snapshot_1 = ParameterSnapshot.create(placeDefinition, activatedRoute.paramMap, activatedRoute.url);
|
|
34
|
-
return snapshot_1.sanitise(this.injector).then((/**
|
|
35
|
-
* @param {?} sanitised
|
|
36
|
-
* @return {?}
|
|
37
|
-
*/
|
|
38
|
-
function (sanitised) {
|
|
39
|
-
Logger.get(_this).info("ParameterSnapshot.sanitise ->", sanitised.getAllParameters());
|
|
40
|
-
if (sanitised.hasChanged(snapshot_1, true)) {
|
|
41
|
-
return _this.placeRouter.getRedirectUrlTree(activatedRoute, sanitised);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return lang.illegalState("expected component to be an instance of PlaceComponent, got " + activatedRoute.component);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
PlaceRouteGuard.decorators = [
|
|
53
|
-
{ type: Injectable, args: [{
|
|
54
|
-
providedIn: 'root'
|
|
55
|
-
},] }
|
|
56
|
-
];
|
|
57
|
-
/** @nocollapse */
|
|
58
|
-
PlaceRouteGuard.ctorParameters = function () { return [
|
|
59
|
-
{ type: PlaceRouter },
|
|
60
|
-
{ type: Injector }
|
|
61
|
-
]; };
|
|
62
|
-
/** @nocollapse */ PlaceRouteGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceRouteGuard_Factory() { return new PlaceRouteGuard(i0.ɵɵinject(i1.PlaceRouter), i0.ɵɵinject(i0.INJECTOR)); }, token: PlaceRouteGuard, providedIn: "root" });
|
|
63
|
-
return PlaceRouteGuard;
|
|
64
|
-
}());
|
|
65
|
-
export { PlaceRouteGuard };
|
|
66
|
-
if (false) {
|
|
67
|
-
/**
|
|
68
|
-
* @type {?}
|
|
69
|
-
* @private
|
|
70
|
-
*/
|
|
71
|
-
PlaceRouteGuard.prototype.placeRouter;
|
|
72
|
-
/**
|
|
73
|
-
* @type {?}
|
|
74
|
-
* @private
|
|
75
|
-
*/
|
|
76
|
-
PlaceRouteGuard.prototype.injector;
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLXJvdXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUVoRTtJQUtFLHlCQUE2QixXQUF3QixFQUFtQixRQUFrQjtRQUE3RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFtQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzFGLENBQUM7Ozs7OztJQUVELHFDQUFXOzs7OztJQUFYLFVBQVksY0FBc0MsRUFBRSxLQUEwQjtRQUE5RSxpQkFlQztRQWRDLElBQUksY0FBYyxDQUFDLDJCQUEyQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRTs7Z0JBQ2xFLGVBQWUsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7O2dCQUN4RSxVQUFRLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUM7WUFDdkcsT0FBTyxVQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJOzs7O1lBQUMsVUFBQSxTQUFTO2dCQUNwRCxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRixJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUN4QyxPQUFPLEtBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUN2RTtxQkFBTTtvQkFDTCxPQUFPLElBQUksQ0FBQztpQkFDYjtZQUNILENBQUMsRUFBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxpRUFBK0QsY0FBYyxDQUFDLFNBQVcsQ0FBQyxDQUFDO1NBQ3JIO0lBQ0gsQ0FBQzs7Z0JBdkJGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBTFEsV0FBVztnQkFMQyxRQUFROzs7MEJBQTdCO0NBaUNDLEFBekJELElBeUJDO1NBdEJZLGVBQWU7Ozs7OztJQUVkLHNDQUF5Qzs7Ozs7SUFBRSxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlclN0YXRlU25hcHNob3QsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgbGFuZywgTG9nZ2VyIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyU25hcHNob3QgfSBmcm9tICcuLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFjZVJvdXRlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBjYW5BY3RpdmF0ZShhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIGlmIChQbGFjZUNvbXBvbmVudC5pc1BsYWNlQ29tcG9uZW50Q29uc3RydWN0b3IoYWN0aXZhdGVkUm91dGUuY29tcG9uZW50KSkge1xuICAgICAgY29uc3QgcGxhY2VEZWZpbml0aW9uID0gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQpO1xuICAgICAgY29uc3Qgc25hcHNob3QgPSBQYXJhbWV0ZXJTbmFwc2hvdC5jcmVhdGUocGxhY2VEZWZpbml0aW9uLCBhY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcCwgYWN0aXZhdGVkUm91dGUudXJsKTtcbiAgICAgIHJldHVybiBzbmFwc2hvdC5zYW5pdGlzZSh0aGlzLmluamVjdG9yKS50aGVuKHNhbml0aXNlZCA9PiB7XG4gICAgICAgIExvZ2dlci5nZXQodGhpcykuaW5mbyhcIlBhcmFtZXRlclNuYXBzaG90LnNhbml0aXNlIC0+XCIsIHNhbml0aXNlZC5nZXRBbGxQYXJhbWV0ZXJzKCkpO1xuICAgICAgICBpZiAoc2FuaXRpc2VkLmhhc0NoYW5nZWQoc25hcHNob3QsIHRydWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGxhY2VSb3V0ZXIuZ2V0UmVkaXJlY3RVcmxUcmVlKGFjdGl2YXRlZFJvdXRlLCBzYW5pdGlzZWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGxhbmcuaWxsZWdhbFN0YXRlKGBleHBlY3RlZCBjb21wb25lbnQgdG8gYmUgYW4gaW5zdGFuY2Ugb2YgUGxhY2VDb21wb25lbnQsIGdvdCAke2FjdGl2YXRlZFJvdXRlLmNvbXBvbmVudH1gKTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import _ from 'lodash';
|
|
6
|
-
// WARNING: interface has both a type and a value, skipping emit
|
|
7
|
-
export var ParameterType;
|
|
8
|
-
(function (ParameterType) {
|
|
9
|
-
var StringType = /** @class */ (function () {
|
|
10
|
-
function StringType() {
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* @param {?} value
|
|
14
|
-
* @return {?}
|
|
15
|
-
*/
|
|
16
|
-
StringType.prototype.format = /**
|
|
17
|
-
* @param {?} value
|
|
18
|
-
* @return {?}
|
|
19
|
-
*/
|
|
20
|
-
function (value) {
|
|
21
|
-
return value;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* @param {?} value
|
|
25
|
-
* @return {?}
|
|
26
|
-
*/
|
|
27
|
-
StringType.prototype.parse = /**
|
|
28
|
-
* @param {?} value
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
function (value) {
|
|
32
|
-
return value;
|
|
33
|
-
};
|
|
34
|
-
return StringType;
|
|
35
|
-
}());
|
|
36
|
-
var NumberType = /** @class */ (function () {
|
|
37
|
-
function NumberType() {
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* @param {?} value
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
NumberType.prototype.format = /**
|
|
44
|
-
* @param {?} value
|
|
45
|
-
* @return {?}
|
|
46
|
-
*/
|
|
47
|
-
function (value) {
|
|
48
|
-
return "" + value;
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* @param {?} value
|
|
52
|
-
* @return {?}
|
|
53
|
-
*/
|
|
54
|
-
NumberType.prototype.parse = /**
|
|
55
|
-
* @param {?} value
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
function (value) {
|
|
59
|
-
return _.isNil(value) || _.isEmpty(value) ? null : +value;
|
|
60
|
-
};
|
|
61
|
-
return NumberType;
|
|
62
|
-
}());
|
|
63
|
-
var BooleanType = /** @class */ (function () {
|
|
64
|
-
function BooleanType() {
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* @param {?} value
|
|
68
|
-
* @return {?}
|
|
69
|
-
*/
|
|
70
|
-
BooleanType.prototype.format = /**
|
|
71
|
-
* @param {?} value
|
|
72
|
-
* @return {?}
|
|
73
|
-
*/
|
|
74
|
-
function (value) {
|
|
75
|
-
return value ? 'true' : 'false';
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* @param {?} value
|
|
79
|
-
* @return {?}
|
|
80
|
-
*/
|
|
81
|
-
BooleanType.prototype.parse = /**
|
|
82
|
-
* @param {?} value
|
|
83
|
-
* @return {?}
|
|
84
|
-
*/
|
|
85
|
-
function (value) {
|
|
86
|
-
return value === 'true';
|
|
87
|
-
};
|
|
88
|
-
return BooleanType;
|
|
89
|
-
}());
|
|
90
|
-
ParameterType.STRING = new StringType();
|
|
91
|
-
ParameterType.NUMBER = new NumberType();
|
|
92
|
-
ParameterType.BOOLEAN = new BooleanType();
|
|
93
|
-
})(ParameterType || (ParameterType = {}));
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXR5cGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7QUFRdkIsTUFBTSxLQUFXLGFBQWEsQ0FtQzdCO0FBbkNELFdBQWlCLGFBQWE7SUFFNUI7UUFBQTtRQVFBLENBQUM7Ozs7O1FBUEMsMkJBQU07Ozs7UUFBTixVQUFPLEtBQWE7WUFDbEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDOzs7OztRQUVELDBCQUFLOzs7O1FBQUwsVUFBTSxLQUFhO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNILGlCQUFDO0lBQUQsQ0FBQyxBQVJELElBUUM7SUFFRDtRQUFBO1FBUUEsQ0FBQzs7Ozs7UUFQQywyQkFBTTs7OztRQUFOLFVBQU8sS0FBYTtZQUNsQixPQUFPLEtBQUcsS0FBTyxDQUFDO1FBQ3BCLENBQUM7Ozs7O1FBRUQsMEJBQUs7Ozs7UUFBTCxVQUFNLEtBQWE7WUFDakIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDNUQsQ0FBQztRQUNILGlCQUFDO0lBQUQsQ0FBQyxBQVJELElBUUM7SUFFRDtRQUFBO1FBUUEsQ0FBQzs7Ozs7UUFQQyw0QkFBTTs7OztRQUFOLFVBQU8sS0FBYztZQUNuQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbEMsQ0FBQzs7Ozs7UUFFRCwyQkFBSzs7OztRQUFMLFVBQU0sS0FBYTtZQUNqQixPQUFPLEtBQUssS0FBSyxNQUFNLENBQUM7UUFDMUIsQ0FBQztRQUNILGtCQUFDO0lBQUQsQ0FBQyxBQVJELElBUUM7SUFFWSxvQkFBTSxHQUFHLElBQUksVUFBVSxFQUFFO0lBQ3pCLG9CQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUU7SUFDekIscUJBQU8sR0FBRyxJQUFJLFdBQVcsRUFBRTtBQUMxQyxDQUFDLEVBbkNnQixhQUFhLEtBQWIsYUFBYSxRQW1DN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlclR5cGU8VD4ge1xuICBmb3JtYXQodmFsdWU6IFQpOiBzdHJpbmc7XG5cbiAgcGFyc2UodmFsdWU6IHN0cmluZyk6IFQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGFyYW1ldGVyVHlwZSB7XG5cbiAgY2xhc3MgU3RyaW5nVHlwZSBpbXBsZW1lbnRzIFBhcmFtZXRlclR5cGU8c3RyaW5nPiB7XG4gICAgZm9ybWF0KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHBhcnNlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGNsYXNzIE51bWJlclR5cGUgaW1wbGVtZW50cyBQYXJhbWV0ZXJUeXBlPG51bWJlcj4ge1xuICAgIGZvcm1hdCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBgJHt2YWx1ZX1gO1xuICAgIH1cblxuICAgIHBhcnNlKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIF8uaXNOaWwodmFsdWUpIHx8IF8uaXNFbXB0eSh2YWx1ZSkgPyBudWxsIDogK3ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGNsYXNzIEJvb2xlYW5UeXBlIGltcGxlbWVudHMgUGFyYW1ldGVyVHlwZTxib29sZWFuPiB7XG4gICAgZm9ybWF0KHZhbHVlOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgfVxuXG4gICAgcGFyc2UodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGNvbnN0IFNUUklORyA9IG5ldyBTdHJpbmdUeXBlKCk7XG4gIGV4cG9ydCBjb25zdCBOVU1CRVIgPSBuZXcgTnVtYmVyVHlwZSgpO1xuICBleHBvcnQgY29uc3QgQk9PTEVBTiA9IG5ldyBCb29sZWFuVHlwZSgpO1xufVxuIl19
|