@coolon/angular-ui-powerups 0.0.37 → 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 (119) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +1787 -1051
  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 +16 -14
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +16 -14
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/angular-ui-powerups.module.js +8 -8
  10. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +1 -2
  11. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -2
  12. package/esm2015/lib/place/components/abstract-place-navigation.component.js +75 -0
  13. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +47 -0
  14. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +110 -16
  15. package/esm2015/lib/place/components/place-outlet/route-animations.js +12 -5
  16. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +5 -39
  17. package/esm2015/lib/place/guards/leave-place.guard.js +20 -3
  18. package/esm2015/lib/place/guards/place-route.guard.js +29 -37
  19. package/esm2015/lib/place/index.js +11 -9
  20. package/esm2015/lib/place/nav-item.js +23 -0
  21. package/esm2015/lib/place/place-component-like.js +17 -0
  22. package/esm2015/lib/place/place-component.js +119 -20
  23. package/esm2015/lib/place/place-updates-service.js +16 -0
  24. package/esm2015/lib/place/place.decorator.js +1 -1
  25. package/esm2015/lib/place/place.module.js +6 -3
  26. package/esm2015/lib/place/place.service.js +28 -26
  27. package/esm2015/lib/place/route/default-parameter-sanitiser.js +78 -0
  28. package/esm2015/lib/place/route/parameter-decorators.js +15 -7
  29. package/esm2015/lib/place/route/parameter-definition.class.js +2 -2
  30. package/esm2015/lib/place/route/parameter-sanitiser.js +17 -2
  31. package/esm2015/lib/place/route/parameter-snapshot.js +382 -0
  32. package/esm2015/lib/place/route/parameter-type.js +3 -2
  33. package/esm2015/lib/place/route/route-parameter-sanitiser.js +73 -38
  34. package/esm2015/lib/place/visit.js +22 -0
  35. package/esm2015/public_api.js +2 -2
  36. package/esm5/coolon-angular-ui-powerups.js +16 -14
  37. package/esm5/index.js +2 -2
  38. package/esm5/lib/angular-ui-powerups.module.js +8 -8
  39. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +1 -2
  40. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -2
  41. package/esm5/lib/place/components/abstract-place-navigation.component.js +86 -0
  42. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +61 -0
  43. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +141 -20
  44. package/esm5/lib/place/components/place-outlet/route-animations.js +12 -5
  45. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +6 -43
  46. package/esm5/lib/place/guards/leave-place.guard.js +20 -3
  47. package/esm5/lib/place/guards/place-route.guard.js +28 -37
  48. package/esm5/lib/place/index.js +11 -9
  49. package/esm5/lib/place/nav-item.js +23 -0
  50. package/esm5/lib/place/place-component-like.js +17 -0
  51. package/esm5/lib/place/place-component.js +137 -22
  52. package/esm5/lib/place/place-updates-service.js +16 -0
  53. package/esm5/lib/place/place.decorator.js +1 -1
  54. package/esm5/lib/place/place.module.js +6 -3
  55. package/esm5/lib/place/place.service.js +48 -29
  56. package/esm5/lib/place/route/default-parameter-sanitiser.js +85 -0
  57. package/esm5/lib/place/route/parameter-decorators.js +15 -7
  58. package/esm5/lib/place/route/parameter-definition.class.js +2 -2
  59. package/esm5/lib/place/route/parameter-sanitiser.js +17 -2
  60. package/esm5/lib/place/route/parameter-snapshot.js +474 -0
  61. package/esm5/lib/place/route/parameter-type.js +3 -2
  62. package/esm5/lib/place/route/route-parameter-sanitiser.js +100 -45
  63. package/esm5/lib/place/visit.js +22 -0
  64. package/esm5/public_api.js +2 -2
  65. package/fesm2015/coolon-angular-ui-powerups.js +1244 -673
  66. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  67. package/fesm5/coolon-angular-ui-powerups.js +1750 -1021
  68. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  69. package/lib/place/components/abstract-place-navigation.component.d.ts +13 -0
  70. package/lib/place/components/list-place-nav/list-place-nav.component.d.ts +8 -0
  71. package/lib/place/components/place-outlet/place-outlet.component.d.ts +16 -8
  72. package/lib/place/components/place-outlet/route-animations.d.ts +1 -0
  73. package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +2 -9
  74. package/lib/place/guards/place-route.guard.d.ts +4 -4
  75. package/lib/place/index.d.ts +8 -6
  76. package/lib/place/nav-item.d.ts +5 -0
  77. package/lib/place/{i-place-component.d.ts → place-component-like.d.ts} +1 -1
  78. package/lib/place/place-component.d.ts +19 -8
  79. package/lib/place/place-updates-service.d.ts +10 -0
  80. package/lib/place/place.service.d.ts +11 -8
  81. package/lib/place/route/default-parameter-sanitiser.d.ts +13 -0
  82. package/lib/place/route/parameter-decorators.d.ts +6 -2
  83. package/lib/place/route/parameter-definition.class.d.ts +3 -3
  84. package/lib/place/route/parameter-sanitiser.d.ts +8 -1
  85. package/lib/place/route/parameter-snapshot.d.ts +46 -0
  86. package/lib/place/route/route-parameter-sanitiser.d.ts +13 -9
  87. package/lib/place/visit.d.ts +6 -0
  88. package/package.json +1 -1
  89. package/schematics/place-routes/index.js +8 -95
  90. package/schematics/place-routes/index.js.map +1 -1
  91. package/schematics/place-routes/place-builder.d.ts +19 -0
  92. package/schematics/place-routes/place-builder.js +109 -0
  93. package/schematics/place-routes/place-builder.js.map +1 -0
  94. package/schematics/place-routes/{scanner.d.ts → place-class-scanner.d.ts} +10 -6
  95. package/schematics/place-routes/{scanner.js → place-class-scanner.js} +43 -18
  96. package/schematics/place-routes/place-class-scanner.js.map +1 -0
  97. package/schematics/place-routes/place-def.d.ts +19 -4
  98. package/schematics/place-routes/place-def.js +54 -4
  99. package/schematics/place-routes/place-def.js.map +1 -1
  100. package/schematics/place-routes/templates/{place-routes.ts.template → places.ts.template} +14 -11
  101. package/esm2015/lib/place/i-place-component.js +0 -17
  102. package/esm2015/lib/place/i-place-service.js +0 -16
  103. package/esm2015/lib/place/route/resolved-parameter.js +0 -16
  104. package/esm2015/lib/place/route/resolved-route-parameter-snapshot.js +0 -106
  105. package/esm2015/lib/place/route/route-parameter-bindings.js +0 -150
  106. package/esm2015/lib/place/route/visit-snapshot.js +0 -7
  107. package/esm5/lib/place/i-place-component.js +0 -17
  108. package/esm5/lib/place/i-place-service.js +0 -16
  109. package/esm5/lib/place/route/resolved-parameter.js +0 -16
  110. package/esm5/lib/place/route/resolved-route-parameter-snapshot.js +0 -129
  111. package/esm5/lib/place/route/route-parameter-bindings.js +0 -167
  112. package/esm5/lib/place/route/visit-snapshot.js +0 -11
  113. package/lib/place/i-place-service.d.ts +0 -10
  114. package/lib/place/route/resolved-parameter.d.ts +0 -5
  115. package/lib/place/route/resolved-route-parameter-snapshot.d.ts +0 -12
  116. package/lib/place/route/route-parameter-bindings.d.ts +0 -17
  117. package/lib/place/route/visit-snapshot.d.ts +0 -2
  118. package/schematics/place-routes/scanner.js.map +0 -1
  119. package/schematics/place-routes/templates/place-router.ts.template +0 -33
@@ -0,0 +1,61 @@
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 { Component, HostBinding } from '@angular/core';
7
+ import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';
8
+ var ListPlaceNavComponent = /** @class */ (function (_super) {
9
+ tslib_1.__extends(ListPlaceNavComponent, _super);
10
+ function ListPlaceNavComponent() {
11
+ var _this = _super.call(this) || this;
12
+ _this.expanded = true;
13
+ return _this;
14
+ }
15
+ /**
16
+ * @return {?}
17
+ */
18
+ ListPlaceNavComponent.prototype.expandMenu = /**
19
+ * @return {?}
20
+ */
21
+ function () {
22
+ this.expanded = true;
23
+ };
24
+ /**
25
+ * @return {?}
26
+ */
27
+ ListPlaceNavComponent.prototype.collapseMenu = /**
28
+ * @return {?}
29
+ */
30
+ function () {
31
+ this.expanded = false;
32
+ };
33
+ /**
34
+ * @return {?}
35
+ */
36
+ ListPlaceNavComponent.prototype.toggleMenu = /**
37
+ * @return {?}
38
+ */
39
+ function () {
40
+ this.expanded = !this.expanded;
41
+ };
42
+ ListPlaceNavComponent.decorators = [
43
+ { type: Component, args: [{
44
+ selector: 'angular-ui-powerups-list-place-nav',
45
+ template: "<mat-nav-list class=\"app-menu\">\n <a mat-list-item *ngFor=\"let place of placeDefinitions.value\"\n [routerLink]='place.path'\n routerLinkActive #rla=\"routerLinkActive\"\n [matTooltip]=\"getNav(place).tooltip()\">\n <mat-icon *ngIf=\"getNav(place).icon()\">{{getNav(place).icon()}}</mat-icon>\n <span class=\"expanded-only\">{{getNav(place).title()}}</span>\n </a>\n</mat-nav-list>\n",
46
+ styles: [":host{display:flex;flex-direction:column;--expanded-width:235px;--nav-item-width:var(--nav-bar-height);width:var(--nav-item-width);transition:width 125ms linear}:host.expanded{width:var(--expanded-width);max-width:var(--expanded-width)}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}.header{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;height:var(--nav-bar-height);border-bottom:var(--pinstripe-border);cursor:pointer}.header .menu{flex:1}.header button{color:inherit;width:var(--nav-item-width);height:var(--nav-bar-height)}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--nav-item-width);height:var(--nav-bar-height);color:inherit}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item mat-icon{margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}a[ng-reflect-router-link=manage-instruments] mat-icon{transform:rotate(90deg)}.app-menu{padding-top:0}"]
47
+ }] }
48
+ ];
49
+ /** @nocollapse */
50
+ ListPlaceNavComponent.ctorParameters = function () { return []; };
51
+ ListPlaceNavComponent.propDecorators = {
52
+ expanded: [{ type: HostBinding, args: ['class.expanded',] }]
53
+ };
54
+ return ListPlaceNavComponent;
55
+ }(AbstractPlaceNavigationComponent));
56
+ export { ListPlaceNavComponent };
57
+ if (false) {
58
+ /** @type {?} */
59
+ ListPlaceNavComponent.prototype.expanded;
60
+ }
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUY7SUFLMkMsaURBQWdDO0lBS3pFO1FBQUEsWUFDRSxpQkFBTyxTQUNSO1FBSk0sY0FBUSxHQUFHLElBQUksQ0FBQzs7SUFJdkIsQ0FBQzs7OztJQUVELDBDQUFVOzs7SUFBVjtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUFFRCw0Q0FBWTs7O0lBQVo7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDOzs7O0lBRUQsMENBQVU7OztJQUFWO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQzs7Z0JBeEJGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxrYUFBOEM7O2lCQUUvQzs7Ozs7MkJBR0UsV0FBVyxTQUFDLGdCQUFnQjs7SUFrQi9CLDRCQUFDO0NBQUEsQUF6QkQsQ0FLMkMsZ0NBQWdDLEdBb0IxRTtTQXBCWSxxQkFBcUI7OztJQUVoQyx5Q0FDdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1saXN0LXBsYWNlLW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlzdFBsYWNlTmF2Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXhwYW5kZWQnKVxuICBwdWJsaWMgZXhwYW5kZWQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBleHBhbmRNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICB9XG5cbiAgY29sbGFwc2VNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICB9XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRTtJQU0wQyxnREFBbUI7SUFjM0QsOEJBQTZCLFlBQTBCLEVBQVUsY0FBOEI7UUFBL0YsWUFDRSxpQkFBTyxTQVlSO1FBYjRCLGtCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsb0JBQWMsR0FBZCxjQUFjLENBQWdCO1FBWC9GLGFBQU8sR0FBRyxJQUFJLENBQUM7UUFPUCxzQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixFQUFjLENBQUM7UUFNdEQsSUFBQSwyQkFBa0YsRUFBaEYsZ0JBQUssRUFBRSxvQkFBTyxFQUFFLGtCQUFNLEVBQUUsY0FBSSxFQUFFLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxzQkFBa0M7UUFDeEYsS0FBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQVosQ0FBWSxFQUFDLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBZCxDQUFjLEVBQUMsQ0FBQztRQUNqSCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFlLEtBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxNQUFHLENBQUMsQ0FBQztRQUNqRCxLQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQVosQ0FBWSxFQUFDLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBZCxDQUFjLEVBQUMsQ0FBQztRQUMxRyxLQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRzs7OztRQUFDLFVBQUEsSUFBSTtZQUN0QyxPQUFPLGFBQVcsSUFBSSx1QkFBa0IsS0FBSSxDQUFDLGVBQWUsQ0FBQyxLQUFPLENBQUE7UUFDdEUsQ0FBQyxHQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUksQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU87Ozs7UUFBQyxVQUFBLEtBQUs7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBcUIsS0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxFQUFDLENBQUM7O0lBQ0wsQ0FBQzs7OztJQUVELHVDQUFROzs7SUFBUjtJQUNBLENBQUM7Ozs7SUFFRCw4Q0FBZTs7O0lBQWY7UUFDRSxtREFBbUQ7UUFDbkQsMkRBQTJEO1FBQzNELE1BQU07SUFDUixDQUFDOzs7O0lBRUQsaURBQWtCOzs7SUFBbEI7UUFDRSx5REFBeUQ7UUFDekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRUQsV0FBVztJQUNYLHdCQUF3QjtJQUN4QixnRUFBZ0U7SUFDaEUsa0RBQWtEO0lBQ2xELHlCQUF5QjtJQUN6QixJQUFJO0lBRUosV0FBVzs7Ozs7Ozs7Ozs7O0lBQ1gsZ0RBQWlCOzs7Ozs7Ozs7Ozs7SUFBakIsVUFBa0IsTUFBc0I7UUFDdEMsOERBQThEO1FBQzlELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLG1FQUFtRTtZQUNuRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7OztJQUVELGtEQUFtQjs7OztJQUFuQixVQUFvQixNQUFzQjtRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs7OztJQUVELDRDQUFhOzs7O0lBQWIsVUFBYyxNQUFvQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsSUFBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEcsQ0FBQzs7OztJQUVELDRDQUFhOzs7SUFBYjtRQUNFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELFdBQVc7Ozs7Ozs7SUFDSCxpREFBa0I7Ozs7Ozs7SUFBMUIsVUFBMkIsS0FBbUI7UUFDNUMsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQzs7Z0JBdkZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxzV0FBNEM7b0JBRTVDLFVBQVUsRUFBRSxDQUFDLDBCQUEwQixDQUFDOztpQkFDekM7Ozs7Z0JBUlEsWUFBWTtnQkFKWixjQUFjOzs7MEJBZXBCLEtBQUs7b0NBR0wsWUFBWSxTQUFDLFlBQVk7O0lBNkU1QiwyQkFBQztDQUFBLEFBeEZELENBTTBDLG1CQUFtQixHQWtGNUQ7U0FsRlksb0JBQW9COzs7SUFFL0IsdUNBQ2U7O0lBRWYsaURBQzJDOzs7OztJQUUzQyw0Q0FBcUM7Ozs7O0lBQ3JDLHNDQUF3Qzs7Ozs7SUFDeEMsZ0RBQThEOzs7OztJQUM5RCwrQ0FBaUQ7Ozs7O0lBQ2pELHFDQUF1Qzs7Ozs7SUFFM0IsNENBQTJDOzs7OztJQUFFLDhDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJPdXRsZXQsIFVybFNlZ21lbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRHNsLCBNdXRhYmxlTGlzdE1vZGVsLCBUcmFjZSwgVmFsdWVNb2RlbENoYWluIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGxhY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMRUZUX1JJR0hUX1BMQUNFX0FOSU1BVElPTiB9IGZyb20gJy4vcm91dGUtYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXItdWktcG93ZXJ1cHMtcGxhY2Utb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYWNlLW91dGxldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BsYWNlLW91dGxldC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT05dXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlT3V0bGV0Q29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG5cbiAgQElucHV0KClcbiAgYW5pbWF0ZSA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZHJlbihSb3V0ZXJPdXRsZXQpXG4gIHJvdXRlck91dExldFF1ZXJ5OiBRdWVyeUxpc3Q8Um91dGVyT3V0bGV0PjtcblxuICBwcml2YXRlIGN1cnJlbnRQbGFjZTogUGxhY2VDb21wb25lbnQ7XG4gIHByaXZhdGUgbXlQYXRoOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjtcbiAgcHJpdmF0ZSBvdXRsZXRVcmxTZWdtZW50ID0gbmV3IE11dGFibGVMaXN0TW9kZWw8VXJsU2VnbWVudD4oKTtcbiAgcHJpdmF0ZSBvdXRsZXRDaGlsZFBhdGg6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+O1xuICBwcml2YXRlIHN0YXRlOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsYWNlU2VydmljZTogUGxhY2VTZXJ2aWNlLCBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLm15UGF0aCA9IG9ic2VydmUubGlzdHNGcm9tKGFjdGl2YXRlZFJvdXRlLnVybCkubGFzdCgpLm1hcChzID0+IHMudG9TdHJpbmcoKSkucmVkdWNlKGJpdHMgPT4gYml0cy5qb2luKCcsJykpO1xuICAgIGNvbnNvbGUubG9nKGBuZXcgb3V0bGV0QCgke3RoaXMubXlQYXRoLnZhbHVlfSlgKTtcbiAgICB0aGlzLm91dGxldENoaWxkUGF0aCA9IGNoYWluKHRoaXMub3V0bGV0VXJsU2VnbWVudCkubWFwKHMgPT4gcy50b1N0cmluZygpKS5yZWR1Y2UoYml0cyA9PiBiaXRzLmpvaW4oXCIsXCIpKTtcbiAgICB0aGlzLnN0YXRlID0gY2hhaW4odGhpcy5teVBhdGgpLm1hcChwYXRoID0+IHtcbiAgICAgIHJldHVybiBgb3V0bGV0QCgke3BhdGh9KSwgY2hpbGQgcGF0aC0+JHt0aGlzLm91dGxldENoaWxkUGF0aC52YWx1ZX1gXG4gICAgfSwge2RlcGVuZHNPbjogdGhpcy5vdXRsZXRDaGlsZFBhdGh9KTtcblxuICAgIHdoZW4udmFsdWVPZih0aGlzLnN0YXRlKS5jaGFuZ2VzKGRlYnVnID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGBPdXRsZXQgQ2hhbmdlZCAtPiAke2RlYnVnfWApO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gdGhpcy5yb3V0ZXJPdXRMZXRRdWVyeS5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgLy8gICB0aGlzLnVwZGF0ZVJvdXRlck91dGxldCh0aGlzLnJvdXRlck91dExldFF1ZXJ5LmZpcnN0KTtcbiAgICAvLyB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAvLyBjb25zb2xlLmxvZyhgQEFmdGVyVmlld0NoZWNrZWQ6ICR7dGhpcy5zdGF0ZS52YWx1ZX1gKTtcbiAgICB0aGlzLnVwZGF0ZVJvdXRlck91dGxldCh0aGlzLnJvdXRlck91dExldFF1ZXJ5LmZpcnN0KVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgLy8gbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gIC8vICAgY29uc29sZS5sb2coJ291dGxldFNlZ21lbnRzJywgdGhpcy5vdXRsZXRVcmxTZWdtZW50LnZhbHVlKTtcbiAgLy8gICBjb25zb2xlLmxvZygnbXlTZWdtZW50cycsIHRoaXMubXlQYXRoLnZhbHVlKTtcbiAgLy8gICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAvLyB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXRBY3RpdmF0ZWQoJGV2ZW50OiBQbGFjZUNvbXBvbmVudCkge1xuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucm91dGVyT3V0TGV0LmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnVybCk7XG4gICAgdGhpcy5jdXJyZW50UGxhY2UgPSAkZXZlbnQ7XG4gICAgdGhpcy5wbGFjZVNlcnZpY2Uub25BY3RpdmF0ZSgkZXZlbnQpO1xuICAgIGlmICghdGhpcy5hbmltYXRlKSB7XG4gICAgICAvLyB3ZSdyZSBub3QgYW5pbWF0aW5nIHNvIHRyaWdnZXIgYW55IHBvc3QgYW5pbWF0aW9uIGNhbGxiYWNrcyBub3cuXG4gICAgICB0aGlzLmFuaW1hdGlvbkRvbmUoKTtcbiAgICB9XG4gIH1cblxuICBvbk91dGxldERlYWN0aXZhdGVkKCRldmVudDogUGxhY2VDb21wb25lbnQpIHtcbiAgICB0aGlzLmN1cnJlbnRQbGFjZSA9IG51bGw7XG4gICAgdGhpcy5wbGFjZVNlcnZpY2Uub25EZWFjdGl2YXRlKCRldmVudCk7XG4gIH1cblxuICBnZXRQbGFjZU9yZGVyKG91dGxldDogUm91dGVyT3V0bGV0KSB7XG4gICAgcmV0dXJuIHRoaXMuYW5pbWF0ZSAmJiBvdXRsZXQgJiYgb3V0bGV0LmFjdGl2YXRlZFJvdXRlRGF0YSAmJiBvdXRsZXQuYWN0aXZhdGVkUm91dGVEYXRhWydwbGFjZU9yZGVyJ107XG4gIH1cblxuICBhbmltYXRpb25Eb25lKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRQbGFjZSkge1xuICAgICAgdGhpcy5jdXJyZW50UGxhY2Uub25QbGFjZVJlYWR5KCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSB1cGRhdGVSb3V0ZXJPdXRsZXQoZmlyc3Q6IFJvdXRlck91dGxldCkge1xuICAgIGlmIChmaXJzdC5pc0FjdGl2YXRlZCkge1xuICAgICAgdGhpcy5vdXRsZXRVcmxTZWdtZW50LnZhbHVlID0gZmlyc3QuYWN0aXZhdGVkUm91dGUuc25hcHNob3QudXJsO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -39,9 +39,16 @@ var right = [
39
39
  })
40
40
  ])
41
41
  ];
42
+ /**
43
+ * @param {?} duration
44
+ * @return {?}
45
+ */
46
+ export function leftRightPlaceAnimation(duration) {
47
+ return trigger('routeAnimations', [
48
+ transition(':increment', right, { params: { duration: duration } }),
49
+ transition(':decrement', left, { params: { duration: duration } })
50
+ ]);
51
+ }
42
52
  /** @type {?} */
43
- export var LEFT_RIGHT_PLACE_ANIMATION = trigger('routeAnimations', [
44
- transition(':increment', right, { params: { duration: '.3s' } }),
45
- transition(':decrement', left, { params: { duration: '.3s' } })
46
- ]);
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0lBR2xGLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDOztJQUVoRyxJQUFJLEdBQUc7SUFDWCxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEUsS0FBSyxDQUFDO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNkLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFLEVBQUU7WUFDRCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFDRixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7U0FDM0UsRUFBRTtZQUNELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7Q0FDSDs7SUFFSyxLQUFLLEdBQUc7SUFDWixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEUsS0FBSyxDQUFDO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNkLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFLEVBQUU7WUFDRCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFDRixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckksUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztDQUNIOztBQUVELE1BQU0sS0FBTywwQkFBMEIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLEVBQUU7SUFDbkUsVUFBVSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNoRSxVQUFVLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0NBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgcXVlcnksIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbi8vIEZyZWV6ZXMgdGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnRzIGF0IHRoZSBzdGFydCBvZiB0aGUgYW5pbWF0aW9uLlxuY29uc3QgYW5pbWF0aW9uU3RhcnRTdHlsZSA9IHN0eWxlKHsgcG9zaXRpb246ICdhYnNvbHV0ZScsIHRvcDogJzAnLGxlZnQ6ICcwJywgYm90dG9tOicwJywgcmlnaHQ6ICcwJ30pO1xuXG5jb25zdCBsZWZ0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IGVhc2Utb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSkpXG4gICAgXSwge1xuICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KSxcbiAgICBxdWVyeSgnOmxlYXZlJywgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKVxuICAgIF0sIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSlcbiAgXSlcbl07XG5cbmNvbnN0IHJpZ2h0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSlcbiAgICBdLCB7XG4gICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pLFxuICAgIHF1ZXJ5KCc6bGVhdmUnLCBbc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksIGFuaW1hdGUoJ3t7ZHVyYXRpb259fSBlYXNlLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pKV0sIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSlcbiAgXSlcbl07XG5cbmV4cG9ydCBjb25zdCBMRUZUX1JJR0hUX1BMQUNFX0FOSU1BVElPTiA9IHRyaWdnZXIoJ3JvdXRlQW5pbWF0aW9ucycsIFtcbiAgdHJhbnNpdGlvbignOmluY3JlbWVudCcsIHJpZ2h0LCB7IHBhcmFtczogeyBkdXJhdGlvbjogJy4zcycgfSB9KSxcbiAgdHJhbnNpdGlvbignOmRlY3JlbWVudCcsIGxlZnQsIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnLjNzJyB9IH0pXG5dKTtcbiJdfQ==
53
+ export var LEFT_RIGHT_PLACE_ANIMATION = leftRightPlaceAnimation("0.3s");
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0lBR2xGLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDOztJQUVuRyxJQUFJLEdBQUc7SUFDWCxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEUsS0FBSyxDQUFDO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNkLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFLEVBQUU7WUFDRCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFDRixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7U0FDM0UsRUFBRTtZQUNELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7Q0FDSDs7SUFFSyxLQUFLLEdBQUc7SUFDWixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEUsS0FBSyxDQUFDO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNkLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFLEVBQUU7WUFDRCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFDRixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckksUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztDQUNIOzs7OztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxRQUFlO0lBQ3JELE9BQU8sT0FBTyxDQUFDLGlCQUFpQixFQUFFO1FBQ2hDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDbkUsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztLQUNuRSxDQUFDLENBQUM7QUFDTCxDQUFDOztBQUVELE1BQU0sS0FBTywwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgcXVlcnksIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbi8vIEZyZWV6ZXMgdGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnRzIGF0IHRoZSBzdGFydCBvZiB0aGUgYW5pbWF0aW9uLlxuY29uc3QgYW5pbWF0aW9uU3RhcnRTdHlsZSA9IHN0eWxlKHsgcG9zaXRpb246ICdhYnNvbHV0ZScsIHRvcDogJzAnLCBsZWZ0OiAnMCcsIGJvdHRvbTogJzAnLCByaWdodDogJzAnIH0pO1xuXG5jb25zdCBsZWZ0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IGVhc2Utb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSkpXG4gICAgXSwge1xuICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KSxcbiAgICBxdWVyeSgnOmxlYXZlJywgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKVxuICAgIF0sIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSlcbiAgXSlcbl07XG5cbmNvbnN0IHJpZ2h0ID0gW1xuICBxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBhbmltYXRpb25TdGFydFN0eWxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICBncm91cChbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0gZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSlcbiAgICBdLCB7XG4gICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pLFxuICAgIHF1ZXJ5KCc6bGVhdmUnLCBbc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSksIGFuaW1hdGUoJ3t7ZHVyYXRpb259fSBlYXNlLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pKV0sIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSlcbiAgXSlcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBsZWZ0UmlnaHRQbGFjZUFuaW1hdGlvbihkdXJhdGlvbjpzdHJpbmcpIHtcbiAgcmV0dXJuIHRyaWdnZXIoJ3JvdXRlQW5pbWF0aW9ucycsIFtcbiAgICB0cmFuc2l0aW9uKCc6aW5jcmVtZW50JywgcmlnaHQsIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9IH0pLFxuICAgIHRyYW5zaXRpb24oJzpkZWNyZW1lbnQnLCBsZWZ0LCB7IHBhcmFtczogeyBkdXJhdGlvbjogZHVyYXRpb24gfSB9KVxuICBdKTtcbn1cblxuZXhwb3J0IGNvbnN0IExFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OID0gbGVmdFJpZ2h0UGxhY2VBbmltYXRpb24oXCIwLjNzXCIpO1xuIl19
@@ -3,60 +3,23 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
- import { Component, Input } from '@angular/core';
7
- import { Dsl, ListModel, StoreInListModel, UseDelegate } from '@coolon/pectin';
8
- import { DisposableComponent } from '../../../components/disposable-component';
9
- import { PlaceComponent } from '../../place-component';
6
+ import { Component } from '@angular/core';
7
+ import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';
10
8
  var TabbedPlaceNavigationComponent = /** @class */ (function (_super) {
11
9
  tslib_1.__extends(TabbedPlaceNavigationComponent, _super);
12
10
  function TabbedPlaceNavigationComponent() {
13
- var _this = _super.call(this) || this;
14
- 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;
15
- _this.orderedPlaces = chain(_this.placesModel).map((/**
16
- * @param {?} c
17
- * @return {?}
18
- */
19
- function (c) { return PlaceComponent.getDefinition(c); })).sortBy('order');
20
- return _this;
11
+ return _super.call(this) || this;
21
12
  }
22
- /**
23
- * @return {?}
24
- */
25
- TabbedPlaceNavigationComponent.prototype.ngOnInit = /**
26
- * @return {?}
27
- */
28
- function () {
29
- };
30
13
  TabbedPlaceNavigationComponent.decorators = [
31
14
  { type: Component, args: [{
32
15
  selector: 'angular-ui-powerups-tabbed-place-navigation',
33
- template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let placeDescriptor of orderedPlaces.value\"\n [routerLink]='placeDescriptor.path'\n routerLinkActive #rla=\"routerLinkActive\"\n [active]=\"rla.isActive\"\n [matTooltip]=\"placeDescriptor.searchData(['navTooltip', 'navTitle'])\">\n <mat-icon *ngIf=\"placeDescriptor.getData('navIcon')\">{{placeDescriptor.getData('navIcon')}}</mat-icon>\n <span>{{placeDescriptor.getData(\"navTitle\", 'missing @Place({data: {navTitle: ??}\\})')}}</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",
34
17
  styles: [""]
35
18
  }] }
36
19
  ];
37
20
  /** @nocollapse */
38
21
  TabbedPlaceNavigationComponent.ctorParameters = function () { return []; };
39
- TabbedPlaceNavigationComponent.propDecorators = {
40
- places: [{ type: Input }],
41
- placesModel: [{ type: Input }]
42
- };
43
- tslib_1.__decorate([
44
- StoreInListModel('placesModel'),
45
- tslib_1.__metadata("design:type", Array)
46
- ], TabbedPlaceNavigationComponent.prototype, "places", void 0);
47
- tslib_1.__decorate([
48
- UseDelegate(),
49
- tslib_1.__metadata("design:type", ListModel)
50
- ], TabbedPlaceNavigationComponent.prototype, "placesModel", void 0);
51
22
  return TabbedPlaceNavigationComponent;
52
- }(DisposableComponent));
23
+ }(AbstractPlaceNavigationComponent));
53
24
  export { TabbedPlaceNavigationComponent };
54
- if (false) {
55
- /** @type {?} */
56
- TabbedPlaceNavigationComponent.prototype.places;
57
- /** @type {?} */
58
- TabbedPlaceNavigationComponent.prototype.placesModel;
59
- /** @type {?} */
60
- TabbedPlaceNavigationComponent.prototype.orderedPlaces;
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFpQixHQUFHLEVBQUUsU0FBUyxFQUFrQixnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7SUFLb0QsMERBQW1CO0lBVXJFO1FBQUEsWUFDRSxpQkFBTyxTQUdSO1FBRk8sSUFBQSwyQkFBa0YsRUFBaEYsZ0JBQUssRUFBRSxvQkFBTyxFQUFFLGtCQUFNLEVBQUUsY0FBSSxFQUFFLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxzQkFBa0M7UUFDeEYsS0FBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUc7Ozs7UUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQS9CLENBQStCLEVBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7O0lBQ3pHLENBQUM7Ozs7SUFFRCxpREFBUTs7O0lBQVI7SUFDQSxDQUFDOztnQkF0QkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSw2Q0FBNkM7b0JBQ3ZELDRoQkFBdUQ7O2lCQUV4RDs7Ozs7eUJBR0UsS0FBSzs4QkFHTCxLQUFLOztJQUZOO1FBRFUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDOztrRUFDRDtJQUd4QztRQURVLFdBQVcsRUFBRTswQ0FDVixTQUFTO3VFQUFnQztJQWF4RCxxQ0FBQztDQUFBLEFBeEJELENBS29ELG1CQUFtQixHQW1CdEU7U0FuQlksOEJBQThCOzs7SUFFekMsZ0RBQ3dDOztJQUV4QyxxREFDc0Q7O0lBRXRELHVEQUFrRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRHNsLCBMaXN0TW9kZWwsIExpc3RNb2RlbENoYWluLCBTdG9yZUluTGlzdE1vZGVsLCBVc2VEZWxlZ2F0ZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UtY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy10YWJiZWQtcGxhY2UtbmF2aWdhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFiYmVkUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5MaXN0TW9kZWwoJ3BsYWNlc01vZGVsJylcbiAgcGxhY2VzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PltdO1xuXG4gIEBJbnB1dCgpIEBVc2VEZWxlZ2F0ZSgpXG4gIHBsYWNlc01vZGVsOiBMaXN0TW9kZWw8Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+O1xuXG4gIHJlYWRvbmx5IG9yZGVyZWRQbGFjZXM6IExpc3RNb2RlbENoYWluPFBsYWNlQ29tcG9uZW50LkRlZmluaXRpb24+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLm9yZGVyZWRQbGFjZXMgPSBjaGFpbih0aGlzLnBsYWNlc01vZGVsKS5tYXAoYyA9PiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGMpKS5zb3J0QnkoJ29yZGVyJyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iXX0=
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 () {
@@ -26,7 +26,24 @@ var LeavePlaceGuard = /** @class */ (function () {
26
26
  * @return {?}
27
27
  */
28
28
  function (component, currentRoute, currentState, nextState) {
29
- return component.canDeactivate();
29
+ // HACK: this will break with child routes...
30
+ /** @type {?} */
31
+ var path = "/" + component.placeDefinition.path;
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...
41
+ if (!nextState.url.startsWith(path)) {
42
+ return component.canDeactivate();
43
+ }
44
+ else {
45
+ return true;
46
+ }
30
47
  };
31
48
  LeavePlaceGuard.decorators = [
32
49
  { type: Injectable, args: [{
@@ -54,4 +71,4 @@ if (false) {
54
71
  */
55
72
  LeavePlaceGuard.prototype.injector;
56
73
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQXlDLE1BQU0sRUFBZ0MsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSzlHO0lBS0UseUJBQW9CLE1BQWMsRUFBVSxRQUFrQjtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RCxDQUFDOzs7Ozs7OztJQUVELHVDQUFhOzs7Ozs7O0lBQWIsVUFBYyxTQUF5QixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjtRQUMvSSxPQUFPLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNuQyxDQUFDOztnQkFWRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVArQyxNQUFNO2dCQURqQyxRQUFROzs7MEJBQTdCO0NBa0JDLEFBWkQsSUFZQztTQVRZLGVBQWU7Ozs7OztJQUVkLGlDQUFzQjs7Ozs7SUFBRSxtQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUsIGxhbmcgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExlYXZlUGxhY2VHdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICB9XG5cbiAgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgcmV0dXJuIGNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKCk7XG4gIH1cblxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBR0wsY0FBYyxFQUNkLE1BQU0sRUFHUCxNQUFNLGlCQUFpQixDQUFDOzs7QUFLekI7SUFLRSx5QkFBb0IsTUFBYyxFQUFVLFFBQWtCO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzlELENBQUM7Ozs7Ozs7O0lBRUQsdUNBQWE7Ozs7Ozs7SUFBYixVQUFjLFNBQXlCLEVBQUUsWUFBb0MsRUFBRSxZQUFpQyxFQUFFLFNBQStCOzs7WUFFekksSUFBSSxHQUFHLE1BQUksU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFNO1FBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDVixTQUFTLEVBQUUsSUFBSTtZQUNmLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ3JDLGVBQWUsRUFBRSxZQUFZLENBQUMsR0FBRztZQUNqQyxZQUFZLEVBQUUsU0FBUyxDQUFDLEdBQUc7WUFDM0IsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUTtZQUNsRyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRO1NBQzdGLENBQUMsQ0FBQztRQUNILGdDQUFnQztRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDbEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOztnQkF6QkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFWQyxNQUFNO2dCQUxhLFFBQVE7OzswQkFBN0I7Q0F3Q0MsQUEzQkQsSUEyQkM7U0F4QlksZUFBZTs7Ozs7O0lBRWQsaUNBQXNCOzs7OztJQUFFLG1DQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBDYW5EZWFjdGl2YXRlLFxuICBQUklNQVJZX09VVExFVCxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBVcmxUcmVlXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBsYW5nIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMZWF2ZVBsYWNlR3VhcmQgaW1wbGVtZW50cyBDYW5EZWFjdGl2YXRlPFBsYWNlQ29tcG9uZW50PiB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgfVxuXG4gIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCwgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyZW50U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIG5leHRTdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xuICAgIC8vIEhBQ0s6IHRoaXMgd2lsbCBicmVhayB3aXRoIGNoaWxkIHJvdXRlcy4uLlxuICAgIGNvbnN0IHBhdGggPSBgLyR7Y29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbi5wYXRofWA7XG4gICAgY29uc29sZS5sb2coe1xuICAgICAgcGxhY2VQYXRoOiBwYXRoLFxuICAgICAgY3VycmVudFJvdXRlOiBjdXJyZW50Um91dGUudG9TdHJpbmcoKSxcbiAgICAgIGN1cnJlbnRTdGF0ZVVybDogY3VycmVudFN0YXRlLnVybCxcbiAgICAgIG5leHRTdGF0ZVVybDogbmV4dFN0YXRlLnVybCxcbiAgICAgIGN1cnJlbnRTdGF0ZVVybFRyZWU6IHRoaXMucm91dGVyLnBhcnNlVXJsKGN1cnJlbnRTdGF0ZS51cmwpLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnNlZ21lbnRzLFxuICAgICAgbmV4dFN0YXRlVXJsVHJlZTogdGhpcy5yb3V0ZXIucGFyc2VVcmwobmV4dFN0YXRlLnVybCkucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF0uc2VnbWVudHNcbiAgICB9KTtcbiAgICAvLyBuZXh0U3RhdGUgaXMgdGhlIGZ1bGwgcGF0aC4uLlxuICAgIGlmICghbmV4dFN0YXRlLnVybC5zdGFydHNXaXRoKHBhdGgpKSB7XG4gICAgICByZXR1cm4gY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -2,19 +2,16 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import * as tslib_1 from "tslib";
6
- import { Injectable, Injector } from '@angular/core';
7
- import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
8
- import { Trace } from '@coolon/pectin';
9
- import { Klass } from '@coolon/typescript-utilities';
10
- import { RouteParameterBindings } from '../route/route-parameter-bindings';
11
- import { RouteParameterSanitiser } from '../route/route-parameter-sanitiser';
5
+ import { Injectable } from '@angular/core';
6
+ import { Router } from '@angular/router';
7
+ import { PlaceService } from '../place.service';
12
8
  import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/router";
9
+ import * as i1 from "../place.service";
10
+ import * as i2 from "@angular/router";
14
11
  var PlaceRouteGuard = /** @class */ (function () {
15
- function PlaceRouteGuard(router, injector) {
12
+ function PlaceRouteGuard(placeService, router) {
13
+ this.placeService = placeService;
16
14
  this.router = router;
17
- this.injector = injector;
18
15
  }
19
16
  /**
20
17
  * @param {?} route
@@ -27,21 +24,21 @@ var PlaceRouteGuard = /** @class */ (function () {
27
24
  * @return {?}
28
25
  */
29
26
  function (route, state) {
30
- var _this = this;
31
- /** @type {?} */
32
- var routeParameters = Klass.get(route.component).getMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY);
33
- /** @type {?} */
34
- var sanitiser = new RouteParameterSanitiser(routeParameters, route, this.injector);
35
- return sanitiser.sanitise().then((/**
36
- * @param {?} proceed
37
- * @return {?}
38
- */
39
- function (proceed) {
40
- if (!proceed) {
41
- sanitiser.redirect(_this.router);
42
- }
43
- return proceed;
44
- }));
27
+ // Implement this when adding child routes.
28
+ // TODO: there are really two types of snapshot, ones with id's and ones without.
29
+ // Id snapshot are repesented by 2 url segments
30
+ // ID => [{'/basePath', params}, {'id', params}]
31
+ // NO ID => [{'/basePath', params}]
32
+ // console.log({urlSegments: route.url});
33
+ // const snapshot = ParameterSnapshot.create(PlaceComponent.getDefinition(route.component as Constructable<PlaceComponent>), route.paramMap);
34
+ // return this.placeService.sanitise(snapshot).then(sanitised => {
35
+ // if (sanitised.hasChanged(snapshot)) {
36
+ // return this.router.createUrlTree(snapshot.updateUrl(route.url))
37
+ // } else {
38
+ // return true;
39
+ // }
40
+ // });
41
+ return true;
45
42
  };
46
43
  PlaceRouteGuard.decorators = [
47
44
  { type: Injectable, args: [{
@@ -50,16 +47,10 @@ var PlaceRouteGuard = /** @class */ (function () {
50
47
  ];
51
48
  /** @nocollapse */
52
49
  PlaceRouteGuard.ctorParameters = function () { return [
53
- { type: Router },
54
- { type: Injector }
50
+ { type: PlaceService },
51
+ { type: Router }
55
52
  ]; };
56
- /** @nocollapse */ PlaceRouteGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceRouteGuard_Factory() { return new PlaceRouteGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR)); }, token: PlaceRouteGuard, providedIn: "root" });
57
- tslib_1.__decorate([
58
- Trace(),
59
- tslib_1.__metadata("design:type", Function),
60
- tslib_1.__metadata("design:paramtypes", [ActivatedRouteSnapshot, RouterStateSnapshot]),
61
- tslib_1.__metadata("design:returntype", Object)
62
- ], PlaceRouteGuard.prototype, "canActivate", null);
53
+ /** @nocollapse */ PlaceRouteGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceRouteGuard_Factory() { return new PlaceRouteGuard(i0.ɵɵinject(i1.PlaceService), i0.ɵɵinject(i2.Router)); }, token: PlaceRouteGuard, providedIn: "root" });
63
54
  return PlaceRouteGuard;
64
55
  }());
65
56
  export { PlaceRouteGuard };
@@ -68,11 +59,11 @@ if (false) {
68
59
  * @type {?}
69
60
  * @private
70
61
  */
71
- PlaceRouteGuard.prototype.router;
62
+ PlaceRouteGuard.prototype.placeService;
72
63
  /**
73
64
  * @type {?}
74
65
  * @private
75
66
  */
76
- PlaceRouteGuard.prototype.injector;
67
+ PlaceRouteGuard.prototype.router;
77
68
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLXJvdXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUNMLHNCQUFzQixFQUd0QixNQUFNLEVBQ04sbUJBQW1CLEVBRXBCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRTdFO0lBS0UseUJBQW9CLE1BQWMsRUFBVSxRQUFrQjtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RCxDQUFDOzs7Ozs7SUFHRCxxQ0FBVzs7Ozs7SUFBWCxVQUFZLEtBQTZCLEVBQUUsS0FBMEI7UUFEckUsaUJBVUM7O1lBUk8sZUFBZSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyx3QkFBd0IsQ0FBQzs7WUFDN0csU0FBUyxHQUFHLElBQUksdUJBQXVCLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3BGLE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLE9BQU87WUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDWixTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNqQztZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBbEJGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBYkMsTUFBTTtnQkFMYSxRQUFROzs7SUF5QjNCO1FBREMsS0FBSyxFQUFFOztpREFDVyxzQkFBc0IsRUFBUyxtQkFBbUI7O3NEQVNwRTswQkFsQ0g7Q0FvQ0MsQUFwQkQsSUFvQkM7U0FqQlksZUFBZTs7Ozs7O0lBRWQsaUNBQXNCOzs7OztJQUFFLG1DQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBDYW5BY3RpdmF0ZSxcbiAgQ2FuRGVhY3RpdmF0ZSxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBVcmxUcmVlXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEtsYXNzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZVBhcmFtZXRlckJpbmRpbmdzIH0gZnJvbSAnLi4vcm91dGUvcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzJztcbmltcG9ydCB7IFJvdXRlUGFyYW1ldGVyU2FuaXRpc2VyIH0gZnJvbSAnLi4vcm91dGUvcm91dGUtcGFyYW1ldGVyLXNhbml0aXNlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlUm91dGVHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICB9XG5cbiAgQFRyYWNlKClcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICBjb25zdCByb3V0ZVBhcmFtZXRlcnMgPSBLbGFzcy5nZXQocm91dGUuY29tcG9uZW50KS5nZXRNZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVkpO1xuICAgIGNvbnN0IHNhbml0aXNlciA9IG5ldyBSb3V0ZVBhcmFtZXRlclNhbml0aXNlcihyb3V0ZVBhcmFtZXRlcnMsIHJvdXRlLCB0aGlzLmluamVjdG9yKTtcbiAgICByZXR1cm4gc2FuaXRpc2VyLnNhbml0aXNlKCkudGhlbihwcm9jZWVkID0+IHtcbiAgICAgIGlmICghcHJvY2VlZCkge1xuICAgICAgICBzYW5pdGlzZXIucmVkaXJlY3QodGhpcy5yb3V0ZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb2NlZWQ7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLXJvdXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBdUMsTUFBTSxFQUFnQyxNQUFNLGlCQUFpQixDQUFDO0FBRTVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUVoRDtJQUtFLHlCQUE2QixZQUEwQixFQUFtQixNQUFjO1FBQTNELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDeEYsQ0FBQzs7Ozs7O0lBRUQscUNBQVc7Ozs7O0lBQVgsVUFBWSxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLDJDQUEyQztRQUMzQyxpRkFBaUY7UUFDakYsK0NBQStDO1FBQy9DLGdEQUFnRDtRQUNoRCxtQ0FBbUM7UUFDbkMseUNBQXlDO1FBQ3pDLDZJQUE2STtRQUU3SSxrRUFBa0U7UUFDbEUsMENBQTBDO1FBQzFDLHNFQUFzRTtRQUN0RSxhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLE1BQU07UUFDTixNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztnQkF6QkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFKUSxZQUFZO2dCQUZ5QixNQUFNOzs7MEJBRHBEO0NBZ0NDLEFBM0JELElBMkJDO1NBeEJZLGVBQWU7Ozs7OztJQUVkLHVDQUEyQzs7Ozs7SUFBRSxpQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlU2VydmljZSB9IGZyb20gJy4uL3BsYWNlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFjZVJvdXRlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwbGFjZVNlcnZpY2U6IFBsYWNlU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikge1xuICB9XG5cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICAvLyBJbXBsZW1lbnQgdGhpcyB3aGVuIGFkZGluZyBjaGlsZCByb3V0ZXMuXG4gICAgLy8gVE9ETzogdGhlcmUgYXJlIHJlYWxseSB0d28gdHlwZXMgb2Ygc25hcHNob3QsIG9uZXMgd2l0aCBpZCdzIGFuZCBvbmVzIHdpdGhvdXQuXG4gICAgLy8gSWQgc25hcHNob3QgYXJlIHJlcGVzZW50ZWQgYnkgMiB1cmwgc2VnbWVudHNcbiAgICAvLyBJRCA9PiBbeycvYmFzZVBhdGgnLCBwYXJhbXN9LCB7J2lkJywgcGFyYW1zfV1cbiAgICAvLyBOTyBJRCA9PiBbeycvYmFzZVBhdGgnLCBwYXJhbXN9XVxuICAgIC8vIGNvbnNvbGUubG9nKHt1cmxTZWdtZW50czogcm91dGUudXJsfSk7XG4gICAgLy8gY29uc3Qgc25hcHNob3QgPSBQYXJhbWV0ZXJTbmFwc2hvdC5jcmVhdGUoUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihyb3V0ZS5jb21wb25lbnQgYXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pLCByb3V0ZS5wYXJhbU1hcCk7XG5cbiAgICAvLyByZXR1cm4gdGhpcy5wbGFjZVNlcnZpY2Uuc2FuaXRpc2Uoc25hcHNob3QpLnRoZW4oc2FuaXRpc2VkID0+IHtcbiAgICAvLyAgIGlmIChzYW5pdGlzZWQuaGFzQ2hhbmdlZChzbmFwc2hvdCkpIHtcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoc25hcHNob3QudXBkYXRlVXJsKHJvdXRlLnVybCkpXG4gICAgLy8gICB9IGVsc2Uge1xuICAgIC8vICAgICByZXR1cm4gdHJ1ZTtcbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG59XG4iXX0=