@coolon/angular-ui-powerups 0.0.67 → 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 +2712 -2285
- 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 +183 -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 +240 -108
- 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 +1441 -1108
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +2705 -2282
- 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 +25 -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 +3 -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 -194
- 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 -159
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGFyYW1ldGVyLXZhbHVlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3JvdXRlLXBhcmFtZXRlci12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7O0FBSXZCLE1BQU0sT0FBZ0IsbUJBQW1COzs7OztJQUN2QyxZQUFxQixVQUFxQyxFQUFxQixRQUFXO1FBQXJFLGVBQVUsR0FBVixVQUFVLENBQTJCO1FBQXFCLGFBQVEsR0FBUixRQUFRLENBQUc7SUFDMUYsQ0FBQzs7OztJQUlELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLFVBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNyQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDOzs7OztJQUtELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Ozs7O0lBS0QsU0FBUztRQUNQLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7Ozs7O0lBVUssUUFBUSxDQUFDLEtBQVksRUFBRSxRQUFrQjs7O2tCQUN2QyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxD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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhcmFtTWFwIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3IvZGlzdC9zcmMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUm91dGVQYXJhbWV0ZXJWYWx1ZTxTLCBULCBSIGV4dGVuZHMgc3RyaW5nIHwgc3RyaW5nW10+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,159 +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 { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
|
|
9
|
-
import { Trace } from '@coolon/pectin';
|
|
10
|
-
import { InteractionContext } from '../../interaction/interaction-context';
|
|
11
|
-
import { PlaceComponent } from '../place-component';
|
|
12
|
-
import { PlaceRouter } from '../place-router';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "@angular/router";
|
|
15
|
-
import * as i2 from "../place-router";
|
|
16
|
-
import * as i3 from "../../interaction/interaction-context";
|
|
17
|
-
import * as i4 from "@angular/common";
|
|
18
|
-
var LeavePlaceGuard = /** @class */ (function () {
|
|
19
|
-
function LeavePlaceGuard(router, injector, placeRouter, interactionContext, angularLocation) {
|
|
20
|
-
this.router = router;
|
|
21
|
-
this.injector = injector;
|
|
22
|
-
this.placeRouter = placeRouter;
|
|
23
|
-
this.interactionContext = interactionContext;
|
|
24
|
-
this.angularLocation = angularLocation;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* @private
|
|
28
|
-
* @param {?} nextState
|
|
29
|
-
* @param {?} placeDefinitionPath
|
|
30
|
-
* @return {?}
|
|
31
|
-
*/
|
|
32
|
-
LeavePlaceGuard.prototype.isLeavingTheCurrentPlace = /**
|
|
33
|
-
* @private
|
|
34
|
-
* @param {?} nextState
|
|
35
|
-
* @param {?} placeDefinitionPath
|
|
36
|
-
* @return {?}
|
|
37
|
-
*/
|
|
38
|
-
function (nextState, placeDefinitionPath) {
|
|
39
|
-
// TODO: this will break with child routes... need to examine the router states properly.
|
|
40
|
-
return !nextState.url.startsWith(placeDefinitionPath);
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* @param {?} component
|
|
44
|
-
* @param {?} currentRoute
|
|
45
|
-
* @param {?} currentState
|
|
46
|
-
* @param {?=} nextState
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
LeavePlaceGuard.prototype.canDeactivate = /**
|
|
50
|
-
* @param {?} component
|
|
51
|
-
* @param {?} currentRoute
|
|
52
|
-
* @param {?} currentState
|
|
53
|
-
* @param {?=} nextState
|
|
54
|
-
* @return {?}
|
|
55
|
-
*/
|
|
56
|
-
function (component, currentRoute, currentState, nextState) {
|
|
57
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
58
|
-
var placeDefinitionPath, self_1, canLeave;
|
|
59
|
-
return tslib_1.__generator(this, function (_a) {
|
|
60
|
-
switch (_a.label) {
|
|
61
|
-
case 0:
|
|
62
|
-
placeDefinitionPath = "/" + component.placeDefinition.path;
|
|
63
|
-
if (!this.placeRouter.navigationSession.alreadyAccepted(component)) return [3 /*break*/, 1];
|
|
64
|
-
// We'll get called multiple times if there's any parameter sanitisation so
|
|
65
|
-
// we always return true if we accepted on a previous cycle of the current
|
|
66
|
-
// navigation session.
|
|
67
|
-
return [2 /*return*/, true];
|
|
68
|
-
case 1:
|
|
69
|
-
self_1 = this;
|
|
70
|
-
canLeave = true;
|
|
71
|
-
if (!this.isLeavingTheCurrentPlace(nextState, placeDefinitionPath)) return [3 /*break*/, 4];
|
|
72
|
-
// we check the interaction first, so that components that don't need to check if they're in an
|
|
73
|
-
// interaction during the canDeactivate cycle.
|
|
74
|
-
if (this.interactionContext.isActive()) {
|
|
75
|
-
canLeave = false;
|
|
76
|
-
console.log("cancelling", { activity: this.interactionContext.currentActivity });
|
|
77
|
-
this.interactionContext.currentActivity.cancel(null);
|
|
78
|
-
}
|
|
79
|
-
if (!canLeave) return [3 /*break*/, 3];
|
|
80
|
-
return [4 /*yield*/, component.canDeactivate()];
|
|
81
|
-
case 2:
|
|
82
|
-
canLeave = _a.sent();
|
|
83
|
-
_a.label = 3;
|
|
84
|
-
case 3: return [3 /*break*/, 5];
|
|
85
|
-
case 4:
|
|
86
|
-
// this is a parameter change.
|
|
87
|
-
if (this.interactionContext.isActive()) {
|
|
88
|
-
console.log("cancelling", { activity: this.interactionContext.currentActivity });
|
|
89
|
-
this.interactionContext.currentActivity.cancel(null);
|
|
90
|
-
canLeave = false;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
canLeave = true;
|
|
94
|
-
}
|
|
95
|
-
_a.label = 5;
|
|
96
|
-
case 5:
|
|
97
|
-
if (canLeave) {
|
|
98
|
-
// We'll get called multiple times if there's any parameter sanitisation so
|
|
99
|
-
// we remember the acceptance for the duration of the current routing session.
|
|
100
|
-
self_1.placeRouter.navigationSession.rememberAcceptanceOf(component);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
// Angular doesn't preserve the url when a guard cancels the back button.
|
|
104
|
-
// See https://github.com/angular/angular/issues/13586#issuecomment-432795720
|
|
105
|
-
if (this.placeRouter.navigationSession.isPopState) {
|
|
106
|
-
console.log('cancelled during popstate');
|
|
107
|
-
this.angularLocation.go(this.placeRouter.navigationSession.initialUrl);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return [2 /*return*/, canLeave];
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
};
|
|
115
|
-
LeavePlaceGuard.decorators = [
|
|
116
|
-
{ type: Injectable, args: [{
|
|
117
|
-
providedIn: 'root'
|
|
118
|
-
},] }
|
|
119
|
-
];
|
|
120
|
-
/** @nocollapse */
|
|
121
|
-
LeavePlaceGuard.ctorParameters = function () { return [
|
|
122
|
-
{ type: Router },
|
|
123
|
-
{ type: Injector },
|
|
124
|
-
{ type: PlaceRouter },
|
|
125
|
-
{ type: InteractionContext },
|
|
126
|
-
{ type: Location }
|
|
127
|
-
]; };
|
|
128
|
-
/** @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" });
|
|
129
|
-
tslib_1.__decorate([
|
|
130
|
-
Trace(),
|
|
131
|
-
tslib_1.__metadata("design:type", Function),
|
|
132
|
-
tslib_1.__metadata("design:paramtypes", [PlaceComponent, ActivatedRouteSnapshot, RouterStateSnapshot, RouterStateSnapshot]),
|
|
133
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
134
|
-
], LeavePlaceGuard.prototype, "canDeactivate", null);
|
|
135
|
-
return LeavePlaceGuard;
|
|
136
|
-
}());
|
|
137
|
-
export { LeavePlaceGuard };
|
|
138
|
-
if (false) {
|
|
139
|
-
/**
|
|
140
|
-
* @type {?}
|
|
141
|
-
* @private
|
|
142
|
-
*/
|
|
143
|
-
LeavePlaceGuard.prototype.router;
|
|
144
|
-
/**
|
|
145
|
-
* @type {?}
|
|
146
|
-
* @private
|
|
147
|
-
*/
|
|
148
|
-
LeavePlaceGuard.prototype.injector;
|
|
149
|
-
/**
|
|
150
|
-
* @type {?}
|
|
151
|
-
* @private
|
|
152
|
-
*/
|
|
153
|
-
LeavePlaceGuard.prototype.placeRouter;
|
|
154
|
-
/** @type {?} */
|
|
155
|
-
LeavePlaceGuard.prototype.interactionContext;
|
|
156
|
-
/** @type {?} */
|
|
157
|
-
LeavePlaceGuard.prototype.angularLocation;
|
|
158
|
-
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxzQkFBc0IsRUFBaUIsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUU5QztJQUtFLHlCQUFvQixNQUFjLEVBQ2QsUUFBa0IsRUFDbEIsV0FBd0IsRUFDdkIsa0JBQXNDLEVBQVcsZUFBeUI7UUFIM0UsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFXLG9CQUFlLEdBQWYsZUFBZSxDQUFVO0lBQy9GLENBQUM7Ozs7Ozs7SUFFTyxrREFBd0I7Ozs7OztJQUFoQyxVQUFpQyxTQUE4QixFQUFFLG1CQUEyQjtRQUMxRix5RkFBeUY7UUFDekYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDeEQsQ0FBQzs7Ozs7Ozs7SUFHSyx1Q0FBYTs7Ozs7OztJQUFuQixVQUFvQixTQUF5QixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjs7Ozs7O3dCQUMvSSxtQkFBbUIsR0FBRyxNQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBTTs2QkErQzVELElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUE3RCx3QkFBNkQ7d0JBQy9ELDJFQUEyRTt3QkFDM0UsMEVBQTBFO3dCQUMxRSxzQkFBc0I7d0JBQ3RCLHNCQUFPLElBQUksRUFBQzs7d0JBRU4sU0FBTyxJQUFJO3dCQUNiLFFBQVEsR0FBRyxJQUFJOzZCQUVmLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsRUFBN0Qsd0JBQTZEO3dCQUMvRCwrRkFBK0Y7d0JBQy9GLDhDQUE4Qzt3QkFDOUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLEVBQUU7NEJBQ3RDLFFBQVEsR0FBRyxLQUFLLENBQUM7NEJBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFDOzRCQUMvRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDdEQ7NkJBS0csUUFBUSxFQUFSLHdCQUFRO3dCQUNDLHFCQUFNLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBQTs7d0JBQTFDLFFBQVEsR0FBRyxTQUErQixDQUFDOzs7O3dCQUc3Qyw4QkFBOEI7d0JBQzlCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxFQUFFOzRCQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFDLENBQUMsQ0FBQzs0QkFDL0UsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ3JELFFBQVEsR0FBRyxLQUFLLENBQUE7eUJBQ2pCOzZCQUFNOzRCQUNMLFFBQVEsR0FBRyxJQUFJLENBQUM7eUJBQ2pCOzs7d0JBR0gsSUFBSSxRQUFRLEVBQUU7NEJBQ1osMkVBQTJFOzRCQUMzRSw4RUFBOEU7NEJBQzlFLE1BQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7eUJBQ3BFOzZCQUFNOzRCQUNMLHlFQUF5RTs0QkFDekUsNkVBQTZFOzRCQUM3RSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFO2dDQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7Z0NBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7NkJBQ3hFO3lCQUNGO3dCQUVELHNCQUFPLFFBQVEsRUFBQzs7OztLQUVuQjs7Z0JBbkhGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBUitDLE1BQU07Z0JBRGpDLFFBQVE7Z0JBS3BCLFdBQVc7Z0JBRlgsa0JBQWtCO2dCQUpsQixRQUFROzs7SUF5QmY7UUFEQyxLQUFLLEVBQUU7O2lEQUN1QixjQUFjLEVBQWdCLHNCQUFzQixFQUFnQixtQkFBbUIsRUFBYyxtQkFBbUI7O3dEQWtHdEo7MEJBM0hIO0NBNEhDLEFBcEhELElBb0hDO1NBakhZLGVBQWU7Ozs7OztJQUVkLGlDQUFzQjs7Ozs7SUFDdEIsbUNBQTBCOzs7OztJQUMxQixzQ0FBZ0M7O0lBQ2hDLDZDQUErQzs7SUFBRSwwQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uL3BsYWNlLXJvdXRlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExlYXZlUGxhY2VHdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LCByZWFkb25seSBhbmd1bGFyTG9jYXRpb246IExvY2F0aW9uKSB7XG4gIH1cblxuICBwcml2YXRlIGlzTGVhdmluZ1RoZUN1cnJlbnRQbGFjZShuZXh0U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIHBsYWNlRGVmaW5pdGlvblBhdGg6IHN0cmluZykge1xuICAgIC8vIFRPRE86IHRoaXMgd2lsbCBicmVhayB3aXRoIGNoaWxkIHJvdXRlcy4uLiBuZWVkIHRvIGV4YW1pbmUgdGhlIHJvdXRlciBzdGF0ZXMgcHJvcGVybHkuXG4gICAgcmV0dXJuICFuZXh0U3RhdGUudXJsLnN0YXJ0c1dpdGgocGxhY2VEZWZpbml0aW9uUGF0aCk7XG4gIH1cblxuICBAVHJhY2UoKVxuICBhc3luYyBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGxhY2VEZWZpbml0aW9uUGF0aCA9IGAvJHtjb21wb25lbnQucGxhY2VEZWZpbml0aW9uLnBhdGh9YDtcbiAgICAvLyBjb25zb2xlLmxvZygnY2FuRGVhY3RpdmF0ZScsIHtcbiAgICAvLyAgIHN0YXRpY1BhdGg6IHBsYWNlRGVmaW5pdGlvblBhdGgsXG4gICAgLy8gICBjdXJyZW50U3RhdGVVcmw6IGN1cnJlbnRTdGF0ZS51cmwsXG4gICAgLy8gICBuZXh0U3RhdGVVcmw6IG5leHRTdGF0ZS51cmxcbiAgICAvLyAgIC8vIGFscmVhZHlEZWNsaW5lZDogdGhpcy5fYWxyZWFkeUFjY2VwdGVkXG4gICAgLy8gfSk7XG4gICAgLy8gRXhhbXBsZSBvZiB0aGUgYWJvdmUgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgZGlmZmVyZW50IGNoaWxkIHJvdXRlLlxuICAgIC8vIGNhbkRlYWN0aXZhdGUge3N0YXRpY1BhdGg6IFwiL2hlcm8tZGV0YWlsc1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLWRldGFpbHNcIixcbiAgICAvLyAgICBuZXh0U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiXG4gICAgLy8gfVxuXG4gICAgLy8gRXhhbXBsZSBjbGlja2luZyBvbiByb3V0ZXIgdGFiIG9mIHRoZSBwYXJlbnQgY29tcG9uZW50IChkZS1hY3RpdmF0ZXMgdGhlIHBhcmVudCBkdWUgdG8gcm91dGUgcGFyYW0gY2hhbmdlcylcbiAgICAvLyBjYW5EZWFjdGl2YXRlIHtcbiAgICAvLyAgICBzdGF0aWNQYXRoOiBcIi9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgY3VycmVudFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xO2R2PUE7ZGw9YSxiLGM7cmR2PUE7cmRsPWEsYixjL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBuZXh0U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvXCJcbiAgICAvLyB9XG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvcm91dGUtcGFyYW1ldGVyc1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzL1wiXG4gICAgLy8gfVxuICAgIC8vIGxvZ2dlci5jbGFzcy5qczo1NCBQYXJhbWV0ZXJTbmFwc2hvdC5zYW5pdGlzZSAtPiB7aWRNb2RlbDogLTEsIHB2OiB1bmRlZmluZWQsIHBsOiBBcnJheSgwKSwgZHY6IHVuZGVmaW5lZCwgZGw6IEFycmF5KDApLMKg4oCmfVxuICAgIC8vIHBhcmFtZXRlci1zbmFwc2hvdC50czoyMCB7bmFtZTogXCJpZE1vZGVsXCIsIG1pbmU6IC0xLCB0aGVpcnM6IG51bGx9XG4gICAgLy8gcGxhY2Utcm91dGVyLnRzOjI4IHJlZGlyZWN0IHBhdGggKDMpwqBbXCJyb3V0ZS1wYXJhbWV0ZXJzXCIsIFwiLTFcIiwge+KApn1dXG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xXCJcbiAgICAvLyB9XG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvcm91dGUtcGFyYW1ldGVyc1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xXCJcbiAgICAvLyB9XG4gICAgLy8gbG9nZ2VyLmNsYXNzLmpzOjU0IFBhcmFtZXRlclNuYXBzaG90LnNhbml0aXNlIC0+IHtpZE1vZGVsOiAtMSwgcHY6IHVuZGVmaW5lZCwgcGw6IEFycmF5KDApLCBkdjogXCJBXCIsIGRsOiBBcnJheSgzKSzCoOKApn1cbiAgICAvLyBwYXJhbWV0ZXItc25hcHNob3QudHM6MjAge25hbWU6IFwiZHZcIiwgbWluZTogXCJBXCIsIHRoZWlyczogdW5kZWZpbmVkfVxuICAgIC8vIHBsYWNlLXJvdXRlci50czoyOCByZWRpcmVjdCBwYXRoICgzKcKgW1wicm91dGUtcGFyYW1ldGVyc1wiLCBcIi0xXCIsIHvigKZ9XVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsY1wiXG4gICAgLy8gfVxuXG5cbiAgICBpZiAodGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbi5hbHJlYWR5QWNjZXB0ZWQoY29tcG9uZW50KSkge1xuICAgICAgLy8gV2UnbGwgZ2V0IGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGVyZSdzIGFueSBwYXJhbWV0ZXIgc2FuaXRpc2F0aW9uIHNvXG4gICAgICAvLyB3ZSBhbHdheXMgcmV0dXJuIHRydWUgaWYgd2UgYWNjZXB0ZWQgb24gYSBwcmV2aW91cyBjeWNsZSBvZiB0aGUgY3VycmVudFxuICAgICAgLy8gbmF2aWdhdGlvbiBzZXNzaW9uLlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgICAgbGV0IGNhbkxlYXZlID0gdHJ1ZTtcblxuICAgICAgaWYgKHRoaXMuaXNMZWF2aW5nVGhlQ3VycmVudFBsYWNlKG5leHRTdGF0ZSwgcGxhY2VEZWZpbml0aW9uUGF0aCkpIHtcbiAgICAgICAgLy8gd2UgY2hlY2sgdGhlIGludGVyYWN0aW9uIGZpcnN0LCBzbyB0aGF0IGNvbXBvbmVudHMgdGhhdCBkb24ndCBuZWVkIHRvIGNoZWNrIGlmIHRoZXkncmUgaW4gYW5cbiAgICAgICAgLy8gaW50ZXJhY3Rpb24gZHVyaW5nIHRoZSBjYW5EZWFjdGl2YXRlIGN5Y2xlLlxuICAgICAgICBpZiAodGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKSkge1xuICAgICAgICAgIGNhbkxlYXZlID0gZmFsc2U7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJjYW5jZWxsaW5nXCIsIHthY3Rpdml0eTogdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuY3VycmVudEFjdGl2aXR5fSk7XG4gICAgICAgICAgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuY3VycmVudEFjdGl2aXR5LmNhbmNlbChudWxsKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBObyBpbnRlcmFjdGlvbiBpbiBwcm9ncmVzcywgc28gYXNrIHRoZSBjb21wb25lbnQgLlxuICAgICAgICAvLyBUaGlzIG1heSBzdGFydCBhbiBpbnRlcmFjdGlvbiwgaGVuY2UgY2hlY2tpbmcgdGhlIGludGVyYWN0aW9uIGNvbnRleHQgYWJvdmUuIEkuZS4gaWYgdGhlIHBsYWNlIHBvcHMgdXAgdGhlIGRpYWxvZywgYW5kXG4gICAgICAgIC8vIHRoZSB1c2VyIGNsaWNrcyBiYWNrIGFnYWluLCB3ZSdsbCByZS1lbnRlciBoZXJlIGFuZCBnbyBiYW5nIHdoZW4gdGhlIGNvbXBvbmVudCB0cmllcyB0byBvcGVuIGFub3RoZXJcbiAgICAgICAgLy8gZGlhbG9nLlxuICAgICAgICBpZiAoY2FuTGVhdmUpIHtcbiAgICAgICAgICBjYW5MZWF2ZSA9IGF3YWl0IGNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHRoaXMgaXMgYSBwYXJhbWV0ZXIgY2hhbmdlLlxuICAgICAgICBpZiAodGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiY2FuY2VsbGluZ1wiLCB7YWN0aXZpdHk6IHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmN1cnJlbnRBY3Rpdml0eX0pO1xuICAgICAgICAgIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmN1cnJlbnRBY3Rpdml0eS5jYW5jZWwobnVsbCk7XG4gICAgICAgICAgY2FuTGVhdmUgPSBmYWxzZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNhbkxlYXZlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY2FuTGVhdmUpIHtcbiAgICAgICAgLy8gV2UnbGwgZ2V0IGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGVyZSdzIGFueSBwYXJhbWV0ZXIgc2FuaXRpc2F0aW9uIHNvXG4gICAgICAgIC8vIHdlIHJlbWVtYmVyIHRoZSBhY2NlcHRhbmNlIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGN1cnJlbnQgcm91dGluZyBzZXNzaW9uLlxuICAgICAgICBzZWxmLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uLnJlbWVtYmVyQWNjZXB0YW5jZU9mKGNvbXBvbmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBbmd1bGFyIGRvZXNuJ3QgcHJlc2VydmUgdGhlIHVybCB3aGVuIGEgZ3VhcmQgY2FuY2VscyB0aGUgYmFjayBidXR0b24uXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzU4NiNpc3N1ZWNvbW1lbnQtNDMyNzk1NzIwXG4gICAgICAgIGlmICh0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uLmlzUG9wU3RhdGUpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnY2FuY2VsbGVkIGR1cmluZyBwb3BzdGF0ZScpO1xuICAgICAgICAgIHRoaXMuYW5ndWxhckxvY2F0aW9uLmdvKHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb24uaW5pdGlhbFVybCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNhbkxlYXZlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -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
|