@coolon/angular-ui-powerups 0.0.67 → 0.0.69

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.
Files changed (121) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +2723 -2285
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +24 -22
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +24 -22
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/angular-ui-powerups.module.js +6 -3
  10. package/esm2015/lib/components/index.js +2 -1
  11. package/esm2015/lib/components/noop/noop.component.js +19 -0
  12. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
  13. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
  14. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  15. package/esm2015/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +19 -0
  16. package/esm2015/lib/interaction/guards/interaction-guard.service.js +85 -0
  17. package/esm2015/lib/interaction/index.js +3 -2
  18. package/esm2015/lib/interaction/interaction.module.js +8 -3
  19. package/esm2015/lib/interaction/services/dialog-interaction.service.js +30 -5
  20. package/esm2015/lib/place/components/abstract-place-navigation.component.js +5 -5
  21. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  22. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +60 -66
  23. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  24. package/esm2015/lib/place/index.js +9 -8
  25. package/esm2015/lib/place/navigation-session.js +147 -0
  26. package/esm2015/lib/place/place-component.js +18 -14
  27. package/esm2015/lib/place/place-definition.js +207 -5
  28. package/esm2015/lib/place/place-history.js +3 -2
  29. package/esm2015/lib/place/place-router.js +184 -89
  30. package/esm2015/lib/place/route/formatter.js +63 -0
  31. package/esm2015/lib/place/route/guards/leave-place.guard.js +193 -0
  32. package/esm2015/lib/place/route/guards/place-route.guard.js +243 -0
  33. package/esm2015/lib/place/route/parameter-decorators.js +35 -18
  34. package/esm2015/lib/place/route/parameter-definition.class.js +123 -67
  35. package/esm2015/lib/place/route/parameter-sanitiser.js +4 -3
  36. package/esm2015/lib/place/route/parameter-snapshot.js +11 -388
  37. package/esm2015/lib/place/route/visit-sanitiser.js +88 -0
  38. package/esm2015/lib/place/visit.js +107 -8
  39. package/esm2015/public_api.js +4 -4
  40. package/esm5/coolon-angular-ui-powerups.js +24 -22
  41. package/esm5/index.js +2 -2
  42. package/esm5/lib/angular-ui-powerups.module.js +6 -3
  43. package/esm5/lib/components/index.js +2 -1
  44. package/esm5/lib/components/noop/noop.component.js +21 -0
  45. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
  46. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
  47. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  48. package/esm5/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +21 -0
  49. package/esm5/lib/interaction/guards/interaction-guard.service.js +94 -0
  50. package/esm5/lib/interaction/index.js +3 -2
  51. package/esm5/lib/interaction/interaction.module.js +8 -3
  52. package/esm5/lib/interaction/services/dialog-interaction.service.js +28 -5
  53. package/esm5/lib/place/components/abstract-place-navigation.component.js +5 -5
  54. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  55. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +70 -82
  56. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  57. package/esm5/lib/place/index.js +9 -8
  58. package/esm5/lib/place/navigation-session.js +193 -0
  59. package/esm5/lib/place/place-component.js +19 -15
  60. package/esm5/lib/place/place-definition.js +263 -5
  61. package/esm5/lib/place/place-history.js +7 -3
  62. package/esm5/lib/place/place-router.js +241 -108
  63. package/esm5/lib/place/route/formatter.js +96 -0
  64. package/esm5/lib/place/route/guards/leave-place.guard.js +152 -0
  65. package/esm5/lib/place/route/guards/place-route.guard.js +273 -0
  66. package/esm5/lib/place/route/parameter-decorators.js +35 -18
  67. package/esm5/lib/place/route/parameter-definition.class.js +179 -76
  68. package/esm5/lib/place/route/parameter-sanitiser.js +4 -3
  69. package/esm5/lib/place/route/parameter-snapshot.js +11 -480
  70. package/esm5/lib/place/route/visit-sanitiser.js +99 -0
  71. package/esm5/lib/place/visit.js +160 -8
  72. package/esm5/public_api.js +4 -4
  73. package/fesm2015/coolon-angular-ui-powerups.js +1452 -1108
  74. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  75. package/fesm5/coolon-angular-ui-powerups.js +2715 -2281
  76. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  77. package/lib/components/index.d.ts +1 -0
  78. package/lib/components/noop/noop.component.d.ts +3 -0
  79. package/lib/interaction/components/interaction-outlet/interaction-outlet.component.d.ts +3 -0
  80. package/lib/interaction/guards/interaction-guard.service.d.ts +13 -0
  81. package/lib/interaction/index.d.ts +2 -1
  82. package/lib/interaction/services/dialog-interaction.service.d.ts +5 -1
  83. package/lib/place/components/place-outlet/place-outlet.component.d.ts +12 -12
  84. package/lib/place/index.d.ts +5 -4
  85. package/lib/place/navigation-session.d.ts +26 -0
  86. package/lib/place/place-component.d.ts +3 -3
  87. package/lib/place/place-definition.d.ts +30 -3
  88. package/lib/place/place-history.d.ts +3 -3
  89. package/lib/place/place-router.d.ts +25 -19
  90. package/lib/place/route/{parameter-type.d.ts → formatter.d.ts} +5 -5
  91. package/lib/place/{guards → route/guards}/leave-place.guard.d.ts +3 -3
  92. package/lib/place/route/guards/place-route.guard.d.ts +27 -0
  93. package/lib/place/route/parameter-decorators.d.ts +14 -6
  94. package/lib/place/route/parameter-definition.class.d.ts +21 -17
  95. package/lib/place/route/parameter-sanitiser.d.ts +3 -2
  96. package/lib/place/route/parameter-snapshot.d.ts +4 -26
  97. package/lib/place/route/visit-sanitiser.d.ts +12 -0
  98. package/lib/place/visit.d.ts +24 -3
  99. package/package.json +1 -1
  100. package/schematics/place-routes/place-class-scanner.d.ts +2 -2
  101. package/schematics/place-routes/place-class-scanner.js +7 -7
  102. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  103. package/schematics/place-routes/place-def.d.ts +3 -2
  104. package/schematics/place-routes/place-def.js +21 -12
  105. package/schematics/place-routes/place-def.js.map +1 -1
  106. package/schematics/place-routes/templates/place-destinations.ts.template +5 -3
  107. package/schematics/place-routes/templates/place-routes.ts.template +10 -1
  108. package/schematics/place-routes/templates/place-visits.ts.template +21 -0
  109. package/esm2015/lib/interaction/guards/close-interaction.guard.js +0 -62
  110. package/esm2015/lib/place/guards/leave-place.guard.js +0 -194
  111. package/esm2015/lib/place/guards/place-route.guard.js +0 -74
  112. package/esm2015/lib/place/route/parameter-type.js +0 -61
  113. package/esm2015/lib/place/route/route-parameter-value.js +0 -230
  114. package/esm5/lib/interaction/guards/close-interaction.guard.js +0 -66
  115. package/esm5/lib/place/guards/leave-place.guard.js +0 -159
  116. package/esm5/lib/place/guards/place-route.guard.js +0 -78
  117. package/esm5/lib/place/route/parameter-type.js +0 -94
  118. package/esm5/lib/place/route/route-parameter-value.js +0 -316
  119. package/lib/interaction/guards/close-interaction.guard.d.ts +0 -12
  120. package/lib/place/guards/place-route.guard.d.ts +0 -10
  121. 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