@coolon/angular-ui-powerups 0.0.38 → 0.0.41

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 (30) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +180 -63
  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.metadata.json +1 -1
  6. package/esm2015/lib/angular-ui-powerups.module.js +3 -1
  7. package/esm2015/lib/place/components/abstract-place-navigation.component.js +4 -4
  8. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  9. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +110 -16
  10. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  11. package/esm2015/lib/place/guards/leave-place.guard.js +12 -4
  12. package/esm2015/lib/place/guards/place-route.guard.js +2 -2
  13. package/esm2015/lib/place/place-component.js +3 -8
  14. package/esm2015/lib/place/place.service.js +6 -28
  15. package/esm5/lib/angular-ui-powerups.module.js +3 -1
  16. package/esm5/lib/place/components/abstract-place-navigation.component.js +4 -4
  17. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  18. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +141 -20
  19. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  20. package/esm5/lib/place/guards/leave-place.guard.js +11 -3
  21. package/esm5/lib/place/guards/place-route.guard.js +2 -2
  22. package/esm5/lib/place/place-component.js +7 -9
  23. package/esm5/lib/place/place.service.js +22 -32
  24. package/fesm2015/coolon-angular-ui-powerups.js +129 -53
  25. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  26. package/fesm5/coolon-angular-ui-powerups.js +178 -61
  27. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  28. package/lib/place/components/abstract-place-navigation.component.d.ts +1 -1
  29. package/lib/place/components/place-outlet/place-outlet.component.d.ts +16 -8
  30. package/package.json +1 -1
@@ -2,14 +2,56 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { Component, Input, ViewChild } from '@angular/core';
6
- import { RouterOutlet } from '@angular/router';
5
+ import * as tslib_1 from "tslib";
6
+ import { Component, Input, QueryList, ViewChildren } from '@angular/core';
7
+ import { ActivatedRoute, RouterOutlet } from '@angular/router';
8
+ import { Dsl, MutableListModel } from '@coolon/pectin';
9
+ import { DisposableComponent } from '../../../components/disposable-component';
7
10
  import { PlaceService } from '../../place.service';
8
11
  import { LEFT_RIGHT_PLACE_ANIMATION } from './route-animations';
9
- var PlaceOutletComponent = /** @class */ (function () {
10
- function PlaceOutletComponent(placeService) {
11
- this.placeService = placeService;
12
- this.animate = true;
12
+ var PlaceOutletComponent = /** @class */ (function (_super) {
13
+ tslib_1.__extends(PlaceOutletComponent, _super);
14
+ function PlaceOutletComponent(placeService, activatedRoute) {
15
+ var _this = _super.call(this) || this;
16
+ _this.placeService = placeService;
17
+ _this.activatedRoute = activatedRoute;
18
+ _this.animate = true;
19
+ _this.outletUrlSegment = new MutableListModel();
20
+ var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
21
+ _this.myPath = observe.listsFrom(activatedRoute.url).last().map((/**
22
+ * @param {?} s
23
+ * @return {?}
24
+ */
25
+ function (s) { return s.toString(); })).reduce((/**
26
+ * @param {?} bits
27
+ * @return {?}
28
+ */
29
+ function (bits) { return bits.join(','); }));
30
+ console.log("new outlet@(" + _this.myPath.value + ")");
31
+ _this.outletChildPath = chain(_this.outletUrlSegment).map((/**
32
+ * @param {?} s
33
+ * @return {?}
34
+ */
35
+ function (s) { return s.toString(); })).reduce((/**
36
+ * @param {?} bits
37
+ * @return {?}
38
+ */
39
+ function (bits) { return bits.join(","); }));
40
+ _this.state = chain(_this.myPath).map((/**
41
+ * @param {?} path
42
+ * @return {?}
43
+ */
44
+ function (path) {
45
+ return "outlet@(" + path + "), child path->" + _this.outletChildPath.value;
46
+ }), { dependsOn: _this.outletChildPath });
47
+ when.valueOf(_this.state).changes((/**
48
+ * @param {?} debug
49
+ * @return {?}
50
+ */
51
+ function (debug) {
52
+ console.log("Outlet Changed -> " + debug);
53
+ }));
54
+ return _this;
13
55
  }
14
56
  /**
15
57
  * @return {?}
@@ -19,26 +61,71 @@ var PlaceOutletComponent = /** @class */ (function () {
19
61
  */
20
62
  function () {
21
63
  };
64
+ /**
65
+ * @return {?}
66
+ */
67
+ PlaceOutletComponent.prototype.ngAfterViewInit = /**
68
+ * @return {?}
69
+ */
70
+ function () {
71
+ // this.routerOutLetQuery.changes.subscribe(() => {
72
+ // this.updateRouterOutlet(this.routerOutLetQuery.first);
73
+ // });
74
+ };
75
+ /**
76
+ * @return {?}
77
+ */
78
+ PlaceOutletComponent.prototype.ngAfterViewChecked = /**
79
+ * @return {?}
80
+ */
81
+ function () {
82
+ // console.log(`@AfterViewChecked: ${this.state.value}`);
83
+ this.updateRouterOutlet(this.routerOutLetQuery.first);
84
+ };
85
+ // @Trace()
86
+ // ngOnDestroy(): void {
87
+ // console.log('outletSegments', this.outletUrlSegment.value);
88
+ // console.log('mySegments', this.myPath.value);
89
+ // super.ngOnDestroy();
90
+ // }
91
+ // @Trace()
92
+ // @Trace()
93
+ // ngOnDestroy(): void {
94
+ // console.log('outletSegments', this.outletUrlSegment.value);
95
+ // console.log('mySegments', this.myPath.value);
96
+ // super.ngOnDestroy();
97
+ // }
98
+ // @Trace()
22
99
  /**
23
100
  * @param {?} $event
24
101
  * @return {?}
25
102
  */
26
- PlaceOutletComponent.prototype.onActivate = /**
103
+ PlaceOutletComponent.prototype.onOutletActivated =
104
+ // @Trace()
105
+ // ngOnDestroy(): void {
106
+ // console.log('outletSegments', this.outletUrlSegment.value);
107
+ // console.log('mySegments', this.myPath.value);
108
+ // super.ngOnDestroy();
109
+ // }
110
+ // @Trace()
111
+ /**
27
112
  * @param {?} $event
28
113
  * @return {?}
29
114
  */
30
115
  function ($event) {
116
+ // console.log(this.routerOutLet.activatedRoute.snapshot.url);
31
117
  this.currentPlace = $event;
32
118
  this.placeService.onActivate($event);
33
119
  if (!this.animate) {
34
- this.notifyPlaceReady();
120
+ // we're not animating so trigger any post animation callbacks now.
121
+ this.animationDone();
35
122
  }
36
123
  };
37
124
  /**
38
125
  * @param {?} $event
39
126
  * @return {?}
40
127
  */
41
- PlaceOutletComponent.prototype.onDeactivate = /**
128
+ PlaceOutletComponent.prototype.onOutletDeactivated = /**
42
129
  * @param {?} $event
43
130
  * @return {?}
44
131
  */
@@ -64,54 +151,88 @@ var PlaceOutletComponent = /** @class */ (function () {
64
151
  * @return {?}
65
152
  */
66
153
  function () {
67
- this.notifyPlaceReady();
154
+ if (this.currentPlace) {
155
+ this.currentPlace.onPlaceReady();
156
+ }
68
157
  };
158
+ // @Trace()
159
+ // @Trace()
69
160
  /**
70
161
  * @private
162
+ * @param {?} first
71
163
  * @return {?}
72
164
  */
73
- PlaceOutletComponent.prototype.notifyPlaceReady = /**
165
+ PlaceOutletComponent.prototype.updateRouterOutlet =
166
+ // @Trace()
167
+ /**
74
168
  * @private
169
+ * @param {?} first
75
170
  * @return {?}
76
171
  */
77
- function () {
78
- if (this.currentPlace) {
79
- this.currentPlace.onPlaceReady();
172
+ function (first) {
173
+ if (first.isActivated) {
174
+ this.outletUrlSegment.value = first.activatedRoute.snapshot.url;
80
175
  }
81
176
  };
82
177
  PlaceOutletComponent.decorators = [
83
178
  { type: Component, args: [{
84
179
  selector: 'angular-ui-powerups-place-outlet',
85
- template: "<div class=\"router-outlet-container\"\n [@routeAnimations]=\"getPlaceOrder(routerOutlet)\"\n (@routeAnimations.done)=\"animationDone()\"\n>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\">\n </router-outlet>\n</div>\n\n",
180
+ template: "<div class=\"router-outlet-container\"\n [@routeAnimations]=\"getPlaceOrder(routerOutlet)\"\n (@routeAnimations.done)=\"animationDone()\"\n>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated($event)\"\n (deactivate)=\"onOutletDeactivated($event)\">\n </router-outlet>\n</div>\n\n",
86
181
  animations: [LEFT_RIGHT_PLACE_ANIMATION],
87
182
  styles: [":host{display:flex;flex-direction:column;min-height:0}.router-outlet-container{flex:1;display:block;position:relative;min-height:0}router-outlet{display:none}"]
88
183
  }] }
89
184
  ];
90
185
  /** @nocollapse */
91
186
  PlaceOutletComponent.ctorParameters = function () { return [
92
- { type: PlaceService }
187
+ { type: PlaceService },
188
+ { type: ActivatedRoute }
93
189
  ]; };
94
190
  PlaceOutletComponent.propDecorators = {
95
191
  animate: [{ type: Input }],
96
- routerOutLet: [{ type: ViewChild, args: ['routerOutlet', { static: false },] }]
192
+ routerOutLetQuery: [{ type: ViewChildren, args: [RouterOutlet,] }]
97
193
  };
98
194
  return PlaceOutletComponent;
99
- }());
195
+ }(DisposableComponent));
100
196
  export { PlaceOutletComponent };
101
197
  if (false) {
102
198
  /** @type {?} */
103
199
  PlaceOutletComponent.prototype.animate;
104
200
  /** @type {?} */
105
- PlaceOutletComponent.prototype.routerOutLet;
201
+ PlaceOutletComponent.prototype.routerOutLetQuery;
106
202
  /**
107
203
  * @type {?}
108
204
  * @private
109
205
  */
110
206
  PlaceOutletComponent.prototype.currentPlace;
207
+ /**
208
+ * @type {?}
209
+ * @private
210
+ */
211
+ PlaceOutletComponent.prototype.myPath;
212
+ /**
213
+ * @type {?}
214
+ * @private
215
+ */
216
+ PlaceOutletComponent.prototype.outletUrlSegment;
217
+ /**
218
+ * @type {?}
219
+ * @private
220
+ */
221
+ PlaceOutletComponent.prototype.outletChildPath;
222
+ /**
223
+ * @type {?}
224
+ * @private
225
+ */
226
+ PlaceOutletComponent.prototype.state;
111
227
  /**
112
228
  * @type {?}
113
229
  * @private
114
230
  */
115
231
  PlaceOutletComponent.prototype.placeService;
232
+ /**
233
+ * @type {?}
234
+ * @private
235
+ */
236
+ PlaceOutletComponent.prototype.activatedRoute;
116
237
  }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRTtJQWVFLDhCQUE2QixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQU52RCxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBT2YsQ0FBQzs7OztJQUVELHVDQUFROzs7SUFBUjtJQUNBLENBQUM7Ozs7O0lBRUQseUNBQVU7Ozs7SUFBVixVQUFXLE1BQXNCO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7Ozs7SUFFRCwyQ0FBWTs7OztJQUFaLFVBQWEsTUFBc0I7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7Ozs7SUFFRCw0Q0FBYTs7OztJQUFiLFVBQWMsTUFBb0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsa0JBQWtCLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hHLENBQUM7Ozs7SUFFRCw0Q0FBYTs7O0lBQWI7UUFDRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUVPLCtDQUFnQjs7OztJQUF4QjtRQUNFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzs7Z0JBOUNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1Qyx3VkFBNEM7b0JBRTVDLFVBQVUsRUFBRSxDQUFDLDBCQUEwQixDQUFDOztpQkFDekM7Ozs7Z0JBUlEsWUFBWTs7OzBCQVdsQixLQUFLOytCQUdMLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztJQXFDOUMsMkJBQUM7Q0FBQSxBQWhERCxJQWdEQztTQTFDWSxvQkFBb0I7OztJQUUvQix1Q0FDZTs7SUFFZiw0Q0FDMkI7Ozs7O0lBQzNCLDRDQUFxQzs7Ozs7SUFFekIsNENBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlU2VydmljZSB9IGZyb20gJy4uLy4uL3BsYWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXVpLXBvd2VydXBzLXBsYWNlLW91dGxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU91dGxldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgYW5pbWF0ZSA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZCgncm91dGVyT3V0bGV0JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHJvdXRlck91dExldDogUm91dGVyT3V0bGV0O1xuICBwcml2YXRlIGN1cnJlbnRQbGFjZTogUGxhY2VDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwbGFjZVNlcnZpY2U6IFBsYWNlU2VydmljZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBvbkFjdGl2YXRlKCRldmVudDogUGxhY2VDb21wb25lbnQpIHtcbiAgICB0aGlzLmN1cnJlbnRQbGFjZSA9ICRldmVudDtcbiAgICB0aGlzLnBsYWNlU2VydmljZS5vbkFjdGl2YXRlKCRldmVudCk7XG4gICAgaWYgKCF0aGlzLmFuaW1hdGUpIHtcbiAgICAgIHRoaXMubm90aWZ5UGxhY2VSZWFkeSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uRGVhY3RpdmF0ZSgkZXZlbnQ6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5jdXJyZW50UGxhY2UgPSBudWxsO1xuICAgIHRoaXMucGxhY2VTZXJ2aWNlLm9uRGVhY3RpdmF0ZSgkZXZlbnQpO1xuICB9XG5cbiAgZ2V0UGxhY2VPcmRlcihvdXRsZXQ6IFJvdXRlck91dGxldCkge1xuICAgIHJldHVybiB0aGlzLmFuaW1hdGUgJiYgb3V0bGV0ICYmIG91dGxldC5hY3RpdmF0ZWRSb3V0ZURhdGEgJiYgb3V0bGV0LmFjdGl2YXRlZFJvdXRlRGF0YVsncGxhY2VPcmRlciddO1xuICB9XG5cbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICB0aGlzLm5vdGlmeVBsYWNlUmVhZHkoKTtcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5UGxhY2VSZWFkeSgpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50UGxhY2UpIHtcbiAgICAgIHRoaXMuY3VycmVudFBsYWNlLm9uUGxhY2VSZWFkeSgpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRTtJQU0wQyxnREFBbUI7SUFjM0QsOEJBQTZCLFlBQTBCLEVBQVUsY0FBOEI7UUFBL0YsWUFDRSxpQkFBTyxTQVlSO1FBYjRCLGtCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsb0JBQWMsR0FBZCxjQUFjLENBQWdCO1FBWC9GLGFBQU8sR0FBRyxJQUFJLENBQUM7UUFPUCxzQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixFQUFjLENBQUM7UUFNdEQsSUFBQSwyQkFBa0YsRUFBaEYsZ0JBQUssRUFBRSxvQkFBTyxFQUFFLGtCQUFNLEVBQUUsY0FBSSxFQUFFLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxzQkFBa0M7UUFDeEYsS0FBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHOzs7O1FBQUMsVUFB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Q3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQzs7Z0JBdkZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxzV0FBNEM7b0JBRTVDLFVBQVUsRUFBRSxDQUFDLDBCQUEwQixDQUFDOztpQkFDekM7Ozs7Z0JBUlEsWUFBWTtnQkFKWixjQUFjOzs7MEJBZXBCLEtBQUs7b0NBR0wsWUFBWSxTQUFDLFlBQVk7O0lBNkU1QiwyQkFBQztDQUFBLEFBeEZELENBTTBDLG1CQUFtQixHQWtGNUQ7U0FsRlksb0JBQW9COzs7SUFFL0IsdUNBQ2U7O0lBRWYsaURBQzJDOzs7OztJQUUzQyw0Q0FBcUM7Ozs7O0lBQ3JDLHNDQUF3Qzs7Ozs7SUFDeEMsZ0RBQThEOzs7OztJQUM5RCwrQ0FBaUQ7Ozs7O0lBQ2pELHFDQUF1Qzs7Ozs7SUFFM0IsNENBQTJDOzs7OztJQUFFLDhDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJPdXRsZXQsIFVybFNlZ21lbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRHNsLCBNdXRhYmxlTGlzdE1vZGVsLCBUcmFjZSwgVmFsdWVNb2RlbENoYWluIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGxhY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMRUZUX1JJR0hUX1BMQUNFX0FOSU1BVElPTiB9IGZyb20gJy4vcm91dGUtYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXItdWktcG93ZXJ1cHMtcGxhY2Utb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYWNlLW91dGxldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BsYWNlLW91dGxldC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT05dXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlT3V0bGV0Q29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG5cbiAgQElucHV0KClcbiAgYW5pbWF0ZSA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZHJlbihSb3V0ZXJPdXRsZXQpXG4gIHJvdXRlck91dExldFF1ZXJ5OiBRdWVyeUxpc3Q8Um91dGVyT3V0bGV0PjtcblxuICBwcml2YXRlIGN1cnJlbnRQbGFjZTogUGxhY2VDb21wb25lbnQ7XG4gIHByaXZhdGUgbXlQYXRoOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjtcbiAgcHJpdmF0ZSBvdXRsZXRVcmxTZWdtZW50ID0gbmV3IE11dGFibGVMaXN0TW9kZWw8VXJsU2VnbWVudD4oKTtcbiAgcHJpdmF0ZSBvdXRsZXRDaGlsZFBhdGg6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+O1xuICBwcml2YXRlIHN0YXRlOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsYWNlU2VydmljZTogUGxhY2VTZXJ2aWNlLCBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLm15UGF0aCA9IG9ic2VydmUubGlzdHNGcm9tKGFjdGl2YXRlZFJvdXRlLnVybCkubGFzdCgpLm1hcChzID0+IHMudG9TdHJpbmcoKSkucmVkdWNlKGJpdHMgPT4gYml0cy5qb2luKCcsJykpO1xuICAgIGNvbnNvbGUubG9nKGBuZXcgb3V0bGV0QCgke3RoaXMubXlQYXRoLnZhbHVlfSlgKTtcbiAgICB0aGlzLm91dGxldENoaWxkUGF0aCA9IGNoYWluKHRoaXMub3V0bGV0VXJsU2VnbWVudCkubWFwKHMgPT4gcy50b1N0cmluZygpKS5yZWR1Y2UoYml0cyA9PiBiaXRzLmpvaW4oXCIsXCIpKTtcbiAgICB0aGlzLnN0YXRlID0gY2hhaW4odGhpcy5teVBhdGgpLm1hcChwYXRoID0+IHtcbiAgICAgIHJldHVybiBgb3V0bGV0QCgke3BhdGh9KSwgY2hpbGQgcGF0aC0+JHt0aGlzLm91dGxldENoaWxkUGF0aC52YWx1ZX1gXG4gICAgfSwge2RlcGVuZHNPbjogdGhpcy5vdXRsZXRDaGlsZFBhdGh9KTtcblxuICAgIHdoZW4udmFsdWVPZih0aGlzLnN0YXRlKS5jaGFuZ2VzKGRlYnVnID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGBPdXRsZXQgQ2hhbmdlZCAtPiAke2RlYnVnfWApO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gdGhpcy5yb3V0ZXJPdXRMZXRRdWVyeS5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgLy8gICB0aGlzLnVwZGF0ZVJvdXRlck91dGxldCh0aGlzLnJvdXRlck91dExldFF1ZXJ5LmZpcnN0KTtcbiAgICAvLyB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAvLyBjb25zb2xlLmxvZyhgQEFmdGVyVmlld0NoZWNrZWQ6ICR7dGhpcy5zdGF0ZS52YWx1ZX1gKTtcbiAgICB0aGlzLnVwZGF0ZVJvdXRlck91dGxldCh0aGlzLnJvdXRlck91dExldFF1ZXJ5LmZpcnN0KVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgLy8gbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gIC8vICAgY29uc29sZS5sb2coJ291dGxldFNlZ21lbnRzJywgdGhpcy5vdXRsZXRVcmxTZWdtZW50LnZhbHVlKTtcbiAgLy8gICBjb25zb2xlLmxvZygnbXlTZWdtZW50cycsIHRoaXMubXlQYXRoLnZhbHVlKTtcbiAgLy8gICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAvLyB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXRBY3RpdmF0ZWQoJGV2ZW50OiBQbGFjZUNvbXBvbmVudCkge1xuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucm91dGVyT3V0TGV0LmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnVybCk7XG4gICAgdGhpcy5jdXJyZW50UGxhY2UgPSAkZXZlbnQ7XG4gICAgdGhpcy5wbGFjZVNlcnZpY2Uub25BY3RpdmF0ZSgkZXZlbnQpO1xuICAgIGlmICghdGhpcy5hbmltYXRlKSB7XG4gICAgICAvLyB3ZSdyZSBub3QgYW5pbWF0aW5nIHNvIHRyaWdnZXIgYW55IHBvc3QgYW5pbWF0aW9uIGNhbGxiYWNrcyBub3cuXG4gICAgICB0aGlzLmFuaW1hdGlvbkRvbmUoKTtcbiAgICB9XG4gIH1cblxuICBvbk91dGxldERlYWN0aXZhdGVkKCRldmVudDogUGxhY2VDb21wb25lbnQpIHtcbiAgICB0aGlzLmN1cnJlbnRQbGFjZSA9IG51bGw7XG4gICAgdGhpcy5wbGFjZVNlcnZpY2Uub25EZWFjdGl2YXRlKCRldmVudCk7XG4gIH1cblxuICBnZXRQbGFjZU9yZGVyKG91dGxldDogUm91dGVyT3V0bGV0KSB7XG4gICAgcmV0dXJuIHRoaXMuYW5pbWF0ZSAmJiBvdXRsZXQgJiYgb3V0bGV0LmFjdGl2YXRlZFJvdXRlRGF0YSAmJiBvdXRsZXQuYWN0aXZhdGVkUm91dGVEYXRhWydwbGFjZU9yZGVyJ107XG4gIH1cblxuICBhbmltYXRpb25Eb25lKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRQbGFjZSkge1xuICAgICAgdGhpcy5jdXJyZW50UGxhY2Uub25QbGFjZVJlYWR5KCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSB1cGRhdGVSb3V0ZXJPdXRsZXQoZmlyc3Q6IFJvdXRlck91dGxldCkge1xuICAgIGlmIChmaXJzdC5pc0FjdGl2YXRlZCkge1xuICAgICAgdGhpcy5vdXRsZXRVcmxTZWdtZW50LnZhbHVlID0gZmlyc3QuYWN0aXZhdGVkUm91dGUuc25hcHNob3QudXJsO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -13,7 +13,7 @@ var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
13
13
  TabbedPlaceNavigationComponent.decorators = [
14
14
  { type: Component, args: [{
15
15
  selector: 'angular-ui-powerups-tabbed-place-navigation',
16
- template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let place of placeDefinitions.value\"\n [routerLink]='place.path'\n routerLinkActive #rla=\"routerLinkActive\"\n [active]=\"rla.isActive\"\n [matTooltip]=\"getNavItem(place).tooltip()\">\n <mat-icon *ngIf=\"getNavItem(place).icon()\">{{getNavItem(place).icon()}}</mat-icon>\n <span>{{getNavItem(place).title()}}</span>\n </a>\n</nav>\n",
16
+ template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let place of placeDefinitions.value\"\n [routerLink]='place.path'\n routerLinkActive #rla=\"routerLinkActive\"\n [active]=\"rla.isActive\"\n [matTooltip]=\"getNav(place).tooltip()\">\n <mat-icon *ngIf=\"getNav(place).icon()\">{{getNav(place).icon()}}</mat-icon>\n <span>{{getNav(place).title()}}</span>\n </a>\n</nav>\n",
17
17
  styles: [""]
18
18
  }] }
19
19
  ];
@@ -22,4 +22,4 @@ var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
22
22
  return TabbedPlaceNavigationComponent;
23
23
  }(AbstractPlaceNavigationComponent));
24
24
  export { TabbedPlaceNavigationComponent };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUY7SUFLb0QsMERBQWdDO0lBQ2xGO2VBQ0UsaUJBQU87SUFDVCxDQUFDOztnQkFSRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsb2FBQXVEOztpQkFFeEQ7Ozs7SUFLRCxxQ0FBQztDQUFBLEFBVEQsQ0FLb0QsZ0NBQWdDLEdBSW5GO1NBSlksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEc2wsIExpc3RNb2RlbCwgTGlzdE1vZGVsQ2hhaW4sIFN0b3JlSW5MaXN0TW9kZWwsIFVzZURlbGVnYXRlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXItdWktcG93ZXJ1cHMtdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmJlZFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUY7SUFLb0QsMERBQWdDO0lBQ2xGO2VBQ0UsaUJBQU87SUFDVCxDQUFDOztnQkFSRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsb1pBQXVEOztpQkFFeEQ7Ozs7SUFLRCxxQ0FBQztDQUFBLEFBVEQsQ0FLb0QsZ0NBQWdDLEdBSW5GO1NBSlksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEc2wsIExpc3RNb2RlbCwgTGlzdE1vZGVsQ2hhaW4sIFN0b3JlSW5MaXN0TW9kZWwsIFVzZURlbGVnYXRlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXItdWktcG93ZXJ1cHMtdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmJlZFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuIl19
@@ -3,7 +3,7 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import { Injectable, Injector } from '@angular/core';
6
- import { Router } from '@angular/router';
6
+ import { PRIMARY_OUTLET, Router } from '@angular/router';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/router";
9
9
  var LeavePlaceGuard = /** @class */ (function () {
@@ -29,7 +29,15 @@ var LeavePlaceGuard = /** @class */ (function () {
29
29
  // HACK: this will break with child routes...
30
30
  /** @type {?} */
31
31
  var path = "/" + component.placeDefinition.path;
32
- console.log({ path: path, next: nextState.url });
32
+ console.log({
33
+ placePath: path,
34
+ currentRoute: currentRoute.toString(),
35
+ currentStateUrl: currentState.url,
36
+ nextStateUrl: nextState.url,
37
+ currentStateUrlTree: this.router.parseUrl(currentState.url).root.children[PRIMARY_OUTLET].segments,
38
+ nextStateUrlTree: this.router.parseUrl(nextState.url).root.children[PRIMARY_OUTLET].segments
39
+ });
40
+ // nextState is the full path...
33
41
  if (!nextState.url.startsWith(path)) {
34
42
  return component.canDeactivate();
35
43
  }
@@ -63,4 +71,4 @@ if (false) {
63
71
  */
64
72
  LeavePlaceGuard.prototype.injector;
65
73
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQXlDLE1BQU0sRUFBZ0MsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSzlHO0lBS0UseUJBQW9CLE1BQWMsRUFBVSxRQUFrQjtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RCxDQUFDOzs7Ozs7OztJQUVELHVDQUFhOzs7Ozs7O0lBQWIsVUFBYyxTQUF5QixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjs7O1lBRTNJLElBQUksR0FBRyxNQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBTTtRQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25DLE9BQU8sU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ2xDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7Z0JBakJGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBUCtDLE1BQU07Z0JBRGpDLFFBQVE7OzswQkFBN0I7Q0F5QkMsQUFuQkQsSUFtQkM7U0FoQlksZUFBZTs7Ozs7O0lBRWQsaUNBQXNCOzs7OztJQUFFLG1DQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5EZWFjdGl2YXRlLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgbGFuZyB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGVhdmVQbGFjZUd1YXJkIGltcGxlbWVudHMgQ2FuRGVhY3RpdmF0ZTxQbGFjZUNvbXBvbmVudD4ge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICAvLyBIQUNLOiB0aGlzIHdpbGwgYnJlYWsgd2l0aCBjaGlsZCByb3V0ZXMuLi5cbiAgICBsZXQgcGF0aCA9IGAvJHtjb21wb25lbnQucGxhY2VEZWZpbml0aW9uLnBhdGh9YDtcbiAgICBjb25zb2xlLmxvZyh7cGF0aDogcGF0aCwgbmV4dDogbmV4dFN0YXRlLnVybH0pO1xuICAgIGlmICghbmV4dFN0YXRlLnVybC5zdGFydHNXaXRoKHBhdGgpKSB7XG4gICAgICByZXR1cm4gY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBR0wsY0FBYyxFQUNkLE1BQU0sRUFHUCxNQUFNLGlCQUFpQixDQUFDOzs7QUFLekI7SUFLRSx5QkFBb0IsTUFBYyxFQUFVLFFBQWtCO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzlELENBQUM7Ozs7Ozs7O0lBRUQsdUNBQWE7Ozs7Ozs7SUFBYixVQUFjLFNBQXlCLEVBQUUsWUFBb0MsRUFBRSxZQUFpQyxFQUFFLFNBQStCOzs7WUFFekksSUFBSSxHQUFHLE1BQUksU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFNO1FBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDVixTQUFTLEVBQUUsSUFBSTtZQUNmLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ3JDLGVBQWUsRUFBRSxZQUFZLENBQUMsR0FBRztZQUNqQyxZQUFZLEVBQUUsU0FBUyxDQUFDLEdBQUc7WUFDM0IsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUTtZQUNsRyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRO1NBQzdGLENBQUMsQ0FBQztRQUNILGdDQUFnQztRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDbEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOztnQkF6QkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFWQyxNQUFNO2dCQUxhLFFBQVE7OzswQkFBN0I7Q0F3Q0MsQUEzQkQsSUEyQkM7U0F4QlksZUFBZTs7Ozs7O0lBRWQsaUNBQXNCOzs7OztJQUFFLG1DQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBDYW5EZWFjdGl2YXRlLFxuICBQUklNQVJZX09VVExFVCxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBVcmxUcmVlXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBsYW5nIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMZWF2ZVBsYWNlR3VhcmQgaW1wbGVtZW50cyBDYW5EZWFjdGl2YXRlPFBsYWNlQ29tcG9uZW50PiB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgfVxuXG4gIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCwgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyZW50U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIG5leHRTdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIC8vIEhBQ0s6IHRoaXMgd2lsbCBicmVhayB3aXRoIGNoaWxkIHJvdXRlcy4uLlxuICAgIGNvbnN0IHBhdGggPSBgLyR7Y29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbi5wYXRofWA7XG4gICAgY29uc29sZS5sb2coe1xuICAgICAgcGxhY2VQYXRoOiBwYXRoLFxuICAgICAgY3VycmVudFJvdXRlOiBjdXJyZW50Um91dGUudG9TdHJpbmcoKSxcbiAgICAgIGN1cnJlbnRTdGF0ZVVybDogY3VycmVudFN0YXRlLnVybCxcbiAgICAgIG5leHRTdGF0ZVVybDogbmV4dFN0YXRlLnVybCxcbiAgICAgIGN1cnJlbnRTdGF0ZVVybFRyZWU6IHRoaXMucm91dGVyLnBhcnNlVXJsKGN1cnJlbnRTdGF0ZS51cmwpLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnNlZ21lbnRzLFxuICAgICAgbmV4dFN0YXRlVXJsVHJlZTogdGhpcy5yb3V0ZXIucGFyc2VVcmwobmV4dFN0YXRlLnVybCkucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF0uc2VnbWVudHNcbiAgICB9KTtcbiAgICAvLyBuZXh0U3RhdGUgaXMgdGhlIGZ1bGwgcGF0aC4uLlxuICAgIGlmICghbmV4dFN0YXRlLnVybC5zdGFydHNXaXRoKHBhdGgpKSB7XG4gICAgICByZXR1cm4gY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -29,7 +29,7 @@ var PlaceRouteGuard = /** @class */ (function () {
29
29
  // Id snapshot are repesented by 2 url segments
30
30
  // ID => [{'/basePath', params}, {'id', params}]
31
31
  // NO ID => [{'/basePath', params}]
32
- console.log({ urlSegments: route.url });
32
+ // console.log({urlSegments: route.url});
33
33
  // const snapshot = ParameterSnapshot.create(PlaceComponent.getDefinition(route.component as Constructable<PlaceComponent>), route.paramMap);
34
34
  // return this.placeService.sanitise(snapshot).then(sanitised => {
35
35
  // if (sanitised.hasChanged(snapshot)) {
@@ -66,4 +66,4 @@ if (false) {
66
66
  */
67
67
  PlaceRouteGuard.prototype.router;
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLXJvdXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBdUMsTUFBTSxFQUFnQyxNQUFNLGlCQUFpQixDQUFDO0FBSTVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUdoRDtJQUtFLHlCQUE2QixZQUEwQixFQUFtQixNQUFjO1FBQTNELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDeEYsQ0FBQzs7Ozs7O0lBRUQscUNBQVc7Ozs7O0lBQVgsVUFBWSxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLDJDQUEyQztRQUMzQyxpRkFBaUY7UUFDakYsK0NBQStDO1FBQy9DLGdEQUFnRDtRQUNoRCxtQ0FBbUM7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQztRQUN0Qyw2SUFBNkk7UUFFN0ksa0VBQWtFO1FBQ2xFLDBDQUEwQztRQUMxQyxzRUFBc0U7UUFDdEUsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixNQUFNO1FBQ04sTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7Z0JBekJGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBTFEsWUFBWTtnQkFKeUIsTUFBTTs7OzBCQURwRDtDQW1DQyxBQTNCRCxJQTJCQztTQXhCWSxlQUFlOzs7Ozs7SUFFZCx1Q0FBMkM7Ozs7O0lBQUUsaUNBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vcGxhY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTbmFwc2hvdCB9IGZyb20gJy4uL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlUm91dGVHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsYWNlU2VydmljZTogUGxhY2VTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyKSB7XG4gIH1cblxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIC8vIEltcGxlbWVudCB0aGlzIHdoZW4gYWRkaW5nIGNoaWxkIHJvdXRlcy5cbiAgICAvLyBUT0RPOiB0aGVyZSBhcmUgcmVhbGx5IHR3byB0eXBlcyBvZiBzbmFwc2hvdCwgb25lcyB3aXRoIGlkJ3MgYW5kIG9uZXMgd2l0aG91dC5cbiAgICAvLyBJZCBzbmFwc2hvdCBhcmUgcmVwZXNlbnRlZCBieSAyIHVybCBzZWdtZW50c1xuICAgIC8vIElEID0+IFt7Jy9iYXNlUGF0aCcsIHBhcmFtc30sIHsnaWQnLCBwYXJhbXN9XVxuICAgIC8vIE5PIElEID0+IFt7Jy9iYXNlUGF0aCcsIHBhcmFtc31dXG4gICAgY29uc29sZS5sb2coe3VybFNlZ21lbnRzOiByb3V0ZS51cmx9KTtcbiAgICAvLyBjb25zdCBzbmFwc2hvdCA9IFBhcmFtZXRlclNuYXBzaG90LmNyZWF0ZShQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKHJvdXRlLmNvbXBvbmVudCBhcyBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiksIHJvdXRlLnBhcmFtTWFwKTtcblxuICAgIC8vIHJldHVybiB0aGlzLnBsYWNlU2VydmljZS5zYW5pdGlzZShzbmFwc2hvdCkudGhlbihzYW5pdGlzZWQgPT4ge1xuICAgIC8vICAgaWYgKHNhbml0aXNlZC5oYXNDaGFuZ2VkKHNuYXBzaG90KSkge1xuICAgIC8vICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShzbmFwc2hvdC51cGRhdGVVcmwocm91dGUudXJsKSlcbiAgICAvLyAgIH0gZWxzZSB7XG4gICAgLy8gICAgIHJldHVybiB0cnVlO1xuICAgIC8vICAgfVxuICAgIC8vIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbn1cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLXJvdXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBdUMsTUFBTSxFQUFnQyxNQUFNLGlCQUFpQixDQUFDO0FBRTVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUVoRDtJQUtFLHlCQUE2QixZQUEwQixFQUFtQixNQUFjO1FBQTNELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDeEYsQ0FBQzs7Ozs7O0lBRUQscUNBQVc7Ozs7O0lBQVgsVUFBWSxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLDJDQUEyQztRQUMzQyxpRkFBaUY7UUFDakYsK0NBQStDO1FBQy9DLGdEQUFnRDtRQUNoRCxtQ0FBbUM7UUFDbkMseUNBQXlDO1FBQ3pDLDZJQUE2STtRQUU3SSxrRUFBa0U7UUFDbEUsMENBQTBDO1FBQzFDLHNFQUFzRTtRQUN0RSxhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLE1BQU07UUFDTixNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztnQkF6QkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFKUSxZQUFZO2dCQUZ5QixNQUFNOzs7MEJBRHBEO0NBZ0NDLEFBM0JELElBMkJDO1NBeEJZLGVBQWU7Ozs7OztJQUVkLHVDQUEyQzs7Ozs7SUFBRSxpQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlU2VydmljZSB9IGZyb20gJy4uL3BsYWNlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFjZVJvdXRlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwbGFjZVNlcnZpY2U6IFBsYWNlU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikge1xuICB9XG5cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICAvLyBJbXBsZW1lbnQgdGhpcyB3aGVuIGFkZGluZyBjaGlsZCByb3V0ZXMuXG4gICAgLy8gVE9ETzogdGhlcmUgYXJlIHJlYWxseSB0d28gdHlwZXMgb2Ygc25hcHNob3QsIG9uZXMgd2l0aCBpZCdzIGFuZCBvbmVzIHdpdGhvdXQuXG4gICAgLy8gSWQgc25hcHNob3QgYXJlIHJlcGVzZW50ZWQgYnkgMiB1cmwgc2VnbWVudHNcbiAgICAvLyBJRCA9PiBbeycvYmFzZVBhdGgnLCBwYXJhbXN9LCB7J2lkJywgcGFyYW1zfV1cbiAgICAvLyBOTyBJRCA9PiBbeycvYmFzZVBhdGgnLCBwYXJhbXN9XVxuICAgIC8vIGNvbnNvbGUubG9nKHt1cmxTZWdtZW50czogcm91dGUudXJsfSk7XG4gICAgLy8gY29uc3Qgc25hcHNob3QgPSBQYXJhbWV0ZXJTbmFwc2hvdC5jcmVhdGUoUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihyb3V0ZS5jb21wb25lbnQgYXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pLCByb3V0ZS5wYXJhbU1hcCk7XG5cbiAgICAvLyByZXR1cm4gdGhpcy5wbGFjZVNlcnZpY2Uuc2FuaXRpc2Uoc25hcHNob3QpLnRoZW4oc2FuaXRpc2VkID0+IHtcbiAgICAvLyAgIGlmIChzYW5pdGlzZWQuaGFzQ2hhbmdlZChzbmFwc2hvdCkpIHtcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoc25hcHNob3QudXBkYXRlVXJsKHJvdXRlLnVybCkpXG4gICAgLy8gICB9IGVsc2Uge1xuICAgIC8vICAgICByZXR1cm4gdHJ1ZTtcbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG59XG4iXX0=
@@ -3,7 +3,7 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
- import { assert, Binding, Dsl, lang, MutableValueModel, Trace } from '@coolon/pectin';
6
+ import { assert, Binding, Dsl, lang, MutableValueModel } from '@coolon/pectin';
7
7
  import { Klass } from '@coolon/typescript-utilities';
8
8
  import { Memoize } from '@typescript-plus/fast-memoize-decorator';
9
9
  import * as _ from 'lodash';
@@ -123,10 +123,14 @@ var PlaceComponent = /** @class */ (function (_super) {
123
123
  function () {
124
124
  return true;
125
125
  };
126
+ // @Trace()
127
+ // @Trace()
126
128
  /**
127
129
  * @return {?}
128
130
  */
129
- PlaceComponent.prototype.onPlaceReady = /**
131
+ PlaceComponent.prototype.onPlaceReady =
132
+ // @Trace()
133
+ /**
130
134
  * @return {?}
131
135
  */
132
136
  function () {
@@ -136,12 +140,6 @@ var PlaceComponent = /** @class */ (function (_super) {
136
140
  tslib_1.__metadata("design:type", PlaceComponent.Definition),
137
141
  tslib_1.__metadata("design:paramtypes", [])
138
142
  ], PlaceComponent.prototype, "placeDefinition", null);
139
- tslib_1.__decorate([
140
- Trace(),
141
- tslib_1.__metadata("design:type", Function),
142
- tslib_1.__metadata("design:paramtypes", []),
143
- tslib_1.__metadata("design:returntype", void 0)
144
- ], PlaceComponent.prototype, "onPlaceReady", null);
145
143
  return PlaceComponent;
146
144
  }(DisposableComponent));
147
145
  export { PlaceComponent };
@@ -313,4 +311,4 @@ if (false) {
313
311
  }
314
312
  PlaceComponent.injectDefinition = injectDefinition;
315
313
  })(PlaceComponent || (PlaceComponent = {}));
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFDTCxNQUFNLEVBQ04sT0FBTyxFQUVQLEdBQUcsRUFFSCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLEtBQUssRUFFTixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUl6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRy9ELE1BQU0sS0FBTyx3QkFBd0IsR0FBRywwQkFBMEI7OztBQUVsRSxNQUFNLEtBQU8sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDO0FBRXhFO0lBQW9DLDBDQUFtQjtJQUtyRCx3QkFBcUIsY0FBOEIsRUFBRSxZQUFpQztRQUF0RixZQUNFLGlCQUFPLFNBc0JSO1FBdkJvQixvQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFIbkMsMEJBQW9CLEdBQUcsSUFBSSxpQkFBaUIsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM1RCx3QkFBa0IsR0FBRyxJQUFJLGlCQUFpQixFQUFxQixDQUFDO1FBSXpFLElBQUEsMkJBQWtGLEVBQWhGLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxrQkFBTSxFQUFFLGNBQUksRUFBRSxnQkFBSyxFQUFFLG9CQUFPLEVBQUUsc0JBQWtDO1FBRXhGLEtBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtC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QixFQUFFLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRmUsK0JBQWdCLG1CQUUvQixDQUFBO0FBR0gsQ0FBQyxFQXJFZ0IsY0FBYyxLQUFkLGNBQWMsUUFxRTlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBCaW5kaW5nLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEc2wsXG4gIElNdXRhYmxlSGFzVmFsdWUsXG4gIGxhbmcsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBUcmFjZSxcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBLbGFzcyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnRMaWtlIH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQtbGlrZSc7XG5pbXBvcnQgeyBQbGFjZVVwZGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi9wbGFjZS11cGRhdGVzLXNlcnZpY2UnO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU25hcHNob3QgfSBmcm9tICcuL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdCc7XG5cbi8vIFJBS0U6IG1ha2luZyB0aGlzIFN5bWJvbCguLi4pIGJyb2tlIHRoaW5ncy5cbmV4cG9ydCBjb25zdCBERUZJTklUSU9OX01FVEFfREFUQV9LRVkgPSAnUExBQ0VfREVGSU5JVElPTl9PUFRJT05TJztcbi8vIHRoaXMgb25lIHNlZW1zIG9rLlxuZXhwb3J0IGNvbnN0IFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSA9IFN5bWJvbCgncGxhY2U6cm91dGU6cGFyYW1ldGVycycpO1xuXG5leHBvcnQgY2xhc3MgUGxhY2VDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgUGxhY2VDb21wb25lbnRMaWtlIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgX2luY29taW5nUm91dGVDaGFuZ2UgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVkUGFyYW1ldGVycyA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxQYXJhbWV0ZXJTbmFwc2hvdD4oKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHBsYWNlU2VydmljZTogUGxhY2VVcGRhdGVzU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFJvdXRlUGFyYW1ldGVycygpLmZvckVhY2gocCA9PiB0aGlzLmluc3RhbGxCaW5kaW5nKHApKTtcblxuICAgIG9ic2VydmUudmFsdWVzRnJvbShhY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcClcbiAgICAgIC5sYXN0KClcbiAgICAgIC5tYXAocGFyYW1zID0+IFBhcmFtZXRlclNuYXBzaG90LmNyZWF0ZSh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgcGFyYW1zKSlcbiAgICAgIC5zdWJzY3JpYmUocmVzb2x2ZWRQYXJhbWV0ZXJzID0+IHtcbiAgICAgICAgdGhpcy5faW5jb21pbmdSb3V0ZUNoYW5nZS52YWx1ZSA9IHRydWU7XG4gICAgICAgIHRoaXMucmVzb2x2ZWRQYXJhbWV0ZXJzLnZhbHVlID0gcmVzb2x2ZWRQYXJhbWV0ZXJzO1xuICAgICAgICB0aGlzLl9pbmNvbWluZ1JvdXRlQ2hhbmdlLnZhbHVlID0gZmFsc2U7XG4gICAgICB9KTtcblxuICAgIHdoZW4udmFsdWVPZih0aGlzLnJlc29sdmVkUGFyYW1ldGVycykuY2hhbmdlcygocGFyYW1zLCBwcmV2aW91cykgPT4ge1xuICAgICAgcGxhY2VTZXJ2aWNlLm5vdGlmeVJvdXRlUGFyYW1ldGVyc0NoYW5nZWQoe1xuICAgICAgICBhY3RpdmF0ZWRSb3V0ZTogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgbmV4dDogcGFyYW1zLFxuICAgICAgICBwcmV2aW91czogcHJldmlvdXMsXG4gICAgICAgIHVwZGF0ZVJvdXRlOiAhdGhpcy5pbmNvbWluZ1JvdXRlQ2hhbmdlLnZhbHVlIC8vIHdlIHVwZGF0ZSB0aGUgcm91dGUgaWYgaXQncyBhIGNvbXBvbmVudCB0cmlnZ2VyZWQgY2hhbmdlLlxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgaW5jb21pbmdSb3V0ZUNoYW5nZSgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5faW5jb21pbmdSb3V0ZUNoYW5nZS5yZWFkb25seTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbEJpbmRpbmc8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzW3BhcmFtZXRlckRlZi5wcm9wZXJ0eU5hbWVdIGFzIElNdXRhYmxlSGFzVmFsdWU8Uz47XG4gICAgLy8gdGhpcy50eG8ub2JzZXJ2ZShwYXJhbWV0ZXJEZWYucHJvcGVydHlOYW1lLCBtb2RlbCk7XG4gICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEJpbmRpbmcodGhpcy5yZXNvbHZlZFBhcmFtZXRlcnMsIG1vZGVsLCB7XG4gICAgICB0b1JpZ2h0KHBhcmFtZXRlcnM6IFBhcmFtZXRlclNuYXBzaG90KTogUyB7XG4gICAgICAgIHJldHVybiBwYXJhbWV0ZXJzLmdldFJlc29sdmVkUGFyYW1ldGVyVmFsdWUocGFyYW1ldGVyRGVmKTtcbiAgICAgIH0sXG4gICAgICB0b0xlZnQodmFsdWU6IFMsIGN1cnJlbnRQYXJhbWV0ZXJzPzogUGFyYW1ldGVyU25hcHNob3QpOiBQYXJhbWV0ZXJTbmFwc2hvdCB7XG4gICAgICAgIHJldHVybiBjdXJyZW50UGFyYW1ldGVycy5yZXBsYWNlKHBhcmFtZXRlckRlZiwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG5cbiAgQE1lbW9pemUoKVxuICBnZXQgcGxhY2VEZWZpbml0aW9uKCk6IFBsYWNlQ29tcG9uZW50LkRlZmluaXRpb24ge1xuICAgIHJldHVybiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKHRoaXMuY29uc3RydWN0b3IgYXMgYW55IGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcbiAgfVxuXG4gIGNhbkRlYWN0aXZhdGUoKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgb25QbGFjZVJlYWR5KCkge1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQbGFjZUNvbXBvbmVudCB7XG5cbiAgZXhwb3J0IGNsYXNzIERlZmluaXRpb24ge1xuICAgIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgICByZWFkb25seSBhdXRoZW50aWNhdGU6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgb3JkZXI6IG51bWJlcjtcbiAgICByZWFkb25seSBkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICAgIHJlYWRvbmx5IGNoaWxkcmVuOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PltdO1xuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Piwgb3B0aW9uczogUGxhY2VDb21wb25lbnQuT3B0aW9ucykge1xuICAgICAgYXNzZXJ0Lm5vdE5pbChvcHRpb25zKTtcbiAgICAgIHRoaXMucGF0aCA9IG9wdGlvbnMucGF0aDtcbiAgICAgIHRoaXMub3JkZXIgPSBvcHRpb25zLm9yZGVyO1xuICAgICAgdGhpcy5kYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgdGhpcy5hdXRoZW50aWNhdGUgPSBfLmlzTmlsKG9wdGlvbnMuYXV0aGVudGljYXRlKSB8fCBvcHRpb25zLmF1dGhlbnRpY2F0ZTtcbiAgICAgIHRoaXMuY2hpbGRyZW4gPSAob3B0aW9ucy5jaGlsZHJlbiB8fFtdKS5tYXAoYyA9PiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGMpLmNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldFJvdXRlUGFyYW1ldGVycygpOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT5bXSB7XG4gICAgICByZXR1cm4gS2xhc3MuZ2V0KHRoaXMuY29tcG9uZW50KS5nZXRNZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZKTtcbiAgICB9XG5cbiAgICBpc0Rlc2NyaXB0b3JGb3JUeXBlKGNvbnN0cnVjdGFibGU6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KSB7XG4gICAgICByZXR1cm4gbGFuZy5jb25zdHJ1Y3RvckNoYWluKGNvbnN0cnVjdGFibGUpLmluY2x1ZGVzKFBsYWNlQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBpc0Rlc2NyaXB0b3JGb3IocGxhY2VDb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gcGxhY2VDb21wb25lbnQuY29uc3RydWN0b3IgPT09IHRoaXMuY29tcG9uZW50O1xuICAgIH1cblxuICAgIGdldERhdGE8VD4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IFQpOiBUIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEgP1xuICAgICAgICBfLmlzTmlsKHRoaXMuZGF0YVtrZXldKSA/IGRlZmF1bHRWYWx1ZSA6IHRoaXMuZGF0YVtrZXldIDpcbiAgICAgICAgZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHNlYXJjaERhdGE8VD4oa2V5czogc3RyaW5nW10sIGRlZmF1bHRWYWx1ZT86IFQpOiBUIHtcbiAgICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgICAgY29uc3QgZm91bmQgPSBrZXlzLmZpbmQoa2V5ID0+ICFfLmlzTmlsKHRoaXMuZGF0YVtrZXldKSk7XG4gICAgICAgIHJldHVybiBmb3VuZCA/IHRoaXMuZGF0YVtmb3VuZF0gOiBkZWZhdWx0VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlcjtcbiAgICBkYXRhPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgLy8gZGVmYXVsdHMgdG8gdHJ1ZVxuICAgIGF1dGhlbnRpY2F0ZT86IGJvb2xlYW4sIC8vIGRlZmF1bHRzIHRvIHRydWVcbiAgICBjaGlsZHJlbj86IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W11cbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRPcHRpb25zIGV4dGVuZHMgT3B0aW9ucyB7XG4gICAgcGFyZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PlxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZLCBrbGFzcyk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gaW5qZWN0RGVmaW5pdGlvbihrbGFzczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4sIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwgbmV3IERlZmluaXRpb24oa2xhc3MsIG9wdGlvbnMpLCBrbGFzcyk7XG4gIH1cblxuXG59XG4iXX0=
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFDTCxNQUFNLEVBQ04sT0FBTyxFQUVQLEdBQUcsRUFFSCxJQUFJLEVBQ0osaUJBQWlCLEVBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSXpFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFHL0QsTUFBTSxLQUFPLHdCQUF3QixHQUFHLDBCQUEwQjs7O0FBRWxFLE1BQU0sS0FBTyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7QUFFeEU7SUFBb0MsMENBQW1CO0lBS3JELHdCQUFxQixjQUE4QixFQUFFLFlBQWlDO1FBQXRGLFlBQ0UsaUJBQU8sU0FzQlI7UUF2Qm9CLG9CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUhuQywwQkFBb0IsR0FBRyxJQUFJLGlCQUFpQixDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzVELHdCQUFrQixHQUFHLElBQUksaUJBQWlCLEVBQXFCLENBQUM7UUFJekUsSUFBQSwyQkFBa0YsRUFBaEYsZ0JBQUssRUFBRSxvQkFBTyxFQUFFLGtCQUFNLEVBQUUsY0FBSSxFQUFFLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxzQkFBa0M7UUFFeEYsS0FBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFD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LEVBQUUsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUZlLCtCQUFnQixtQkFFL0IsQ0FBQTtBQUdILENBQUMsRUFyRWdCLGNBQWMsS0FBZCxjQUFjLFFBcUU5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIGFzc2VydCxcbiAgQmluZGluZyxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRHNsLFxuICBJTXV0YWJsZUhhc1ZhbHVlLFxuICBsYW5nLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVHJhY2UsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgS2xhc3MgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3InO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50TGlrZSB9IGZyb20gJy4vcGxhY2UtY29tcG9uZW50LWxpa2UnO1xuaW1wb3J0IHsgUGxhY2VVcGRhdGVzU2VydmljZSB9IGZyb20gJy4vcGxhY2UtdXBkYXRlcy1zZXJ2aWNlJztcbmltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcbmltcG9ydCB7IFBhcmFtZXRlclNuYXBzaG90IH0gZnJvbSAnLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3QnO1xuXG4vLyBSQUtFOiBtYWtpbmcgdGhpcyBTeW1ib2woLi4uKSBicm9rZSB0aGluZ3MuXG5leHBvcnQgY29uc3QgREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZID0gJ1BMQUNFX0RFRklOSVRJT05fT1BUSU9OUyc7XG4vLyB0aGlzIG9uZSBzZWVtcyBvay5cbmV4cG9ydCBjb25zdCBST1VURV9QQVJBTUVURVJfTElTVF9LRVkgPSBTeW1ib2woJ3BsYWNlOnJvdXRlOnBhcmFtZXRlcnMnKTtcblxuZXhwb3J0IGNsYXNzIFBsYWNlQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIFBsYWNlQ29tcG9uZW50TGlrZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IF9pbmNvbWluZ1JvdXRlQ2hhbmdlID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlZFBhcmFtZXRlcnMgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGFyYW1ldGVyU25hcHNob3Q+KCk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwbGFjZVNlcnZpY2U6IFBsYWNlVXBkYXRlc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG5cbiAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRSb3V0ZVBhcmFtZXRlcnMoKS5mb3JFYWNoKHAgPT4gdGhpcy5pbnN0YWxsQmluZGluZyhwKSk7XG5cbiAgICBvYnNlcnZlLnZhbHVlc0Zyb20oYWN0aXZhdGVkUm91dGUucGFyYW1NYXApXG4gICAgICAubGFzdCgpXG4gICAgICAubWFwKHBhcmFtcyA9PiBQYXJhbWV0ZXJTbmFwc2hvdC5jcmVhdGUodGhpcy5wbGFjZURlZmluaXRpb24sIHBhcmFtcykpXG4gICAgICAuc3Vic2NyaWJlKHJlc29sdmVkUGFyYW1ldGVycyA9PiB7XG4gICAgICAgIHRoaXMuX2luY29taW5nUm91dGVDaGFuZ2UudmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlc29sdmVkUGFyYW1ldGVycy52YWx1ZSA9IHJlc29sdmVkUGFyYW1ldGVycztcbiAgICAgICAgdGhpcy5faW5jb21pbmdSb3V0ZUNoYW5nZS52YWx1ZSA9IGZhbHNlO1xuICAgICAgfSk7XG5cbiAgICB3aGVuLnZhbHVlT2YodGhpcy5yZXNvbHZlZFBhcmFtZXRlcnMpLmNoYW5nZXMoKHBhcmFtcywgcHJldmlvdXMpID0+IHtcbiAgICAgIHBsYWNlU2VydmljZS5ub3RpZnlSb3V0ZVBhcmFtZXRlcnNDaGFuZ2VkKHtcbiAgICAgICAgYWN0aXZhdGVkUm91dGU6IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgIG5leHQ6IHBhcmFtcyxcbiAgICAgICAgcHJldmlvdXM6IHByZXZpb3VzLFxuICAgICAgICB1cGRhdGVSb3V0ZTogIXRoaXMuaW5jb21pbmdSb3V0ZUNoYW5nZS52YWx1ZSAvLyB3ZSB1cGRhdGUgdGhlIHJvdXRlIGlmIGl0J3MgYSBjb21wb25lbnQgdHJpZ2dlcmVkIGNoYW5nZS5cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGluY29taW5nUm91dGVDaGFuZ2UoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2luY29taW5nUm91dGVDaGFuZ2UucmVhZG9ubHk7XG4gIH1cblxuICBwcml2YXRlIGluc3RhbGxCaW5kaW5nPFQsIFM+KHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPikge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpc1twYXJhbWV0ZXJEZWYucHJvcGVydHlOYW1lXSBhcyBJTXV0YWJsZUhhc1ZhbHVlPFM+O1xuICAgIC8vIHRoaXMudHhvLm9ic2VydmUocGFyYW1ldGVyRGVmLnByb3BlcnR5TmFtZSwgbW9kZWwpO1xuICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBCaW5kaW5nKHRoaXMucmVzb2x2ZWRQYXJhbWV0ZXJzLCBtb2RlbCwge1xuICAgICAgdG9SaWdodChwYXJhbWV0ZXJzOiBQYXJhbWV0ZXJTbmFwc2hvdCk6IFMge1xuICAgICAgICByZXR1cm4gcGFyYW1ldGVycy5nZXRSZXNvbHZlZFBhcmFtZXRlclZhbHVlKHBhcmFtZXRlckRlZik7XG4gICAgICB9LFxuICAgICAgdG9MZWZ0KHZhbHVlOiBTLCBjdXJyZW50UGFyYW1ldGVycz86IFBhcmFtZXRlclNuYXBzaG90KTogUGFyYW1ldGVyU25hcHNob3Qge1xuICAgICAgICByZXR1cm4gY3VycmVudFBhcmFtZXRlcnMucmVwbGFjZShwYXJhbWV0ZXJEZWYsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuXG4gIEBNZW1vaXplKClcbiAgZ2V0IHBsYWNlRGVmaW5pdGlvbigpOiBQbGFjZUNvbXBvbmVudC5EZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbih0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSBhcyBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik7XG4gIH1cblxuICBjYW5EZWFjdGl2YXRlKCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUGxhY2VSZWFkeSgpIHtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGxhY2VDb21wb25lbnQge1xuXG4gIGV4cG9ydCBjbGFzcyBEZWZpbml0aW9uIHtcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXV0aGVudGljYXRlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IG9yZGVyOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgICByZWFkb25seSBjaGlsZHJlbjogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD5bXTtcblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4sIG9wdGlvbnM6IFBsYWNlQ29tcG9uZW50Lk9wdGlvbnMpIHtcbiAgICAgIGFzc2VydC5ub3ROaWwob3B0aW9ucyk7XG4gICAgICB0aGlzLnBhdGggPSBvcHRpb25zLnBhdGg7XG4gICAgICB0aGlzLm9yZGVyID0gb3B0aW9ucy5vcmRlcjtcbiAgICAgIHRoaXMuZGF0YSA9IG9wdGlvbnMuZGF0YTtcbiAgICAgIHRoaXMuYXV0aGVudGljYXRlID0gXy5pc05pbChvcHRpb25zLmF1dGhlbnRpY2F0ZSkgfHwgb3B0aW9ucy5hdXRoZW50aWNhdGU7XG4gICAgICB0aGlzLmNoaWxkcmVuID0gKG9wdGlvbnMuY2hpbGRyZW4gfHxbXSkubWFwKGMgPT4gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihjKS5jb21wb25lbnQpO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXRSb3V0ZVBhcmFtZXRlcnMoKTogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10ge1xuICAgICAgcmV0dXJuIEtsYXNzLmdldCh0aGlzLmNvbXBvbmVudCkuZ2V0TWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSk7XG4gICAgfVxuXG4gICAgaXNEZXNjcmlwdG9yRm9yVHlwZShjb25zdHJ1Y3RhYmxlOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pikge1xuICAgICAgcmV0dXJuIGxhbmcuY29uc3RydWN0b3JDaGFpbihjb25zdHJ1Y3RhYmxlKS5pbmNsdWRlcyhQbGFjZUNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgaXNEZXNjcmlwdG9yRm9yKHBsYWNlQ29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCkge1xuICAgICAgcmV0dXJuIHBsYWNlQ29tcG9uZW50LmNvbnN0cnVjdG9yID09PSB0aGlzLmNvbXBvbmVudDtcbiAgICB9XG5cbiAgICBnZXREYXRhPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhID9cbiAgICAgICAgXy5pc05pbCh0aGlzLmRhdGFba2V5XSkgPyBkZWZhdWx0VmFsdWUgOiB0aGlzLmRhdGFba2V5XSA6XG4gICAgICAgIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBzZWFyY2hEYXRhPFQ+KGtleXM6IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0ga2V5cy5maW5kKGtleSA9PiAhXy5pc05pbCh0aGlzLmRhdGFba2V5XSkpO1xuICAgICAgICByZXR1cm4gZm91bmQgPyB0aGlzLmRhdGFbZm91bmRdIDogZGVmYXVsdFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9yZGVyOiBudW1iZXI7XG4gICAgZGF0YT86IHsgW2tleTogc3RyaW5nXTogYW55IH0sIC8vIGRlZmF1bHRzIHRvIHRydWVcbiAgICBhdXRoZW50aWNhdGU/OiBib29sZWFuLCAvLyBkZWZhdWx0cyB0byB0cnVlXG4gICAgY2hpbGRyZW4/OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PltdXG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIENoaWxkT3B0aW9ucyBleHRlbmRzIE9wdGlvbnMge1xuICAgIHBhcmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD5cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXREZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik6IERlZmluaXRpb24ge1xuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwga2xhc3MpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGluamVjdERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIG5ldyBEZWZpbml0aW9uKGtsYXNzLCBvcHRpb25zKSwga2xhc3MpO1xuICB9XG5cblxufVxuIl19
@@ -5,9 +5,7 @@
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Injectable, Injector } from '@angular/core';
7
7
  import { Router } from '@angular/router';
8
- import { GarbageCollector, MutableListModel, Trace } from '@coolon/pectin';
9
- import { PlaceComponent } from './place-component';
10
- import { ParameterSnapshot } from './route/parameter-snapshot';
8
+ import { GarbageCollector, MutableListModel } from '@coolon/pectin';
11
9
  import * as i0 from "@angular/core";
12
10
  import * as i1 from "@angular/router";
13
11
  var PlaceService = /** @class */ (function (_super) {
@@ -29,33 +27,45 @@ var PlaceService = /** @class */ (function (_super) {
29
27
  enumerable: true,
30
28
  configurable: true
31
29
  });
30
+ // @Trace()
31
+ // @Trace()
32
32
  /**
33
33
  * @param {?} place
34
34
  * @return {?}
35
35
  */
36
- PlaceService.prototype.onActivate = /**
36
+ PlaceService.prototype.onActivate =
37
+ // @Trace()
38
+ /**
37
39
  * @param {?} place
38
40
  * @return {?}
39
41
  */
40
42
  function (place) {
41
43
  this._activePlaces.push(place);
42
44
  };
45
+ // @Trace()
46
+ // @Trace()
43
47
  /**
44
48
  * @param {?} place
45
49
  * @return {?}
46
50
  */
47
- PlaceService.prototype.onDeactivate = /**
51
+ PlaceService.prototype.onDeactivate =
52
+ // @Trace()
53
+ /**
48
54
  * @param {?} place
49
55
  * @return {?}
50
56
  */
51
57
  function (place) {
52
58
  this._activePlaces.remove(place);
53
59
  };
60
+ // @Trace()
61
+ // @Trace()
54
62
  /**
55
63
  * @param {?} params
56
64
  * @return {?}
57
65
  */
58
- PlaceService.prototype.notifyRouteParametersChanged = /**
66
+ PlaceService.prototype.notifyRouteParametersChanged =
67
+ // @Trace()
68
+ /**
59
69
  * @param {?} params
60
70
  * @return {?}
61
71
  */
@@ -73,11 +83,15 @@ var PlaceService = /** @class */ (function (_super) {
73
83
  });
74
84
  }
75
85
  };
86
+ // @Trace()
87
+ // @Trace()
76
88
  /**
77
89
  * @param {?} snapshot
78
90
  * @return {?}
79
91
  */
80
- PlaceService.prototype.sanitise = /**
92
+ PlaceService.prototype.sanitise =
93
+ // @Trace()
94
+ /**
81
95
  * @param {?} snapshot
82
96
  * @return {?}
83
97
  */
@@ -99,30 +113,6 @@ var PlaceService = /** @class */ (function (_super) {
99
113
  { type: Injector }
100
114
  ]; };
101
115
  /** @nocollapse */ PlaceService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceService_Factory() { return new PlaceService(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR)); }, token: PlaceService, providedIn: "root" });
102
- tslib_1.__decorate([
103
- Trace(),
104
- tslib_1.__metadata("design:type", Function),
105
- tslib_1.__metadata("design:paramtypes", [PlaceComponent]),
106
- tslib_1.__metadata("design:returntype", void 0)
107
- ], PlaceService.prototype, "onActivate", null);
108
- tslib_1.__decorate([
109
- Trace(),
110
- tslib_1.__metadata("design:type", Function),
111
- tslib_1.__metadata("design:paramtypes", [PlaceComponent]),
112
- tslib_1.__metadata("design:returntype", void 0)
113
- ], PlaceService.prototype, "onDeactivate", null);
114
- tslib_1.__decorate([
115
- Trace(),
116
- tslib_1.__metadata("design:type", Function),
117
- tslib_1.__metadata("design:paramtypes", [Object]),
118
- tslib_1.__metadata("design:returntype", void 0)
119
- ], PlaceService.prototype, "notifyRouteParametersChanged", null);
120
- tslib_1.__decorate([
121
- Trace(),
122
- tslib_1.__metadata("design:type", Function),
123
- tslib_1.__metadata("design:paramtypes", [ParameterSnapshot]),
124
- tslib_1.__metadata("design:returntype", Promise)
125
- ], PlaceService.prototype, "sanitise", null);
126
116
  return PlaceService;
127
117
  }(GarbageCollector));
128
118
  export { PlaceService };
@@ -143,4 +133,4 @@ if (false) {
143
133
  */
144
134
  PlaceService.prototype.injector;
145
135
  }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9wbGFjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFrQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFL0Q7SUFHa0Msd0NBQWdCO0lBSWhELHNCQUFzQixNQUFjLEVBQVksUUFBa0I7UUFBbEUsWUFDRSxpQkFBTyxTQUNSO1FBRnFCLFlBQU0sR0FBTixNQUFNLENBQVE7UUFBWSxjQUFRLEdBQVIsUUFBUSxDQUFVO1FBRjFELG1CQUFhLEdBQUcsSUFBSSxnQkFBZ0IsRUFBa0IsQ0FBQzs7SUFJL0QsQ0FBQztJQUVELHNCQUFJLHNDQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxDQUFDOzs7T0FBQTs7Ozs7SUFHRCxpQ0FBVTs7OztJQUFWLFVBQVcsS0FBcUI7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7Ozs7SUFHRCxtQ0FBWTs7OztJQUFaLFVBQWEsS0FBcUI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7Ozs7SUFHRCxtREFBNEI7Ozs7SUFBNUIsVUFBNkIsTUFLNUI7UUFDQyxnQ0FBZ0M7UUFDaEMsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFOztnQkFDaEIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7O2dCQUMzQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRzs7Z0JBQzFELElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzNJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtnQkFDekIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxjQUFjO2FBQ2xDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Ozs7SUFHSywrQkFBUTs7OztJQUFkLFVBQWUsUUFBMkI7OztnQkFDeEMsc0JBQU8sUUFBUSxFQUFDOzs7S0FDakI7O2dCQTlDRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVR3QixNQUFNO2dCQURWLFFBQVE7OztJQXdCM0I7UUFEQyxLQUFLLEVBQUU7O2lEQUNVLGNBQWM7O2tEQUUvQjtJQUdEO1FBREMsS0FBSyxFQUFFOztpREFDWSxjQUFjOztvREFFakM7SUFHRDtRQURDLEtBQUssRUFBRTs7OztvRUFnQlA7SUFHRDtRQURDLEtBQUssRUFBRTs7aURBQ2lCLGlCQUFpQjs7Z0RBRXpDO3VCQXRESDtDQXlEQyxBQWpERCxDQUdrQyxnQkFBZ0IsR0E4Q2pEO1NBOUNZLFlBQVk7Ozs7OztJQUV2QixxQ0FBK0Q7Ozs7O0lBRW5ELDhCQUF3Qjs7Ozs7SUFBRSxnQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBHYXJiYWdlQ29sbGVjdG9yLCBNdXRhYmxlTGlzdE1vZGVsLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50TGlrZSB9IGZyb20gJy4vcGxhY2UtY29tcG9uZW50LWxpa2UnO1xuaW1wb3J0IHsgUGxhY2VVcGRhdGVzU2VydmljZSB9IGZyb20gJy4vcGxhY2UtdXBkYXRlcy1zZXJ2aWNlJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU25hcHNob3QgfSBmcm9tICcuL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlU2VydmljZSBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3IgaW1wbGVtZW50cyBQbGFjZVVwZGF0ZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9hY3RpdmVQbGFjZXMgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxQbGFjZUNvbXBvbmVudD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVBsYWNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlUGxhY2VzLnJlYWRvbmx5O1xuICB9XG5cbiAgQFRyYWNlKClcbiAgb25BY3RpdmF0ZShwbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZXMucHVzaChwbGFjZSk7XG4gIH1cblxuICBAVHJhY2UoKVxuICBvbkRlYWN0aXZhdGUocGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VzLnJlbW92ZShwbGFjZSk7XG4gIH1cblxuICBAVHJhY2UoKVxuICBub3RpZnlSb3V0ZVBhcmFtZXRlcnNDaGFuZ2VkKHBhcmFtczoge1xuICAgIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBuZXh0OiBQYXJhbWV0ZXJTbmFwc2hvdCxcbiAgICBwcmV2aW91czogUGFyYW1ldGVyU25hcHNob3QsXG4gICAgdXBkYXRlUm91dGU6IGJvb2xlYW5cbiAgfSkge1xuICAgIC8vIFdlIHVwZGF0ZSB0aGUgcm91dGVyIHN0YXRlLi4uXG4gICAgaWYgKHBhcmFtcy51cGRhdGVSb3V0ZSkge1xuICAgICAgY29uc3Qgcm91dGVJZCA9IHBhcmFtcy5uZXh0LmdldEZvcm1hdHRlZFJvdXRlSWQoKTtcbiAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9ICEhcGFyYW1zLnByZXZpb3VzLmhhc1JvdXRlSWQoKSA/ICcuLicgOiAnLic7XG4gICAgICBjb25zdCBwYXRoID0gcm91dGVJZCA/IFtyZWxhdGl2ZVBhdGgsIHJvdXRlSWQsIHBhcmFtcy5uZXh0LmdldEZvcm1hdHRlZFBhcmFtZXRlcnMoKV0gOiBbcmVsYXRpdmVQYXRoLCBwYXJhbXMubmV4dC5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJzKCldO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocGF0aCwge1xuICAgICAgICByZWxhdGl2ZVRvOiBwYXJhbXMuYWN0aXZhdGVkUm91dGVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIEBUcmFjZSgpXG4gIGFzeW5jIHNhbml0aXNlKHNuYXBzaG90OiBQYXJhbWV0ZXJTbmFwc2hvdCk6IFByb21pc2U8UGFyYW1ldGVyU25hcHNob3Q+IHtcbiAgICByZXR1cm4gc25hcHNob3Q7XG4gIH1cblxuXG59XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9wbGFjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFrQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQVMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTNFO0lBR2tDLHdDQUFnQjtJQUloRCxzQkFBc0IsTUFBYyxFQUFZLFFBQWtCO1FBQWxFLFlBQ0UsaUJBQU8sU0FDUjtRQUZxQixZQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVksY0FBUSxHQUFSLFFBQVEsQ0FBVTtRQUYxRCxtQkFBYSxHQUFHLElBQUksZ0JBQWdCLEVBQWtCLENBQUM7O0lBSS9ELENBQUM7SUFFRCxzQkFBSSxzQ0FBWTs7OztRQUFoQjtZQUNFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDckMsQ0FBQzs7O09BQUE7SUFFRCxXQUFXOzs7Ozs7SUFDWCxpQ0FBVTs7Ozs7O0lBQVYsVUFBVyxLQUFxQjtRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVzs7Ozs7O0lBQ1gsbUNBQVk7Ozs7OztJQUFaLFVBQWEsS0FBcUI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7Ozs7OztJQUNYLG1EQUE0Qjs7Ozs7O0lBQTVCLFVBQTZCLE1BSzVCO1FBQ0MsZ0NBQWdDO1FBQ2hDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRTs7Z0JBQ2hCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFOztnQkFDM0MsWUFBWSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUc7O2dCQUMxRCxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUMzSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3pCLFVBQVUsRUFBRSxNQUFNLENBQUMsY0FBYzthQUNsQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxXQUFXOzs7Ozs7SUFDTCwrQkFBUTs7Ozs7O0lBQWQsVUFBZSxRQUEyQjs7O2dCQUN4QyxzQkFBTyxRQUFRLEVBQUM7OztLQUNqQjs7Z0JBOUNGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBVHdCLE1BQU07Z0JBRFYsUUFBUTs7O3VCQUE3QjtDQXlEQyxBQWpERCxDQUdrQyxnQkFBZ0IsR0E4Q2pEO1NBOUNZLFlBQVk7Ozs7OztJQUV2QixxQ0FBK0Q7Ozs7O0lBRW5ELDhCQUF3Qjs7Ozs7SUFBRSxnQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBHYXJiYWdlQ29sbGVjdG9yLCBNdXRhYmxlTGlzdE1vZGVsLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50TGlrZSB9IGZyb20gJy4vcGxhY2UtY29tcG9uZW50LWxpa2UnO1xuaW1wb3J0IHsgUGxhY2VVcGRhdGVzU2VydmljZSB9IGZyb20gJy4vcGxhY2UtdXBkYXRlcy1zZXJ2aWNlJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU25hcHNob3QgfSBmcm9tICcuL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlU2VydmljZSBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3IgaW1wbGVtZW50cyBQbGFjZVVwZGF0ZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9hY3RpdmVQbGFjZXMgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxQbGFjZUNvbXBvbmVudD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVBsYWNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlUGxhY2VzLnJlYWRvbmx5O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25BY3RpdmF0ZShwbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZXMucHVzaChwbGFjZSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkRlYWN0aXZhdGUocGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VzLnJlbW92ZShwbGFjZSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBub3RpZnlSb3V0ZVBhcmFtZXRlcnNDaGFuZ2VkKHBhcmFtczoge1xuICAgIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBuZXh0OiBQYXJhbWV0ZXJTbmFwc2hvdCxcbiAgICBwcmV2aW91czogUGFyYW1ldGVyU25hcHNob3QsXG4gICAgdXBkYXRlUm91dGU6IGJvb2xlYW5cbiAgfSkge1xuICAgIC8vIFdlIHVwZGF0ZSB0aGUgcm91dGVyIHN0YXRlLi4uXG4gICAgaWYgKHBhcmFtcy51cGRhdGVSb3V0ZSkge1xuICAgICAgY29uc3Qgcm91dGVJZCA9IHBhcmFtcy5uZXh0LmdldEZvcm1hdHRlZFJvdXRlSWQoKTtcbiAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9ICEhcGFyYW1zLnByZXZpb3VzLmhhc1JvdXRlSWQoKSA/ICcuLicgOiAnLic7XG4gICAgICBjb25zdCBwYXRoID0gcm91dGVJZCA/IFtyZWxhdGl2ZVBhdGgsIHJvdXRlSWQsIHBhcmFtcy5uZXh0LmdldEZvcm1hdHRlZFBhcmFtZXRlcnMoKV0gOiBbcmVsYXRpdmVQYXRoLCBwYXJhbXMubmV4dC5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJzKCldO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocGF0aCwge1xuICAgICAgICByZWxhdGl2ZVRvOiBwYXJhbXMuYWN0aXZhdGVkUm91dGVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGFzeW5jIHNhbml0aXNlKHNuYXBzaG90OiBQYXJhbWV0ZXJTbmFwc2hvdCk6IFByb21pc2U8UGFyYW1ldGVyU25hcHNob3Q+IHtcbiAgICByZXR1cm4gc25hcHNob3Q7XG4gIH1cblxuXG59XG4iXX0=